习题二
一、选择题
1.下列4组选项中,均不是C语言关键字的选项是( A
)
A.Define IF type
B.getc char printf
C.include scanf case
D.while go pow
2.下面4个选项中,均是不合法的用户标识符的选项是( C
)
A.A P_0 do
B.float 2a0 _A
C.b-a goto int
D.-123 temp INT
3.下面4个选项中,均是合法整型常量的选项是( A
)
A.160 -0xffff 011
B.-0xcdf 01a 0xe
C.-01 986.012 0668
D.-0x48a 2e5 0x
4.下面4个选项中,均是合法转义字符的选项是( A
)
A. ’ \’ ’ ’\’ ’\n’
B.’\’ ’\017’ ’\’ ”
C.’\018’ ’\f’ ’xab’
D.’\0’ ’101’ ’xlf’
5.若有代数式3·ae/bc,其中a、b、c、e为变量,则不正确的C语言表达式是( C
)
A.a/b/ce3
B.3Ae/b/c
C.3ae/bc
D.ae/c/b3
6.已知各变量的类型说明为
int k,a,b;
long w=5;
double x=1.42;
则以下不符合C语言语法的表达式是( A
)
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)(a=3)
二、填空题
1.指出下列合法的变量名___________
100, fabs, 5ac,a[2]
, ex-1, int, “abc”, s06
, _234
, ab
, c.d, E3
2.下列常数中符合C语言语法规定的是________________.
‘\’ ‘\101’
“\” e3 019 0xle
1.e5
(2+3)e(4-2) 5.2e2.5 “ab\n”
3.C语言中把“真”表示为_1
,把“假”表示__0
___.
4.系统通常将一个__非零值
_____判断为“真”,将零值判断为“假”。
5.用于描述“c是大于等于a且小于b的奇数”的逻辑表达式的是_c>=a&&c<b&&c%2 == 1
或者_c>=a&&c<b&&c%2
_.
6.已知字母a的ASCII码值为十进制数97,且设ch为字符型变量,则表达式“ch=‘a’+‘8’-‘3’”的值为__‘f’或者102
__.
7.C语言中一个单精度浮点型数据占___4
__个字节。
8.如果a=1,b=2,c=3,d=4,则表达式“a>b?c:d”的值为____4
_。
9.写出下面表达式的值,
设a=10,b=4,c=5,d=1,x=2.5,y=3.5.
(1)!(a+b)+y-1&&x+b/2 1
(2)x+y>b&&a/b==x 0
(3)a%=(b%=3) 0
(4)a+=a-=a*=a 0
(5)(float)(a+c)/2+(int)x%(int)y 9.500000
三、写出下列程序的运行结果
题1
#include<stdio.h>
void main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf(“%d,%d,%d\n”,x,y,z);
}
运行结果为2,3,1
题2
#include<stdio.h>
void main()
{
int i,j;
i=8,j=10;
printf(“%d,%d,%d,%d\n”,i,j,++i,j++);
}
运行结果为9,10,9,10 注意:输出项的右原则
题3
#include<stdio.h>
void main()
{
int a=1,b=2,c=3;
printf(“%d,%d,%d,%d\n”,a=b=c,a=b==c,a==(b=c),a==(b==c));
}
运行结果为3,1,0,0
四、程序填空题
1.用一个条件表达式描述从a、b、c中找出最大值赋给max.请将程序补充完整。
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("输入3个整数:");
scanf("%d,%d,%d",&a,&b,&c);
(t=a>b?a:b)>c?t:c;
printf("3数中最大的值为:%d\n",t);
}
若输入: 77,95,66
运行结果:95
2.以下程序是输入一个华氏温度(。F)求出摄氏温度(。C)的程序,其计算公式为C=5/9(F-32).请将程序补充完整。
#include<stdio.h>
void main()
{
float F,C;
printf(“请输入华氏温度:”);
scanf(“%f”,&F);
C=_5*(F-32)/9_;
printf(“摄氏温度为%f\n”,C);
}
运行:请输入华氏温度: 98.6
运行结果:摄氏温度为36.999999