您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > C语言考前复习有答案的考前必看
分章节练习题第一、二章数据类型、运算符与表达式一、单选题1、下列属于字符型常量的是C。A、’AA’B、“B”C、‘\a’D、’\x93L’2、C语言中,字符(char)型数据在微机内存中的存储形式是__D_。A、反码B、补码C、EBCDIC码D、ASCII码3、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是___C_____。A、a=a+b,b=a-b,a=a-b;B、t=a,a=b,b=t;C、a=t;t=b;b=a;D、t=b;b=a;a=t;4、判断char型变量c是否为大写字母的最简单且正确的表达式是__D____。A、’A’=c=’Z’B、(c=’A’)&(c=’Z’)C、(’A’=c)AND(‘Z’=c)D、(c=’A’)&&(c=’Z’)5、运算符||代表B。A、按位或B、逻辑或C、按位异或D、按位取反6、下列符号中,不可以作为变量名的是__D_______.A、_varB、VAR10C、varxD、2def7、运算符&代表A。A、按位与B、逻辑与C、按位异或D、按位取反8、表达式18/4*sqrt(4.0)/8值的数据类型为___B_________.A、intB、floatC、charD、不确定二、填空题1.C++程序执行过程生成的3种文件及扩展名为_源代码文件.cpp_____、_.目标代码文件.obj___和_目标代码文件.obj__。2.表达式x=x+1表示成增量表达式为_____x++;___。3.若y是int型变量,且y=6,则表达式(y%2+(y+1)/2)的值为_____3____。4.若要在程序文件中使用数学标准函数,则必须在开始的#include命令中使用__math.h____头文件。5.表达式0x13^0x17的值是_4___。6.定义一个整型常量VALUE,其值为40的定义语句为_#defineVALUE40。7.与3x3+xy3+y3对应的C++表达式是_3*y*y*y+x*y*y*y+y*y*y8.C的整数可以用十进制、__八进制________、和__十六进制_______三种进位制表示。9.C语言的基本数据类型有___整型________、___浮点型(实型)________和___字符型________。10.表达式3.5+1/2的计算结果是__3.5__。11.C和C++程序总是从__main()开始执行。12.若k为int型变量且赋值11。请写出运算k++后表达式的值为__11__,k变量的值_12__。13.若要在一个C在程序文件中用cin和cout进行输入输出操作,则必须在开始的#include命令中使用_iostream.h______头文件。第三章输入和输出一、单选题1、printf函数中用到格式符%5s,如果字符串长度大于5,则输出方式为__B_。A、从左起输出该字串,右补空格B、按原字符长从左向右全部输出C、右对齐输出该字串,左补空格D、输出错误信息2、C++中,有以下定义:inta,b;若要从键盘输入变量a,b的值,则正确的输入语句是__A__。A、cinab;B、cinab;C、coutab;D、coutab;第四章控制结构一、单选题1、以下程序的输出结果是(A)。#includestdio.hmain(){intx,y;for(x=1,y=1;x=15;x++){if(y20)break;if(y%3==1){y+=3;continue;}y-=10;}printf(“%d,%d\n”,x,y);}A8,22B7,20C6,22D5,202、break语句的正确的用法是__B_。A、无论在任何情况下,都中断程序的执行,退出到系统下一层。B、在多重循环中,只能退出最靠近的那一层循环语句。C、跳出多重循环。D、只能修改控制变量。3、下面程序的运行结果是__B_。main(){intx=4,y=5;if((xy)&&(++x0))cout(x+y);coutx;}A、94B、4C、5D、1054、在如下程序段中的while循环___C_____。intk=0;while(k=1)k++;A、有语法错,不能执行B、一次都不执行C、死循环D、执行一次5、已知intt=0;while(t=1){...}则以下叙述正确的是___B____。A、循环控制表达式的值为0B、循环控制表达式的值为1C、循环控制表达式不合法D、以上说法都不对6、有如下程序:voidmain(){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、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=27、若运行时给变量x输入12,则以下程序的运行结果是__A___。voidmain(){intx,y;scanf(%d,&x);y=x12?x+10:x-12;printf(%d\n,y);}A、0B、22C、12D、108、C语言中whi1e和do-while循环的主要区别是__A___。A、do-while的循环体至少无条件执行一次B、while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句9、continue语句的正确的用法是A。A、跳过该循环体中剩余的语句而强行开始下一次循环。B、在多重循环中,只能退出最靠近的那一层循环语句。C、跳出多重循环。D、无论在任何情况下,都中断程序的执行,退出到系统下一层。10、有如下程序:voidmain(){intn=9;while(n6){n--;printf(%d,n);}}该程序的输出结果是___B____。A、987B、876C、8765D、9876二、填空题1、结构化程序设计的三种基本结构是:__顺序结构________、__循环结构________和__条件结构________。2、执行if(x||!x)printf(”ABC”);elseprintf(”XYZ”);屏幕上显示的是_____ABC___________。三、程序填空题1、程序打印如下形式的图形**********voidmain(){for(inti=1;i=4;i++){for(intj=1;j6-i;j++)printf(”*”);printf(“\n”);}}2、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。voidmain(){floatx,amax,amin;scanf(“%f”,&x);amax=x;amin=x;while(x=0){if(xamax)amax=x;if(xamin)amin=x;scanf(“%f”,&x);}printf(“\namax=%f\namin=%f\n”,amax,amin);}3、以下程序把大写字母A-Z转换成对应的小写字母a-z,其它字符不转换。#includestdio.hvoidmain(){charch;scanf(“%c”,&ch);ch=(_ch='Z'&&ch='A'_)?ch+32:ch;printf(“char=%c\n”,ch);}4、下列程序求100之内的自然数中偶数之和。#includestdio.hvoidmain(){inti=1,s;s=0;while(i100){if(i%2==0)s+=i;i++;}printf(“s=%d\n”,s);}5、6、下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。#include<stdio.h>voidmain(){inti,j;for(i=1;__i100______;i++)if(_i%3=0&&i%10=6)printf(%d,i);}第五章函数一、单选题1、以下说法正确的是_C______。A、C语言程序总是从第一个函数开始执行B、在C语言程序中,要调用函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、以下对C语言函数的描述中,正确的是A。A、C程序由一个或一个以上的函数组成B、函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中调用关系的所有函数必须放在同一个程序文件中3、下列函数形式正确的是(D)A、doublefun(intx,inty)B、fun(intx,y)C、fun(x,y)D、doublefun(intx,inty){z=x+y;{intz;{intx,y{doublez;returnz;}returnz;}doublez=x+y;z=x+y;returnz;}returnz;}4、有宏定义#definef(x)x*x,则宏调用f(3+4)的结果为(B)。A、49B、19C、22D、3+45、一个函数无返回值时,函数的类型应定义为__A_。A、voidB、任意C、intD、无6、以下函数定义形式正确的是__C___。A、doublefun(x,y);B、doublefun(intx;inty);C、doublefun(intx,inty);D、doublefun(intx,y);7、某程序中对myfun函数有此说明:voidmyfun();此说明的含义是A。A、myfun函数无返回值B、myfun函数的返回值可以是任意的数据类型C、myfun函数的返回值是无值型的指针类型D、指针myfun指向一个函数,该函数无返回值二、填空题1、在函数外定义的变量称为__全局______变量。2、函数的返回值是通过函数中的__return__语句获得的。3、把flag定义为静态双精度实型变量的语句是__staticdoubleflag;___________。4、函数fun的功能是求x的y次方(y=1),请填空。doublefun(doublex,inty){__inti____________;doublez;for(i=1,z=1;_i=y_________;i++)z=z*x;_returnz____________;}四、改错题:下面的程序完成数值1到N之间的奇数之和。在main()函数中输入N值,并输出求和结果。在sum()函数中完成奇数累加,并把累加结果作为函数值返回。请更改程序中的五个错误。注意:不得增行或删行,也不得更改程序结构。#includestdio.hintsum(intm){inti,s=0;for(i=m;i=1;i++--)if(i%2==1)s=s+i;returns;}voidmain(){intn;printf(”请输入N的值:”);scanf(”%d”,&n);printf(”奇数之和为%d”,sum(n));}第六章数组一、单选题1、下列说法正确的是B。A、在2000,2001,2002…2007这几个连续的地址单元中可存放8个数据。B、在2000,2001,2002…2007这几个连续的地址单元中可存放8个字符。C、在2000,2001,2002…2007这几个连续的地址单元中可存放字符串”ABCDEFGH”。D、在2000,2001,2002…2007这几个连续的地址单元中可存放8个整数。2、在下面的一维数组定义中,哪一个有语法错误__C_____。A、inta[]={1,2,3};B、inta[10]={0};C、inta[];D、inta[5];3、调用函数strlen(“abcd\tef\ng”)的返回值是。AA、9B、7C、6D、44、设有数组定义:chararray[]=China;则数组array所占的空间为__C_。A、4个字节B、5个字节C、6个字节D、7个字节5、要使字符串变量s
本文标题:C语言考前复习有答案的考前必看
链接地址:https://www.777doc.com/doc-4560921 .html