C语言习题集
一、程序设计基本概念
1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C)C语言源程序经编译形成的二进制代码可以直接运行。 D)C语言中的函数不可以单独进行编译。
2、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_B_。
A)有0个或多个输入。 B)有0个或多个输出。 C)有穷性。 D)可行性。
3、以下叙述中正确的是___C__。 A)C语言比其它语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。 D)C语言出现的,具有其它语言的一切优点。
4、C语言中用于结构化程序设计的3种基本结构是__A__。 A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue
5、为解决某一特定问题而设计的指令序列称为__C__。 A)文档 B)语言 C)程序 D)系统
6、用高级程序设计语言编写的程序称为__C__。
A)目标程序 B)可执行程序 C)源程序 D)伪代码
7、能将高级语言编写的源程序转换成目标程序的是__B__。 A)编辑程序 B)编译程序 C)驱动程序 D)链接程序 8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。 B)高级语言源程序可以被计算机直接执行。 C)C语言属于高级语言。
D)机器语言是所用机器无关的。
二、C程序设计初步
1、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 2、以下不能定义为用户标识符的是_D__。 A)scanf B)Void C)_3com D)int
3、以下符合C语言语法的实型常量是__C__。 A)1.2E0.5 B)3.14159E C).5E-3 D)E15
4、若以下选项中的变量已正确定义,则正确的赋值语句是_C__。
A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C语言表达式中与代数式
1?a?b?h计算结果不相符的2是__B__。
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) 6、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。 B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。 D)分号是C语句之间的分隔符,不是语句的一部分。
7、下列选项中可以作为C语言中合法整数的是__C__。 A)10110B B)0386 C)0Xffa D)x2a2 8、下列选项中非法的表达式是__D___。
A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 9、有以下程序:
main(){int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5);
printf(“ %d %d %3.1f %3.1f\\n”,a,c,f,x);} 程序运行后的输出结果是_B__。
A) 1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 10、设有以下定义:
int a=0; double b=1.25; char c=’A’; #define d 2
则下面语句中,错误是__D__。
A)a++; B)b++; C)c++; D)d++; 11、设有如下程序段: int x=2002,y=2003; printf(“%d\\n”,(x,y));
则以下叙述正确的是__D__。
A)输出语句中格式说明的个数少于输出项的个数,不能正确输出。 B)运行时产生出错信息。 C)输出值为2002。 D)输出值为2003。
12、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入的是__C__。
A)x=x*100+0.5/100.0 B)x=(x*100+0.5)/100.0 C)x=(int)(x*100+0.5)/100.0 D)x=(x/100+0.5)*100.0 13、要求以下程序功能是计算:s?1?111??...? 2310main(){int n; float s;s=1.0;
for(n=10;n>1;n--) s=s+1/n; printf(“%6.4f\\n”,s);}
程序运行后输出结果错误,导致错误结果的程序行是__C__。
A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf(“%6.4f\\n”,s);
14、在一个C程序中__B__。
A)main函数必须出现在所有函数之前。 B)main函数可以在任何地方出现。 C)main函数必须出现在所有函数之后。 D)main函数必须出现在固定位置。 15、下列叙述中,正确的是__D__。 A)C语言中既有逻辑类型也有集合类型。 B)C语言中没有逻辑类型但有集合类型。 C)C语言中有逻辑类型但没有集合类型。
D)C语言中既没有逻辑类型也没有集合类型。
(本人注:C语言没有,如果表示逻辑类型,只能用整型值代替,0代表false,非0代表true。
集合是一种没有元素间关系的类型。C语言没有这种类型。注意数组不算,因为数组元素之间有前驱和后继关系。)
16、下列关于C语言用户标识符的叙述中正确的是__B__。(只能以下划线和字母开头) A)用户标识中可以出现下划线和中划线(减号)。
B)用户标识符中不可以出现中划线,但可以出现下划线。
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头。
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头。 17、下列关于单目运算符++、--的叙述中正确的是__D__。 A)它们的运算对象可以是任何变量和常量。
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量。 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量。 D)它们的运算对象可以是char型变量、int型变量和float型变量。 18、有以下程序:
main(){ int i=10,j=1; printf(“%d,%d\\n”,i--,++j);} 执行后输出结果是__B_。
A)9,2 B)10,2 C)9,1 D)10,1
填空题
1、以下sum函数的功能是计算下列级数之和。
x2x3xns?1?x???...?,请给函数中的各变量正确赋初值。
2!3!n!double sum(double x,int n)
{ int i; double a,b,s; s=1.0;a=1;b=1; for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;} return s;}
2、若有语句:
int i=-19,j=i%4;printf(“%d\\n”,j);
则输出结果是__-3___。
同步练习
1、一个C语言的源程序中,___A__。
A)必须有一个主函数 B)可能有多个主函数 C)必须有除主函数外其它函数 D)可以没有主函数 2、C语言程序总是从_C__开始执行。
A)第一条语句 B)第一个函数 C)主函数 D)子程序 3、对C语言源程序执行过程描述正确是__A__。 A)从main函数开始执行。
B)从程序中第一个函数开始执行,到最后一个函数结束。 C)从main函数开始执行,到源程序最后一个函数结束。 D)从第一个函数开始,到main函数结束。 4、以下选项中合法的用户标识符是__B__。 A)long B)_2Test C)3Dmax D)for 5、以下对C语言的描述中正确是__C___。 A)C语言源程序中可以有重名的函数。
B)C语言源程序要求每行只能书写一条语句。 C)注释可以出现在C语言源程序中的任何位置。 D)最小的C语言源程序中没有任何内容。
6、在C语言中,不正确的int类型常数是__A__。 A)32768 B)0 C)037 D)0xAF
7、以下选项中属于C语言的数据类型是__C__。
A)复数型 B)逻辑型 C)双精度型 D)集合型 8、下列变量中定义合法的是__A__。
A)shor _a=1-1e-1; B)double b=1+5e2.5; C)long do=0xfdal; D)float 2_and=1-e-3; 9、C语言中运算对象必须是整形的运算符是__A__。 A)%= B)/ C)= D)*=
10、设有int x=11;,则表达式(x++*1/3)的值是__A__。 A)3 B)4 C)11 D)12
11、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C__。 A)1 B)2 C)2.0 D)12
12、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;,则执行后,c3中的值是_A__。 A)0 B)0.5 C)1 D)2
13、执行下列程序的输出结果是_A__(小数点后只定1位)。 main(){ double d; float f; long m; int i; i=f=m=d=20/3; printf(“%d %ld %f %f\\n”,i,m,f,d);}
A)6 6 6.0 6.0 B)6 6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 14、设有以下的变量定义: int i=8,k,a,b;
unsigned long w=5; double x=1.42,y=5.2;
则以下符合C语言语法的表达式是__A__。
A)a+=a-=(b=4)*(a=3) B)x%(-3) C)a=a*3=2 D)y=float(i)
15、执行下列程序后的输出结果是_C__。注:此题应注意C main(){ double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%d\\n”,d*y);}
A)3 B)3.2 C)0 D)3.07
16、若变量已正确定义并赋值,下面符合C语言语法的表达式是_B___。 A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b
17、假定有以下变量定义:int k=7,x=12;,则值为3的表达式是_D__。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
18、设x和y均为int型变量,则下列语句:x+=y;y=x-y;x-=y;的功能是__D__。 A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值
19、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为_C_。 A)4 B)16 C)32 D)52 二、填空题
1、以下程序的输出结果是____。0
void main(){ unsigned short a=65536; int b; printf(“%d\\n”,b=a);}
2、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是__3__。 c=(a-=(b-5));c=(a)+(b=3);
3、设有以下变量定义,并已赋确定的值,char w; int x; float y; double z; 则表达式:w*x+z-y年求得的数据类型为__double或双精度型__。
三、顺序结构 典型考试题
1、以下4个选项中,不能看作一条语句的是_D__。
A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=a;n=2; 2、有以下程序:
main(){int x=102,y=012; printf(“-,-\\n”,x,y);} 执行后输出结果是__C__。
A)10,01 B)02,12 C)102,10 D)02,10
3、有定义语句:int x,y;,若要通过语句scanf(“%d,%d”,&x,&y);使变量x得到数值11,变量y 得到数值12,下面四组输入形式中,正确的是__C__。
A)11 12<回车> B)11, 12<回车> C)11,12<回车> D)11,<回车> 12<回车> 4、若有以下程序段(n为八进制数)
int m=32767,n=032767; printf(“%d,%o\\n”,m,n); 执行后输出结果是__A__。
A)32767,32767 B)32767,032767 C)32767,77777 D)32767,077777 5、若有以下程序段: int m=0xabc,n=0xabc; m-=n;
printf(“%X\\n”,m);
执行后输出的结果是__C__。
A)0X0 B)0x0 C)0 D)0XABC
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言习题集参考答案在线全文阅读。
相关推荐: