《C语言程序设计A》课程形成性考核作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

教育部人才培养模式改革和开放教育试点C语言程序设计A形成性考核册学校名称:学生姓名:学生学号:班级:-1-C语言程序设计A形考作业1一、选择题:(第1~13小题每题2分,第14~17小题每题3分,共38分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。A.mainB.MAINC.nameD.funtion2.C语言原程序文件的缺省扩展名为()。A.cppB.exeC.objD.C3.由C语言目标文件连接而成的可执行的缺省扩展名为()。A.cppB.exeC.objD.C4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用()符号作为分隔符。A.空格或逗号B.逗号或回车C.回车或分号D.空格或回车5.每个C语言程序的编译错误分为()类。A.1B.2C.3D.46.设x和y均为逻辑值,则x&&y为真的条件是()。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假7.设有语句“inta=12;a+=a*a;”,则执行结束后,a的值为()。A.12B.144C.156D.2888.x0&&x=10的相反表达式为()。A.x=0||X10B.x=0&&x10C.x=0||x=10D.x0&&x109.字符串“a+b=12\n”的长度为()。A.6B.7C.8D.910.在下列符号常量定义中。错误的定义语句格式为()。A.constM1=10;B.constintM2=20;C.constM310D.constcharmark=’3’;姓名:学号:得分:教师签名:-2-11.带有随机函数的表达式rand()%20的值在()区间内,A.1~19B.1~20C.0~19D.0~2012.当处理特定问题时的循环次数已知时,通常采用()循环来解决。A.forB.whileC.do-whileD.switch13.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。A.forB.ifC.doD.while14.for语句能够被改写为()语句。A.复合B.ifC.switchD.while15.下面循环语句执行结束后输出的i值为()。for(inti=0;in;i++)if(in/2){coutiendl;break;}A.n/2B.n/2+1C.n/2-1D.n-116.在下面循环w语句中内层循环体S语句的执行次数为()。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循环语句中,其循环体被执行的次数为()。inti=0;doi++;while(i*i10);A.4B.3C.5D.2二、填空题:(每空0.5分,共22分)1.C语言中的每条简单语句以___________作为结束符。2.C语言中的每条复合语句以__________作为结束符。3.在C语言程序的每个程序行后面或单独一行的开始使用注释的标记符为_______。4.单行或多行注释的结束标记符为________。5.在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以__________标识符开始的预处理命令。6.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是_______定义的头文件。7.一个函数定义由____________和函数体两部分组成。8.用于输出表达式的标准输出函数是_____________。9.当不需要函数返回任何值时,则应使用__________标识符定义函数类型。-3-10.执行“printf(“%d-%d=%d”,43,18,43-18);”语句后得到的输出结果为____________。11.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为__________。12.每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为__________。13.十进制数25表示成符合C语言规则的十六进制数为________。14.在C语言中,转义字符序列________表示一个换行符。15.执行“printf(“%c”,’F’-2);”语句后得到的输出结果为______。16.已知’A’~’Z’的ASCII码为65-90,当执行“intx=’C’+5;”语句所x的值为________.17.假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”,则x的值为________.18.char类型的大小为______个字节。19.int类型的大小为______个字节。20.float类型的大小为______个字节。21.十进制数28类型为________。22.十进制数3.26类型为________。23.若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字_________。24.使用const语句定义一个符号常量时,则必须对它同时进行__________________。25.执行“intx=45,y=13;printf(“%d”,x%y);”语句序列后得到的输出结果为_______。26.假定x=5,则表达式2+x++的值为______。27.表达式(float)25/4的值为_________。28.表达式(int)14.6%5的值为_______。29.表达式x=x+1表示成增量表达式为_______。30.增量表达式++y表示成赋值表达式为________。31.关系表达式(x!=0)的等价表达式为________。32.假定不允许使用逻辑非操作符,则关系表达式x+y5的相反表达式为__________。33.假定不允许使用逻辑非操作符,则逻辑表达式ab||b==5的相反表达式为_________________。34.若x=5,y=10,则xy逻辑值为_________。35.若x=5,y=10,则x=y逻辑值为_________。36.假定x=5,则执行“a=(x?10:20);”语句后a的值为______。37.执行“typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使用__________来定义整型变量。-4-38.在switch语句中,每个语句标号所含保留字case后面的表达式必须是_________。39.作为语句标号使用的C保留字case和default只能用于_________语句的定义体中。40.在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_________执行。41.若do循环的“尾”为“while(++i10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_________次后正常结束。42.当在程序执行到__________语句时,将结束本层循环语句或switch语句的执行。43.在程序中执行到__________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。44.在程序执行完__________函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。三、写出下列每个程序运行后的输出结果:(每小题5分,共40分)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.);}输出结果为:2.#includestdio.hvoidmain(){inti,s=0;-5-for(i=1;i=6;i++)s+=i*i;printf(s=%d\n,s);}输出结果为: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);}输出结果为:4.#includestdio.hvoidmain(){intn=10,y=1;while(n--){y++;y++;}printf(y=%d\n,y);}输出结果为:-6-5.#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);}输出结果为: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;-7-if(itemp)printf(%d,n);}printf(\n);}输出结果为:7.#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);}输出结果为:8.#includestdio.h#includemath.hconstintM=20;-8-voidmain(){inti,s;for(i=1,s=0;i15;i++){if(i%2==0||i%3==0)continue;printf(%d,i);s+=i;}printf(%d\n,s);}输出结果为:-9-C语言程序设计A形考作业2一、选择题:(每小题1分,共5分)1.在下面的一维数组定义中,()语句有语法错误。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];n2.在下面的二维数组定义中,()语句是正确的。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]的值为()。A.2B.4C.6D.84.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。A.0B.4C.8D.65.将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcap()C.strcat()D.strcmp()二、填空题:(每空1分,共16分)1.假定一维数组的定义为“char*a[8];”,则该数组所含元素的个数为__________。2.假定一维数组的定义为“char*a[8];”,则该数组所占存储空间的字节数为__________。3.假定二维数组的定义为“inta[3][5]”,则该数组所占存储空间的字节数为__________。4.假定二维数组的定义为“chara[M][N];”,则该数组所所含元素的个数为_________。5.假定二维数组的定义为“doublea[M][N];”,则每个数组元素的行下标取值范围在________之间。6.假定二维数组的定义为“doublea[M][N];”,则每个数组元素的列下标取值范围在________之间。姓名:学号:得分:教师签名:-10-

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功