《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案3
第三章,序列结构
一、选择题
3.1如果A、B、C、D都是int类型的变量,初始值为0,下列选项中不正确的赋值语句是
a)a = b = c = 100;b)d++;c)c+b;d)d =(c = 22)-(b++);
答案:c。
3.2下列选项中不是C语句的是
a){ int I;i++;printf("%d\n ",I);} B);C) a=5,c = 10d){;}答案:C
3.3语言中的下列合法赋值语句是
A)A = B = 58 B)k = int(A+B);C) a=58,b = 58d)-I;回答:D
3.4以下程序的输出结果是
A) 0 B) 1 C) 3 D)不确定值main() {int x=10,y = 3;printf("%d\n ",y = x/y);}答案:C
3.5如果变量已被正确地描述为int类型,要向A、B和C输入数据,下列不正确的输入语句是
a)改为(a、b、c);B) scanf("%d%d%d ",a,b,c);C) scanf("%D%D%D ",&a,&b,& c);D) scanf("%d%d%d ",&a,&b,& c);
回答:D
3.6如果变量已被正确描述为浮点类型,则有必要通过以下赋值语句将10赋给A,22赋给B,22赋给C
3.以下是不正确的输入形式
a)10 22 33 B)10.0 22.0 33.0 C)10.0 22.0 33.0D)10 22
33 scanf("%f %f %f ",&a,&b,& c);
答案:b。
3.7如果变量定义正确,A和B中的数字应该互换。下列不正确的说法是
A) a=a+b,b=a-b,a = a-b;B) t=a,a=b,b = t;c)a = t;t = b;b = a;d)t = b;b = a;a = t;
答案:c。
3.8如果变量定义正确,下面程序段的输出结果是
a)输出格式描述与输出项不匹配,输出没有固定值。b)5.17000 c)5.168000d)5.169000
x = 5.16894;printf("%f\n ",(int)(x * 1000+0.5)/(float)1000);
回答:D
3.9如果有以下程序,c3中的值为
A) 0 B) 1/2 C) 0.5 D) 1
int c1=1,c2=2,C3;C3 = C1/C2;
答:答
3.10如果有下列程序,输出结果是
A) 0,0,-10 B) 0,0,5 C) -10,3,-10 D) 3,3,-10
int a=0,b=0,C = 0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n ",a,b,c);
答案:B
3.11当下面的程序运行时,从键盘上的第一列输入9876543210(这里输入),程序的输出结果是
A) a=98,b=765,c=4321
B) a=10,b=432,c=8765
C) a=98,b=765.000000,c=4321.000000
D) a=98,b=765,c = 4321.0
main(){ int a;浮动b,c;scanf("-?o“,&a,&b,& c);printf("\na=%d,b=%f,c=%f\n ",a,b,c);}
答案:C
3.12以下程序的输出是
A) a=%2,b=%5
B) a=2,b=5
C) a=%%d,b=%%d
D) a=%d,b=%d
main() { int a=2,b = 5;printf("a=%%d,b=%%d\n ",a,b);}
回答:D
3.13如果int类型占用两个字节,下面程序段的输出是a)-1,-1b)-1,32767c)-1,32768d)-1,65535
int a =-1;printf("%d,%u\n ",a,a);
回答:D
3.14以下程序段的输出是A) *496 * B) * 496* C) *000496* D)输出格式字符非法
int x = 496;printf("*%-06d*\n ",x);
答:答
3.15下面这个程序段的输出是a) | 3.1415 | b) | 3.0 | c) | 3 | d) | 3。|
float a = 3.1415;printf("|%6.0f|\n ",a);
答案:c。
3.16下面这个程序段的输出是a)| 2345.67800 | b)| 12345.6780 | c)| 12345.67800 | d)| 12345.678 | printf(" | . 5f | \ n ",12345.678);
答案:c。
3.17下面程序段的输出是A)* 000057.66 * b)* 57.66 * c)* 000057.67 * d)* 57.67 * float A = 57.666;printf("*0.2f*\n",a);
答案:c。
3.18如果从终端输入以下数据,将283.19赋给变量C,正确的输入语句是A) scanf("%f ",C);B) scanf("%8.4f ",& c);C) scanf("%6.2f ",& c);D) scanf("%8 ",& c);23.1900表示回车键
答案:由于打印错误,此问题没有正确答案。更正:将选项A改为:scanf("%f ",& c);或将选项d更改为:scanf(" & # 143;,& c);可以选择a或d作为正确答案。
3.19如果变量已被正确解释,则要求给出如下声明
3.12.如果给9.0,正确的输入形式是(□for空case)a)3.12□□9.0b)a =□□□□3.12 B =□□□□□9c)a = 3.12,b = 9d) a = 3.12□□□ Enter键。答案:c
3.20以下程序的输出是
A) 9 8 B) 8 9 C) 6 6 D)以上三个都不正确
# include " math . h " main(){ double a =-3.0,B = 2;printf("%3.0f %3.0f\n ",pow(b,fabs(a)),pow(fabs(a),b));}
答案:B
二。填写空问题
3.21如果有以下定义,请在以下程序段中写出输出语句执行后的输出结果。(1)_ _ _ _ _ _ _(2)_ _ _ _ _ _ _(3)_ _ _ _ int I =-200,j = 2500printf("(1) %d %d ",I,j);printf("(2) i=%d,j=%d\n ",I,j);printf("(3) i=%d\n j=%d\n ",I,j);
答案:-200 2500i =-200,J = 2500i =-200J = 2500
3.22变量I,J,K已经被定义为int类型,初始值为0。当下列语句用于输入时,scanf("%d ",& I);scanf("%d ",& j);scanf("%d ",& k);执行第一条input语句时,从键盘输入:12.3,变量I,J,K的值为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
答案:12,0,0
3.23复合语句在语法上被认为是_ _ _ _ _。空该语句的形式是_ _ _ _。
答:一句话,;
3.24 C语句以_ _ _ _结尾。回答:;
3.25以下程序要求通过scanf语句给变量赋值,然后输出变量值。写出三种可能的输入形式_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ int k;浮动a;双x;scanf("%d%f%lf ",&k,&a,& x);printf("k=%d,a=%f,x=%f\n ",k,a,x);
答案:(1)100 25.81 1.89234(2)100 25.811 . 89234(3)100 25.81 1.89234
3.26下列程序段的输出结果是_ _ _ _。int x = 0177printf("x==,x=m,x=$%6o,x=%6x,x=%6u\n ",x,x,x,x,x,x);
答案:x=127,x= 127,x= 177,x= 7f,x= 127
3.27下列程序段的输出结果是_ _ _ _。int x = 0177printf("x=%-3d,x=%-6d,x=$%-06d,x=$d,x=%d\n",x,x,x,x,x);
答案:27,x=127,x=127,x = 127美元,x = 000127美元,x = D。
3.28下列程序段的输出结果是_ _ _ _。双a = 513.789215printf("a=%8.6f,a=%8.2f,a=.8f,a=.8lf\n",a,a,a,a);
答案:A = 513.789215,A = 513.79,A = 513.78921500,A = 513.78921500
0条评论