汾撂稻刊尽涎部幌烫燃兼灯星
第4讲 基本控制结构与控制运算符 测验1数据类型、运算符表达式及顺序结构
1、 C语言表达式中,对于实数,下面正确的实型常量指数形式是( )。
答案: 1e-6
2、 设有float a=2;,则a/=a*a的值是( )。
答案: 0.5
3、 若有定义int a=10;,下面正确的表达式是( )。
答案: -a++
4、 以下能正确地定义整型变量a、b和c,并为它们赋初值5的语句是( )。
答案: int a=5,b=5,c=5;
5、 如果变量 x、y 、t 已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?
答案: x=t, t=y, y=x;
6、 若变量已正确定义并赋值,符合C语言语法的表达式是( )。
答案: a = 3 , 5
7、 若变量已正确定义,表达式 ( j=3, j++) 的值是____。
答案: 3
8、 下列叙述中错误的是( )。
答案: 计算机可以直接运行扩展名为c的文件。
9、 一个字长为8位的有符号二进制数能表示的十进制数值范围是( )。
答案: -128 ~ 127
10、 若有int x=50;,则下列语句( ) 会输出“50%”。
答案: printf(“%d%%”,x);
11、 若有:int a;
float c;现要按下面格式输入这2个数,以下哪个输入语句是正确的。100 12.34
答案: scanf(“%d%f”, &a, &c);
12、 表达式:(int)((double)34/4-2)%5的值是( )。
答案: 1
13、 以下程序段执行后,输出结果是( )。double x,y;
x=2;
y=x+3/2;
printf(“%lf”,y);
答案: 3.000000
14、 有表达式:(double)(1/2)+(int)(1/2.0),运算后结果是( )。
答案: 0.0
15、 有定义:int a = 10;
float x = 2.8, y = 3.9;则,下面算术表达式的值为( )。 x + a / 3 * ( int )( x + y + 0.9 ) % 5 / 4
答案: 2.8
16、 语句 printf(“%.2f”,1/3);输出结果为 0.33。
答案: 错误
17、 a=b=4+c=6 是一个合法的赋值表达式。
答案: 错误
18、 C 语言规定 : 定义符号常量时宏名的命名可以用任何符号。
答案: 错误
19、 设有int x, a;,则执行a=(x=5, x++, x+2)后,a的值为( )。
答案: 8
20、 设int a=2;,写出表达式 a /= a + a 运算后 a 的值( )。
答案: 0
21、 int a=10,b=4,c;c=1.0/b*a;执行上面语句后变量c的值是( )。
答案: 2
22、 C语言表达式中,对于实数,下面正确的实型常量指数形式是( )。
答案: 1.0e-6
23、 设有float a=1;,则a/=a+a的值是( )。
答案: 0.5
24、 如果变量 x、y 、t 已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?
答案: x=t, t=y, y=x;
25、 若变量已正确定义,表达式 ( j=3, j-3, j++) 执行后,j的值是____。
答案: 4
26、 一个字长为8位的无符号二进制数能表示的十进制数值范围是( )。
答案: 0~255
27、 若有int x=50;,则下列语句( ) 会输出“50%”。
答案: printf(“%d%%”,x);
28、 若有:int a;
double c;现要按下面格式输入这2个数,以下哪个输入语句是正确的。100 12.34
答案: scanf(“%d%lf”, &a, &c);
29、 表达式:(int)((double)(34/4)-2.5)%5的值是( )。
答案: 0
30、 以下程序段执行后,输出结果是( )。double x,y;
x=2;
y=x+3/2;
printf(“%lf”,y);
答案: 3.000000
31、 有定义:int a = 10;
float x = 2.8, y = 3.9;则,下面算术表达式的值为( )。 x + a / 3 * ( int )( x + y + 0.9 ) % 5 / 4
答案: 2.8
32、 设有int x, a;,则执行a=(x=5, x+2, x++)后,a的值为( )。
答案: 5
第5讲 程序中的选择结构 测验2选择结构
1、 执行下面程序片段后,变量a,b,c的值分别是( )。 int a,b,c;
int x=8,y=10;
a=(x++==y–)?x:y;
b=++x;
c=–y;
答案: a=9, b=10, c=8
2、 分析下面程序片段,下面输出结果正确的是( )。int a=0,b=0,c=1;
c=a++&&(b=1);
printf(“a=%d,b=%d,c=%d”,a,b,c);
答案: a=1,b=0,c=0
3、 对于 int x=10, y=100; 以下逻辑表达式的值为0的是( )。
答案: ( x > 100 | | y < 10 ) && y == 100
4、 设 i、j、k是 int 型变量,且 i = 3, j = 4, k = 5,则以下值为0的表达式是( )。
答案: !((i<j)&&!k||1)
5、 执行以下程序段后的b的值是( )。int a=5,b=6,c=1,x=2,y=3,z=4;
c=(a=c>x)&&(b=y>z);
答案: 6
6、 对条件表达式(M)?(a++):(a–)来说,其中表达式 M 等价于( )。
答案: M != 0
7、 能正确表示关系x≤y≤z的C语言表达式为( )。
答案: ( x <= y ) && ( y <= z )
8、 若变量x、y都为float型,以下表达式中不能正确表示数学关系|x-y|<10的是( )。
答案: ( x – y ) >-10 | | ( x – y ) < 10
9、 以下程序段运行后的输出结果是( )。int x=1,y=0;
if(!x) y++;
else if(x==0)
if (x) y+=2;
else y+=3;
printf(“%d”,y);
答案: 0
10、 以下程序段运行后的输出结果是( )。int a=0,b=0,c=0,d=0;
if(a=1) b=1; c=2;
else d=3;
printf(“%d,%d,%d,%d”,a,b,c,d);
答案: 编译有错
11、 有如下嵌套的if语句if(a<b)
if(a<c) k=a;
else k=c;
else
if(b<c) k=b;
else k=c;以下选项中与上述语句等价的语句是( )。
答案: k = ( a < b ) ? ( ( a < c ) ? a : c ) : ( ( b < c ) ? b : c ) ;
12、 有以下程序段运行时从键盘输入9<回车>, 则输出结果是( )。 int a;
scanf(“%d”,&a);
if(a++>9) printf(“%d”,a);
else printf(“%d”,a+1);
答案: 11
13、 若有定义:float x=1.5;
int a=1,b=3,c=2;则正确的switch语句是( )。
答案: switch(a+b)
{ case 1: printf(““);
case 2+1: printf(“*”);
}
14、 下列叙述中正确的是( )。
答案: 在switch语句中,不一定使用break语句。
15、 设有说明:int a=11, b=10;,执行语句 a %= b + ( a && b ); 后,a的值为( )。
答案: 0
16、 能正确表示a和b同时为正或同时为负的逻辑表达式是( )。
答案: ab>0
17、 在下面条件语句中(其中S1和S2表示C语言语句),只有( )在功能上与其他三个语句不等价。
答案: if ( a==0 ) S1; else S2;
18、 如果要求: if 后一对括号中的表达式表示 a 不等于 0 时值为“真”,则不能正确表示这一关系的表达式为( )。
答案: ! a
19、 以下程序段运行时,输入的x值在( )范围时才会有输出结果。int x;
scanf(“%d”,&x);
if(x<=3);
else if(x!=10)
printf(“%d”,x);
答案: 大于3且不等于10的整数
20、 表达式( )不能用于判断“x和y不同时为零”。
答案: !(x==0 || y==0)
21、 下列选项中用于判断ch是否是英文字母的表达式是( )。
答案: ( ch >= ‘a’ && ch <= ‘z’ ) || ( ch >= ‘A’ && ch <= ‘Z’ )
22、 case语句后如没有break,顺序向下执行。
答案: 正确
23、 if ( a = 5 ) 是允许的。
答案: 正确
24、 在 if 语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句
答案: 正确
25、 有定义:int a = 3, b = 4, c = 5 ;则表达式 a || b + c && b – c 的值为__。
答案: 1
26、 表达式:a=1 || a>b+5 || a<1 的值是______ 。
答案: 1
27、 float a,b;
scanf(“%f”,&a);
if(a<0.0) b=0.0;
else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);
else if(a<10.0) b=1.0/a;
else b=10.0;
printf(“%f”,b);若以上程序段运行时输入为2.0(回车), 则上面程序的输出结果是 。
答案: 0.500000
28、 执行以下代码段后,输出结果是 。float x=2,y;
if(x<0) y=0;
else if(x<10) y=1.0/10;
else y=1;
printf(“%.1f”,y);
答案: 0.1
29、 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 。if(a<b)
if(c<d) x=1;
else if(a<c)
if(b<d) x=2;
else x=3;
else x=6;
else x=7;
答案: 2
30、 表达式8>6>3值是( )。
答案: 0
上方为免费预览版答案,如需购买完整答案,请点击下方红字
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
怖蹭唾翱谴阮坊椽冕巧舅滤对