main()
{ int a,b,d=25; a=d/10%9; b=a+-1; printf(\A.6,1B.2,1 C.6,0 D.2,0 36.以下叙述中正确的是______。
A.调用printf函数时,必须要有输出项
B.使用putchar函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 37.程序如下,下叙述中正确的是______。 #include
{ char a1='M',a2='m';printf(\A.程序输出大写字母M B.程序输出小写字母m
C.格式说明符不足,编译出错 D.程序运行时产生出错信息 38.以下程序运行时若输入:a<回车>,则叙述正确的是______。 #include
{ char c1='1',c2='2'; c1=getchar(); c2=getchar();putchar(c1); putchar(c2);} A.变量c1被赋予字符a,c2被赋予回车符 B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2 D.变量c1被赋予字符a,c2中将无确定值 39.设有定义:int a; float b;,执行scanf(\语句时,若从键盘输入:876
543.0,a和b的值分别是________。 A.876和543.0 B.87和6.0C.87和543.0D.76和543.0
40.若在定义语句:int a,b,c;之后,接着执行以下选项中的语句,则能正确执行的语句是
________。
A.scanf(\B.scanf(\
C.scanf(\D.scanf(\
41.已知字符'A'的ASCII码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句
printf(\后,输出结果是________。 A.A,B B.A,68C.65,66 D.65,68
42.程序段:int x=12; double y=3.141593;printf(\的输出结果是________。 A.12 3.141593 B.123.141593 C.12,3.141593 D.123.1415930 43.若要求从键盘读入含有空格字符的字符串,应使用函数________。 A.getc() B.gets() C.getchar() D.scanf()
44.有以下程序,其中%u表示按无符号整数输出,程序运行后的输出结果是______。 #include
{ unsignedintx=0xFFFF; printf(\A.-1 B.65535 C.32767 D.0XFFFF (三)、编程题
1.编写一个程序,从键盘输入圆的半径,计算并输出该圆的周长、面积和体积。 2.输入四个季度的销售额(整型),计算并输出各季度自年初起的累计销售额,计算并
输出第一季度外的三个季度的环比增长率(环比增长率是本期与相比上一期的增长率,针对本题目,即为本季度对上季度的增长率)。
3.从键盘输入四门课程的(整数)分数,输出成绩信息,计算并输出平均分数。要求输入输出有一定提示,输出的平均分数保留二位小数。
第3章选择结构
二、习题
(一)、是非题
1.关系运算符是双目运算符,其功能是将两个运算对象进行大小比较。
A.对 B.错
2.对于与运算“&&”,只有当两个运算对象都为真时运算结果才为真。
A.对 B.错
3.使用条件表达式可以构成各种各样的两路选择结构。
A.对 B.错
4.条件可以是任何类型的表达式,如逻辑型,关系型,数值型等,单个已赋过值的变量或常
量也可以作为表达式的特例。 A.对 B.错
5.else子句不能单独作为语句使用,它是if语句的一部分,必须与if配对使用。
A.对 B.错
6.C语言规定,else总是与它上面最远的if配对。
A.对 B.错 7.在switch语句中,每一个case后的常量表达式的值不能相同,因为选择结构中只允许一
个分支所对应的语句组被执行。 A.对 B.错 8.在执行switch选择结构时,从匹配表达式的相应case处入口,一直执行到break语句或
到达switch的末尾为止 A.对 B.错
9.在C语言中,运算符“=”与“==”的含义都是等于。
A.对 B.错
10.当进行比较的运算对象是字符型数据时,则按字符的ASCII码值从左到右逐个对应比较,
先大为大。
A.对 B.错
11.判断字符变量ch的值是否为数字字符的表达式为(ch>='0') && (ch<='9')。
A.对 B.错
12.条件运算符“?:”是C语言中唯一的一个三目运算符,该运算符可以嵌套使用。
A.对 B.错
13.在C语言中用0表示逻辑值“真”,用非0表示逻辑值“假”。
A.对 B.错
14.在C语言中,所有的逻辑运算符的优先级都一样。
A.对 B.错
15.在C语言中,逻辑运算符的优先级高于算术运算符和关系运算符。
A.对 B.错
16.数学表达式“|x|>4”对应的C语言表达式是“x<-4||x>4”。
A.对 B.错
17.与表达式“!(x>0)”等价的表达式是“x<=0”。
A.对 B.错
18.与表达式“!0”等价的表达式是“1”。
A.对 B.错
19.当a=1,b=2,c=3时,执行语句“if(a>c) b=a;a=c;c=b;”后,变量c中的值为3。
A.对 B.错 a=1,b=2,c=3; if(a>c) b=a; a=c; c=b; b=2
20.当a=1,b=2,c=3时,执行语句“if(a>c) {b=a;a=c;c=b;}”后,变量c中的值为2。
A.对 B.错 a=1,b=2,c=3; if(a>c)
{b=a;a=c;c=b;} C=3 二)、选择题
1.判断char型变量ch是否为小写字母的正确表达式是______。
A.'a'<=ch<='z' B.(ch>='a') & (ch<='z') C.(ch>='a') && (ch<='z') D.('a'<=ch) AND ('z'>=ch) 2.为表示关系100≥b≥0,应使用C语言表达式______。
A.(100>=b)&&(b>=0) B.(100>=b)and(b>=0) C.100>=b>=0 D.(100>=B)&&(B>=0)
3.以下运算符中优先级最高的运算符为______。
A.! B.&& C.!= D.%
4.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是______。
A.'x'&&'y' B.x<=y C.x||y+z&&y-z D.!((x 5.执行以下程序段后,x的值为______。 int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); A.true B.1 C.false D.0 6.下列表达式中,______不是关系表达式。 A.x%2==0 B.!(x%2) C.(x/2*2-x)==0 D.x%2!=0 7.执行以下程序后,输出的结果是______。 include \main() {int a=2,b=-1,c=2; if(a A.0 B.1 C.2 D.3 8.执行以下程序后,输出的结果是______。 include \main() {int w=4,x=3,y=2,z=1; printf(\ A.4 B.2 C.1 D.3 9.执行以下程序段后,输出结果是______。 int a=3,b=5,c=7; if(a>b) a=b;c=a; if(c!=a) c=b; printf(\ A.程序段有语法错误 B.3,5,3 C.3,5,5 D.3,5,7 10.下面程序段的输出结果是______。 int a=-1,b=4,k; k=(a++<=0)&&(!b--<=0); printf(\ A.0,0,3 B.0,1,2 C.1,0,3 D.1,1,2 11.若有定义:float x=1.5;int a=1,b=3,c=2; ,则正确的switch语句是______。 A.switch(x) B.switch(int(x)) {case 1.0: printf(\ case 2.0: printf(\} } C.switch(a+b) D.switch(a+b) {case 1: printf(\ case 2+1: printf(\} } 12.下面程序段的输出结果是______。 int n='c'; switch(n++)// n先用,后自增(n=’c’)。 {default: printf(\case'a': case 'A': case 'b': case 'B': printf(\ case 'c': case 'C': printf(\case 'd': case 'D': printf(\ A.passwarn B.passerror C.goodpasswarn D.pass 13.下述程序段的输出结果是_______。 int a=2,b=3,c=4,d=5; int m=2,n=2; a=(m=a>b)&&(n=c>d)+5; printf(\ A.2,5 B.0,5 C.2,6 D.0,6 14.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是_______。 A.0 B.1 C.2 D.不能确定 15.已知int x=10,y=20,z=30;,以下语句执行后x,y,z的值是_______。 if(x>y) z=x; x=y; y=z; printf(\ A.10,20,30 B.20,30,20 C.20,30,10 D.20,30,30 16.当a=1,b=3,c=5,d=4,x=0时,执行完下面一段程序后x的值是_______。 if(a>b) if(c A.7 B.2 C.3 D.6 17.设变量a、b、c、d和y都已经正确定义并赋值,则以下if语句的所表示的含义是_______。 if(a A.a B.a #inlude { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break;