第四章
1、逻辑运算符两侧运算对象的数据类型______
A、能是0或1
C、能是整型或字符型数据
2、设a为整形变量,不能正确表达数学关系:10的C语言表达式是_ ______
A、10
C、 a>10&&a<15
3、在C语言中,逻辑值“真”用_______表示。
A、 true
4、以下程序的输出结果是_____
A、 10
5、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少_______
If (a>c)
{a=b;b=c;c=a;}
Else
{a=c;c=b;b=a;}
Printf(“%d,%d,%d”,a,b,c);
A、5,4,5
6、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少_______
If(a
a=c;
else
a=b;c=b;b=a;
printf(“%d,%d,%d”,a,b,c);
A、5,5,4
7、若K1,K2,K3,K4均为int型变量,为了将整数10赋给K1和K3,将整数20赋给K2和K4,则对应以下scanf()函数调用语句的正确输入方式是________(代表换行符,__代表空格).
Scanf(“%d%d”,&k1,&k2);
Scanf(“%d,%d”,&k3,&k4);
A、1020
1020
8、在C语言中,当While语句中的条件为_______时,结束该循环。
A、0
9、C语言对嵌套if语句的规定是:else总是与______
二、填空题
1、设a=3,b=4,c=5,写出下面各逻辑表达式的值。
表达式
a+b>c && b= =c
!(a>b) && !c || 1
!(a+b) + c –1 && b + c/2
2、将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式
3、执行以下程序段后,a= _______,b= ________ ,c= ________
int x=10,y=9 ;
int a,b,c ;
a = (x--= =y++) ? x-- : y++ ;
b = x++ ;
c = y ;
三、看程序写结果
1、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是
if (a
if (c
else
else x=7;
printf(“x=%d”,x);
2、若int i=0;执行下列程序后,变量i的正确结果是 。
switch (i) {
}
Printf(“i=%d”,i);
四、编程题
1、有三个整数a,b,c,由键盘输入,求三个数中的最大值。
2、写一程序,从键盘上输入一年份year(4位十进制数),判断其是否闰年。闰年的条件是:能被4整除、但不能被100整除,或者能被400整除。
3、给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。
参考答案
一、选择题
1、A
9、D
二、填空题
1、0
2、((y%4==0)&&(y0!=0))||(y@0==0)
3、a=10,b=9,c=11
三、看程序写结果
1、x=2(画流程图可以看出结果)
2、i=1
四、编程题
1、main()
Scanf(“%d,%d,%d”,&a,&b,&c);
If(a
Else if(a
Else
}
2、 main()
{int year, leap;
Else(“%d is not a leap year ”,year);
}
1、
{float score;
Case 5:
Case 4:
Case 3:
Case 2:
Case 1:
Case 0:grade=’E’;
}
Printf(“成绩是%5.1f,相应的等级是%c\n”,score,grade);
}