《C语言练习题(共34页).doc》由会员分享,可在线阅读,更多相关《C语言练习题(共34页).doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、 任意 B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:()A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:()A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本
2、结构是函数4、 下面不是C语言合法标识符的是:()A、abc B、5n C、_4m D、x35、 以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型 B. 整型、实型、字符型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:()A、字符型、整型 B、整形、实型C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:()A、97 B、”
3、A” C、t D、”0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:() A、charint=long int =floatdoubleB、char=intlong int =floatdoubleC、charintlong int=float=doubleD、char=int=long int =floatdouble10、 若有以下定义语句char c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2-a+A);则输出结果是:() A、2,M B、3,E C、2,E D、输出项与相应的格式控制不一致,输出结果不确定11、 以下合法的赋值语句
4、是:() A、x=y=100 B、d-; C、x + y D、c = int(a+b);12、 在以下一组运算符中,优先级最高的是:() A、=10 or a=0 B、a=0 C、a=10 | a=10 & a=014、 下列只有当整数x为奇数时,其值为“真”的表达式是:() A、x%2=0 B、!(x%2=0) C、(x-x/2*2)=0 D、!(x%2)15、 设a为整型变量,不能正确表达数学关系10a15的C语言表达式是:() A、1 0 a 15 B、!(a=15) C、a10 & a15 D、!(a=15)16、 已知x=43, ch=A,y=0;则表达式(x=y&ch8)D #in
5、clude 37、 以下所列语句中,合法的语句是:( )Aa=1,b=2 B+a; Ca=a+1=5 Dy=int(a);二、判断题1. ( T )C语言是严格区分大写和小写的,因此主函数不能写成main()以外的其他形式。2. ( F )C语言程序是从源文件的第一条语句开始执行的。3. ( F )C语言对其数据在内存中所占用的实际字节数是有明确规定的。4. ( F )C语言中/*.*/之间的注释内容是不能跨行的。5. ( F )C语言中多个以“;”结束的语句不能放在同一行。6. ( F )变量说明语句int a=b=c=23;是正确的。7. ( F )字符型数据不可以和整数数据一起进行算术运
6、算。8. ( T )C语言中强制类型转换不会改变原变量的原有数据类型。9. ( F )表达式j=-i+和j=-(i+)不相等10. ( T )程序段:i=8,j=10;printf(%d,%d,%d,%dn,i,j,+i,j+);其结果9,10,9,10.11. ( F )C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示。12. ( T )计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。13. ( T )目前程序设计的理念已经从“面向过程的程序设计”向“面向对象的程序设计”方面转变。14. ( T )有人曾提出:计算机程序算法数据结构。15. ( T
7、 )在程序设计中提到的算法就是“解决问题的方法和步骤”16. ( T )在程序设计中提到的数据结构就是“程序处理的对象的表示方法”17. ( T )计算机程序的算法就是解决“做什么”和“怎么做”的问题。18. ( T )结构化程序设计的基本理念是:将一个较大的问题细分成若干个较小问题的组合。19. ( F )C程序的执行是从程序的第一行开始,一直到程序的最后一行结束。20. ( T )C程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。21. (T)设x、t均为int型变量,则执行语句x = 10;t = x & x 10;后,t的值为0 22. ( T )若a和b类型相同,在计算
8、了赋值表达式a=b后b中的值将放入a中,而b中的值不变 23. ( T )在C程序中,%是只能用于整数运算的运算符24. ( T )在C语言中,逻辑“真”等价于不等于0的数25. ( F )C语言中字符型、整型、实型都能用八进制表示26. ( T )变量的三要素是:变量名、变量类型、变量的值。书上必会的题:课后题:第三章P834,6,7一、 选择题1. 以下说法正确的是( )。A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2. 算法是指
9、为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是( )。 A)有零个输入或多个输入 B)高效性 C)有穷性 D)确定性 3. C语言中用于结构化程序设计的3种基本结构是 A)顺序结构、选择结构、循环结构 B)if,switch,break C)for,while,do-while D)if,for,continue4. 一个C程序的执行是从( )。A)main()函数开始,直到main()函数结束 B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束 D)main()函数开始,直到最后一个函数结束5. 组成C程序的基本单位是( )。A)函数
10、B)标识符C)表达式D)语句6. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为( )。A)1234 B)12,34C)1234D)12:347. C语言中最简单的数据类型包括( )。A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型8. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符9. 下列可用于C语言用户标识符的一组是( )。A)void, define, WORD B)
11、a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof10. C语言中运算对象必须是整型的运算符是( )。A)%=B)/ C)= D)=10 or a=0|a=10 &a=10a=017. 若变量c为char类型,能正确判断出c为小写字母的表达式是A)a=c=a)|(c=z)C)(a=c) D)(c=a)&(c12?x+10:x-12;printf(%dn,y); A)0 B)22 C)12 D)1019. 已知char ch=C;则以下表达式的值是ch=(ch=A & ch30?b:c; switch(d) case 30 : printf(
12、%d,a); case 40 : printf(%d,b); case 50 : printf(%d,c); default : printf(#);则输出的结果是A)40,50, B)50,# C)40,# D)40,50,#二、 填空题1. 用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。2. C语言中的标识符只能由字母、下划线和( 数字 ) 组成。3. C语言源程序注释符号有两种,(/*/ )用于块注释,( / )用于行注释。4. 源程序test.c经编译产生的目标文件是:( test.obj );经连接
13、处理后,产生的可执行文件是:( test.exe )。5. C标准库函数中,数学函数的原型在(math.h )头文件中。6. 如下语句printf(%cn,B+35);在执行后的输出结果是 ( e )。7. 下列程序的输出结果是( 1.,1. )。 #include#include int main() floata=-1.3;b=1.3; printf(%f,%f,fabs(a),fabs(b); return 0;8. 将以下程序写成三目运算表达式是( max = ab ? a : b)。if(ab)max=a;else max=b;9. 若从键盘输入58,则以下程序输出的结果是 ( )
14、。main() int a; scanf(%d,&a); if(a50)printf(%d,a); if(a40)printf(%d,a); if(a30)printf(%d,a);10. 阅读下面的程序,当程序在执行时,如果输入的是A,则输出结果为( ABother ) 。#include stdio.hmain() char a; a=getchar(); switch(a) case 65: printf(%c,A); case 66: printf(%c,B);default :printf(%sn,other);三、 判断题1. ( F )一个程序只能由一个C程序文件组成。2. (
15、T )一个C程序文件是由一个或多个函数组成的。3. ( T )一个程序必须包含一个main函数。4. ( F )main函数必须写在一个C程序文件的最前面。5. ( F )C程序的执行从程序头开始。6. ( F )函数体不可以为空。7. ( F )C程序的注释只能是一行。 8. ( F )C程序中的数据声明和语句必须用“。”结束。9. ( F )C程序一行只能写一条语句。10. ( F )在C程序中,符号“Sum”和“sum”相同。第三章 顺序结构一、选择题1. 下面程序的输出是:() main() int k=11; printf(k=%d,k=%o,k=%xn,k,k,k); A) k=1
16、1,k=12,k=13 B) k=11,k=13,k=13C) k=11,k=013,k=oXb D) k=11,k=13,k=b2. 以下合法的C语言赋值语句是:() A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)-i;3. 以下程序的输出结果是:() main() int x=10,y=3;printf(“%dn”,y=x/y); A)0 B)1 )3 D)不确定4. 若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:() A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”
17、,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5. 执行下面程序段后,c3中的值是:()int c1=1 , c2=2 , c3;c3=c1/c2; A)0 B)1/2 C)0.5 D)16. 以下程序段的输出是:()float a=57.666;printf(“*%4.2f*n”, a);A)*57* B)*58* C)*57.66* D)*57.67*7. 若有以下定义和语句:() int a=5,b b=a+;此处b的值是:()A) 7 B) 6 C) 5 D) 48. 以下程序的输出结果是:() main() int x=10,y=10; printf(
18、%d%dn,x-,-y); A) 10 10 B) 9 9 C) 9 10 D) 10 99. 已知字符A的ASCII码为十进制的65,下面程序的输出是:() main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2); A) 67,D B) B,CC) C,D D) 不确定的值10. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:() main() int x; scanf(%d,&x); if (x+5) printf(%d,x) else printf(%dn,x-); A) 7和5 B) 6和3 C
19、) 7和4 D) 6和411. 若执行下面的程序从键盘输入3和4,则输出是:() main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (ab) s=b; s=s*s; printf(%dn,s); A) 14 B) 16 C) 18 D) 2012. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值scanf(i=%d,f=%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为:()A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100,y=765.12 二、判断
20、题1( F )在C语言中,实型数据在内存都中占4个字节。 2( F )在C语言中,参加算术( +,-,*,/,% )运算的数据可以是任何类型的数据。 3( F )若有定义和语句:int a;char c;scanf(%d,%c,&a,&c);当通过键盘输入:10,A之后,则变量a中存放的是10,变量c中存放的是A。 4( F )C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 5( F )在C语言中,变量可以不要定义,直接使用 6( T )一个C语言程序总是从主函数开始执行的 7( F )注释语句必须用/*和*/括起来,且只能位于某一语句的后面 第四/五章 选择结构与循环结构一、选择
21、题1. 有以下程序 main( ) int i; for ( i=0; ib ? (ac?a:c) : (b); A) 5 B) 4 C) 6 D) 不确定3. 以下程序中,while循环的循环次数是:() main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; A) 1 B) 10 C) 6 D) 死循环,不能确定次数4. 以下程序的输出结果是:() main( ) int a=0,i; for(i=1;i5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=3;
22、 default: a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 205. 若执行以下程序时从键盘上输入9,则输出结果是:() main() int n; scanf (%d,&n); if(n+10) printf (%dn,n); elseprintf(%dn,n-); A) 11 B) 10 C) 9 D) 86. 有以下程序段 int k=0;while(k=1)k+; 则while 循环执行的次数是:() A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 7. 以下程序执行后sum的值是:() main() int i
23、, sum; for(i=1;i5) printf (“%dn”,m); else printf (“%dn”,m-); A )7 B )6 C)5 D)49. 设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=ab)&(n=cd)后,n的值为:()A)1 B)2 C)3 D)010. 以下程序运行后,如果从键盘上输人5,则输出结果是:()main( ) int x;scanf(%d,&x);if(x-5)printf(%d,x);elseprintf(%d,x+);A、3 B、4 C、5 D、611. 以下程序段的输出是:() int i,j,m=
24、0;for (i=1;i=15;i+=4)for (j=3;j7) n-; printf(%3d,n); A) 10 9 8 B) 9 8 7C) 10 9 8 7 D) 9 8 7 613. 以下循环体的执行次数是:() main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-)printf(%d n,i); A) 3 B) 2 C) 1 D) 014. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:()A) switch B) continue C) break D) if二、判断题:1. ( F )用1作while
25、循环的判断条件,则循环一次也不执行。 2. ( F )for循环表达式的括号内的3个表达式均不可以省略。 3. ( F )若有for(;),是指循环体执行0次。 4. ( F )程序有死循环的时候,上机编译不能通过。 5. ( F )执行for(I=0;I3;I+);后I的值为2。 6. ( T )所有类型的循环都可以进行嵌套使用。 7. ( T )利用break语句可以提前终止循环的执行。 8. ( F )利用continue语句可以提前终止循环的执行。 9. ( F )break语句和continue语句不可以同时出现在同一个循环体内。 10. ( F )switch语句中,每一个case
26、的冒号后面都必须至少跟有一条语句第6章数组一、选择题1、假设int型变量占两个字节的存储单元,若有定义: int x10=0,2,4; 则数组x在内存中所占字节数为:() A、3 B、6 C、10 D、202、下面程序段的输出结果是:() int j; int x33=1,2,3,4,5,6,7,8,9; for (j=0;j3;j+) printf(“%d ”,xj2-j); A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 93、以下能正确定义数组并正确赋初值的语句是:()A、int N=5,bNN; B、int a12=1,3;C、int c2= 1,2,3,4; D、int d32=1,2,3,4;4、有以下程序main() int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0; i3; i+) printf(%d ,mki); 执行后输出结果是:()A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 95、以下能正确定义一维数组的选项是:()A、int num;