C语言单元练习题
第一单元 数据类型、表达式及顺序结构练习题
一、选择题:
1、不合法的C语言整型常量是 D 。
A. –012 B. 0x35 C. 123L D. 8E2
2、不合法的C语言实型常量是 A 。
A. E3 B. .123 C. –6.2E4 D. 5.0
3、不合法的C字符常量是 C 。
A. ´2´ B. ´\\101´ C. ´AB´ D. ´\\n´
4、下列四组选项中,均是不合法的用户标识符的选项是 B 。
A. W P_0 do B. b-a goto int
C. float la0 _A D. -123 abc TEMP
5、定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是 C 。
A. int a=b=c=5; B. int a,b,c=5; C. int a=5,b=5,c=5; D. int a=5;b=5;c=5;
6、设有说明:char w;int x; float y;double z;则表达式w*x+z-y值的数据类型为 D 。
A. float B. char C. int D. double
7、以下选项中不能用作C程序合法常量的是( B)。A. 1.234 B. '123' C.123 D.\"\\x7G\"
8、以下选项中可用作C程序合法实数的是(A )
A. .1e0 B.3.0e0.2 C.E9 D.9.12E
9、下列标识符中,不合法的用户标识符为(D )。
A. Pad B. CHAR C. a_10 10、以下选项中能表示合法常量的是(D)。
A.整数:1,200 B.实数:1.5E2.0 C.字符斜杠:‘11、以下选项中,能用作数据常量的是( D )。
A.o115 B. 0118 C.1.5e1.5 D. 115L
D. a≠b
\\’ D.字符串:\"\\007\"
12、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是(A)。
A.1 B.0 C.2 D.3
13、若有定义语句:int x=10;,则表达式x-=x+x的值为(B)
A.-20 B.-10 C.0 D.10
14、表达式:(int)((double)9/2)-(9)%2的值是(B )。
A.0 B.3 C.4 D.5
15.int x=5, y=14;则表达式x+7/y+0.6 值为(B )。
A.7.1 B.5.6 C.6.6 D.6.1
16、有以下程序执行后的输出结果是(D )。
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(\"%d\\n\
A.自然数1~9的累加和 B.自然数1~10的累加和
C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和
17、C语言中运算对象必需是整型的运算符是(B)。
A./ B. % C.* D.+
18、表达式3.6-5/2+1.2+5%2的值是(D )。
A.4.3 B. 4.8 C. 3.3 D.3.8
19、能正确表示逻辑关系:\"a≥8或a≤5\" 的C语言表达式是(D)。
A.a>=8 or a<=5 B.a>=5 | a<=8 C.a>=8 && a<=5 D.a>=8 || a<=5
20、C语言中,数字029 是一个(A)。
A.不合法数字 B.十进制数 C.八进制数 D.十六进制数
21、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A)。
A.k++ B.k+=1 C.++k D.k+1
22、以下选项中,合法的C语言数值常量是(C)。
A.028 B.'\\12A' C.'\\177' D. N
23、C语言中运算符优先级最低的是( B )。
A.++ B. = C.- D.&&
24、有以下程序运行时,输入的值在哪个范围才会有输出结果(B )。
main(){
int x; scanf(\"%d\
if(x<=3) ;
else if(x!=10) printf(\"%d\\n\
A.不等于10的整数 B.大于3且不等于10的整数
C.大于3或等于10的整数 D.小于3的整数
25.以下选项中可用作C程序合法实数的是(A )
A.1e0 B3.0e0.2 C.E9 D..12E
26.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是(A )
A.a=(b=4)=3; B.a=b=c+1;
C.a=(b=4)+c; D.a=1+(b=c=4);
二、填空题:
1、若有定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y值是 -16 。
2、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为 1 。
3、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为 26 。
4、若a是int型变量,则计算表达式a=25/3%3后a的值为 2 。
5、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为 10 ,n的值为 6 。
6、若有定义:char c='\\010';则变量c中包含的字符个数为 1 。
7、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值1
三、程序阅读题:(写出程序运行结果)
1、以下程序的输出结果是 a,98 。
#include main()
{ int x=97; char y='b';
printf(\"%c,%d\
}
2、以下程序的输出结果是 -60 。
#include main()
{ int x=6;
x+=x-=x*x;
printf(\"x=%d\\n\
}
3、以下程序的输出结果是 -1 。
#include main()
{ int i=1,j;
j= -i++;
printf(\"%d\\n\
}
4、有以下程序,运行后的输出结果是 b,b 。
main( )
{ char a='a',b;
printf(\"%c,\
printf(\"%c\\n\
}
5、以下程序的输出结果是 1,0,7 。
main( )
{ int i=0,j=0,a=6;
if((++i>0)||(++j>0))
a++;
printf(\"%d,%d,%d\
}
四、编程题:(顺序结构编程)
1、输入华氏温度,输出摄氏温度。C=5/9*(F-32)
/*由华氏温度转化为摄氏温度*/
#includevoid main()
{
float C,F;
printf(“输入华氏温度:”);
scanf(“%f”,&F);
C=(float)5/9*(F-32);
printf(“摄氏温度为:%f\\n”,C);
}
2、输入底面半径r和高度h,计算并输出圆柱体的体积v。
v=πr2h(π取3.14,v计算结果保留到小数点后两位)
#include#define PI 3.14
void main()
{
float r,h,v;
printf(“输入圆柱体的底面半径和高度:”);
scanf(“%f%f”,&r,&h);
v=PI*r*r*h;
printf(“v=%.2f\\n”,v);
}
3、从键盘输入学生的三门考试成绩,计算并输出平均成绩。
#includevoid main()
{ int i;
float score[3],sum=0,aver;
printf(“输入学生的三门考试成绩:”);
for (i=0;i<3;i++)
{ scanf(“%f”,&score[i]);
sum=sum+score[i]; }
aver=sum/3;
printf(“aver=%f\\n”,aver);
}
或
#includevoid main()
{
float score1,score2,score3,sum,aver;
printf(“输入学生的三门考试成绩:”);
scanf(“%f%f%f”,&score1,&score2,&score3);
sum=score1+score2+score3;
aver=sum/3;
printf(“aver=%f\\n”,aver);
}