C语言基础知识综合练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、
二、
三、C语言基本知识和基本语句
(一)选择题
1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=b
C) a || b+c&&b-c D) ! ((a
2.设ch是char型变量,其值为A字符,且有表达式:
ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A) A B) a C) Z D) z
3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值
4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型
C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型
5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和 / D) **
6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )
C) (x>=y>=z) D) (x>=y) & (y>=z )
7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
A) 1 B) 0 C) 4 D) 3
9.C语言表达式10 != 9 的值是()。
A)true B) 非零值 C) 0 D) 1
10.合法的C语言字符常量是()。
A)’\t’B) “A” C) 65 D) A
11.若int类型数据占两个字节,则下列语句的输出为()。
int k = -1 ;
printf (“%d,%u\n ”,k,k);
A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535
12.组成C语言程序的是()。
A)子程序 B) 过程 C) 函数 D) 主程序和子程序
13.以下的选项中,正确的赋值语句是()。
A)i++; B)a=1,b=2; C) a=b=5 D) y=int(x);
14. 以下不符合C语言语法的语句是()。
A)i++; B)i=j=5; C)k=2*4,k*4; D) y=float(i)
15. 下列程序的输出结果是()。
main()
{ int a=9;
a+=a-=a+a;
printf(“%d\n”,a); }
A) 18 B) 9 C) –18 D) –9
16. 下列语句的输出结果是()。
printf(“%d\n”,(int)(2.5+3.0)/3);
A)有语法错误不能通过编译 B) 2 C) 1 D) 0
17.下列程序的输出是()。
main()
{ int a = 7,b=5;
printf(“%d\n”,b=b/a); }
A)有语法错误不能通过编译 B) 2 C) 1 D) 0
18.请阅读程序()。
main()
{ int a;float b,c;
scanf(“%2d%3f%4f”,&a,&b,&c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c); }
若运行时从键盘上输入9876543210
A)a=98,b=765,c=4321 B) a=10,b=432,c=8765
C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0
19.以下程序的输出结果是()。
main()
{ int a=-1,b=4,k;
k=(++a<0)&&! (b - -<=0);
printf (“%d%d%d\n”,k,a,b); }
A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 4
20.下列程序的输出结果是()。
main()
{ int i,j,k,a=3,b=2;
i=(- -a= =b++)?- - a :++b;j=a++;k=b;
printf (“i=%d,j=%d,k=%d\n”,i,j,k);}
A)i=2,j=1,k=3 B) i=1,j=1,k=2 C) i=4,j=2,k=4 D) i=1,j=1,k=3
(二)填空题
1.在C语言中,double类型数据占个字节;char类型数据占个字节。
2.设C语言中,int 类型数据占2个个字节,则long类型数据占个字节;unsigned int类型数据占个字节; short类型数据占个字节;
3.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.37))值的数据类型为
4.假设m是一个三位数,从左到右用a,b,c表示每一位的数字,若从左到右数字是bac的三位数,则在C语言中用m表示bac的表达式是
二、C语言选择和循环结构
1.在C语言中,能代表逻辑值“真”的是()。
A)true B) 大于0的数 C) 非0整数 D) 非0的数
2.若给定条件表达式(M)?(a++): (a--);则其中表达式M
A)和(M==0)等价 B) 和(M==1)等价
C) 和(M!=0)等价 D) 和(M!=1)等价
3.在C语言的if语句中,用作判断的表达式是()。
A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式
4.若变量已正确定义,则以下程序段的输出为()。
int a=2;b=3;
printf(a>b?“* * * a=%d”:“# # # b=%d”,b);
A)没有正确的输出格式控制 B) * * * a=2
C) # # # b=3 D) * * * a= 2# # # # b=3
5.以下程序段的输出结果为()。
int a=1;b=2,c=2,t=0;
while(a
printf(“%d,%d,%d”,a,b,c );
A)1,2,0 B) 2,1,0 C)1,2,1 D) 2,1,3
6.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()。
if (x>y) z=x;x=y;y=z;
A) x=10,y=20,z=30 B) x=20,y=30,z=30
C) x=20,y=30,z=10 D) x=20,y=30,z=20
7.以下程序的运行结果是()。
main( )
{ int m=5;
if (m++>5) printf (“%d\n”,m);
else printf (“%d\n”,m--); }
A)4 B) 5 C) 6 D) 7
8. 以下不正确的语句是()。
A)if (x>y);