




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言考试考试复习题C语言考试考试复习题C语言考试考试复习题V:1.0精细整理,仅供参考C语言考试考试复习题日期:20xx年X月一、判断下列问题描述及语句正确与否,正确的打“√”。1.C的关键字都是小写的。(√)2、C语言规定:在一个源程序中,main函数的位置必须在最开始。(×)3.一个复合语句是作为一个语句处理的且在逻辑上相互关联的一组语句。(√)4、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。(√)5、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为静态存储。(×)6.#definePI=3.14159(×)7、C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。(×)8.局部变量在进入代码块时生成,退出代码块时消失。(√)9、在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。(×)10.inta=123456;(×)11、C语言程序的基本单位是语句。(×)12.函数可以嵌套定义,也可嵌套调用。(×)13.switch与if不同,switch只能测试是否相等,而if中还能测试关系和逻辑表达式。(√)14.break和continue语句都可用于选择结构和循环结构中。(×)二、单项选择题:1、假设已定义chara[10]和char*p=a,下面的赋值语句中,正确的是:(C)A)a[10]=”TurboC”;B)a=”TurboC”;C)*p=”TurboC”;D)p=”TurboC”;2.C语言中基本数据类型包括(B)。A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、实型3、下面关于运算符优先顺序的描述中正确的是:(C)A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符4.已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量a的值是(A)。6B.12C.30D.365、以下正确的描述是。(B)A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句6.C语言中规定函数的返回值的类型是由(D)。return语句中的表达式类型所决定调用该函数时的主调用函数类型所决定调用该函数时系统临时决定在定义该函数时所指定的函数类型所决定7、用8位无符号二进制数能表示的最大十进制数为(C)A)127B)128C)255D)8.不能进行++和--运算的数据类型是(B)。A.指针B.doubleC.intD.long 9、下列叙述中正确的是:(D)C语言中既有逻辑类型也有集合类型C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型10.为了判断两个字符串s1和s2是否相等,应当使用(D)。A.if(s1==s2)B.if(s1=s2)C.if(strcpy(s1,s2))Dif(strcmp(s1,s2))11、以下对C语言函数的有关描述中,正确的是:(A)A)调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B)函数既可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)程序中有调用关系的所有函数必须放在同一个源程序文件中12.若有以下说明和语句:structstu{intno;char*name;}student,*p=&student;则以下引用方法不正确的是(D)。A.student.noB.(*p).noC.p->noD.student->no13、在C语言中,不正确的int类型的常数是:(A)A)32768B)0C)037D)14.以下不是死循环的语句为(D)。for(;;x+=k);while(1){x++};for(k=10;;k――)sum+=k;for(;(c=getchar())!=’\n’;)printf(“%c”,c);15、以下叙述中不正确的是:(D)A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效16.以下错误的描述是(D)。A.不同的函数中可以使用相同的变量名B.形式参数是局部变量C.一个函数内部定义的变量只能在本函数范围内有效D.17、以下说法中正确的是:(D)A)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句18.若用数组名作为函数调用时实参,则实际上传递给形参的是(A)。A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数19、若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下正确的叙述是:(B)A)以下两处的*p含义相同,都说明给指针变量p赋值B)在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元C)语句“*p=r;”把变量r的地址值赋给指针变量pD)语句“*p=r;”取变量r的值放回r中20.已知inta,*p=&a;a(A)。A.*&pB.*pC.p[0]D.*&a三、填空题:1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间用空格分开。请填空完成。#include<stdio.h>main(){charstr[81];intI,num=0,word=0;charc;gats(str);for(I=0;c=str[I]!=‘\0’;I++)if(c==‘’)word=0;elseifword==0{word=1;num++;}printf(“Thereare%dwordinline.\n”,num);}2.已知int*p,a;则语句p=&a;中的运算符&的含义是将变量a的地址存入指针变量p中。3、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。voidsort(inta[],intn){intI,j,k,t;for(I=0;I<n-1;I++){k=I;for(j=I+1;j<n;j++)if(a[j]<a[k])k=j;if(k!=I){t=a[k];a[k]=a[I];a[I]=t;}}}main(){intb[10],I;printf(“enterthearray\n”);for(I=0;I<10;I++)scanf(“%d”.&b[I]);sort(b,10);printf(“thesortedarray:\n”);for(I=0;I<10;I++)printf(“%d”,b[I]);printf(“\n”);}4.凡在函数体内没有明显存储类别说明的变量是自动变量。5、判断m是否是素数#include<math.h>main(){intm,i,k;scanf(“%d”,&m);k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)printf(“%disaprimenumber\n”,m);elseprintf(“%disnotaprimenumber\n”,m);}6.已知:struct{intk;charc;floata;}test;则sizeof(test)的值是7。7、假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时,求工业产值分别经过多少年可实现翻番。请填空完成。main(){inty[4],I;floats[4]={100,100,100,100},c[4]={0.06,0.08,0.10,0.12};clrscr();for(i=0;i<4;i++){y[i]=0;while(s[i]<=200){s[i]=s[i]*(1+c[i]);y[i]++;}printf("\ny=%d\ts=%.2f\tc=%.2f",y[i],s[i],c[i]);}}8.已知i=3,执行语句k=(i++)+(i++)+(i++)后,k的值为9。9.当a=3,b=2,c=1时,表达式f=a>b>c的值是0。10.设有以下程序:#include<stdio.h>main(){charc;while((c=getchar())!=’’)putchar(--c);}程序运行时,如果从键盘上输入:YN↙,则输出的结果是X。11.当接收用户输入的含空格的字符串时,应使用的函数是gets()。12.在定义“inta[5][6]”后,第十一个元素是a[1][4]。13.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空st=(char*)*maclloc(11)。14.把名为file的文件拷贝到新文件new.dat中,请填空将程序补充完整.#include<stdio.h>main(){intc;FILE*fp2,*fp2;p1=fopen(“file”,r);p2=fopen(“new.dat”,w);c=fgetc(p1);while(c!=EOF){fputc(c,p2);c=fgetc(p1);}fclose(p1);fclose(p2);}}四、读程序,写出运行结果:1、main(){intx=10,y=10,I;for(I=0;I>8;y=++I)printf(“%d%d”,x--,y);}运行结果:1010912、main(){intm=37,n=13;while(m!=n){while(m>n)m=m-n;while(n>m)n-=m;}printf(“m=%d\n”,m);}运行结果:m=13、main(){intx=9;for(;x>0;x--){if(x%3==0){printf(“%d”,--x);continue;}}}运行结果:8524、main(){inta=7,b=2;floatx=2.5,y=4.7,z;z=x+a%3*(int)(x+y)%2/4;printf(“%f\n”,z);z=(a+b)/2+(int)x%(int)y;printf(“%f”,z);}运行结果:2.5000006.0000005.main() {inta=5,b=4,x,y;x=a++*a++*a++;printf(“a=%d,x=%d\n”,a,x);y=――b*――b*――b;printf(“b=%d,y=%d\n”,b,y);}运行结果:a=8,x=125b=1,y=16.#include<stdio.h> main(){structs1{charc[4],*s;}s1={“abc”,“def”};structs2{char*cp;structs1ss1;}s2={“ghi”,{“jkl”,“mno”}};printf(“%c%c\n”,s1.c[0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度老房子二手房买卖中介服务协议
- 二零二五年度精密仪器吊装作业安全协议
- 2025年度石灰行业安全生产风险管控合同
- 二零二五年度安全生产免责协议书模板
- 2025年度海外人文与社会科学留学合同
- 二零二五年度集体劳动合同在文化创意产业中的实践
- 二零二五年度公司员工绿色环保项目借款协议
- 二零二五年度租赁地产租赁合同终止条件合同
- 2025年度股票代持业务合作协议书
- 二零二五年度旅游度假区物业管理权交接书
- 伤口(压疮)的评估与记录
- 煤矿机电运输类台账(各种记录汇编)
- 风电场道路及平台施工组织方案
- 《道德与法治》五年级下册全册教案
- 毕业设计(论文)3000t自由锻液压机本体设计
- 危险化学品从业单位安全生产标准化宣贯
- 风力发电机组PLC系统
- Zabbix监控系统方案
- 中国成人医院获得性肺炎与呼吸机相关性 肺炎诊断和治疗指南
- 人教版小学六年级数学下册教材研说
- 四年级下册英语教案_Lesson 2 Is this your pencil?|冀教版
评论
0/150
提交评论