C语言复习试题.docx
- 文档编号:5750423
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:109
- 大小:83.43KB
C语言复习试题.docx
《C语言复习试题.docx》由会员分享,可在线阅读,更多相关《C语言复习试题.docx(109页珍藏版)》请在冰豆网上搜索。
C语言复习试题
C语言(基础知识)单元练习一(20)
一、单项
1、能正确表示a和b同时为正或同时为负的逻辑表达式是___D___。
A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0
2、一个C语言程序的执行是从___A___。
A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束
3、可用作用户标识符的一组标识符是___B___。
A.voidB.a3_b3C.ForD.2a
define_xyz-abcDO
WORDIFCasesigeof
4、能正确表示a、b不能同时为零的逻辑表达式是__A____。
A.a==0&&b!
=0||a!
=0&&b==0B.(a==0)||(b==0)C.(a!
=0)||(b!
=0)D.a*b==0
5、已知各变量的类型说明如下:
inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是__A____。
A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=float(i)
6、若k为int型变量,则以下语句___C___。
k=8567;printf("|%-06d|\n",k);
A.输出格式描述不合法B.输出为|008567|C.输出为|8567|D.输出为|-08567|
7、正确的C语言自定义标识符是___A___。
A.file_bakB.abc(10)C.continueD.class+3
8、设intx=8,y,z;执行y=z=x++;x=y=z;后,变量x的值是___C___。
A.0B.1C.8D.9
9、用getchar函数可以从键盘读入一个__D____。
A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值
10、下面四个选项中,均是非法常量的是___A___。
A.'ads'B.'\\'C.-0x18D.0xabc
-0fff'\01'01177'\0'
'\0a'12,4560xf"a"
11、能正确表示逻辑关系:
"a≥10或a≤0"的C语言表达式是_D_____。
A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10‖a<=0
12、以下选项中,与k=n++完全等价的表达式是___A___。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
13、下面四个选项中,均是合法浮点数的是_B_____。
A.+1e+1B.-.60C.123eD.-e3
5e-9.412e-41.2e-.4.8e-4
03e2-8e5+2e-15.e-0
14、请从以下表达式中选出a为偶数时值为0的表达式_D_____。
A.a%2==0B.!
a%2!
=0C.a/2*2-2==0D.a%2
15、在scanf函数语句中,地址表列由___D___组成。
A.表达式B.变量C.常量D.地址项
16、以下4组用户定义标识符中,全部合法的一组是_A_____。
A._mainB.IfC.txtD.int
enclude-maxREALk_2
sinturbo3COM_001
17、在C语言中,char型数据在内存中的存储形式是__D____。
A.补码B.反码C.原码D.ASCII码
18、以下程序
#include
voidmain()
{inta;charc=10;floatf=100.0;doublex;
a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}
运行后的输出结果是__B____。
A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5
二、判断
1、a&&b&&c逻辑表达式中,当a为假时将不再计算b和c的值了。
(对)
2、C语言规定,可以在定义变量时,同时使变量初始化。
(对)
3、凡是表达式都有一个值。
(对)
4、或运算||参与运算的两个量都为真时,结果才为真。
(错)
5、如果i的原值为3,则j=++i,j的值为3。
(错)
6、如果要把常量327存入变量a中,a可以定义成float类型。
(对)
7、字符型变量用来存放字符常量,注意只能放2个字符。
(错)
8、若变量已正确定义,以下程序段的输出结果是5.169000。
x=5.16894;printf("%f\n",(int)(x*1000+0.5)/(float)1000);(对)
9、以下程序的运行结果是(a=%2,b=%5)。
#include
main(){inta=2,b=5;printf("a=%%d,b=%%d\n",a,b);}(错)
10、在printf函数中,格式字符f的意义是:
以小数形式输出单精度实数。
(错)
11、若intx=3;printf("%d",&x);则系统不会报错,会输出x的地址。
(对)
12、若在定义语句doublea,b;之后,因为变量a,b已正确定义,因此立刻执行表达式a=b+9.381;是正确的。
(错)
13、在scanf("%4d",&i);语句中,输入123456789,只把123456赋予变量i。
(错)
14、设inta=2,b,c;则执行c=b=a--;语句后,c的结果是2。
(对)
15、一般一个字符变量在内存中占一个字节。
(对)
16、在C语言中,++(i+1)是一个合法的算术表达式。
(错)
17、若有以下定义:
inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为3.500000。
(float)(a+b)/2+(int)x%(int)y(对)
18、在printf函数中,输出表列的各输出项之间可用冒号分隔。
(错)
19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为D。
(对)
20、printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中。
(对)
三、填空
1、charc='a';printf("%d",c);的输出结果是__97_________。
2、字符串''w\x53\\\np\103q''的长度是___7________。
3、设有如下定义:
intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____3______。
4、C语言的字符输出函数是_____putchar()______。
5、以下程序#include
{chara;a='H'-'A'+'0';printf("%c\n",a);}执行后输出结果是___7______。
6、以下程序#include
{intx=102,y=012;
printf("%2d,%2d\n",x,y);}执行后输出结果是__102,10___。
7、有以下语句段:
intn1=10,n2=20;printf("____n1=%d\nn2=%d_______",n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10n2=20
8、使用getchar函数前必须包含头文件___stdio.h_______。
9、有以下程序
#include
voidmain()
{chara,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("%c,%c,%c,%c\n",a,b,c,d);}
若运行时从键盘上输入:
6,5,65,66<回车>。
则输出结果是___6,5,A,B________。
10、说明语句chars='\t';使s包含了___1________个字符。
11、若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式x=k的运算结果是____7.000000_______。
12、以下程序段的输出结果是___1234________。
inta=1234;printf("%2d\n",a);
C语言(基础知识)单元练习一(21)
1scanf函数被称为__C____输入函数。
A.字符B.整数C.格式D.浮点
2下面正确的字符常量是____C__。
A."c"B.'\\''C.'W'D.'
3scanf函数按____A__串规定的格式输入数据。
A.格式控制B.特殊C.具体安排D.功能
4不正确的C程序描述是____B__。
A.每个语句和数据定义的最后必须有个分号
B.一个C程序的书写格式要求严格,一行只能写一个语句
C.C语言的本身没有输入输出语句
D.一个C程序总是从main()函数开始执行
5C语言具有低级语言的能力,主要指的是_C_____。
A.程序的可移植性B.具有控制流语句
C.能直接访问物理地址,可进行位操作
D.具有现代化语言的各种数据结构
6以下叙述中正确的是___B___。
A.C语言的源程序不必通过编译就可以直接运行
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D.C语言中的函数不可以单独进行编译
7以下程序段(n所赋的是八进制数)
intm=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是__A____。
A.32767,32767B.32767,032767C.32767,77777D.32767,077777
8C语言程序由__C____组成。
A.子程序B.主程序和子程序C.函数D.过程
9若有以下定义,则值为3的表达式是___D___。
intk=7,x=12;
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
10下列关于单目运算符++、--的叙述中正确的是_D_____。
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
11若ch为char型变量,a为int型变量,(已知字符a的ASCII十进制代码为97)则执行以下语句后的输出为____C__。
charch;inta;
ch='a';a=12;
printf(''%x,%o,'',ch,ch,a);
printf(''k=%%d\n'',k);
A.61,141,12,k=%d
B输出项与格式描述符个数不符,输出为零值或不定值
C.61,141,k=%d
D.6l,141,k=%12
12scanf函数的"格式控制串"中,%3d表示__A____。
A.输入宽度为3B.3个数输入C.3位小数D.3*d
13下列算术运算符中,只能用于整型数据的是___D___。
A.–B.+C./D.%
14若变量已正确定义并赋值,下面符合C语言语法的表达式是___B___。
A.a=a+7;B.a=7+b+c,a++C.int12.3%4D.a=a+7=a+b
15设n=10,i=4,则执行赋值运算n%=i+1后,n的值是___A___。
A.0B.3C.2D.1
16设已定义x为double类型变量,则语句x=213.82631;printf("%-6.2e\n",x);___C___。
A.输出格式描述符的域宽不够,不能输出
B.输出为21.38e+01
C.输出为2.14e+02
D.输出为-2.14e2
17下列四组选项中,均不是C语言关健字的是__A____。
A.defineB.gectC.includeD.while
IFcharscanfgo
Typeprintfcasepow
18已定义x为float型变量,则语句x=213.82631;printf("%-4.2f\n",x);__B
____。
A.输出格式描述符的域宽不够,不能输出
B.输出为213.83
C.输出为213.82
D.输出为-213.82
1设inta=2,b=2;有表达式++a+b,则b的结果是2。
T
2在变量说明中给变量赋初值的方法是:
inta=b=c=10;F
3在scanf("%d,%d",&a,&b);语句中,可以使用一个或多个空格作为两个输入数之间的间隔。
F
4在scanf("%c%c",&c1,&c2);语句中,当输入为字符a,b时,将a赋给c1,将b赋给c2。
F
5用户标识符中可以出现下划线,但它不可以放在用户标识符的开头。
F
6若变量已正确定义,则x1=26.8%3;是一个正确的赋值语句。
F
7程序main(){inti=5;printf("%d,%d\n",++i,i++);}的运行结果是6,6。
F
8输入语句的格式为:
scanf("%d,%d,%d",a,b,c);是正确的。
F
9printf是C语言的输出语句。
F
10在C语言中,要求参加运算的数必须是整数的运算符是%。
T
11printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。
F
12在使用scanf函数之前应包含头文件“math.h”。
F
13a+==a=2;是一个合法的赋值语句,赋值后a的值为:
2。
F
14scanf函数中,如果格式控制串中有普通字符则输入时也要输入该普通字符。
T
15printf函数称为格式输入函数,它的函数原型在头文件"stdio.h"中。
F
16在C语言中的实型变量分为两种类型,它们是float(实型)和double(双精度实型)。
F
17字符串常量是一对单引号括起来的字符序列。
F
18C语言使字符型数据和整型数据之间可以通用。
一个字符数据既可以以字符形式输出,也可以以整数形式输出。
T
19在printf函数中,输出项可以是任意合法的表达式。
T
20在printf函数中,输出项可以是任意合法的表达式。
T
1若a是int型变量,则执行下面表达式后,a的值为___2_______。
a=25/3%3
2下列程序的输出结果是16.00,请填空。
#include
voidmain()
{inta=9,b=2;floatx=________6.6___,y=1.1,z;
z=a/2+b*x/y+1/2;printf(''%5.2f\n'',z);}
3能正确表示"当ch为小写字母为真,否则为假"的表达式是_____ch>='a'&&ch<='z'______。
4inti=65;printf("%d,%c",i,i);的输出结果是_65,A__________。
5C语言中标识符的首字符_____必须为字母或下划线______。
6以下程序
#include
voidmain()
{inti=10,j=1;
printf("%d,%d\n",i--,++j);}执行后输出的结果是____10,2_______。
7下列程序的运行结果是______114,124,-1_____。
#include
voidmain()
{intx=6,y,z;
x*=18+1;printf(''%d,'',x--);
x+=y=z=11;printf(''%d,'',x);
x=y==z;printf(''%d\n'',-x++);}
8已知a=3,b=-4,c=5,表达式(a&&b)==(a||c)的值是________1___。
9若有语句inti=-19,j=i%4;printf("%d\n",j);则输出的结果是__-3_________。
10若有以下定义:
charc='\010';则变量c中包含的字符个数为_____1______。
11在BC中,printf()函数输出表列的求值顺序是___从右到左________。
12赋值语句由_____赋值表达式______加上分号构成。
C语言(基础知识)单元练习一(22)
1若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是__C____。
A.-3B.9C.-12D.6
2与数学式子3乘以x的n次方除以(2x-1)对应的C语言表达式是_C__。
A.3*x^n/(2*x-1)B.3*x**n/(2*x-1)C.3*pow(x,n)*(1/(2*x-1))D.3*pow(n,x)/(2*x-1)
3用C语言编写的源代码程序___B___。
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行
4下列变量定义中合法的是__C___。
A.short_a=l-.1e-1;B.doubleb=1+5e2.5;C.longao=0xfdaLD.float2_and=1-e-3;
5已知各变量的类型说明如下:
intk,a,b;unsignedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是___A___。
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
6以下程序运行的结果是____A__。
#include
voidmain()
{inti=4,x=3,y=2,c=1;
printf("%d\n",i i: z z: x); } A.1B.2C.3D.4 7以下程序的运行结果是_B___。 #include voidmain() {intx=2,y=3,z=1;printf("%d%d\n",(x++,++y),z+2);} A.34B.43C.23D.24 8判断字符型变量c1是否为小写字母的正确表达式为___D___。 A.'a'<=c1<='z'B.(c1>='A')&&(c1<='z')C.('a'>=c1)||('z'<=c1)D.(c1>='a')&&(c1<='z') 9下面四个选项中,均是不正确的八进制或十六进制数的是_D____。 A.016B.0abcC.010D.0a12 0x8f017-0x117ff 0180xa0x16-123 10scanf函数包括在头文件__C_中。 A.string.hB.float.hC.stdio.hD.scanf.h 设有如下的变量定义: inti=8,K,a,b;unsignedlongw=5;doublex=l,y=5.2: 11则以下符合C语言语法的表达式是_A___。 A.a+=a-=(b=4)*(a=3)B.x%(-3)C.a=a*3=2D.y=int(i) 12设a为浮点型变量,下列选项中正确的是_D____。 A.scanf("%d",&a);B.scanf("%f",a);C.scanf(&a);D.scanf("%f",&a); 13若有intk=11;则表达式(k++*1/3)的值是__B____。 A.0B.3C.11D.12 14以下程序 #include voidmain(){unsignedinta;intb=-1;a=b;printf("%u",a);} 运行后的输出结果是_____B_。 A.-1B.65535C.32767D.-32768 15结构化程序设计所规定的三种基本控制结构是___C__。 A.输入、处理、输出B.树形、网形、环形C.顺序、选择、循环D.主程序、子程序、函数 16赋值语句___B__赋值。 A.不允许连续B.允许连续C.允许对整型数组名D.允许对浮点数组名 17下面四个选项中,均是合法整型常量的是_A_____。 A.160B.-0xcdfC.-01D.-0x48a 0xffff01a986,0122e5 0110xe06680x 18源程序要正确地运行,必须要有___C___函数。 A.printf函数B.自定义的函数C.main函数D.不需要函数 1把k1、k2定义成基本整型变量,并赋初值0的定义语句是intk1=k2=0;。 F 2getchar函数的功能是接收从键盘输入的一串字符。 F 3以下程序段,intcl=2,c2=3,c3;c3=1.0/c2*cl;执行后,c3中的值是0。 T 4若有以下定义intm=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-16。 T 5在printf函数中,转义字符\b的作用是退格。 T 6在printf函数中,格式字符d的意义是: 以十进制形式输出带符号整数。 T 7设intn=3;则++n的结果是4。 T 8C语言中数据有常量与变量之分。 T 9设inta=2,b=2;则(a++)+b的结果是5。 F 10在C程序中,逗号运算的优先级最低。 T 11关系运算符的等于是用"="来表示的。 F 12表达式3.5+1/2+56%10的计算结果是7.5。 F 13设inta=2,b=2;有表达式(a++)+b,则a的结果是3。 T 14在printf函数中,格式字符"%5c"可用来输出5个字符。 F 15inta=0,b=1,c=2,x,y;则! (x=a)&&(y=b)&&c的值为1。 T 16在scanf("%d,%*d,%d",&a,&b);语句中,当输入为1,2,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)