版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试题型一、单项选择题(30分)二、填空题(20分)三、阅读程序写结果(20分四、编程序题(30)复习题一一、选择题下列说法中正确的是。C语言程序由主函数和0个或多个函数组成C语言程序由主程序和子程序组成C语言程序由子程序组成C语言程序由过程组成TOC\o"1-5"\h\z执行语句"x=(a=3,b=a—)"后,x,a,b的值依次为。3,3,2B.3,2,2C.3,2,3D.2,3,2设有inti=010,j=10;则printf("%d,%d\n",++i,j—);的输出的是。11,10B.9,10C.010,9D.10,9设a、b为字符型变量,执行scanf("a=%c,b=%c",&a,&b);后使a为'A',b为’B',从键盘上的正确输入是。'A''B'B.'A','B'C.A=A,B=BD.a=A,b=B已知intx=12,y=3;执行下述程序后,变量x的值是。do{x/=y--;}while(x>y);1B.2C.3D.程序运行有错误C语言中while和do-while循环的主要区别是。do-while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件严格do-while允许从外部转到循环体内do-while的循环体不能是复合语句设x和y均为int型变量,则执行下面的循环后,y的值为—。for(y=1,x=1;y<=50;y++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}A.2B.4C.6D.8以下正确的说法是。用户若需调用标准函数,调用前必须重新定义用户可以重新定义标准库函数,若如此,该函数将失去原有含义系统根本不允许用户重新定义标准函数用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是一_。没有返回值能返回若干个系统默认值C.能返回一个用户所希望的函数值D.返回一个不确定的值10.已知函数定义如下:floatfun1(intx,inty){floatz;z=(float)x/y;return(z);}主调函数中有inta=1,b=0;可以正确调用此函数的语句是。A.printf("%f",fun1(a,b));B.printf("%f",fun1(&a,&b));C.printf("%f",fun1(*a,*b));D.printf("%f",fun1(b,a));宏定义:#definePI中,宏名PI代替。A.单精度B.双精度C.常量D.字符串若有以下数组说明,则数值最小和最大的元素下标分别是—。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,12以下合法的数组定义是。A.inta[3][]={0,1,2,3,4,5};B.inta[][3]={0,1,2,3,4};inta[2][3]={0,1,2,3,4,5,6};D.inta[2][3]={0,1,2,3,4,5,};函数调用:strcat(strcpy(str1,str2),str3);的功能是。将字符串str1复制到字符串str2中后再连接到字符串str3之后。将字符串str1连接到字符串str2之后再复制到字符串str3之后。将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后。将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中。设有二维数组定义如下,则不正确的数组元素引用是—。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};A.a[2][3]B.a[a[0][0]][1]C.a[7]D.a[2][‘c'-‘a']若用数组名作为函数调用时的实参,则实际上传递给形参的是—。A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数以下对指针变量进行操作的语句,正确的选项是。A.int*p,*q;q=p;B.inta,*p,*q;q=&a;p=*q;C.inta=b=0,*p;p=&a;b=*p;D.inta=20,*p,*q=&a;p=q;若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是。A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3当说明一个共用体变量时系统分配给它的存储容量是。共用体中最后一个成员所需的存储容量共用体中第一个成员所需的存储容量成员中占存储量最大者所需的存储容量各成员所需存储容量的总和有定义如下:structstudent{intage;charnum[8];}stu[3]={{20,"200401"},{21,"200402"},{10,"200403"}};structstudent*p=stu;以下选项中引用结构体变量成员的表达式错误的是。A.(p++)->numB.p->numC.(*p).numD.stu[3].age二、填空题设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。若w,x,y,z,m均为int型变量,则执行下面程序段后的m值是.w=1;x=2;y=3;z=4;m=(w<y)?w:x;m=(m<y)?m:y;m=(m<z)?m:Z;下面程序的输出结果是。#include<>main(){inta=1,b=0;do{switch(a){case1:b=1;break;case2:b=2;break;default:b=0;}b=a+b;}while(!b);printf("a=%d,b=%d",a,b);}下面程序的输出结果是。#include<>main(){intx,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d",x);}}下面程序的输出结果是#include<>intfunc(inta,intb){intc;c=a+b;return(c);}voidmain(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n",r);}6.下面程序的输出结果是。#include<>voidmain(){intx=1;voidf1(),f2();f1();f2(x);printf("%d\n",x);}voidf1(void){intx=3;printf("%d",x);}voidf2(x)intx;{printf("%d",++x);}7.程序中有定义:#defineS(r)r/rinta=4,b=3,area;则表达式area=S(a+b)的值为。三、程序完善题以下程序的功能是计算分段函数y的值。请完善程序。#include<>voidmain(){intx,c,m;floaty;scanf(“%d”,&x);if((1))c=-1;elsec=⑵;switch(c){case-1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=*x+20;break;default:y=-2;}if(—(3)_)printf(“y=%f”,y);elseprintf(“error\n”);}2.有以下程序段:s=;for(k=1;k<=n;k++)s=s+(k*(k+1));printf("%f\n",s);填空完成下述程序,使之与上述程序的功能完全相同。s=;(1);k=0;do{s=s+d;(2);d=(k*(k+1));}while((3));printf("%f\n",s);3.根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。(假设score的取值在1〜100之间。if语句:if(score<60)k=1;elseif(score<70)k=2;elseif(score<80)k=3;elseif(score<90)k=4;elseif(score<=100)k=5;switch语句:switch((1)){(2):k=1;break;case6:k=2;break;case7:k=3;break;case8:k=4;break;(3):k=5;}4.输入2个整数,输出它们的最小公倍数和最大公约数。请完善程序。#include<>voidmain(){intm,n,gbs,gys;scanf((1));for(gbs=m;(2)_;gbs=gbs+m);gys=(3)——;printf(“gbs=%d\tgys=%d\n”,gbs,gys);}5.下面函数的功能是判断一个数是否为素数。请完善程序。voidf(intm){intm,i,k;k=__(1)__;for(i=2;i〈=_(2)_;i++)if((3))break;if(一M__)printf(“是素数”);elseprintf("非素数”);}6.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。请完善程序。voidfun(longx){longge,shi,qian,wan;wan=(1);qian=__U21_;shi=_(3)_;ge=x%10;if(__(4)__)printf("thisnumberisahuiwen\n");elseprintf("thisnumberisnotahuiwen\n");}四、程序设计题编写程序计算分段函数y值。2.编写程序,输入一个字符串,求该字符串的有效长度。要求不能使用系统函数。3.编写程序实现,将键盘输入的一个十进制整数转换为2进制数并输出。参考答案:一、选择题12345678910
ACBDDACBAD11121314151617181920DBBCCACCCD二、填空题1、13、a=1b=225675、213217、702、41、13、a=1b=225675、213217、702、4、6、三、程序完善题1、d=1k++k<=nscore/10case012345"default“%d%d”&m&ngbs%n!=0m*n/gbsm/2km%i==0i<=kx/10x<0x<402、3、4、5、6、x/10000(x%10000)/1000(x%100)/10wan==ge&&qian=shi四、程序设计题1、#include<>voidmain(){floatx,y;scanf(“%f”,&x);if(x>0)y=exp(-x);elseif(x==0)y=1;elsey=-exp(x);printf(“%f”,y);}2、#definemax20;voidmain(){charstr[max];intlen;scanf(“%s”,str);for(len=0;str[len]!=0;len++)printf(“%d”,len);}3、#include<>voidmain(){unsignedn;charstr[10],t;intk,i,j;printf(“pleaseinput:”);scanf(“%u”,&n);for(i=0;n!0;i++){str[i]=n%2+'0';n/=2;}str[i]='\0';printf(“theresultis:”);for(k=0,j=i-1;k<j;k++,j--){t=str[k];str[k]=str[j];str[j]=t;}puts(str);}复习题二一、选择题TOC\o"1-5"\h\z字符串"ABC"在内存占用的字节数是。A.3B.4C.6D.8设整型变量m,n,a,b,c,d均为0执行(m=a==b)||(n=c==d)后,m和n的值是。0,0B.0,1C.1,0D.1,1a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的。scanf("%d,%c",&a,&c);B.scanf("%d%c",a,c);C.scanf("%d%c",&a,&c);D.scanf("d=%d,c=%c",&a,&c);4•字符变量ch='A',int类型变量k=25,执行printf("%3d,%d3\n",ch,k);的输出为:65,253B.65253C.65,25D.A255•已知inti=1,j=0;执行下面语句后j的值是。while(i)switch(i){case1:i+=1;j++;break;case2:i+=2;j++;break;case3:i+=3;j++;break;default:i--;j++;break;1B.2C.3D.死循环C语言中while和do-while循环的主要区别是。do-while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件严格do-while允许从外部转到循环体内do-while的循环体不能是复合语句设x和y均为int型变量,则执行下面的循环后,y的值为—。for(y=1,x=1;y<=50;y++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}A.2B.4C.6D.8在C语言中,函数的数据类型是指—。A.函数返回值的数据类型B.函数形参的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型在C语言中以下不正确的说法是—〜。实参可以是常量、变量或表达式形参可以是常量'变量或表达式实参可以为任意类型形参应与其对应的实参类型一致已知函数定义如下:floatfun1(intx,inty){floatz;z=(float)x/y;return(z);}主调函数中有inta=1,b=0;可以正确调用此函数的语句是。A.printf("%f",fun1(a,b));B.printf("%f",fun1(&a,&b));C.printf("%f",fun1(*a,*b));D.printf("%f",fun1(b,a));宏定义的宏展开是在阶段完成的。A.第一遍编译B.第二遍编译C.程序执行D.预编译若有以下数组说明,则数值最小和最大的元素下标分别是—。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,12以下合法的数组定义是。A.inta[3][]={0,1,2,3,4,5};B.inta[][3]={0,1,2,3,4};C.inta[2][3]={0,1,2,3,4,5,6};D.inta[2][3]={0,1,2,3,4,5,};函数调用:strcat(strcpy(str1,str2),str3);的功能是。将字符串strl复制到字符串str2中后再连接到字符串str3之后。将字符串strl连接到字符串str2之后再复制到字符串str3之后。将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后。将字符串str2连接到字符串strl之后再将字符串strl复制到字符串str3中。设有二维数组定义如下,则不正确的数组元素引用是—。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};A.a[2][3]B.a[a[0][0]][1]C.a[7]D.a[2][‘c'-‘a']若用数组名作为函数调用时的实参,则实际上传递给形参的是—。A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数以下对指针变量进行操作的语句,正确的选项是。A.int*p,*q;q=p;B.inta,*p,*q;q=&a;p=*q;C.inta=b=0,*p;p=&a;b=*p;D.inta=20,*p,*q=&a;p=q;若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是。A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3当说明一个结构体变量时,系统分配给它的存储容量是—。结构体中最后一个成员所需的存储容量结构体中第一个成员所需的存储容量成员中占存储量最大者所需的存储容量各成员所需存储容量的总和有定义如下:structsk{inta;floatb;}data,*p;如果有:P=&data;则对于结构体变量data的成员a的正确引用是_____A.(*p).B.(*p).aC.p->D.二、填空题TOC\o"1-5"\h\z设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。设x和y均为int型变量,且x=1,y=2,则表达式+x/y的值为。以下程序段的输出结果是。inta=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);以下程序的输出结果是。#include<>voidmain(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}下面程序的输出结果是。#include<>intfunc(inta,intb){intc;c=a+b;return(c);}voidmain(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n",r);}6.下面程序的输出结果是。#include<>voidmain(){intx=1;voidf1(),f2();f1();f2(x);printf("%d\n",x);}voidf1(void){intx=3;printf("%d",x);}voidf2(x)intx;{printf("%d",++x);}7.以程序的输出结果是。#defineMA(x)x*(x-1)#include<>voidmain(){inta=1,b=2;pirntf(“%d\n”,MA(1+a+b));}三、程序完善题1-下列程序计算并输出方程X2+Y2+Z2=1989的所有整数解。请完善程序。#include<>voidmain(){—(1);for(i=-45;i<=45;i++)for(—)for(k=-45;k<=45;k++)if((3))printf丄“%4d%4d%4d\n”,i,j,k);}2.有以下程序段:s=;for(k=1;k<=n;k++)s=s+(k*(k+1));printf("%f\n",s);填空完成下述程序,使之与上述程序的功能完全相同。s=;(1);k=0;do{s=s+d;(2);d=(k*(k+1));}while(—(3)—);printf("%f\n",s);根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。(假设score的取值在1〜100之间。if语句:if(score〈60)k=1;elseif(score<70)k=2;elseif(score<80)k=3;elseif(score<90)k=4;elseif(score<=100)k=5;switch语句:switch((1)){case0,1,2,3,4,5:k=1;break;(2):k=2;break;case7:k=3;break;(1):k=4;break;default:k=5;}输入2个整数,输出它们的最小公倍数和最大公约数。请完善程序。#include<>voidmain(){intm,n,gbs,gys;scanf((1));for(gbs=m;(2)—;gbs=gbs+m);gys=(3)——;printf(“gbs=%d\tgys=%d\n”,gbs,gys);}下面函数的功能是判断一个数是否为素数。请完善程序。voidf(intm){intm,i,k;k=__(1)__;for(i=2;i〈=_(2!_;i++)if(⑶)break;if(一M__)printf(“是素数”);elseprintf(“非素数”);}6.用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。请完善程序。#include""voidmain(){intn;printf("Inputn:");scanf("%d",(1));r(n);printf("\n");}voidr(intm){printf("%d",⑵);m=⑶;if((4))r(m);}四、程序设计题100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大'中、小马的数目。编写程序,输入10个整数存入一个一维数组中,再按逆序重新存放后输出。从键盘输入4个学生数据信息(包括姓名学号年龄住址),把他们转存到磁盘文件中。.参考答案:一'选择题12345678910BCBADACABD11121314151617181920DBBCCACCDB二'填空题1'102'3'a=10b=30c=10
4、25、216、3217、8三、程序完善题1、inti,j,kj=45;j<=45;j++x*x+y*y+z*z=19892、d=1k++k〈二n3、sccre/10case6case84、“%d%d”,&m,&ngbs%n!=0m*n/gbs5、m/2km%i==0i<=k6、&nm%10m/10m>0四、程序设计题1、#include<>Voidmain(){intbig,mid;for(big=0;big<=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年双鸭山市尖山区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年湖南省岳阳市政务服务中心(窗口人员)招聘考试参考题库及答案详解
- 2026年辽宁省沈阳市政务服务中心(窗口人员)招聘笔试备考试题及答案详解
- 2026年西安市临潼区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年宁夏回族自治区中卫市政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 铝合金模板系统项目可行性研究报告
- 2026年营口市西市区政务服务中心(窗口人员)招聘笔试参考试题及答案详解
- 2026年宁波市北仑区工会人员招聘笔试模拟试题及答案详解
- 2026年上海市松江区政务服务中心(窗口人员)招聘笔试备考题库及答案详解
- 2026年内蒙古自治区政务服务中心(窗口人员)招聘考试模拟试题及答案详解
- AS9100D 航空航天质量管理体系培训课件
- 电解锰渣处理项目可行性研究报告
- 2026年公务经费报销规范专项培训试题及参考答案
- (2026年)护理不良事件报告及管理制度
- 网络传播概论(第5版)全套教学课件(完整版)
- 邮储银行保定市分行2026秋招笔试综合模拟题及答案
- 卷扬机设备维护与使用说明书
- 劳务队安全生产管理制度
- 装机安全生产管理制度
- 2025中远海运物流所属宁波外代新华国际货运有限公司招聘1人(浙江)笔试历年参考题库附带答案详解
- 2026华能南方分公司所属基层企业高校毕业生招聘笔试参考试题附答案解析
评论
0/150
提交评论