C语言题库及答案.docx
- 文档编号:9447939
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:96
- 大小:54.54KB
C语言题库及答案.docx
《C语言题库及答案.docx》由会员分享,可在线阅读,更多相关《C语言题库及答案.docx(96页珍藏版)》请在冰点文库上搜索。
C语言题库及答案
1.执行以下程序的输出结果是__8921__。
main()
{intn1,n2=1298;
while(n2!
=0){
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
2.以下程序的运行结果是__end____。
main()
{
inta,b,c;a=2;b=3;c=1;
if(a>b)if(a>c)printf("%d\n",a);
elseprintf("%d\n",b);
printf("end\n");}
3.如果调用函数fopen()不成功,则函数的返回值为__0_____。
4.以下程序段的执行结果是_ffff__。
inta=-1;
printf("%x",a);
5.表示字符串s1等于字符串s2的逻辑表达式为_strcmp(s1,s2)==0_。
6.在C语言中,&作为双目运算符时表示的是按位与运算符,而作为单目运算符时表示的是__取地址__运算符。
7.C语言中的合法标识符只能有三种字符组成,它们是字母,_数字___和下划线。
8.C语言中从作用域的角度来看,变量可以分成__全局_变量和局部变量。
9.定义struct{
intn;
chary[5];
}tab[2]={{1,"ab"},{2,"cd"}},
*p=tab;
则表达式:
printf("%s\n",p->y);的结果为__ab___。
10.以下程序段的执行结果是____6,8,6,7_______。
main()
{ inta1,a2,b1,b2;
a1=5;a2=7;b1=++a1;b2=a2++;
printf("%d,%d,%d,%d\n",a1,a2,b1,b2);
}
3.语句for(i=-2;i<5;i++)的循环体共执行__7___次。
4.C语言提供专用于输入一个字符串(包括空格)的函数:
___gets()______。
5.局部变量从存储类别可分为auto、register、__static__三种。
1.在TC2.0中快捷键Ctrl+F9的功能是编译、连接和_运行______。
2.C语言函数库中字符串复制函数的函数名是strcpy___________。
3.有定义staticchars[]="abc\tdef\n"; 则数组空间的字节数为___9_____。
4.写出a不能被b整除的C语言表达式是__a%b!
=0___________。
6.执行以下程序的输出结果是_4321______。
main()
{intn1,n2=1234;
while(n2!
=0){
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
7.已知intx=10,y=20,z=30;则以下程序段的执行结果是__20,30,30_____。
if(x>y)z=x;x=y;y=z;
printf("%d,%d,%d\n",x,y,z);
8.在C文件中,数据存放的两种形式是文本形式和二进制形式。
9.有函数调用语句sub(a,1,fun(x,y),b+c,(m+n,c*h)); 则该函数调用语句中的实参个数为____5______。
1.以下程序运行结果是___6_________。
main()
{
intm=5;
if(m++>5)printf("%d",++m);
elseprintf("%d",m--);}
3.以下程序的运行结果是___20_________。
main()
{
inta,b,c,d,x;
a=c=0;b=1;d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)x=15;
elsex=25;
printf("d=%d\n",d);}
4.在C语言中对文件读写之前应该用_fopen_____函数打开文件。
5.写出将字符串s1拷贝到字符串s2后,再连接到字符串s3之后的语句为__strcat(s3,strcpy(s2,s1));________________。
6.在C程序的表达式中,判断表达式成立的条件是___1_____表示逻辑"真"值,0表示逻辑"假"值。
7.有定义staticchars[]="China"; 则数组所占空间为____6_________个字节。
8.C语言中的合法标识符只能有三种字符组成,它们是_字母_____、数字和下划线。
9.表达式a=(b=3)*(c=9)的值是__27_____。
10.若定义了如下的结构体类型变量x,则x所占用的内存字节数为___11_____。
structdata1
{inti;
charch;
doublef;
}x;
1.设i,j,k均为int型变量,则执行完以下for语句后,k的值是___10_______。
for(i=0,j=10;i<=j;i++,j--)
k=i+j;
2.有定义
#defineM(x)x*x/2
inta=2,b=3;
则M(a+b)/M(a)的值为__8_______。
4.以下函数的功能是:
求两整数的差,并返回。
intsub(inta,intb)
{
__return___a-b;
}
5.以下程序段的执行结果是___-4____。
main()
{
inta=2;a+=a-=a*a;
printf("a=%d\n",a);
}
6.将变量a、b中的大数赋给变量c的表达式为_c=a>b?
a:
b__________。
7.C语言用___分号_________表示每条语句的结束。
8.若有inta[3]={10,12,30};则*(a+2)=___30________。
9.uniondata1
{charname[6];
charsex;
intage;
}x;
则:
printf("%d",sizeof(x))的结果是:
__6_______。
10.若for循环是当型循环,则do--while循环是___直到型循环_________。
2.以下函数中,若m=10,则函数共输出___4____行。
voidsub(intm,ints[])
{
intn;
for(n=1;n<=m;n++)
{printf("%2d",s[n]);
if(!
(n%3))printf("\n");}
}
3.在使用标准数学函数时,必须在程序开头部分使用#include__
4.strcmp(s1,s2)函数需要两个参数s1、s2,它们的类型可以是字符串或字符型指针。
5.计算表达式a=20/2%3后,a的值为__1______。
6.设有类型说明如下:
inta[10]={1,2,3,4,5,6},*p=a;
则*(p+3)=______4___。
7.构成C语言程序的基本单位是____函数____________。
8.有定义inta[][4]={{10,12},{1,30,3},{2}};则数组a中有____12______个元素。
9.有定义 longk=255793L; 若使输出结果是255793的语句为____printf(“%ld”,k);____________。
10.定义标识符PI为符号常量代表一个“3.14”这个字符串__#definePI3.14____。
2.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*)malloc(11);_______________________。
3.设charch='a’;则ch对应的内存单元中存储的是常量'a'的__ASCII______码。
7.若intx=3,则表达式x+=x-=x*=5运算后,x的值为___0____。
8.C语言中,头文件的扩展名是_____.h__________。
9.C语言中用______’\0’__________表示字符串结束的标志。
10.intx[2][3],*p;p=&x[0][0];用_*(p+4)_________表示x[1][1]。
1.执行以下程序的输出结果是_______。
main()
{intn1,n2=7654;
while(n2!
=0){
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
3.定义标识符fp为文件型指针变量的语句为_FILE*fp;__________。
4.指针变量所代表存储单元是用来存放_变量的地址_________的。
5.以下程序段的执行结果是_fffe______。
inta=-2;
printf("%x",a);
6.若有以下定义:
doublew[10];
则w数组元素下标的上限为_9________。
7.在TC2.0中Ctrl+F9的功能是编译、_连接______和运行。
8.在C程序中有三种逻辑运算符,它们是:
!
、&&和____||_____。
9.设inti=3.56;则i对应的存储单元中存放的数值为__3_____。
10.跳过循环体中其后尚未执行的语句,而开始执行下一次是否循环的判定的语句是_____continue;________。
1.局部变量从存储类别可分为auto、register、_static__________三种。
2.有定义#defineM(x)x*x
inta=3,b=2;
则M(a+b)/M(a+b)的值为_17______________。
3.enum{a,b=3,c,d=6,e}k;
k=e;
k的值为___7_____。
5.在C语言中,16位微型机int型数据所占用的内存为___2___个字节。
6.表示3
1.设有类型说明如下:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
若数组所占内存单元的起始地址为2000,则p+5=_2010_______。
2.C语言程序的注释是以___\*_________开头的。
3.将十进制整数123,化为二进制数为___1111011______________。
4.若intx;表示x为奇数的表达式为____x%2==1_____________。
5.以下程序运行结果是___8___________。
main()
{
intm=6;
if(m++>5)printf("%d",++m);
elseprintf("%d",m--);}
6.若使用库函数sin(x),则必须使用______#include
7.在C语言中对文件读写使用结束之后应该用__fclose______函数关闭文件。
1、局部变量的存储类型可以是_abd___。
A.autoB.static
C.externD.register
E.void
2、下列属于双目运算符的是_abd___。
A.+=B.>
C.,D.>>
E.?
:
3、下列属于程序控制语句的是_bcde___。
A.inta;B.if(a>b)t=a;
C.for(i=0;i
E.returnn;
4、下列关于"switch(表达式)"语句说法正确的是abcd____。
A.switch语句是多分支语句
B.switch后的(表达式)允许是任何类型
C.switch语句中允许有一个default子句,也可以没有
D.switch语句中的每个case子句的常量表达式的值必须互不相同
E.switch语句中的每个case子句必须有一个break语句
5、下列语句定义数组正确的是bd____。
A.inta(10);
B.inta[2+9];
C.intarr[0to3][0to4];
D.intarr[3][4];
E.int[3,4];
6、下列合法标识符是_cd___。
A.voidB.define
C.WORDD.a3_b3
E.case
7、5.下列格式控制字符中能够输出整型数据的是abcd____。
A.%dB.%ld
C.%loD.%x
E.%lf
8、若有以下程序段,并且w和k都是整型变量:
for(w=1;w<=k;w++)
printf("*");
则与上面程序段等价的循环语句是_abcd___。
A.for(w=k;w!
=0;w--)
printf("*");
B.w=k;
while(w--!
=0)
printf("*")
C.w=k;
do{
w--;
printf("*");
}while(w!
=0);
D.for(w=k;w;--w)
printf("*");
E.w=k;
for(k=1;k printf("*"); 9、函数的类型可以是abce____。 A.intB.void C.int*D.typedef E.double 10、下列正确的赋值语句是_ade___。 A.n=(i2,i++);B.j++; C.++(i+1);D.x=j>0; E.y=a>b? a: b; 11、下列说法正确的是bcde____。 A.在C程序中,无论是整数还是实数,都能被准确地表示 B.在C程序中,声明变量时为变量开辟内存空间 C.静态变量的生存期与整个程序的运行期相同 D.C语言中变量必须先说明后引用 E.C语言中空语句是合法的 12、C语言提供的逻辑运算符有_bde___。 A.andB.|| C.orD.&& E.! 13、下列语句中能够判断整型变量a、b、c的值是否能够构成三角形的语句是bc____。 A.if(a+b>c&&a-b B.if(a+b>c&&a+c>b&&b+c>a) C.if(a-b D.if(a-b E.if(a+b>c) 14、在下列选项中,构成死循环的程序段是_abde___。 A.inti=100; while (1) {i=i%100+1; if(i>100)break;} B.for(;;) C.intk=1000; do {++k;}while(k>=10000); D.ints=36; while(s);--s; E.for(i=1;;i++); 15、下列关于符号常量正确的是_ade___。 A.符号常量用标识符表示 B.符号常量不允许被修改 C.符号常量允许在程序运行中改变 D.#defineN10 E.符号常量没有值和类型的含义 16、下列不合法的实型常量有_abd___。 A.5E2.0B.E-3 C.2E0D.1.3E E.2E2 17、把字符串"hello"赋给数组b的语句是_acde___。 A.charb[10]={'h','e','l','l','o'}; B.charb[10];b="hello"; C.charb[10];strcpy(b,"hello"); D.charb[]="hello"; E.charb[]={'h','e','l','l','o','\0'}; 18、可以不要进行函数原型声明的函数是_bc___。 A.被调用函数的数据类型是int B.被调用函数定义的位置在调用函数之前 C.主函数main() D.被调用函数的数据类型是float E.被调用函数的数据类型是char 19、关于数组说法正确的是_abc___。 A.数组的下标从0开始 B.数组的各个元素在内存中是连续存放的 C.C编译系统对数组下标是否越界不做检查 D.C语言允许对整型数组名进行整体赋值 E.数组不允许进行初始化,只能在程序运行期间赋值 20、下列语句正确初始化的是_ace___。 A.charstr[]="abcd"; B.charstr[4]="abcd"; C.charstr[4]={'a','b','c','d'}; D.charstr[]={"a","b","c","d"}; E.charstr[4]={97,98,99,100}; 21、下列不合法的字符常量是_bd___。 A.'\010'B."B" C.'\X12'D.B E.'B' 22、整型变量X和Y的值相等,且为非0值,以下选项中,结果不为0的表达式是_abcd___。 A.X||YB.X|Y C.X&YD.! X==! Y E.X^Y 23、下列属于基本数据类型的是abce____。 A.intB.float C.doubleD.struct E.char 24、关系表达式的结果可以是_bc___。 A.非0值B.1 C.0D.true E.false 25、设已定义chars[9]="xinjiang"和inti,则下面的输出函数调用中正确的是__abc__。 A.printf("%s",s); B.for(i=0;i<9;i++)printf("%c",s[i]); C.puts(s); D.for(i=0;i<9;i++)puts(c[i]); E.for(i=0;i<9;i++)putchar(c[i]); 26、下列整型常数表示正确的是_abce___。 A.123LB.123u C.0x123D.123uL E.0123 27、下列运算符中右结合的是acd____。 A.! B.+ C.++D.? : E.>= 28、设有语句floatave(inta[10]);floatf;intw[10];则正确的函数调用形式是_bd___。 A.f=ave(w[]);B.f=ave(w); C.f=ave(w[10]);D.printf("%f",ave(w)); E.printf("%d",ave(w[10])); 29、下列语句能够求出1+2+3+...+100的和的语句是_ae___。 A.for(i=1,sum=0;i<=100;sum+=i,i++); B.i=1;sum=0;while(i++<=100)sum+=i; C.i=1;sum=0;if(i++<=100)sum+=i; D.i=1;sum=0;do{sum+=i;}while(i<=100) E.i=1;sum=0;for(;i<=100;i++)sum+=i; 30、下列合法的转义字符常量是_abc___。 A.‘\n’B.‘\r’ C.‘\t’D.‘\x1a’ E.‘\101’ 31、逻辑运算符要求的运算量可以是_abcd___。 A.关系表达式B.非零值 C.零值D.数值表达式 E.逻辑量 32、若有条件表达式"if(a A.(a C.(a =1) E.(a =0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)