您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 10-11-1学期《C语言程序设计》期中试卷标准答案
2010-11-1学期《C语言程序设计》期中试卷第1页/共10页信息与通信工程学院2010-11-1学期《C语言程序设计》期中试卷班级:学号:姓名:得分:参考答案一、判断题(每题1分,共10分)1、”printf”是C语言的关键字之一。错2、一个完整的C语言程序中可以没有输入语句。对3、字符串”abcd\123”中含有5个字符。错,6个4、一个float类型的数据,占用8个字节的存储空间。错,45、1234/100%10的值是2。对6、程序中调用函数gets(a)时,其中的实参a必须为一个地址。对7、C语言程序的运行是从程序内的第一个函数开始、运行到最后一个函数结束。错8、表达式y=0,2+5||y=3运算后y的值是3。错,是09、for(i=0;i=1;i++);是一个死循环。对10、j=3;printf(”%d”,++j);输出的值是4。对二、单项选择题(每题1分,共20分)1、编辑好的C程序,必须先经过____,然后才可以运行。A编译B编译、连接C预处理(预编译)、编译、连接D转变成二进制文件2、C程序的基本结构类型是____。A顺序结构、分支结构、循环结构三种B单分支结构、双分支结构、多分支结构三种C当型循环结构、直到型循环结构两种D有参函数、无参函数两种3、关于C源程序的格式要求,错误的叙述是____。A一行可以写多句,一句可以写多行B每行须以分号结束C顺序结构的上下行语句左侧应对齐2010-11-1学期《C语言程序设计》期中试卷第2页/共10页D语句的内部(小语句)另起一行书写时,起始位置一般应比上一行向右缩进4小格4、用scanf、printf函数输入、输出数据时,错误的格式是____。A输入longint型数据时使用%ld格式B输入double型数据时使用%lf格式C输出longint型数据时使用%ld格式D输出double型数据时使用%lf格式5、关于整型数据的取值范围,错误的是____。AVC++中int型数据是-231~+231-1BWinTC、TurboC中int型数据是-215~+215-1Clongint型数据是-231~+231-1Dchar型数据是0~+28-16、C程序运行时,如果数据溢出,计算机会____。A如果是整型数据溢出,计算机会自动停止运行并给出溢出提示B如果是整型数据溢出,计算机会继续运行下去,并自动纠正错误、得到数学上的正确结果C如果是浮点型数据溢出,计算机会自动停止运行并给出溢出提示D如果是浮点型数据溢出,计算机会继续运行下去,并自动纠正错误、得到数学上的正确结果7、intx=’3’;printf(”%d”,x);输出的结果是____。A51(字符’3’的ASCII码的十进制值)B3C’3’Dx8、已知inta[]={2,0,4,5,4,-1,6,3,8,9};下列叙述错误的是____。A数组a的长度是10Ba[1]的值是0C语句scanf(”%d”,&a);可以重新给数组a输入10个值Da[a[2]+a[5]]的值是59、(int)(5.6+5.6)的值是____。A11B10C10.6D11.210、VC++中,已知intx=-1;unsignedintb=x;则b的值是____。2010-11-1学期《C语言程序设计》期中试卷第3页/共10页A-1B1C232-1D231-111、逗号表达式x=3,y=4的值是____。A3B4C7D012、表达式x=3*5+7.2||8%9+!0的类别名称是____。A算术表达式B关系表达式C逻辑表达式D赋值表达式13、已定义longintx;floaty[10];则sizeof(x)+sizeof(y)+sizeof(float)+sizeof(y[0])的值是____。A4B8C16D5214、下列C语言标识符中错误的是____。AprintfBLongCintD_3x15、假设x、y都是int型,若要使得x、y的值分别得到5和10,则在输入语句scanf(”%d%d”,&x,&y);执行时必须键入____。A5,10B510C510D51016、假设inta=12;则语句printf(”%+-10d/n”,a);执行时____叙述是错误的。A输出的数值部分是+12B输出的数值部分占10位左对齐C输出的数值部分是十进制的D输出数值部分后换行17、关于if…else…语句的格式规定,下列叙述错误的是____。Aif后边必须紧跟一对圆括号B上述圆括号内一般有一个表达式,不过这个表达式也可以省略C上述圆括号后与else之间必须有、也只能有一个语句Delse后边必须有一个语句。若有多个语句,则从第二个语句起就不归if…else…控制了18、关于switch语句的格式规定,下列叙述错误的是____。Aswitch语句以关键字switch开始,最后一个字符一定是}B关键字switch后边必须紧跟一对圆括号,然后是一对花括号2010-11-1学期《C语言程序设计》期中试卷第4页/共10页C上述圆括号内一般是一个含有变量的整型表达式D上述花括号内一般由多个”case常量:”构成入口条件,其中不同入口的入口条件常量一般各不相等、有时也可以相等19、关于for语句的格式规定,下列叙述错误的是____。Afor语句是一个当型循环语句Bfor语句的控制部分由关键字for、紧随其后的一对圆括号、该圆括号内的两个分号、该两个分号分开的0~3个表达式组成C上述的0~3个表达式中的第二个表示循环的条件,空缺时表示无条件循环Dfor语句的执行部分称为循环体,一般是一个语句,也可以是多个语句20、关于数组的基本概念与使用,下列叙述错误的是____。A定义数组时,数组的长度必须是常量,而引用数组时,数组元素的下标可以是任意表达式B一维数组的起始元素的下标是0C给数组赋初值时,各初始值必须以逗号分开、初始值全体必须以方括号包括D数组的名称代表着该数组的起始地址,而并不代表全体元素的值三、假设有inta=5,b=10;floatx=1.3,y=2.8;计算下列表达式的值(每题1分,共20分)1、表达式a+b++的值是__________152、表达式++a+b的值是__________163、表达式a%b的值是__________54、表达式ab的值是__________05、表达式a=b的值是__________106、表达式a==b的值是__________07、表达式(int)a+x的值是__________6.38、表达式(int)x+y的值是__________3.89、表达式a=y的值是__________210、表达式ab,ba的值是__________111、表达式a=0&&a=10的值是__________112、表达式!!a的值是__________113、表达式a||b的值是__________12010-11-1学期《C语言程序设计》期中试卷第5页/共10页14、表达式a?1:2的值是__________115、表达式a+=b+a的值是__________2016、表达式a-=b+=2的值是__________-717、表达式(int)log10(a*b)的值是__________118、表达式(int)sqrt(a*b)的值是__________719、在VC++6.0中,表达式sizeof(a+a)的值是__________420、表达式a++的值是__________5四、看程序,写运行结果(每题6分,共30分)1、#includestdio.h#includeconio.hvoidmain(){inta,b;a=3;b=a/2;printf(b=%3d\n,b);getch();}程序运行时输出的结果是__________。b=12、#includestdio.h#includeconio.hvoidmain(){inta,b,c,z;a=3;b=5;c=10;if(a=b&&c=b)z=b;elseif(ac)z=a;elsez=c;printf(z=%d\n,z);getch();}2010-11-1学期《C语言程序设计》期中试卷第6页/共10页程序运行时输出的结果是__________。z=33、#includestdio.h#includeconio.h#defineN10voidmain(){doublea[10],s;inti;for(i=0,s=0.0;i10;i++){scanf(%lf,&a[i]);s+=a[i];}printf(%f\n,s/N);getch();}程序运行时若输入任意的10个数,程序将输出他们的______。平均值4、#includestdio.h#includeconio.hvoidf1(){printf(*****\n);}voidf2(intn){inti;for(i=1;i=n;i++)f1();}voidmain(){f2(10);getch();2010-11-1学期《C语言程序设计》期中试卷第7页/共10页}程序运行时输出的结果是_______________________________(请用文字简单描述)。10行5列*矩阵5、#includestdio.h#includestring.h#includeconio.hvoidmain(){chara[100]=12345abcde,b[100];a[7]='\0';strcpy(b,a);putchar(a[strlen(b)/2]);getch();}程序运行时输出的结果是__________。4五、分析程序,回答问题(1题10分)/*由百分制转换为五级制*/#includestdio.h#includeconio.hvoidmain(){chara[10][2]={25,0,65,0,98,0,65,0,48,0,66,0,92,0,78,0,73,0,84,0};inti,j,k;printf(%5s%6s%6s\n,NO.,score,grade);for(i=0;i10;i++){k=a[i][0]/10;switch(k){case10:case9:a[i][1]='A';break;case8:a[i][1]='B';break;case7:a[i][1]='C';break;case6:a[i][1]='D';break;default:a[i][1]='E';2010-11-1学期《C语言程序设计》期中试卷第8页/共10页}printf(%5d%6d%6c\n,i+1,a[i][0],a[i][1]);}getch();}填空1:本题转换的百分制分数的个数是____个。10填空2:所有百分制分数保存于____数组的下标为____的列。a,0问1:printf(%5s%6s%6s\n,NO.,score,grade);语句的作用是什么?答:输出标题问2:语句k=a[i][0]/10;的作用是什么?答:减少入口问3:分支case9:a[i][1]='A';break;的前面为什么要加上“case10:”?答:使得100分的成绩的等级为A六、算法设计(要求画出算法的NS图。每题5分,共10分)1、文字统计问题。若,用键盘输入一篇文章,共有3行英文文字,每行最多80个字符。要求编一程序,程序运行时能输入这篇文章、并分别统计和输出其中的英文大写字母个数、小写字母个数和其他字符的个数。2010-11-1学期《C语言程序设计》期中试卷第9页/共10页2、青蛙掉井里的故事。假设有一只青蛙不慎落到井底,井深10米,青蛙极力爬上来。青蛙第一天白天爬上1米、夜间又滑落0.1米;由于体力下降,第二天只爬上0.95米、夜间又滑落0.095米……如此类推,此后每天爬上的高度是前一天爬上高度的95%,夜间滑落的高度是白天爬上的高度的10%。问:第几天能爬到地面?请设计算法。参考程序如下:#includestdio.h#includeconio.h
本文标题:10-11-1学期《C语言程序设计》期中试卷标准答案
链接地址:https://www.777doc.com/doc-3122316 .html