




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言上机考试试题-32008.1.31一、选择题 ( 评分标准 20 分,每小题2分 )1. 以下选项中可作为C语言合法常量的是_。(A) -80. ( B) -080 (C) -8e1.0 (D) -80.0e2. 以下叙述中正确的是_。(A) 用C程序实现的算法必须要有输入和输出操作(B) 用C程序实现的算法可以没有输出但必须要输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出3. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是_。(A) 数组a和b的长度相同 (B) a数组长度小于b数组长度(C) a数组长度大于b数组长度 (D) 上述说法都不对4. 以下叙述中错误的是_。(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。(D) 可以通过赋初值的方式确定数组元素的个数。5. 以下叙述中正确的是_。(A) 预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字母表示(D) 宏替换不占用程序的运行时间6. 表达式 strlen(”hello”) 的值是_。(A)4 (B)5 (C)6 (D)77. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入_,则a和b的值都是10。(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=108. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是_。(A) feof(fp) (B) ftell(fp) (C) fgetc(fp) (D) rewind(fp)9. 以下语句或语句组中,能正确进行字符串赋值的是_。(A) char *sp=right!; (B) char s10;s=right!; (C) char s10;*s=right!; (D) char *sp;*sp=right!;10. 设变量定义为“int a4;”,则表达式_不符合C语言语法。(A)*a (B)a0 (C)a (D)a+套数号答案31.A 2.C 3.C 4.B 5.D 6.B 7.D 8.D 9.A 10.D二、判断题 ( 评分标准20分,每小题2分)1. 一个C程序的执行是从本程序文件的第一个函数开始,到main函数结束。2. 在C程序中,用整数0表示逻辑值“假”。3. C语言中 while 和 do-while 循环的主要区别是do-while的循环体至少无条件执行一次。4. 设变量定义为char s=“hello”,则数组s中有6个元素。5. 对以下语句的正确理解是将5 个初值依次赋给 a6 到a10。int a10 = 6, 7, 8, 9, 10;6. 若变量已正确定义,表达式x=y=1符合C语言语法。7. 表达式!(x0y0)等价于!(x0&!(y0)。8. C语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间来回传递。9. 在C源程序中将语句“if(x=5) y+;”误写成“if(x=5) y+;”,将导致编译错误。10. fscanf函数的正确调用格式为:fscanf (fp, 格式字符串,输出表列); 。套数号答案21. F 2. T 3. T 4. T 5. F 6. T 7. T 8. F 9. F 10. T三、填空题 ( 评分标准10分,每小题2分)1. 在C语言中,NULL的数值为_。2. 如果定义结构体struct student int id;int age; * s;则如果要表示其成员变量id,可以用_。3. C程序是由函数构成的。其中有并且只能有_个主函数。4. 在内存中存储“A”要占用_个字节。5. 若定义:int a=88,*b=&a;,则printf(%dn,*b);的输出结果为 。第2套(1)0(2)s-id(3)1(4)2(5)88四、程序改错题(评分标准20分,每小题5分)1. 假设该程序输入10个数字:1 2 3 4 5 6 7 8 9 10,则程序运行结果: 1-3-5-7-9-。#include void main() int i; int a10; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) if (ai%2=0) /*$*/ continue; else printf(%d-,ai); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if (ai%2=0) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:该程序输入10个数字:1 2 3 4 5 6 7 8 9 10。程序运行后输出结果为: 1-3-5-7-9-。答案:if(ai%2=0)运行样例1行运行样例1:1 3 2 6 10 20 8 12 5 3 运行结果:1-3-5-3-2. 以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。#include void main()int i, x, y=1;scanf(%d, &x);for(i=2; ix/2; i+) /*$1*/if(x%i=0) y=0; break; printf(%dn,y);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句for(i=2; ix/2; i+) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。答案:for(i=2; i=x/2; i+) 运行样例1行运行样例1:7 运行结果:13. 假设该程序输入两个数据:2 3,程序运行结果为:2。#include stdio.hint *fun(int *a,int *b)int m;m=*a;m+=*b-3;return(m); /*$*/void main() int x,y;int *a=&x,*b=&y;int *k;scanf(%d%d,&x,&y);k=fun(a,b);printf(%dn,*k);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句return(m); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:假设该程序输入两个数据:2 3,则程序运行结果为:2。答案:return(&m); 运行样例1行运行样例1:5 4 运行结果:6 4. 本程序功能:实现对字符数组的倒序。输入字符串:hg25DA, 输出结果: str now is AD52gh #include #include #include int main()char str50 ; int length = strlen(str); char * p1 = str;char * p2;scanf(%s,str);length = strlen(str);p2 = str + length; /*$*/ while(p1 p2) char c = *p1; *p1 = *p2; *p2 = c; +p1; -p2; printf(str now is :%sn,str); return 0;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句p2 = str + length; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:实现字符串的逆转功能。例如:该程序输入:hg25DA,程序输出结果: str now is:AD52gh 答案: p2 = str + length 1; 运行样例1行运行样例1:SH87ch 运行结果:str now is:hc78HS五、程序填空(评分标准10分,每小题5分)1. 阅读以下程序,假设输入为it6y7hh9e,请写出运行后的结果。#include #include #include void f(char *s) int i=0; while(si!=0) if(isdigit(si) /*$*/ else i+;void main() char str80; gets(str); f(str); puts(str);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:删除字符串中的数字字符。这里用到isdigit()函数,所以需要在前加 #include 。答案:strcpy (s+i,s+i+1);运行样例1行运行样例1:i52love89y793ou 运行结果:iloveyou2. 以下程序对test.txt进行读操作,并将读出的文本输出到屏幕上。#include #include void main() FILE *fp; char ch; fp = fopen(test.txt, r); if (fp = NULL) printf(can not open testn); exit(0); ch = fgetc(fp); while(/ *$* /) putchar(ch);ch = fgetc(fp); fclose(fp);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能对test.txt进行读操作,并将读出的文本输出到屏幕上。答案:ch != EOF运行样例1行运行结果1:hello,welcome to the world of C!六、程序设计(评分标准20分,每小题10分) 1. 编制函数,其功能是在float类型一维数组(5个元素)中查找最大值、最小值,并将它们返回到调用程序,并输出,一维数组的数值要求在主函数中输入。参考答案: #include #include void find(float num,int n,float *min,float *max);void main() float min=1000000.0,max=0,num5;int i; for(i=0;i5;i+) scanf(“%f”,&numi); find(num,5,&min,&max); printf(%.1f %.1f,max,min); getchar();void find(float num,int n,float *min,float *max) int i; for(i=0;in;i+) if(numi*max) *max = numi; 运行样例2行运行样例1:1.5 12.3 42.2 0.7 14.5(输入5个数)运行结果1:42.2 0.7运行样例2:1.2 15.4 83.7 0.1 28.2(输入5个数)运行结果2:83.7 0.12. 某一电脑外设批发店 经营品牌无线键盘鼠标套装。如果成套购买(键盘+鼠标),一次买的数量多于50套,每套450元;如果一次买的数量不足50套,每套500元;如果只买键盘,每个250元,如果只买鼠标,每个300元。 编写程序:要求在键盘中输入需要买的无线键盘和鼠标的数量,计算应付金额
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 直播带货数据分析与复盘服务创新创业项目商业计划书
- 积分兑换团购平台创新创业项目商业计划书
- 广告传媒项目质量月工作总结范文
- 公共建筑工程质量通病及防治措施
- 销售人员转正工作鉴定范文
- 化妆品生产线工程售后服务与质量保证措施
- 临终关怀感染管理优化计划
- 防洪工程雨季施工防排水措施
- 广告策划辞职信范文
- 2025年行政办公部门工作总结和计划
- 电商用户社区与运营创新创业项目商业计划书
- 土地增值税清算培训课件
- 2025年青海省格尔木市辅警招聘考试试题题库及答案详解(易错题)
- 2025年中学生法治素养竞赛题库及答案
- 2025年部编版语文四年级上册全册单元、期中、期末测试题及答案(共10套)
- 村级妇联半年工作总结
- 数控安全培训课件
- 台球俱乐部工作管理制度
- 肉毒素中毒的治疗讲课件
- 蓝色简约风医学生职业生涯规划展示模板
- 土建安全员c类考试试题及答案
评论
0/150
提交评论