《2014秋C语言A卷试卷及答案.docx》由会员分享,可在线阅读,更多相关《2014秋C语言A卷试卷及答案.docx(9页珍藏版)》请在第一文库网上搜索。
1、华南农业大学期末考试试卷(A卷)2014学年第1学期考试科目:C语言程序设计考试类型:(闭卷)考试考试时间:120分钟学号姓名年级专业题号-二三四总分得分评阅人机读机读考生注意1、答案必须分别写在“机读卡”和“答卷”上,写在本试卷上不得分。2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。3、机读卡的学生代号区只需填写学号后10位。4、考试结束时,“机读卡”、“答卷”和本试卷都要上交。得分一、选择题(在机读卡上答题,本大题共20小题,每小题2分,共40分)1.请选出一组合法的用户标识符()o.void,WORDB. -sub,aC. f2_3,IFD. 4a,abc2.
2、C语言程序有三种基本结构,除顺序结构外,另两种结构是(3.A.嵌套,递归B.选择,循环C.递归,选择D.循环,转移定义两个变量doub1ea=5.5,b=2.5;,则表达式(int)b+a/a值为(A.3.000000B.3C.4D.4.0000004.Str1en(n1bab)的结果是(.4B.5C.6D.5.执行SCanf(%d%d”,&a,&b);时,正确的键盘输入是(A.15,26B.a=15,b=26C.12:23D.12236.设整型变量intx=6,y=8;,则语句printfC%d,%dx+,y);的输出结果是(7.8.9.A.6,7B.7,7inta=5,b=4,c=3;if
3、(abc)Printf(abc);A.ab3&2|8b)a=b;if(ac)a=c;e1seb=c;printf(zz%d,%d,%d,a,b,c);A. 9,8,7B.9,7,7B. 1234.567800,12.56D.提示错误,无结果C. Iy7,7D.7,8,7D.e1seD.15D.302511 .在循环语句中,遇到()语句可以导致当前一次循环结束,立刻进入下一次循环。A.breakB.continueC.return12 .以下程序段的输出结果是()。inti,sum=0;for(i=1;i5;i+)sum+=i;Printf(%d”,sum);A.10B.01234C.13610
4、13 .下面程序的运行结果是()。ttinc1udeintmain()inta=0,i;for(i=0;i=3;i+)switch(i)case3:a+=3;case 1:case 2: a+=2;defau1t:a+=5;printf(z,%d,a);)A.5121929B.55710C.023514 .定义一个字符数组Chars=string;,它在内存中占用的字节数是()。A.6B.7C.24D.不确定15 .下面程序中有错误的行是()。(每行代码后面的数字表示行号)intmain()/1inti;f1oaty6=1.0,2,3);/2for(i=1;i6;i+)y0=y0+yi;/3p
5、rintfry0=%dn,y0);/4/5A.1B.2C.3D.416 .设每个整型数据占4字节,定义一个数组intx6;,它的内存起始地址是3100,则x3的起始地址是()。A.3103B.3112C.3108D.310217 .设inta=2,b=3,c=4,d=5,e=6;,有一函数调用f(a,b,c),(d,e),则实际调用是(T.f(2,5)B.f(4,6)C.f(2,6)D.参数太多,出错18 .下列程序的执行结果是()。inc1udeinta=7,b=2;voidf(intx,inty)printf(z,%d,%d”,x+y,a+b);intmainOinta=3,b=9;f(a
6、,b);)A.12,9B.9,12C.7,2D.3,919.有以下宏定义,则执行语句x=3*(N+Y(3+N);之后,整型变量)C的值是(defineN2defineY(a)(N+1)*a)A.54B.48C.39D.2420.下列程序的执行结果是()。#inc1udefun(intx,inty)=+y;y=x-y;)main()inta=5,b=8;fun(a,b);printf(%d,a,b);).13,5B.5,13C.13,8D.5,8得分二、判断题(在机读卡上答题,本大题共20小题,每小题1分,共20分)请用2B型铅笔涂答题卡,按题号顺序,正确的判断涂黑“A”、错误的判断涂黑“B”2
7、1 .一个C程序的开始执行点是main。函数,结束点是最后一个函数的最后一条语句。()22 .字符常量是由一对单引号括起来的一到多个字符。()23 .C语言规定,标识符中的字符不区分大小写。()24 .getchar()函数的功能是从终端输入一个字符串。()25 .在SWitCh(x)语句中,CaSe后的表达式可以是x0,x=0,xn+3可改写为(a-(!d)(m(n+3)()27 .在逻辑表达式的求解过程中,必须求解完所有的逻辑运算符才能得到最终的结果。()28 .C语言中,intx,y;x=y=100是合法的赋值语句。()29 .whi1e循环语句至少无条件执行一次循环体。()30 .do
8、-whi1e循环语句中,根据情况可以省略关键字WhiIe。()31 .C程序中有无注释不会影响程序的正常执行。()32 .case,break,return,int在C中都是保留的关键字。()33 .定义数组时,数组下标可以是整型常量或正整型常量表达式。()34 .有字符串定义Chara口=a,b口=Zoo;,则StrCnIP(a,b)的结果为1。()35 .调用一个有参函数时,可以不对形参传入数据。()36 .主函数Inain()可以调用任意一个函数,但不能使用这些函数中定义的变量。()37 .在一个函数中说明的变量,有效范围是该函数以及调用它的函数。()38 .带参数的宏及其参数在没有指定
9、类型时,默认为int型。()39 .C编译系统对ttinc1ude在编译前进行处理。()40 .有如下语句intx;f1oaty=3.33;x=y;,编译时不会出错。()得分三、阅读程序填空题(请在答卷上答题,本大题共9小题,每空1分,共20分)1.下面程序实现由键盘输入3个数a,b,c,并按由大到小的顺序输出,请填空完善。#inc1udeintmain()inta,b,c,t;scanfC%d%d%d,j&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;ifD2)Printf(Thesortednumberis:%d%d%dn”,a,b,c);ret
10、urn0;)2.从键盘输入一个华氏温度值3要求按格式输出其对应的摄氏温度值c,精确到小数点后两位。数学公式描述为:c=59*(132)ttinc1udeintmain()3);scanf%,f);4);printf(z,%.2f,c);)3 .输入一行字符(以回车符结束),统计并输出其中的字母个数(不分大小写)。ftinc1udeintmain()intZm=O;charch;whi1e(5)if(6)zm+;Printf(z=%dn”,zm);)4 .从键盘输入一个整数,将它反序输出。例如:输入“385”,输出“583”。#inc1udeintmain()intn,c;scanf(%d,&n
11、);do(7);Printf(%d,c);whi1e(8);)5 .输入两个整数,输出它们的最大公约数。inc1udeintmain()intm,n,i,t;scanf(zz%d,%c,&m,&n);t=mn?n:m;for(9)if(m%i=O&n%i=O)printf(*%dn*,i);10)6 .输出IOO以内的所有素数。ttinc1ude11)intmain()inti,m,k;for(m=2;m=100;m+)(k=sqrt(m);for(i=2;i=k;i+)if(12)break;if(13)Printf(%3d”,m);7 .从键盘读入一个不多于60个字符的字符串(允许包含空格
12、),将其中的大写字母全部转换为小写字母,其它字符不变,然后输出。#inc1udeintmain()chars60;inti;14);for(i=0;si!,0,;i+)(if(si=A,si=Z,)15);Printf(%s,s);)8 .完成下列函数,连接两个字符串S1和s2,结果放入字符串s,且末尾添加字符串结束符。voidcat(charsi,chars2,chars)iti,j;for(i=0;s1i!,0,;i+)si=s1;for(j=0s2j!,0,;j+)16);17);)9 .下列程序实现:从键盘输入数组元素的值,并求平均值,请填空完善。inc1udef1oataverage(f1oata,intn)inti;f1oatsum=0;for(i=0;in;i+)18);returnsum/n;intmainOinti;f1oatb10;for(i=0;i10;i+)1:Printf(平均值=%fn”,20);得分1.5CM四、编写程序题(请在答卷上答题,本大题共2小题,每题10分,共20分)1 .编程实现由键盘输入n,计算输出如下数列的前n项之和(输出结果保留4位小数)。23581321T