您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > C语言考试题A卷解答
1卷号:A卷二OO九—二O一O学年第二学期C语言程序设计(二)标答(09gb电气123班、09gb通信12班用)一.判断题(共5小题,每题2分,共10分)1.C语言是在B语言的基础上发展起来的。(T)2.赋值表达式的左值必须为变量或数组。(T)3.数组是有序数据的集合,数组中的元素可以是不同的数据类型。(F)4.定义指针变量的*号表示取指针变量的内容。(F)5.标准输入指针stdin是由用户定义的指针,用于为读打开输入文件。(F)二.单选题(共10小题,每题2分,共20分)1.C语言上机调试必须经过编辑、编译、……等(A)个步骤。A)4B)5C)6D)32.下列选项中,不属于字符常量的选项为(B)。A)‘\x41’B)“a”C)‘a’D)‘\101’3.C语言包括(C)种控制语句。A)7B)8C)9D)54.在选择结构程序设计中,条件判断的依据是条件表达式的值为(D)执行语句。A)TRUEB)FALSEC)0D)非05.执行循环体时,执行到(D)语句退出循环,执行循环体外的下一语句。。A)NullB)continueC)exitD)break6.数组是有序数据的集合,用数组名和下标表示数组元素,数组名的命名规则与变量名相同,数组名是(C),A)地址变量B)数据变量C)地址常量D)数据常量7.下列选项中,不属于函数调用方式的选项为(B)。A)函数语句B)函数原型C)函数表达式D)函数参数8.用语句inta,*p=&a;声明的p是(A)。A)指针变量B)指针C)地址常量D)指针变量的值9.引用结构体变量中的成员,不正确的引用方法是(D)。A)(*p).成员名B)p-成员名C)结构体变量.成员名D)p(成员名)10.FILE的类型是(A)。A)结构体B)共用体C)数组型D)指针型三.填空题(共10小题,每题2分,共20分)1.C语言的块注释,使用(/*)和(*/)一对符号。2.单精度数据类型的长度占(4)个字节,双精度数据类型的长度占(8)个字节。3.C语言getchar函数(没有)参数,函数的返回值是(从键盘输入的一个字符)。4.if-else语句的配对原则是先从第一个else开始,找出其上的if配成一对,再找下一个(else)并和其上(没有配对的if)进行配对。5.循环语句for(表达式1;表达式2;表达式3)语句;中表达式3的执行次序是在执行(循环体)后,求解(表达式3),转回求解表达式2,检查终值条件。6.二维数组的第(1)个下标为行标,第(2)个下标为列标。7.静态变量存储在(静态存储)区,自动变量存储在(动态存储)区。8.指针的运算符中,求地址运算符是(&),指针运算符是(*)。9.(结构)体的各成员分别单独占用独立的存储单元,(共用)体的成员共享同一段存储单元。10、根据数据的组织形式,数据文件分为(ASCII)文件和(二进制)文件两种。四.改错题:(共5小题,每题2分,共10分)1.输入一个浮点数a如3.14159,把该数精确到小数点后的两位赋给变量b,请改下程序中的错误。#includestdio.hmain(){/**********found**********/floata,b;scanf(“%d”,a);//scanf(“%f”,&a);b=int(a*100+0.5)/100.0;//b=(int)(a*100+0.5)/100.0;frintf(“%f,%f\n”,a,b);}2.输出a,b两个整数,并按a=b输出。#includestdio.hmain()姓名一、密封线内不准答题。二、姓名、准考证号不许涂改,否则试卷无效。三、考生在答题前应先将姓名、学号、年级和班级填写在指定的方框内。四、试卷印刷不清楚。可举手向监考教师询问。学号所在年级、班级密封注意意:2{/**********found**********/inta,b,t;scanf(“%d,%d”,a,b);//scanf(“%d,%d”,&a,&b);if(ab){a=b;b=a;}//if(ab){t=a;a=b;b=a;}printf(“%d,%d\n”,,a,b);}3.试求1+2+3+4+5+6+……+100之和#includestdio.hmain(){/**********found**********/inti,sum=0;for(i=1,i100,i++);//for(i=1;i=100;i++)sum=+i;//sum+=i;printf(“Sum=%d\n”,sum,);}4.下面程序进行浮点运算,请改正程序中的错误。/**********found**********/voidfunc(intx,y)//floatfunc(floatx,floaty){returnx+y;}main(){floata=1.1,b=2.2,c=3.3,s;s=func(func(a,b),func(b,c));printf(s=%d,s);//printf(s=%f,s);}5.共用体类型与共用体变量定义如下,改正程序中的错误。#includestdio.hmain(){/**********found**********/union{inta;structNODE{intdata;structNODE*next;}n;}m;printf(“%d,%d\n”,a,sizeof(n));}//printf(“%d,%d\n”,m.a,sizeof(m.n));五.读程序写结果:(共5小题,每题4分,共20分)1.求带参数的宏代换#includestdio.h//结果为:(8)#defineN4#defineS(x)N*x*xmain(){inta=1,b=2;printf(“%d\n“,S(a+b));}2.求程序输出的结果。#includestdio.h//输出结果为(2)main(){inti,j=0,n=8,p=0,a[8]={10,3,6,5,4,7,2,8};for(i=0;in;i++)if(a[i]a[p])p=i;printf(%d,a[p]);}3.求函数输出的值。intd=1;fun(intp){intd=5;d+=p++;printf(“%d”,d);}main(){inta=3;fun(a);d+=a++;3printf(“%d\n”,d);}4.阅读共用体程序,写出输出结果。#includestdio.h//输出结果为(16961)main(){union{chari[2];shortintk;}a;a.i[0]=’A’;a.i[1]=‘B’;printf(“%d\n”,a.k);}5.已知文件file.dat中存放文本”Hello!”,执行程序后file.dat中存放的文本为(abc)。#includestdio.hmain(){FILE*fp;fp=fopen(file.dat,w)fprint(fp,“abc”);fclose(fp);}六、编程题(共5小题,每题4分,共20分)1、已知半径r=4;试编程求圆的面积。#includestdio.h运行结果:()#definePI3.1415926intmain(){floatr=4;doubles,;s=PI*r*r;printf(s=%f,s,);}2、从键盘输入一个字符,试判断该字符是数字number、大写字母Upper或小写字母Litter。#includestdio.hmain(){charch;ch=getchar()){if(ch=’0’&&ch=’9’)printf(“number”);if(ch=’A’&&ch=’Z’)printf(“Upper”);if(ch=’a’&&ch=’z’)printf(“Litter”);}printf(“\n”);}3、试编程输出如下的字符图形。*#includestdio.h***main()*****{inti,j,n=5;*******for(i=0;in;i++)*********{for(j=0;j9-i;j++)printf();for(j=0;j2*i+1;j++)printf(*);printf(\n);}}4、将两个两位数的正整数a,b合并形成一个整数放在c中,请编写函数fun。合并的方法是:将a数的十位数和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。(例如,a=45,b=12,调用该函数后,c=1425。)includestdio.h#includeconio.hvoidfun(inta,intb,long*c){*c=(b/10)*10000+(a/10)*100+b%10)*10+a%10;}main(){inta,b;longc;clrscr()4printf(“Inputa,b:”);scanf(%d%d”,&a,&b”);fun(a,b,&c);ptintf(“Theresultis:%ld\n”,c);}5、试编写显示命令行上所有命令和参数的程序。例如:输入FILEBEIJINGWUHANGUANGZOU则输出BEIJINGWUHANGUANGZOU。解:用带参数的主函数编制程序如下:#includestdio.hintmain(intargc,int*argv[]){inti=0;while(argc){++i;printf(%s\n,argv[i]);--argc;}}
本文标题:C语言考试题A卷解答
链接地址:https://www.777doc.com/doc-2908477 .html