C语言试题库试题库.docx
- 文档编号:12359194
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:124
- 大小:80.45KB
C语言试题库试题库.docx
《C语言试题库试题库.docx》由会员分享,可在线阅读,更多相关《C语言试题库试题库.docx(124页珍藏版)》请在冰豆网上搜索。
C语言试题库试题库
第1章算法及算法描述
一、填空题
1、算法具有以下五个特点、、、、
2、判断一个算法的优劣的主要标准、、、、
3、常用的算法图形表示法主要包括、、
4、影响程序质量的质量要素主要包括、、、、
、、、
5、程序设计语言经历了的发展历程是、、、
6、算法实现包括的阶段是、、、、
第2章C语言概述
一、判断题(a为正确,b为错误)
1、C程序的基本组成单位是函数。
2、C程序的一行只能写一条语句。
3、main函数必须写在一个C程序的最前面。
4、一个C程序可以包含若干函数,但必须有主函数。
5、一个c程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
6、C语言是一种结构化程序设计语言。
7、一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。
8、在标准C中,语句必须以“;”结束。
9、在C程序中,注释说明只能位于一条语句的后面。
10、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
第3章数据类型与数据运算
一、判断题(a为正确,b为错误)
1、a-b是合法的标识符。
2、在C程序中,APH和aph是两个相同的变量。
3、在标准C中,变量可以先使用再定义。
4、逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。
5、“++”运算符的优先级比“+”运算符的优先低。
6、无符号整型变量的取值范围是:
0-65535。
7、表达式i++与++i在任何场合功能完全相同。
8、若有inti=10,j=2;则执行完ⅰ*=j+8;后ⅰ的值为28。
二、多项选择题
1、C语言提供的合法的数据类型关键字是()。
A、DoubleB、shortC、intD、Char
2、下面均是不合法的用户标识符的选项是()。
A、A.B、floatC、b-aD、一123
P-01a0gototemp
do一AintINT
3、已知ch是字符型变量,下面不正确的赋值表达式是()。
A、ch=“\123”B、ch=’\xff’C、ch=’\007’D、cg=’\’
4、若有以下定义,则能使值为3的表达式是:
intk=7,x=12;()
A、x%=(k%=5)B、x%=(k一k%5)C、x%=11-k%5D、(x%=k)-(k%=5)
5、下关于运算符优先顺序的描述中正确的是()。
A、赋值运算符<逻辑与运算符<关系运算符<逻辑非运算符
B、逻辑运算符<关系运算符<算术运算符<赋值运算符
C、赋值运算符<逻辑与运算符<关系运算符<算术运算符
D、算术运算符<关系运算符<赋值运算符<逻辑与运算符
6、已知ch是字符型变量,正确的赋值表达式是()。
A、ch=’a+b’B、ch="\0"C、ch=’7’+’9’D、ch=5+9
7、在C语言中,要求运算数必须是整型的运算符是()
A、%=B、++C、!
=D、%
8、下列关于字符串的说法中错误的是()。
A、在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符‘\0’作为字符串结束标志。
B、\0'作为标志占用存储空间,计入串的实际长度。
C、在表示字符串常量的时候需用人为在其末尾加入'\0'.
D、在c语言中,字符串常量隐含处理成以‘\0'结尾。
三、单项选择题
1、以下关于long,int和short类型数据占用内存大小的叙述中正确的是:
()。
A、均占用4个字节B、根据数据的大小决定
C、由用户自己定义D、由c语言编译系统决定
2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A、7B、8C、6D、2
3、若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)()。
A、4B、16C、32D、52
4、已有定义:
intx=3,y=4,z=5;则表达式!
(x+y)+z-1&&y+z/2的值是()。
A、0B、1C、2D、-1
5、设有:
inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值()。
A、1B、2C、3D、4
6、设有intx=11;则表达式(x++*1/3)的值()。
A、3B、3.6C、4D、4.0
7、inta;floatf;doublei;表达式15+i*f+’A’-a的值是()型。
A、floatB、intC、charD、double
8、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、intB、floatC、doubleD、不确定
四、编程题
1、某件商品的价格为120元,分别安十进制、八进制和十六进制输出其值。
2、编程实现:
从键盘输入正方体的变长,求其表面积和体积。
3、编程实现:
从键盘输入球的半径,计算球的表面积和体积。
4、编程实现:
定义int型变量i1和i2的值分别为65和97,依次按字符、十进制、八进制和十六进制整数的形式输出它们的值,要求每个变量各占一行。
5、编程实现:
从键盘输入一个实数,分别按小数形式和指数形式输出该实数的值。
第4章常用库函数
一、单选题
1、以下程序输出结果是(注□表示空格)
Main(){printf(“*s1=%15s*\n*s2=%-5s*”,”chinabeijing”,”chi”);}
A*s1=chinabeijing□□□*B*s1=chianbeijing□□□
*s1=*chi**s2=chi□□
C*s1=*□□chinabeijing*D*s1=□□□chianbeijing*
*s2=□□□chi*S2=chi□□*
2、根据定义和数据的输入方式,输入语句的正确形式为
已有定义:
floatf1,f2;
输入方式为:
4.52,3.5
Ascanf(“%f,%f”,&f1,&f2);Bscanf(“%f%f”,&f1,&f2);
Cscanf(“%3.3f,%2.1f”,&f1,&f2);Dscanf(“%3.2f,%2.1f”,&f1,f2&);
3、又如下语句:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式为(注□表示空格)
A132<回车>B1,3,2<回车>Ca=1□b=3□c=2<回车>Da=1,b=3,c=2<回车>
4、设有如下定义:
intx=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是。
A1B0C4D3
5、printf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。
如果字符串长度大于5,则输出方式为
A从左起输出该字符串,右补空格B按原字符长从左向右全部输出
C右对齐输出该字串,左补空格D输出错误信息
6、printf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。
如果字符串长度小于5,则输出方式为
A从左起输出该字符串,右补空格B按原字符长从左向右全部输出
C右对齐输出该字串,左补空格D输出错误信息
7、已有定义inta=-2,和输出语句:
printf(“%8lx”,a);以下正确的叙述是
A整形变量的输出格式符只有%d一种B%是格式符的一种,它可以适应任何一种类型的数据C%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D%8lx不是错误的格式符,其中数字8规定了输出字符的宽度
8、下列语句输出结果是。
Unsignedi=-1;printf(“%u”,i);
A65535B65536C-1D1
9、下列语句输出结果是。
inti=65535;printf(“%d”,i);
A65535B0C-1D语法错误
10、下列语句输出结果是。
Longa=oxffff;intb=a;printf(“%d”,b);
A65535B65536C-1D1
11、已知ch是字符型变量,下面不正确的赋值表达式是。
Ach=’\123’Bch=’\xff’Cch=’\008’Dch=’\n’
12、设有定义:
intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是。
Ak++Bk+=1C++kDk+1
13、已知inta;floatb;所用的scanf调用语句格式为:
scanf(“a//%d,b=%f”,&a,&b);为了将数据3和25.08分别赋给x和y,正确的输入应当是。
A3,25.08
Ca//3,b=25.08
14、语句printf(“%d\n”,strlen(“\t\”\065\xff\n”))的输出结果是
A5B14C8D输出项不合法,无正确输出
15、下列格式符中,哪一个可以用于以8进制形式输出整数。
A%dB%8dC%oD%ld
16、字符变量ch=’A’,int类型变量K=25,语句printf(“%3d,%3d\n”,ch,k);输出。
A65,253B65253C65,25DA25
17、有以下程序
Main()
{
Intm,n,p;
Scanf(“m=%dn=%dp=%d”,&m,&n,&p);
Printf(“%d%d%d\n”,m,n,p);}(注:
□表示空格)
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是
Am=123n=456p=789Bm=123□n=456□p=789Cm=123,n=456,p=789D123456789
18、逻辑运算符两侧运算对象的数据类型。
A只能是0或1B只能是0或非零整数C只能是整形或字符型数据D可以是任何类型的数据
19、当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是。
Am=n=pB(m=k)&&(n=k)C(m=k)||(n=k)D(k=m)&&(n=k)
20、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数,表达式的值为假
。
则以下不能满足要求的表达式是。
AA%2==1B!
(a%2==0)C!
(A%2)DA%2
21、putchar函数可以向终端输出一个。
A整型变量表达式值;B实型变量值;C字符串;D字符或字符型变量值
22、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是
Ascanf("%d%lx,%le",&x,&y,&z);Bscanf("%2d*%d%lf"&x,&y,&z);
Cscanf("%x%*d%o",&x,&y);Dscanf("%x%o%6.2f",&x,&y,&z);
23、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是。
inta1,a2;charc1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
A1020AB
C1020AB
24、设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是
A'y'&&'y'Bx<=yCx||y+z&&y-zD!
(x z||1) 25、若有以下定义: inta,b;floatx;,则正确的赋值语句是。 Aa=1,b=2,Bb++;Ca=b=5Db=int(x) 26、判断char型变量ch是否为大写字母的正确表达式是。 A'A'<=ch<='Z'B(ch>='A')&(ch<='Z') C(ch>='A')&&(ch<+'Z')D('A'<=ch)AND('Z'>=ch 27、执行以下语句后a的值为。 inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); A5B0C2D1 28、已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&! y)的值是。 A0B语法错C1D"假" 29、设x、y和s是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。 A'x'&&'y'Bx<=yCx||y+z&&y-zD! ((x z 二、多选题 1、若x,y均定义为int型,z定义为double型,以下合法的scanf函数调用语句是 Ascanf(“%d%lx,%le”,&x,&y,&z);Bscanf(“%2d*%d%lf”,x,y,z); Cscanf(“%x%*d%o”,&x,&y);Dscanf(“%x%o%6.2f”,&x,&y,&z); 2、已知intI,j,k;scanf(“%d%d%d”,&I,&j,&k);若从键盘送入I,j,k的值分别为1,2,3时,则正确的输入方式是。 (注: □表示空格, A1,2,3B1 3、以下说法正确的是 A、输入项可以为一个实型常量,如scanf(“%f”,3.5); B、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanf(“%4.2”,&f)是错误的; D当输入数据时,必须指明控制变量的地址,如scanf(“%f”,&f); 4、a是int类型变量,c是字符变量,下列输入语句哪些是正确的 Ascanf(“%d,%c”,&a,&c);Bscanf(“%d%c”,a,c); Cscanf(“%d%c”,&a,&c);Dscanf(“d=%d,c=%c”,&a,&c); 三、填空题 1、以下程序的输出结果是。 Main(){inta=177;printf(“%o”,a);} 2、以下程序的输出结果是。 Main(){inta=1234;printf(“2d\n”,a);} 四、阅读程序题分析下来函数段,写出其对应的执行结果。 1、已知字母A的ASCII码是65,以下程序的执行结果是____。 Main() { Charc1=’A’,c2=’Y’;printf(“%d,%d\n”,c1,c2);} 2、阅读以下程序,当输入数据的形式为: 25,13,10 Main() { Intx,y,z; Scanf(“%d,%d,%d”,&x,&y,&z); Printf(“x+y+z=%d\n”,x+y+z);} 3、main() { Inta,b; Scanf(“%2d%*2d%2d”,&a,&b); Printf(“%d”,a+b);}上面程序运行时,输入12345678回车,结果____。 4、voidmain() {inta=10,b=10; Printf(“%d\t%d”,a--,--b);}以上程序运行结果为: ____。 5、main() { Inta; Printf(“%d\n”,(a=3*4,a*5,a+5));}以上程序运行结果为____。 6、main() { Floata=123.45678; Printf(“%-4.2f\n”,a);}以上程序结构为: _____。 7、main() { Charc,d; C=getchar(); D=c-33;printf(“%d,%c”,c,d);}又以上程序,若输入d,则输出结果为____。 8、mian() {inti=010,j=10,k=ox10; Printf(“%d,%d,%d”,I,j,k);}以上程序的运行结果为: _____。 五、操作题 1.看程序写结果。 #include"stdio.h" main() { chara,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); }输出结果为: ______ 2.看程序写结果。 #include"stdio.h" voidmain() { inta=123,b=-3721; floatx=123.456; printf("a=%d,b=%d\n",a,b); printf("a=%4da=%0da=%-4d\n",a,a,a); printf("b=%7db=%07db=%-9db=%2d\n",b,b,b,b); printf("a=%8ld,b=%8ld\n",a,b); printf("a=%-8ld,b=%-8ld\n",a,b); printf("%3s,%7.2s,%.4s,%-5.3s\n","sun","sun","sun","sun"); printf("%f,%e,%g\n",x,x,x); printf("%10.3e,%010.1e,%012.5e\n",x,x,x); }输出结果为: _____ 3.看程序,写结果 #include"stdio.h" voidmain() { inta; charc; scanf("%d",&a); scanf("%c",&c); printf("a=%d",a); printf("c=%c",c); }输出结果为: _____ 4.看程序,写结果 #include"stdio.h" voidmain() { chars[]="good\nsun\tday"; puts(s); }输出结果为: _____ 5.看程序,写结果 #include"stdio.h" voidmain() { chars[10]; gets(s); puts(s); } 结果为: _____ 6.看程序,写结果 #include"stdio.h" #include"stdio.h" voidmain() { chars1[15]="hello",s2[10]="world"; strcat(s1,s2); puts(s1); puts(s2); strcat(s1,"good"); puts(s1); }结果为: _____ 7.看程序,写结果 #include"string.h" #include"stdio.h" voidmain() { chars1[20]="helloworld",s2[10]="good"; strcpy(s1,s2); puts(s1); puts(s2); strcpy(s1,"welcome"); puts(s1); } 结果为: _____ 8.看程序,写结果 #include"string.h" #include"stdio.h" voidmain() { chars1[]="ABC",s2[]="ABD"; intn; n=strcmp(s1,s2); printf("n=%d\n",n); n=strcmp(s2,s1); printf("n=%d\n",n); } 结果为: _____ 9.看程序,写结果 #include“string.h” #include"string.h" #include"stdio.h" voidmain() { chars1[]="goode\tbetter\tbest\n"; chars2[]="ab\105"; puts(s1); puts(s2); printf("%d\n",strlen(s1)); printf("%d\n",strlen(s2)); printf("%d\n",strlen("hello")); printf("%d\n",strlen("world")); }结果为: _____ 10.看程序,写结果 #include"string.h" #include"stdio.h" voidmain() { chars1[]="Good\tBetteR\tBesr\n"; chars2[]="AB\105"; puts(s1); puts(s2); strlwr(s1); strlwr(s2); puts(s1); puts(s2); }结果为: _____ 11.看程序,写结果 #include“string.h” #include"string.h" #include"stdio.h" voidmain() { chars1[]="good\tbetter\tbest\n"; chars2[]="ab\105"; puts(s1); puts(s2); strupr(s1); sstrupr(s2); puts(s1); puts(s2); }结果为: _____ 12.看程序,写结果 #include"string.h" #include"stdio.h" voidmain() { charc; printf("pleaseinputaletter: "); scanf("%c",&c); c=(c>='a'&&c<='z')? (c+'A'-'a'): (c+'a'-'A'); printf("%c\n",c); } 结果为: _____ 第5章C程序设计基本结构 一、判断题 1、C语言规定,else子句总是与它上面的最近的if配对 2、if(a>0);不能看作是一条合法的条件语句 3、if语句后面的表达式只能是关系表达式 4、判断整型变量a即是5又是7的整数倍的C表达式是(a%5==0&&a%7==0) 5、在C语言中10! =9的值是1 6、在C语言中表达式(a=2)&&(b=-2)的值是1 7、在switch语句中必须使用break语句 8、在switch语句中必须使用break语句 9、在标准C中,没有逻辑型数据,故不能使用逻辑表达式。 10、在标准C中,所有关系运算符的优先级都相同。 11、在if语句中,else前一个语句可不加“;”。 12、在标准C中,逻辑表达式中只允许出现逻辑型数据。 13、在标准C中,所有的if——else语句都可以用条件语句替换。 14、在switch语句中,case后可不加“{}”。 15、在C语言中,将语句if(x==5);写成if(x=5);将导致编译错误。 16、在所有关系运算符中,其优先级最低的是“==和! =”。 17、若x的当前值为5,执行语句“if(x(=3)x=x+5;”后的值仍为5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题库