武大c语言新题库.docx
《武大c语言新题库.docx》由会员分享,可在线阅读,更多相关《武大c语言新题库.docx(43页珍藏版)》请在冰豆网上搜索。
![武大c语言新题库.docx](https://file1.bdocx.com/fileroot1/2023-1/23/f9f929d8-ccd7-417f-ad43-8b1de6cd18a8/f9f929d8-ccd7-417f-ad43-8b1de6cd18a81.gif)
武大c语言新题库
第一章
C语言源程序经过编译、链接后生成的可执行文件扩展名是______。
(A).exe (B).cpp (C).c (D).obj
C语言程序要正确地运行,必须要有______。
(A)printf函数 (B)scanf函数 (C)自定义的函数 (D)main函数
以下均为合法用户标识符的是______。
(A)do,xyz,_printf
(B)3a,_tt,IF
(C)void,ff,s_v
(D)_pi,IF,big_tree
以下叙述中正确的是______。
(A)C语言程序从源程序中第一个函数开始执行
(B)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
(C)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
(D)main可作为用户标识符,用以命名任意一个函数作为主函数
以下叙述中错误的是______。
(A)C语言是一种结构化程序设计语言
(B)结构化程序有顺序、选择和循环三种基本结构
(C)使用三种基本结构构成的程序只能解决简单问题
(D)结构化程序设计提倡模块化的设计方法
C语言程序的基本单位是【函数】。
编写C语言源程序时,需要使用【 编辑】器将源代码输入到计算机中。
C语言源程序中可以有多处注释。
第二章
以下属于合法数据类型关键字的是______。
(A)Long (B)shot (C)char (D)doubel
以下不合法的数值常量是______。
(A)011 (B)1e1 (C)8.0E0.5 (D)0xabcd
以下正确的字符常量是______。
(A)"T" (B)'\\'' (C)' (D)'T'
以下不合法的字符常量是______。
(A)"a" (B)'\77' (C)'\n' (D)'\x5c'
表达式3.6-5/2+1.2+5%2的值是______。
(A)4.3 (B)4.8 (C)3.3 (D)3.8
以下均是合法常量的是______。
(A)038,.5e-6,0xE
(B)12.,0Xc33,3.6e0
(C).17,4e1.5,0ade
(D)0x6A,30_000,3.e7
以下均是非法常量的是______。
(A)0x2g,0ff,E5
(B)'\\','\21',12,456
(C)028,04567,0xffff
(D)0xaa,'a',"a"
设有说明语句:
inti=5;charc='A';doubled=3.14;,以下结果为整型的表达式是______。
(A)i/2+d (B)i/2*c (C)c+d/2 (D)i/2+c+d
若变量均已正确定义并赋值,以下合法的赋值语句是______。
(A)x+n=i; (B)x=n%2.5; (C)x=y==5; (D)x=5=4+1;
以下变量说明语句中,合法的是______。
(A)float5_five=3.4; (B)int_xyz=29
(C)doublea1=6.2e4; (D)shortdo=3;
设有说明语句:
intx=1;doubley=1.0;,以下不符合C语言语法的表达式是________。
(A)++x,y=x-- (B)x=(int)(y/3) (C)x=x+10=x+y (D)(double)x/3
设有说明语句:
intx,a,b,c;doubled=3.14;,以下不符合C语言语法的表达式是______。
(A)d%3 (B)d+=-1
(C)x=(a=-1,b=-3,a*b) (D)a+=(a=3)*(b=2)*(c=1)
以下能正确定义且赋初值的语句是______。
(A)int n1=n2=-1; (B)char c=32;
(C)float f; (D)double x=12.3E2.5;
设有说明语句:
chars="AA";,下面说法正确的是______。
(A)变量s中包含1个字符 (B)变量s中包含2个字符
(C)变量s中包含3个字符 (D)说明语句不合法
设有说明语句:
inti=2;,以下选项的四个表达式中与其他三个表达式的值不相同的是______。
(A)i++ (B)i+=1 (C)++i (D)i+1
若变量均已正确定义并赋值,以下合法的赋值表达式是______。
(A)x=3+b=x+3 (B)x=(b=x+3,3+b)
(C)x=3+b,b++,x+3 (D)x+=3=x+3
若已定义x和y为double类型,表达式(x=1,y=x+3/2)的值是______。
(A)1 (B)2 (C)2.0 (D)2.5
与数学式子2乘以y的n次方除以(2x+1)对应的C语言表达式是______。
(A)2*y^n/(2*x+1) (B)2*y**n/(2*x+1)
(C)2*pow(y,n)/(2*x+1) (D)2*pow(n,y)/(2*x+1)
设有说明语句:
intk=7,x=12;,以下表达式中值为3的是______。
(A)x=k%5 (B)x%=(k-k%5)
(C)x%=k-k%5 (D)x=5-(k%=5)
设有说明语句:
intn=7,i=3;,执行赋值运算n%=i+1后,变量n的值是______。
(A)0 (B)1 (C)2 (D)3
以下与k=i++完全等价的表达式是______。
(A)i=i+1,k=i (B)k=i,i=i+1
(C)k=++i (D)k+=i+1
能正确表示数学关系:
“-5≤a≤5”的C语言表达式是______。
(A)a>=-5anda<=5 (B)a>=-5ora<=5
(C)a>=-5&&a<=5 (D)a>=-5||a<=5
以下选项中,当k为大于1的奇数时,值为0的表达式______。
(A)k%2==1 (B)k/2 (C)k%2!
=0 (D)k%2==0
若变量均已正确定义并赋值,以下选项中与表达式(x-y)?
(x++):
(y++)中的条件表达式(x-y)等价的是________。
(A)(x-y>0) (B)(x-y<0)
(C)(x-y<0||x-y>0) (D)(x-y==0)
已知大写字母'A'的ASCII码是65,小写字母'a'的ASCII码是97,则字符常量'\101'是______。
(A)字符'A' (B)字符'a' (C)字符'e' (D)非法的常量
设有说明语句:
inti;floatf;doubled;,表达式5-2*i+d/f值的数据类型为【 double】。
设有说明语句:
chark='\77';,变量k中包含【 1】个字符。
C语言中的基本数据类型包括整型、实型和【 字符型】。
已知大写字母'A'的ASCII码是65,若变量k是int类型,则执行了语句:
k='A'+2.8;后变量k的值是【67 】。
字符串"A\x11T\101C"的长度是【5 】。
设有说明语句:
intk=5;doublet;,执行语句t=(double)k;之后,变量k的数据类型是【 int】。
表达式2+sqrt(4)值的数据类型为【double 】。
在VisualC++6.0环境中,一个char型变量在内存中占【 1】个字节,一个int型变量在内存中占【 4】个字节,一个double型变量在内存中占【 8】个字节。
若变量x、y均为int型,则表达式(x=3,x+3,y=3,x+y)的值是【 6】,表达式y=(y=3,x=y,x+3)的值是【 6】。
A可以把一个字符常量赋给一个整型变量。
B说明语句intt1=t2=10;可以把t1、t2定义成int型变量并初始化为10。
Ak1=k2=k3=10;是一条合法的赋值语句。
A可以把define定义为用户标识符,但不能把if定义为用户标识符。
A设有说明语句:
intx=3,y=5;,当执行语句x=x+y;y=x-y;x=x-y;后,变量x和y的值实现了交换。
B在C语言的运算符中,条件运算符的优先级最低。
第三章
设有说明语句:
doublex=123.56;,对于语句printf("%-8.2e\n",x);,以下说法正确的是______。
(A)输出为-1.24e+002
(B)输出为1.24e+002
(C)输出为12.36e+001
(D)输出格式描述符的域宽不够,不能输出
printf函数被称为______输出函数。
(A)字符 (B)整数 (C)格式 (D)浮点
scanf函数是一个______函数。
(A)标准库 (B)用户定义 (C)无参 (D)地址
getchar函数的原型声明包括在头文件______中。
(A)string.h (B)math.h (C)conio.h (D)stdio.h
在printf函数的"格式控制字符串"中,%5d表示______。
(A)输出宽度为5 (B)输出5个数
(C)输出数据时保留5位小数 (D)输出5个d
设有说明语句:
doublex;,下列选项中正确的是______。
(A)scanf("%d",&x); (B)scanf("%f",&x);
(C)scanf("%lf",x); (D)scanf("%lf",&x);
对语句scanf("%c%c%c",&x,&y,&z);和语句scanf("%c,%c,%c",&x,&y,&z);的输入,以下说法正确的是______。
(A)都以空格作为间隔
(B)前者以空格作为间隔,后者以逗号作为间隔
(C)前者不以空格作为间隔,后者以逗号作为间隔
(D)都以逗号作为间隔
以下程序段的输出结果是(符号□表示空格)______。
doublex=3.14;
printf("|%5.0f|\n",x);
(A)|3.14□| (B)|□□□□3| (C)|□□3.0| (D)|□□□3.|
语句printf("x=%10.5f\n",12345.678);的输出结果是______。
(A)x=2345.67800 (B)x=12345.6780
(C)x=12345.678 (D)x=12345.67800
对于如下程序段:
intx=2010,y=2012;
printf("%d\n",(x,y));
以下叙述中正确的是______。
(A)输出结果为:
2002
(B)输出结果为:
2012
(C)输出结果不确定
(D)运行时产生出错信息
以下程序运行时,若输入数据为:
1111,则输出结果是______。
#include
voidmain()
{ intx,y;
scanf("%d%o",&x,&y);
y+=x;
printf("%d\n",y);
}
(A)22 (B)20 (C)18 (D)11
设有说明语句:
intx=3,y=5;,以下不合法的赋值语句是______。
(A)x*=3; (B)x/=y; (C)x+=3; (D)x||=y;
设有说明语句:
intx;,执行语句x=10;x+=x-=x;后,变量x的值为______。
(A)0 (B)10 (C)20 (D)30
设有说明语句:
inti,j;charc;,若要通过语句scanf("%d%c%d",&i,&c,&j);使变量i,j得到数值8,变量c得到字符'A',正确的输入是(符号□表示空格)______。
(A)8,A,8 (B)8□A□8 (C)8□A8 (D)8A8
设有说明语句:
inti,j,若从键盘给i、j输入数据,以下不正确的输入语句是______。
(A)scanf("%d%d",&i,&j);
(B)scanf("%dW%d",&i,&j);
(C)scanf("%d,%d",&i,&j);
(D)scanf("%d%d",i,j);
设有说明语句:
floatx,y,z;,要通过语句scanf("%f%f%f",&x,&y,&z);给x赋值11.0,y赋值22.0,z赋值33.0,以下不正确的输入形式是______。
(A)11.0<回车>
22.0<回车>
33.0<回车>
(B)11.0,22.0,33.0<回车>
(C)11.0<回车>
22.033.0<回车>
(D)11 22<回车>
33<回车>
有程序段:
inti;
floatf;
charname[20];
scanf("%2d%f%s",&i,&f,name);
若从键盘上输入566777abc后,变量f的值是______。
(A)566777.0 (B)6777.0 (C)777.0 (D)0.0
设有说明语句:
charc;,不能用于判断变量c中的字符是否为大写字母的表达式是______。
(A)isupper(c) (B)'A'<=c<='Z'
(C)'A'<=c&&c<='Z' (D)(c<='z'-32)&&('a'-32<=c)
已知字符大写字母'A'的ASCII码是65,设有说明语句:
charc1='A',c2='D';,则语句printf("%d,%d\n",c1,c2-2);的输出结果是______。
(A)A,B (B)A,68 (C)65,66 (D)65,68
设有说明语句:
intx=1;,语句printf("%d\n",-x++);的输出结果是______。
(A)-1 (B)0 (C)1 (D)2
以下表达式中,不能将字符变量c中的大写字母转换为对应小写字母的是______。
(A)c=(c-'A')%26+'a' (B)c=c+32
(C)c=c-'A'+'a' (D)c=('A'+c)%26-'a'
以下程序运行后的输出结果是______。
#include
voidmain()
{ inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf("a+b=%d\n",a+b);
}
(A)a+b=10 (B)a+b=30 (C)10 (D)30
若要求从键盘读入含有空格字符的字符串,应使用函数______。
(A)getch (B)gets (C)getchar (D)scanf
以下四个程序中,完全正确的是______。
(A)#include
voidmain();
{ /*programming*/
printf("programming!
\n");
}
(B)#include
voidmain()
{ /*/programming/*/
printf("programming!
\n");
}
(C)#include
voidmain()
{ /*/*programming*/*/
printf("programming!
\n");
}
(D)include
voidmain()
{ /*programming*/
printf("programming!
\n");
}
以下程序的功能是:
给r输入数据后计算半径为r的圆面积s。
程序在编译时出错,出错的原因是______。
#include
voidmain()
{ /* Beginning */
int r; float s;
scanf("%d",&r);
s=pi*r*r;
printf("s=%f\n",s);
}
(A)注释语句书写位置错误 (B)存放圆半径的变量r不应该定义为整型
(C)输出语句中格式描述符非法 (D)计算圆面积的赋值语句中使用了非法变量
设有说明语句:
intk=1,m=2; doubled=7.3;,以下表达式中错误的是______。
(A)k>=m=k (B)k++ (C)k%(int)d (D)d>m>k
设有说明语句:
inta=2,b=3,c=4;,以下选项中值为0的表达式是______。
(A)(!
a==1)&&(!
b==0) (B)(a
c||1
(C)a&&b (D)a||(b+b)&&(c-a)
执行以下程序段后,变量k的值是______。
intk=0,c=3;
k=(k>c?
c:
k);
(A)3 (B)2 (C)1 (D)0
以下程序运行后的输出结果是______。
#include
voidmain()
{
intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
(A)10,01 (B)02,12 (C)102,10 (D)102,12
以下4个选项中,不能看作一条语句的是______。
(A){;} (B)a=0,b=0,c=0;
(C)if(a>0); (D)if(b==0)m=1;n=2;
已知大写字母'A'的ACSII码是65,设有说明语句:
charch='B';,则语句printf("%c,%d",ch,ch);的输出结果是【 B,66】
以下程序运行后的输出结果是【 25,37】。
#include
voidmain()
{ inta,b;
a=25;
b=0x25;
printf("%d,%d",a,b);
}
以下程序运行后的输出结果是【 88】。
#include
voidmain()
{ intx=0210;
printf("%X",x);
}
以下程序运行后的输出结果是【 2】。
#include
voidmain()
{ inta=1,b=2,c=3;
if(a) printf("%d",b);
else printf("%d",c);
}
若在运行以下程序时输入:
1234567<回车>,则输出结果是【12,34 】。
#include
voidmain()
{ inta=1,b;
scanf("%2d%2d",&a,&b);
printf("%d,%d",a,b);
}
以下程序运行后的输出结果是【Z 】。
#include
voidmain()
{ charc='A';
printf("%c",c+25);
}
若在运行以下程序时输入:
6565<回车>,则