C语言程序设计形成性考核册共24页-1-C语言程序设计形成性考核作业一一、选择题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。A.mainB.MAINC.nameD.funtion2.C语言原程序文件的缺省扩展名为(D)。A.cppB.exeC.objD.C3.由C语言目标文件连接而成的可执行的缺省扩展名为(B)。A.cppB.exeC.objD.C4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。A.空格或逗号B.逗号或回车C.回车或分号D.空格或回车5.每个C语言程序的编译错误分为(B)类。A.1B.2C.3D.46.设x和y均为逻辑值,则x&&y为真的条件是(A)。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假7.设有语句“inta=12;a+=a*a;”,则执行结束后,a的值为(C)。A.12B.144C.156D.2888.x0&&x=10的相反表达式为(A)。A.x=0||X10B.x=0&&x10C.x=0||x=10D.x0&&x109.字符串“a+b=12\n”的长度为(B)。A.6B.7C.8D.910.在下列符号常量定义中。错误的定义语句格式为(C)。A.constM1=10;B.constintM2=20;C.constM310D.constcharmark=’3’;11.带有随机函数的表达式rand()%20的值在(C)区间内,A.1~19B.1~20C.0~19D.0~2012.当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。A.forB.whileC.do-whileD.switch13.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。A.forB.ifC.doD.while14.for语句能够被改写为(D)语句。A.复合B.ifC.switchD.while15.下面循环语句执行结束后输出的i值为(B)。for(inti=0;in;i++)if(in/2){coutiendl;break;}A.n/2B.n/2+1C.n/2-1D.n-116.在下面循环w语句中内层循环体S语句的执行次数为(D)。for(inti=0;in;i++)for(intj=i;jn;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/217.在下面的do循环语句中,其循环体被执行的次数为(A)。inti=0;doi++;while(i*i10);A.4B.3C.5D.2C语言程序设计形成性考核册共24页-2-二、填空题1.C语言中的每条简单语句以___;_______作为结束符。2.C语言中的每条复合语句以___}_______作为结束符。3.在C语言程序的每个程序行后面或单独一行的开始使用注释的标记符为___//___。4.单行或多行注释的结束标记符为__*/_____。5.在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以__#include___标识符开始的预处理命令。6.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是__用户___定义的头文件。7.一个函数定义由__函数头______和函数体两部分组成。8.用于输出表达式的标准输出函数是_printf()_________。9.当不需要函数返回任何值时,则应使用__void_______标识符定义函数类型。10.执行“printf(“%d-%d=%d”,43,18,43-18);”语句后得到的输出结果为__43-18=25_______。11.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为__warning______。12.每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为__error______。13.十进制数25表示成符合C语言规则的十六进制数为___0x19___。14.在C语言中,转义字符序列___\n___表示一个换行符。15.执行“printf(“%c”,’F’-2);”语句后得到的输出结果为__D___。16.已知’A’~’Z’的ASCII码为65-90,当执行“intx=’C’+5;”语句所x的值为___72___.17.假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”,则x的值为___4___.18.char类型的大小为__1__个字节。19.int类型的大小为__4__个字节。20.float类型的大小为__4__个字节。21.十进制数28类型为___int___。22.十进制数3.26类型为___double___。23.若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字____const___。24.使用const语句定义一个符号常量时,则必须对它同时进行__定义类型和赋初值__。25.执行“intx=45,y=13;printf(“%d”,x%y);”语句序列后得到的输出结果为___6__。26.假定x=5,则表达式2+x++的值为__7__。27.表达式(float)25/4的值为___6.25___。28.表达式(int)14.6%5的值为___4___。29.表达式x=x+1表示成增量表达式为__x++___。30.增量表达式++y表示成赋值表达式为___y+=1__。31.关系表达式(x!=0)的等价表达式为____x__(x0||x0)_。32.假定不允许使用逻辑非操作符,则关系表达式x+y5的相反表达式为___x+y=5__。33.假定不允许使用逻辑非操作符,则逻辑表达式ab||b==5的相反表达式为___a=b&&(b5||b5)____。34.若x=5,y=10,则xy逻辑值为___false__(0)_。35.若x=5,y=10,则x=y逻辑值为___true__(1)_。36.假定x=5,则执行“a=(x?10:20);”语句后a的值为__10__。C语言程序设计形成性考核册共24页-3-37.执行“typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使用___DataType___来定义整型变量。38.在switch语句中,每个语句标号所含保留字case后面的表达式必须是__整型__。39.作为语句标号使用的C保留字case和default只能用于__switch__语句的定义体中。40.在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)___不停止__执行。41.若do循环的“尾”为“while(++i10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行__10___次后正常结束。42.当在程序执行到___break___语句时,将结束本层循环语句或switch语句的执行。43.在程序中执行到__return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。44.在程序执行完__主(main)__函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。三、写出下列每个程序运行后的输出结果1.#includestdio.hvoidmain(){intx=5;switch(2*x-3){case4:printf(%d,x);case7:printf(%d,2*x+1);case10:printf(%d,3*x-1);break;default:printf(%s,default\n);}printf(%s\n,switchend.);}输出结果为:1114switchendPressanykeytocontinue2.#includestdio.hvoidmain(){inti,s=0;for(i=1;i=6;i++)s+=i*i;printf(s=%d\n,s);}输出结果为:s=91PressanykeytocontinueC语言程序设计形成性考核册共24页-4-3.#includestdio.hvoidmain(){inti,s1=0,s2=0;for(i=0;i10;i++)if(i%2)s1+=i;elses2+=i;printf(%d%d\n,s1,s2);}输出结果为:2520Pressanykeytocontinue4.#includestdio.hvoidmain(){intn=10,y=1;while(n--){y++;y++;}printf(y=%d\n,y);}输出结果为:y=21Pressanykeytocontinue5.#includestdio.hvoidmain(){intf,f1,f2,i;f1=f2=1;printf(%d%d,f1,f2);for(i=3;i=10;i++){f=f1+f2;printf(%d,f);if(i%5==0)printf(\n);f1=f2;f2=f;}printf(\n);}输出结果为:11235813213455PressanykeytocontinueC语言程序设计形成性考核册共24页-5-6.#includestdio.h#includemath.hvoidmain(){inti,n;for(n=2;n=20;n++){inttemp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i=temp;i++)if(n%i==0)break;if(itemp)printf(%d,n);}printf(\n);}输出结果为:235711131719Pressanykeytocontinue7.#includestdio.h#includemath.hconstintM=20;voidmain(){inti,c2,c3,c5;c2=c3=c5=0;for(i=1;i=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf(%d%d%d\n,c2,c3,c5);}输出结果为:1064Pressanykeytocontinue8.#includestdio.h#includemath.hconstintM=20;voidmain(){inti,s;for(i=1,s=0;i15;i++){if(i%2==0||i%3==0)continue;printf(%d,i);C语言程序设计形成性考核册共24页-6-s+=i;}printf(%d\n,s);}输出结果为:157111337PressanykeytocontinueC语言程序设计形成性考核作业二一、选择题1.在下面的一维数组定义中,(C)语句有语法错误。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];n2.在下面的二维数组定义中,(C)语句是正确的。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10)3.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。A.2B.4C.6D.84.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。A.0B.4C.8D.65.将两个字符串连接起来组成一个字符串时,选用(C)函数。A.strlen()B.strcap()C.strcat()D.strcmp()二、填空题1.假定一维数组的定义为“char*a[8];”,则该数组所含元素的个数为___8_______。2.假定一维数组的定义为“char*a[8];