C#实践教程(第2版)
上QQ阅读APP看书,第一时间看更新

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. 简述声明类、结构、枚举、接口以及常量时所需的关键字。