版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
------------------------------------------第------------------------------------------第----------------------------2----------------------------装---------------------------------------线---------------------------------------------班级姓名学号------------------------------------------第----------------------------1----------------------------装---------------------------------------线--------------------------------------------得分阅卷人复核人一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内(每小题1分,共计30分)。1.一个C语言程序的执行是从()。A)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B)本程序的main函数开始,到main函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序的main函数结束2.下列选项中不属于C语言关键字的是()。A)switch B)printf C)default D)case3.设有语句inta=4;,则执行了语句a+=a-=a*a;后,变量a的值是()。A)24 B)-24 C)4 D)164.已知inti;floatd;,则正确的表达式是()。A)(intd)B)int(d)%iC)(int)d%iD)int(d%i)5.已知inti,a;,执行语句i=(a=3*9,a/5),a+11;后,变量i的值是()。A)5 B)16 C)27 D)386.下列选项中合法的字符型常量是()。A)"a" B)'\n' C)"\n"D)a7.下面程序的运行结果是()。#include<stdio.h>voidmain(){intk=15;printf("k=%d,k=%o,k=%x\n",k,k,k);}A)k=15,k=15,k=15B)k=15,k=17,k=17C)k=15,k=017,k=0xfD)k=15,k=17,k=f8.已知a,b,c为int类型,执行语句:scanf("%d%d%d",&a,&b,&c);使得a为10,b为20,c为30,以下不正确的输入形式是()。A)10B)10C)10,20,30D)102020203030309.已知intx=1,y=2,z=3;,执行下列程序段后,输出的结果是()。if(x>y)z=x;x=y;y=z;printf("%d,%d,%d",x,y,z);A)1,2,3 B)2,3,3 C)2,3,1 D)2,3,210.若变量c为char类型,能正确判断出c为大写字母的表达式是()。A)'A'<=c<='Z'B)('A'<=c)||(c<='Z')C)(A<=c)&&(c<=Z) D)('A'<=c)&&(c<='Z')11.有以下程序段:intk=0;while(k=1)k++;while循环执行的次数是()。A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次12.以下程序的输出结果是()。voidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++; case2:a++;b++;}printf("a=%d,b=%d",a,b);}A)a=1,b=0 B)a=1,b=1 C)a=2,b=1 D)a=2,b=213.若有定义inti=1;,执行语句while(i<10)i++;后,i的值为()。A)9 B)10 C)11 D)1214.有说明语句inta[]={1,2,3,4,5};,则数组a包括了()个元素。A)10 B)5 C)6 D)不确定15.以下程序段执行后,输出结果是()。charstr[]="abc\n\012\\\n";printf("%d",strlen(str));A)5B)6C)7D)1316.若有以下定义:float?t[5][4];,能正确引用t数组元素的表达式是()。A)t[1][4]?? B)t[5][0]?? C)t[0][0]?? D)t[0,0]17.执行下列程序段:inti,s=0;inta[][3]={{1,2},{3,4},{5,6}};for(i=0;i<3;i++)s=s+a[i][i];则s的值是()。A)5 B)6 C)12 D)2118.下述对字符数组的描述中,错误的是()。A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较19.设有宏定义#defineY(x)(x)+2,则下面程序段的运行结果是()。inta=2,b=2,c=1;printf("%d\n",a*Y(b+c));A)7 B)8 C)9 D)1020.若用数组名作为函数调用的实参,传递给形参的是()。A)数组的长度 B)数组第一个元素的值C)数组中全部元素的值 D)数组的首地址21.下面叙述中,不正确的是()。A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效22.若在程序中定义了以下函数:floatmax(floata,floatb){return(a>b?a:b);}并将其放在主调函数之后,则在调用之前应该对该函数进行声明,以下选项中错误的声明是()。A)floatmax(floata,b);B)floatmax(float,float);C)floatmax(floata,floatb);D)floatmax(floatx,floaty);23.要使函数体内的某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,该变量的存储类型应是()。A)autoB)externC)staticD)register24.类型相同的两个指针变量之间不能进行的运算是()。A)+ B)- C)= D)==25.若有说明语句:inti,x[3][4];,则不能将x[1][1]的值赋值给变量i的语句是()。A)i=*(*(x+1)+1); B)i=x[1][1]; C)i=*(*(x+1)); D)i=*(x[1]+1);26.有如下程序段:inta[6]={1,2,3,4,5,6};intm,*ptr;ptr=&a[0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));执行该程序段后,m的值为()。A)15 B)48 C)24 D)827.设有定义:enumteam{my,your=4,his,her=his+10};则枚举元素my、your、his、her的值分别是()。A)0123 B)04010 C)04515 D)1451528.下面程序的运行结果是()。unionmyun{ struct {intx,y,z;}u; intk;}a;voidmain(){ a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B)0 C)5 D)629.表达式11&18的值是()。A)0 B)1 C)2 D)2730.当顺利执行了文件关闭操作后,fclose函数的返回值是()。A)0 B)true C)-1 D)1得分阅卷人复核人二、填空题(每小题2分,共计20分)。1.C语言源程序编译后生成程序,然后经过连接生成可执行程序。2.实型常量有两种表示方法:小数形式和。3.rewind函数的功能是。4.若ch是字符型变量,与ch=getchar();功能相同的语句是。5.以下程序段要使指针变量p指向一个整型的动态存储单元,请填空。int*p;p=malloc(sizeof(int));6.已知:int*p,a=2,b=1;,则执行程序段p=&a;a=*p+b;后,a的值为。7.已知:intx=1,y=2,z;,则执行z=x>y?++x:++y;后,z的值为。8.当执行下面程序且输入:ABC<回车>时,输出的结果是。#include<stdio.h>voidmain() {charss[10]="12345"; gets(ss);printf(“%s\n”,ss);}9.下面程序的功能是用函数的递归调用求n!(n≥1),请填空。floatf(intn){if(n==1)return(1);elsereturn();}voidmain(){ intn; scanf("%d",&n); printf("%.0f\n",f(n));}10.以下程序执行后的输出结果是。voidmain() {inta=3,b=1,t; t=(a<<2)|b; printf("%d\n",t); }得分阅卷人复核人三、程序阅读题(每小题4分,共计20分)。1.以下程序执行后的输出结果是。#include<stdio.h>voidmain(){ inti; for(i=1;i<5;i++)putchar(‘#’); }2.以下程序执行后的输出结果是。voidmain(){ intarr[10]={-1,2,3,4,-5,6,7,-8,9,0},i,k=0; for(i=0;i<10;i++) if(arr[i]<0)k++; printf("%d\n",k);}3.以下程序执行后的输出结果是。voidfun(inta[10]){inti,j,t;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}voidmain(){inti;inta[10]={4,3,5,1,0,8,2,6,7,9};fun(a);for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");}4.以下程序执行后的输出结果是。#include<stdio.h>structstu{ intx; int*y;}*p;inta[2]={10,20};structstuaa[2]={150,&a[0],250,&a[1]};voidmain(){p=aa; printf("%d\n",(++p)->x);}5.以下程序执行后的输出结果是。voidswap(int*p1,int*p2){ intk; k=*p1;*p1=*p2;*p2=k;}voidmain(){ inta=3,b=6,*x=&a,*y=&b; swap(x,y); printf("%d,%d\n",*x,*y);}得分阅卷人复核人四、程序改错题(共2小题,每正确修改一处错误得2分,共计10分)。注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果。1.下列程序的功能是计算数列1,3,5,…,2n-1,…的前n项之和,其中n由键盘输入。voidmain(){ints=0,n,i=1;scanf("%d",n);/*1)该行有错误*/do{s=s+i;i=i+2;}while(i>2*n-1);/*2)该行有错误*/printf("s=%d\n",s);} 2.下列给定的程序中,函数average的功能是:求10个数的平均值。#include<stdio.h>floataverage(float*array){inti;floataver,sum;/*1)该行有错误*/for(i=0;i<10;i++) sum=array[i];/*2)该行有错误*/aver=sum/10;return(aver);}voidmain(){floatdata[10],aver;inti;printf("Pleaseinput10data:\n");for(i=0;i<10;i++) scanf("%f",&data[i]);aver=average(data[0]);/*3)该行有错误*/printf("averegedatais%5.2f\n",aver);}得分阅卷人复核人五、程序设计题(共3小题,第1小题6分,第2、3小题各7分,共20分)。1.输入x,计算并输出下列分段函数y的值(结果保留2位小数)。2.在一个已排序的整型数组(设从小到大)中,插入一个整数,使之仍然有序(要求数组中原有的10个整数从键盘按顺序输入)。3.请先编写一个函数concat(charstr1[],charstr2[]),实现两个字符串的连接(注意不要用strcat函数);再编写一个main()函数进行测试:在主函数中输入两个字符串,然后调用concat函数,最后将连接后的字符串输出。参考答案一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内(每小题1分,共30分,错选、漏选、多选均不得分)。12345678910BBBCABDCBD11121314151617181920ACBBCCACBD21222324252627282930DACACACBCA得分阅卷人复核人二、填空题(每小题2分,共20分,错填、漏填均不得分)。题号12345答案目标指数形式使文件的位置指针返回到文件头scanf(“%c”,&ch);(int*)题号678910答案33ABCn*f(n-1)13得分阅卷人复核人三、程序阅读题(每小题4分,共20分)题号12345答案####301234567892506,3说明:对于程序阅读题,如果该题考生所给出的答案仅仅是书写格式上的错误,没有其它方面错误,扣1分,否则该题不得分。得分阅卷人复核人四、程序改错题(共2小题,每正确修改一处错误得2分,共计10分)。注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果。1)scanf("%d",&n);2)while(i<=2*n-1);1)floataver,sum=0;2)sum=sum+array[i];(或者改为sum+=array[i];、sum=sum+*(array+i);、sum+=*(array+i);sum=sum+(*(array+i));也正确)3)aver=average(data);(或者改为aver=average(&data[0]);也正确)得分阅卷人复核人五、程序设计题(共3小题,第1小题6分,第2、3小题各7分,共20分)评分总则:若考生给出的程序语法正确,符合要求,能够实现具体功能,即可得满分;若程序存在错误,不能得出正确结果,阅卷教师酌情给分,给分方法参考下列评分标准。1)源程序代码#include<stdio.h>main(){floatx,y;……1分print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 点阵显示课程设计
- 预制柱吊装课程设计
- 电热窑炉课程设计
- 阅读诗词校本课程设计
- 铁塔之光控制课程设计
- 雾霾检测器课程设计
- 高校教师音乐课程设计
- 过量课程设计
- 音乐学院 理论课程设计
- 面包美食课程设计
- 15.5-博物馆管理法律制度(政策与法律法规-第五版)
- 水泥厂钢结构安装工程施工方案
- 2023光明小升初(语文)试卷
- 三年级上册科学说课课件-1.5 水能溶解多少物质|教科版
- GB/T 7588.2-2020电梯制造与安装安全规范第2部分:电梯部件的设计原则、计算和检验
- GB/T 14600-2009电子工业用气体氧化亚氮
- 小学道德与法治学科高级(一级)教师职称考试试题(有答案)
- 河北省承德市各县区乡镇行政村村庄村名居民村民委员会明细
- 实用性阅读与交流任务群设计思路与教学建议
- 应急柜检查表
- 通风设施标准
评论
0/150
提交评论