C语言习题.docx
《C语言习题.docx》由会员分享,可在线阅读,更多相关《C语言习题.docx(46页珍藏版)》请在冰点文库上搜索。
C语言习题
1.能将高级语言编写的源程序转换成目标程序的是______。
A)编辑程序 B)编译程序 C)解释程序 D)链接程序
您的答案为:
B参考答案为:
B
2.以下选项中合法的用户标识符是______。
A)long B)_2Test C)3Dmax D)A.dat
您的答案为:
B参考答案为:
B
3以下叙述正确的是
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
您的答案为:
B参考答案为:
B
以下叙述正确的是
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚、具有其他语言的一切优点
您的答案为:
C参考答案为:
C
在一个C语言程序中
A)main函数必须出现在所有函数之前
B)main函数必须出现在所有函数之后
C)main函数可以在任何地方出现
D)main函数必须出现在固定位置
您的答案为:
C参考答案为:
C
一个C语言程序是由_______组成的。
A)一个主程序和若干子程序B)若干子程序C)函数D)若干过程
您的答案为:
C参考答案为:
C
以下叙述中正确的是()
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
您的答案为:
B参考答案为:
B
下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
B)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
C)用户标识符中不可以出现中划线,但可以出现下划线
D)用户标识符中可以出现下划线和中划线(减号)
您的答案为:
C参考答案为:
C
以下说法中正确的是
A)C语言程序总是从第一个定义的函数开始执行
B)C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
您的答案为:
C参考答案为:
C
默认情况下,一个C程序的执行是从
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
您的答案为:
A参考答案为:
A
C语言编程整个操作的过程是
A)编辑、编译、链接、执行
B)编译、编辑、链接、执行
C)链接、编译、编辑、执行
D)编辑、链接、编译、执行
您的答案为:
A参考答案为:
A
下列说法不正确的是
A)链接操作将生成扩展名为.lnk的文件
B)编辑过程将生成扩展名为.cpp或.c的文件
C)编译过程将生成扩展名为.obj的文件
C)C编程最终要生成扩展名为.exe的文件
您的答案为:
A参考答案为:
A
C语言提供了丰富的结构化语句,直接支持____、_____和_______三种基本程序结构。
A)顺序、分支、过程
B)顺序、分支、循环
C)分支、过程、循环
D)顺序、过程、循环
您的答案为:
B参考答案为:
B
下列说法正确的是
A)C语言版本众多,但这些版本大多不能兼容
B)C语言只能在固定的操作系统上运行。
C)C语言不包含依赖硬件的输入/输出语句,其输入/输出功能语句需要手工来编写。
D)C语言允许对位、字节、地址这些计算机功能中的基本成分进行操作。
您的答案为:
D参考答案为:
D
当用户用编辑器将C语言程序录入到计算机后,就建立一个源文件,则
A)源文件可以直接被计算机执行
B)源文件需要编译后就可执行
C)源文件经过编译链接后生成的可执行程序和源程序是独立的
D)错误调试一般在执行过程进行
您的答案为:
C参考答案为:
C
下列说法中正确的是()
A.由于C源程序是高级语言程序,因此一定要在VC++软件中输入
B.由于C源程序是字符组成,因此可以作为文本文件在任何文本编辑的软件中输入
C.由于C程序是高级语言程序,因此输入后即可执行
D.由于C程序是高级语言程序,因此它由命令组成
您的答案为:
B参考答案为:
B
下列说法中错误的是()
A.主函数可以分为两个部分:
主函数说明部分和主函数体
B.主函数可以调用任何非主函数的其它函数
C.任何非主函数可以调用其它任何非主函数
D.程序可以从任何非主函数开始执行
您的答案为:
D参考答案为:
D
下列不正确的C语言用户标识符是____。
A)intB)a_1_2C)ab1exeD)_x
您的答案为:
A参考答案为:
A
下列正确的C语言标识符是____。
A)#defineB)_123C)%dD)\n
您的答案为:
B参考答案为:
B
下列四组字符串中都可以用作C语言程序标识符的一组是____。
A)print__123Pxqstr_l
B)_3done_halfMy->bookCpp
C)oodbstart$itline#pow
D)aBc3paiHis.agewhile
您的答案为:
A参考答案为:
A
下面各选项组中,均是C语言关键字的组是____。
A)auto,enum,includeB)switch,typedef,continue
C)signed,union,scanfD)if,struct,type
您的答案为:
B参考答案为:
B
下列不属于C语言关键字的是____。
A)defaultB)registerC)enumD)external
您的答案为:
D参考答案为:
D
执行语句printf("%x",-1);屏幕显示____。
A)-1B)1C)-ffffD)ffffffff
您的答案为:
D参考答案为:
D
已知inta=2,b=1,c;执行语句c=b/a+2.5后,c的值____。
A)2.5B)3C)3.0D)2
您的答案为:
D参考答案为:
D
有关变量已经定义,以下合法的数值表达式是____。
A)a=1/b=2B)++(a+b)C)b=b/(a=6)D)c=int(a)+b
您的答案为:
C参考答案为:
C
将字符g赋给字符变量c,正确的表达式是____。
A)c=\147B)c="\147"C)c='\147'D)c='0147'
您的答案为:
C参考答案为:
C
下列转义字符中错误的一个是____。
A)'\000'B)'\014'C)'\x111'D)'\2'
您的答案为:
C参考答案为:
C
将空格符赋给字符变量c,正确的赋值语句是____。
A)c='\0'B)c=NULLC)c=0D)c=32
您的答案为:
D参考答案为:
D
已知:
chara='\70';则变量a中。
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明非法
您的答案为:
A参考答案为:
A
字符串"\"EOF\n=-\61\""的长度是____。
A)8B)9C)14D)非法字符串
您的答案为:
B参考答案为:
B
字符串""的长度是____。
A)0B)1C)2D)非法字符串
您的答案为:
A参考答案为:
A
已知:
chara;intb;floatc;doubled;执行语句"c=a+b+c+d;"后,变量c的数据类型是。
A)intB)charC)floatD)double
您的答案为:
C参考答案为:
C
逗号表达式"(a=3*5,a*4),a+15"的值是____。
A)15B)60C)30D)不确定
您的答案为:
C参考答案为:
C
如果inta=1,b=2,c=3,d=4;则条件表达式a
a:
cc:
d的值是____。
A)1B)2C)3D)4
您的答案为:
A参考答案为:
A
已知inti=10;表达式"20-5<=i<=9"的值是____。
A)0B)1C)19D)20
您的答案为:
B参考答案为:
B
已知intx=1,y;执行下述语句后变量x的值是____。
y=++x>5&&++x<10;
A)1B)2C)3D)4
您的答案为:
B参考答案为:
B
为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122
B)!
(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)
C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122
D)!
(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)
您的答案为:
D参考答案为:
D
已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。
A)0B)1C)5D)6
您的答案为:
C参考答案为:
C
设a=3,b=4,执行“printf(“a=%d,B=%d",a,b);”的输出是()
A.a=3,b=4B.3,4C.a=3,B=4D.a=3B=4
您的答案为:
C参考答案为:
C
设a=1234,b=12,c=34执行“printf(“|%3d%3d%-3d|\n”,a,b,c);”的输出是()
A.|12341234|
B.|1231234|
C.|123412-34|
D.|2341234|
您的答案为:
A参考答案为:
A
使用“scanf(“x=%f,y=%f”,&x,&y);”,要使x,y均为1.25,正确的输入是()
A.1.25,1.25
B.1.251.25
C.x=1.25,y=1.25
D.x=1.25y=1.25
您的答案为:
C参考答案为:
C
要使doublex;longa;获得数据,正确的输入语句是()
A.scanf(“%d,%f”,&a,&x);B.scanf(“%f,%ld”,&x,&a);
C.scanf(“%d,%lf”,&a,&x);D.scanf(“%ld,%lf”,&a,&x);
您的答案为:
D参考答案为:
D
设有inta=255,b=8;则printf(“%x,%o\n”,a,b);的输出的是()
A.255,8B.ff,10C.0xff,010D.输出格式错
您的答案为:
B参考答案为:
B
设a、b为字符型变量,执行“scanf(“a=%c,b=%c”,&a,&b);”后使a为’A’,b为’B’,从键盘上的正确输入是()
A.‘A’’B’B.‘A’,’B’C.A=A,B=BD.a=A,b=B
您的答案为:
D参考答案为:
D
语句printf(“%f%%”,1.0/3);的输出结果为:
(注:
%%的输出结果是一个%)
A.0.333333B.0.333333%
C.0.333333%%D.出错
您的答案为:
B参考答案为:
B
已有定义intx;floaty;且执行scanf("%3d%f",&x,&y);输入数据为12345678<回车>,则x和y的值为:
A.12345.000000B.123678.000000
C.12345678.000000C.345678.000000
您的答案为:
A参考答案为:
A
有如下的定义和输入语句:
inta1,a2;charc1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
若要求a1,a2,c1,c2的值分别为10、20、A和B,则正确的数据输入方式为()
A.1020ABB.1020AB
C.1020ABD.1020AB
您的答案为:
D参考答案为:
D
已有定义:
floatf1,f2;程序运行时输入数据为4.523.5,则输入语句正确的为()
A.scanf("%f,%f",&f1,&f2);
B.scanf("%f%f",&f1,&f2);
C.scanf("%f%f\n",&f1,&f2);
D.scanf("%3f%f",&f1,&f2);
您的答案为:
B参考答案为:
B
下列数据中属于“字符串常量”的是()
A.“a”B.{ABC}
C.’abc\0’D.’a’
您的答案为:
A参考答案为:
A
在PC机中,‘\n’在内存占用的字节数是()
A.1B.2C.3D.4
您的答案为:
A参考答案为:
A
在PC机中,“a\xff”在内存占用的字节数是()
A.5B.6C.3D.4
您的答案为:
C参考答案为:
C
在C语言中,合法的长整型常数是()
A.0LB.4962710
C.0.054838743D.2.1869e10
您的答案为:
A参考答案为:
A
下列数据中不属于“字符常量”的是()
A.‘\a’B.‘\160’
C.‘\070’D.070
您的答案为:
D参考答案为:
D
结构化程序设计的3种结构是
A)顺序结构、选择结构、转移结构
B)分支结构、等价结构、循环结构
C)多分支结构、赋值结构、等价结构
D)顺序结构、选择结构、循环结构
您的答案为:
D参考答案为:
D
已知intt=0;
while(t=1)
{...}
则以下叙述正确的是
A)循环控制表达式的值为0
B)循环控制表达式的值为1
C)循环控制表达式不合法
D)以上说法都不对
您的答案为:
B参考答案为:
B
有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是
A)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
您的答案为:
A参考答案为:
A
有以下程序
main()
{inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
您的答案为:
C参考答案为:
C
有如下程序
main()
{floatx=2.0,y;
if(x<0.0)
y=0.0;
elseif(x<10.0)
y=1.0/x;
else
y=1.0;
printf("%f\n",y);
}
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
您的答案为:
C参考答案为:
C
有如下程序:
main()
{intn=9;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序的输出结果是
A)987
B)876
C)8765
D)9876
您的答案为:
B参考答案为:
B
在下列选项中,没有构成死循环的是
A)inti=100;
while
(1)
{
i=i%100+1;
if(i>100)
break;
}
B)for(;;);
C)intk=10000;
do
{
k++;
}while(k>10000);
D)ints=36;
while(s)
--s;
您的答案为:
D参考答案为:
D
有如下程序段
#include"stdio.h"
main()
{
inta=10,b=50,c=30;
a=a>30?
1:
2;
b=b>30?
1:
2;
c=c>30?
1:
2;
printf("%d,%d,%d\n",a,b,c);
}
则执行结果为
A)2,1,2
B)1,2,1
C)1,1,2
D)2,1,1
您的答案为:
A参考答案为:
A
阅读如下程序段
#include"stdio.h"
main()
{inta=45,b=40,c=50,d;
d=a>30?
b:
c;
switch(d)
{
case30:
printf("%d,",a);
case40:
printf("%d,",b);
case50:
printf("%d,",c);
default:
printf("#");
}
}
则输出的结果是
A)40,50,
B)50,#
C)40,#
D)40,50,#
您的答案为:
D参考答案为:
D
若有定义intk=10;则下列程序的输出结果为
do{
printf("%d",k--);
}while(!
k);
A)9
B)10
C)10987654321
D)没有输出
您的答案为:
B参考答案为:
B
阅读下列程序段,则程序的输出结果是
#include"stdio.h"
main()
{inta=10,b=10,k;
for(k=0;a>8;b=++k)
printf("%d,%d,",a--,--b);
printf("\n");
}
A)10,10,10,0,
B)10,9,9,0,
C)10,10,9,1,
D)9,9,9,1,
您的答案为:
B参考答案为:
B
下列程序的运行结果是
#include"stdio.h"
main()
{inta,b,m;
for(a=5;a>=1;a--)
{
m=0;
for(b=a;b<=5;b++)
m=m+a*b;
}
printf("%d\n",m);
}
A)30
B)15
C)20
D)10
您的答案为:
B参考答案为:
B
若inti,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是
A)9
B)8
C)3
D)2
您的答案为:
C参考答案为:
C
下列程序的输出结果是
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
A)531
B)420
C)654321
D)死循环
您的答案为:
B参考答案为:
B
阅读下列程序,则执行结果是
#include"stdio.h"
main()
{inta=0,b=0,c=0,i;
for(i=0;i<4;i++)
switch(i)
{
case0:
a=i++;
case1:
b=i++;
case2:
c=i++;
case3:
i++;
}
printf("%d,%d,%d,%d\n",a,b,c,i);
}
A)0,1,3,4
B)1,2,3,4
C)0,1,2,5
D)0,2,3,4
您的答案为:
C参考答案为:
C
下面程序的运行结果是
#include"stdio.h"
main()
{intj,i;
for(j=50;j<=60;j++)
{
for(i=2;iif(!
(j%i))
break;
if(i==j)
printf("%d",j);
}
}
A)5359
B)5953
C)3595
D)9535
您的答案为:
A参考答案为:
A
已知charch='C';则以下表达式的值是
ch=(ch>='A′&&ch<='Z′)?
(ch+32):
ch;
A)A
B)a
C)Z
D)c
您的答案为:
D参考答案为:
D
下列程序的运行结果是
#include"stdio.h"
main()
{intx=-9,y=5,z=8;
if(xif(y<0)
z=0;
else
z+=1;
printf("%d\n",z);
}
A)6
B)7
C)8
D)9
您的答案为:
D参考答案为:
D
现有定义intk=1;则执行语句while(++k<4);后,k的值为
A)4
B)5
C)6
D)8
您的答案为:
A参考答案为:
A
以下程序的运行结果为
#include"stdio.h"
main()
{intm,n;
for(m=0,n=10;mprintf("%d,%d\n",m,n);
}
A)6,7
B)7,6
C)9,