C语言程序设计教学课件作者第3版乌云高娃补充习题及答案C语言程序设计教学课件作者第3版乌云高娃补充习题及答案第3章补充习题及答案课件.doc
第3章补充习题及答案
习题
3.1 选择题
(1)下列运算符中优先级按从高到低依次排列的是 。
A.&& ! || B.|| && !C.&& ! ||D.! && ||
(2)下面表达式值为0的是 。
A.3%5 B.3/5.0C.3>5D.3<5
(3)关于if语句后面一对括号中的表达式,叙述正确的是 。
A.只能用关系表达式B.只能用逻辑表达式
C.只能用关系表达式或逻辑表达式D.可以使用任意合法的表达式
(4)对switch后括号内的表达式,叙述正确的是 。
A.只能是数字 B.可以是浮点数
C.只能是整型数据或字符型数据D.以上叙述都不对
(5)iX=2,iY=3,ch='a',表达式iZ=(iX||iY)&&(ch>'A')的值是 。
A.true B.falseC.0D.1
(6)表达式(6!=8)'A'
A .true B.1C.0D.非0值
(7) int k = x>y? (x>z?x:z) : (y>z?y:z) 语句的目的是:
A 求 x, y, z 最大值B. 求 x, y, z 最小值
C 求 x, y, z 中间值 D 求 x, y, z 平均值
(8)有如下程序段 int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c
执行该程序段后,x的值为A ture B false C 0 D 1
(9) 以下程序的输出结果是main()
{
int a=0,i=1;
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
printf("%d\n",a);
}
A 3 B 8 C 10 D 2
3.2 填空题
(1)下面程序的输出结果是 。
#include "stdio.h"
main()
{int i,j;
i=j=2;
if(i= =1)
if(i= =2)
printf("%d",i=i+j);
else
printf("%d",i=i–j);
printf("%d",i);
(2)下面程序的输出结果是
iX=3
iX>3
。
#include "stdio.h"
main()
{int iX=3;
switch(iX)
{case 1:
case 2: printf("iX<3\n");
case 3: printf("iX=3\n");
case 4:
case 5: printf("iX>3\n");
default: printf("iX unknow\n");
}
}
(3)以下程序的运行结果是 。
#include "stdio.h"
main()
{int iM,iN,iT,iA=2,iB=3;
iM=(++iA==--iB)?–?–iA:++iB;
iN=++iA;
iT=iB;
printf("iM=%d,iN=%d,iT=%d\n",iM,iN,iT);
}
(4)下面程序的输出结果是 。
#include "stdio.h"
main()
{char chT='w',chA='m',chB='d',chC='x',chM;
chM=(chT>chA)?chT:chA;
chM=(chM>chB)?chM:chB
chM=(chM>chC)?chM:chC;
printf("c%",chM);
}
(5)下面程序的功能是判断一个三位数是否为水仙花数,填空使程序完整。所谓水仙花数就是该数各位上数字的立方之和等于该数。
#include "stdio.h"
main()
{ int iNum,iH,iT,iS,iSum;
printf("please input a integer(100-999)");
scanf("%d",&iNum);
iS=iNum%10;/*取得个位上的数*/
;/*取得十位上的数*/
iH=iNum/100;/*取得百位上的数*/
if( )
printf("%d