C# For Dummies

Глава 2. Примитивни типове и променливи

1. Декларирайте няколко променливи, като изберете за всяка една най-подходящия от типовете sbyte, byte, short, ushort, int, uint, long и ulong, за да им присвоите следните стойности: 52130, -115, 4825932, 97, -10000, 20000; 224; 970700000; 112; -44; -1000000; 1990; 123456789123456789.

Упътване: Погледнете размерността на числените типове.

Решение:
class Program
{
    static void Main()
    {
        ushort number1 = 52130;
        sbyte number2 = -115;
        uint number3 = 4825932;
        byte number4 = 97;
        short number5 = -10000;
        short number6 = 20000;
        byte number7 = 224;
        uint number8 = 970700000;
        sbyte number9 = 112;
        sbyte number10 = -44;
        int number11 = -1000000;
        ushort number12 = 1992;
        long number13 = 123456789123456789;        
    }
}

2. Кои от следните стойности може да се присвоят на променливи от тип float, double и decimal: 34.567839023; 12.345; 8923.1234857; 3456.091124875956542151256683467?

Упътване: Имайте предвид броя символи след десетичния знак. Направете справка в таблицата с размерите на типовете float, double и decimal.

Решение:
class Program
{
    static void Main()
    {
        double number1 = 34.567839023;
        float number2 = 12.345f;
        double number3 = 8923.1234857;
        decimal number4 = 3456.091124875956542151256683467m;    
    }
}

3. Напишете програма, която изчислява вярно променливи с плаваща запетая с точност до 0.000001.

Упътване: Използвайте типа данни decimal.

Решение:
class Program
{
    static void Main()
    {
        decimal number1 = 5.25745243896m;
        decimal number2 = 9.8544531763m;
        number1 += number2;
        Console.WriteLine(number1.ToString("#.######"));
    }
}

4. Инициализирайте променлива от тип int със стойност 256 в шестна­десетичен формат (256 е 100 в бройна система с основа 16).

Упътване: Вижте секцията за целочислени литерали. За да преобразувате лесно числата в различна бройна система използвайте вградения в Windows калкулатор. За шестнайсетично представяне на литерал използвайте префикса 0x.

Решение:
class Program
{
    static void Main(string[] args)
    {
        int number = 0x100;
    }
}

5. Декларирайте променлива от тип char и присвоете като стойност символа който има Unicode код 72 (използвайте калкулатора на Windows за да намерите шестнайсетичното представяне на 72).

Упътване: Прочетете за целочислени литерали.

Решение:
class Program
{
    static void Main(string[] args)
    {
        int number = 0x100;
    }
}

6. Декларирайте променлива isMale от тип bool и присвоете стойност на последната в зависимост от вашия пол.

Упътване:  Прочетете за булеви променливи.

Решение:
class Program
{
    static void Main(string[] args)
    {
        bool isMale = true;
    }
}

7. Декларирайте две променливи от тип string със стойности "Hello" и "World". Декларирайте променлива от тип object. Присвоете на тази променлива стойността, която се получава от конкатенацията на двете стрингови променливи (добавете интервал, ако е необходимо). Отпе­чатайте променливата от тип object.

Упътване: Вижте секциите за символни низове и за обектен тип данни.

Решение:
class Program
{
    static void Main(string[] args)
    {
        string str1 = "Hello";
        string str2 = "World";
        object obj = str1 + " " + str2;
    }
}

8. Декларирайте две променливи от тип string и им присвоете стойности "Hello" и "World". Декларирайте променлива от тип object и и присвоете стойността на конкатенацията на двете променливи от тип string (не изпускайте интервала по средата). Декларирайте трета променлива от тип string и я инициализирайте със стойността на променливата от тип object ( трябва да използвате type casting).

Упътване: Прочетете за символни низове и за обектен тип данни.

Решение:
class Program
{
    static void Main(string[] args)
    {
        string str1 = "Hello";
        string str2 = "World";
        object obj = str1 + " " + str2;
        string str3 = obj.ToString();
    }
}

9. Декларирайте две променливи от тип string и им присвоете стойност "The "use" of quotations causes difficulties." (без първите и последни кавички). В едната променлива използвайте quoted string, а в другата не го използвайте.

Упътване: Прочетете за символни литерали. Необходимо е да използвате символа за escaping (наклонена черта "\").

Решение:
class Program
{
    static void Main(string[] args)
    {
        string str1 = "The \"use\" of quotations causes difficulties.";        
        string str2 = "The " + "\u0022" + "use" + "\u0022" + " of quotations causes difficulties";
    }
}

10. Напишете програма, която принтира фигура във формата на сърце със знака "o".

Упътване: Използвайте Console.Writeline(…) като използвате само символа ‘о’ и интервали.

Решение:
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("  0        0 ");
        Console.WriteLine("0   0    0   0");
        Console.WriteLine(" 0   0  0   0");
        Console.WriteLine("  0   00   0");
        Console.WriteLine("   0      0 ");
        Console.WriteLine("    0    0  ");
        Console.WriteLine("     0  0   ");
        Console.WriteLine("      00   ");
    }
}

11. Напишете програма, която принтира на конзолата равнобедрен триъгълник, като страните му са очертани от символа звездичка "©".

Упътване: Използвайте Console.Writeline(…) като използвате само знака © и интервали. Използвайте Windows Character Map, за да намерите Unicode кода на знака "©".

Решение:
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("    ©");
        Console.WriteLine("   © ©");
        Console.WriteLine("  ©   ©");
        Console.WriteLine(" ©     ©");
        Console.WriteLine("©©©©©©©©");
    }
}

12. Фирма, занимаваща се с маркетинг, иска да пази запис с данни на нейните служители. Всеки запис трябва да има следната характе­ристика – първо име, фамилия, възраст, пол (‘м’ или ‘ж’) и уникален номер на служителя (27560000 до 27569999). Декларирайте необходи­мите променливи, нужни за да се запази информацията за един служи­тел, като използвате подходящи типове данни и описателни имена.

Упътване: За имената използвайте тип string, за пола използвайте тип char (имаме само един символ м/ж), а за уникалния номер и възрастта използвайте подходящ целочислен тип.

Решение:
class Program
{
    static void Main(string[] args)
    {
        string firstName;
        string lastName;
        byte age;
        char gender;
        int id;
    }
}

13. Декларирайте две променливи от тип int. Задайте им стойности съответно 5 и 10. Разменете стойностите им и ги отпечатайте.

Упътване: Използвайте трета временна променлива за размяната на променливи. За целочислените променливи е възможно и друго решение, което не използва трета променлива.

Решение:
class Program
{
    static void Main(string[] args)
    {
        int a = 2;
        int b = 3;
        a = a + b;
        b = a - b;
        a = a - b;
        Console.WriteLine("a:{0} b:{1}", a, b);
    }
}

← Обратно