
2.12 思考与练习
一、填空题
1. 下面这段代码中,变量minresult输出的结果应该是__________。
int goodprice = 23, newprice = 10; ++goodprice; newprice--; int minresult = goodprice - newprice;
2. 常量一般使用关键字__________来声明。
3. 常用数据类型一般分为值类型、__________和指针类型。
4. 下面空白处的横线应该填写的内容是__________。
string readcount = "100"; int count =__________.ToInt32 (readcount);
5. 已知3个int类型的变量a、b和c,其中a=5,b=8,c=10。那么表达式((--a)*(a+b)-c*(++b))*c的结果是__________。
6. __________是指将引用类型转换为值类型。
7. Convert类的__________方法可以将字符串“342”转换为double类型。
8. __________需要在代码中明确地声明要转换的类型。
二、选择题
1. 下列选项中,声明变量不正确的选项是__________。
A. string goodName
B. string $namespace
C. string @namespace
D. int studentage
2. 程序编译过程中,第__________行的代码执行拆箱操作。
int values = 200; object obj = values; int number = (int)obj; Console.WriteLine("number的值是: " + number);
A. 1
B. 2
C. 3
D. 4
3. __________不属于值类型。
A. 布尔类型
B. 枚举
C. 结构
D. 接口
4. 关于值类型和引用类型的说法,选项__________是错误的。
A. 值类型分配在栈上,而引用类型分配在堆上
B. 值类型可以包含装箱和拆箱操作,而引用类型只包含拆箱操作
C. 虽然值类型和引用类型的内存都由GC来完成,但是值类型不支持多态,而引用类型支持多态
D. string类型属于引用类型,它是一种特殊的引用类型
5. 静态类型的变量需要通过关键字__________来声明。
A. static
B. const
C. float
D. public
6. 下面示例代码中,Max在控制台输出的结果是__________。
int a = 15, b = 20, c = 25, Max = 0; Max = a>b?a:b; Max=c<Max?c:Max;
A. 15
B. 20
C. 25
D. 0
7. 用户将float类型的变量转换成double类型,这个过程属于__________。
A. 显式类型转换
B. 隐式类型转换
C. 装箱
D. 拆箱
三、简答题
1. 简要概述声明变量和常量时的命名规则或注意事项。
2. 简要说明值类型和引用类型的区别。
3. 列举常用的运算符并举例。
4. 简述声明类、结构、枚举、接口以及常量时所需的关键字。