c - 程序设计课后习题与解答[1]

D.2a good ref

二、选择填空题

1.在C#语言中,值类型数据对象占用的存储空间大小相对固定,在其所占存储空间中直接存放 F 。

2.在C#语言中,引用类数据对象占用的存储空间大小随需要而定,该类数据对象并不真正表示自己所具有的内容,而是表示 A 。

3.在C#程序设计中,定义值类型变量的同时可以对其进行初始化,初始化时提供的初始化数据 C 。

4.在C#的整型常量表示中,可以使用十进制数据和十六进制数据两种形式,其中十六进制数据 J 。

5.布尔数据类型占用一个字节的存储区域,其变量只有两种取值: H 。 备选项: (A)自己内容所在存储区域的引用 (B)Yes或No

(C)必须在对应变量的取值范围之内 (D)0h或者0H

(E)可以在对应变量的取值范围之外 (F)该类数据对象所具有的值 (G)“真”或“假” (H)true或false (I)数据对象的名字 (J)使用0x或者0X开头 6. 一个完整程序中必须有一个名为__Main______的函数。 7 一个函数的函数体就是一条____复合_____语句。

8.在C#程序中,程序的执行总是从____Main______方法开始的。

9、在C#中,bool类型只有两种值,分别是___true_______和___false_______。 10、在C#中,使用____const______关键字声明符号常量。

三、程序设计与分析题

1. 创建图2-7所示Windows窗体应用程序,在两个文本框中分别输入整数值,然后单击“计算”按钮,就能在标签控件中输出两个整数值相加之和。

图2-7 计算两个整数相加之和 图2-8 华氏温度转换为摄氏温度

2. 已知将华氏温度转换为摄氏温度的公式为:C?5(F?32),创建图2-8所示的Windows

9窗体应用程序,实现将文本框内输入的华氏温度转换为摄氏温度的功能,计算结果在标签控件中输出。

第 9 页 共 88 页

3. 创建控制台应用程序,在控制台端键盘输入一个半径值,就能计算输出圆的面积。 4.根据如下的枚举定义,fruit.peach和fruit.strawberry的值分别是多少?

enum fruit : int {

apple = 5, apricot, banana, peach, pineapple = 12, strawberry } 答案:fruit.peach的值为8,fruit.strawberry的值为13

5.专家认为,成人血压的正常范围是:

收缩压 90~140 mmHg(12.0~18.7 kPa)—— 1 kPa = 7.5 mmHg

舒张压 60~90 mmHg(8.0~12.0 kPa)

写出判断血压是否正常的逻辑表达式(以mmHg为计量单位)。 答案:double xueya; //血压值 (xueya>=90 && xueya<=140) && (xueya>=60 && xueya<=90)

习题3.2 3.3

一、单项选择题

1.当变量x的值在[1,100]范围内时,下面的C#表达式返回值为“真”的是( D )。 (A)1<=x<=100 (B)x>=1 || x<=100

(C)x>1 && x<100 (D)x>=1 && x<=100 2. 下面的C#表达式中,描述了数学关系x≥y≥z的是( B )。

(A)(x>=y) AND (y>=z) (B)(x>=y) && (y>=z) (C)(x>=y>=z) (D)(x>=y) & (y>=z)

3.当变量x的值在[1,10]或[200,210]范围内时,下列C#表达式返回值为“真”的是( C )。

(A)(x>=1) && (x<=10) && (x> = 200) && (x<=210) (B)(x>=1) || (x<=10) || (x>=200) || (x<=210)

(C)(x>=1) && (x<=10) || (x>= 200) && (x<=210) (D)(x>=1) || (x< =10) && (x> = 200) || (x<=210)

4. 设有C#语句:int a=5,b=4;,则下列表示条件的表达式中值为“假”的是( C )。

(A)(a>b)&&(b>0&&a>0) (B)(b>=0)&&(a<=b ? a+b:a-b)>0 (C)a>0 && !(b>0) (D)(a<=0)||(a%b>0)

5. 执行C#语句序列:int i; for (i = 0; i++ < 4; ) ;后,变量i的值是( A )。 (A)5 (B)4 (C)1 (D)0 6. 以下程序的输出结果是__(C)__? Using system; Class Example1 {

Public Static void main() {

int a=5,b=4,c=6,d;

Console.writeline(\ {0}\,d=a>b?(a>c?a:c):b); }

第 10 页 共 88 页

}

A.5 B.4 C.6 D.不确定 7. 以下程序的输出结果是_C___。

using system; class Example1 {

public static void Main() {

int a=5,b=4,c=6,d; d=a>b?(a>c?a:c):b;

Console.Writeline(d); } }

A.5 B.4 C.6 D.不确定 8.写出以下程序的运行结果。 using System; class Test {

public static void Main() {

int x = 5; int y = x++;

Console.WriteLine(y); y=++x;

Console.WriteLine(y); } }

答案: 5

7

9. if语句后面的表达式应该是__(A)__?

A.逻辑表达式 B.条件表达式 C.算术表达式 D.任意表达式 10.有如下程序 Using system; Class Example1 {

Public Static void main() {

int x=1,a=0,b=0; switch(x) {

第 11 页 共 88 页

case 0:b++,break; case 1:a++,break; case 2:a++,b++,break;

} Console.Writeline(\ a={0},b={1}\,a,b); } }的输出结果是(C)// 代码有误,break前面“,”都改为“;” A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 11. .有如下程序 Using system; Class Example1 {

Public Static void main() {

int x=0,a=0,b=0; switch(x) {

case 0:b++;break; case 1:a++;

case 2:a++;b++;break; }

Console.writeline(\}

}的输出结果是A

A. a=0,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2

12 已知 a,b,c的值分别是 4,5,6,执行下面的程序段后,判断变量 n的值为____?(C) if(c

else if(a+b

A.3 B.-3 C.9 D.15

13. 以下叙述正确的是__(C)__?

A.do?.while语句构成的循环不能用其他语句构成的循环来代替 B.do?.while语句构成的循环只能用 break语句退出

C.用 do?.while语句构成的循环,在 while后的表达式为 true时结束循环

D.用 do?.while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式 14. 以下关于 for 循环的说法不正确的是__(A)__? A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先判定表达式,后执行循环体语句 C.for 循环中,可以用 break语句跳出循环体

D.for 循环体语句中,可以包含多条语句,但要用花括号括起来? 15.下列代码输出正确的是___ (D)namespace Answer

第 12 页 共 88 页

联系客服:779662525#qq.com(#替换为@)