




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语言上机考试试题一、选择题 ( 评分标准 20 分,每小题2分 )1. 若变量已正确定义并赋值,表达式_不符合C语言语法。(A) a*b/c; (B)3.14%2 (C)2, b (D)a/b/c2. _是不正确的字符常量。 (A)n (B)1 (C)”a” (D)1013. 在C程序中,用_表示逻辑值“真”。 (A)1 (B)非 0 的数 (C)非 1 的数 (D)大于 0 的数4. _把x、y定义成float类型变量,并赋同一初值3.14。 (A) float x, y=3.14; (B)float x, y=2*3.14; (C)float x=3.14, y=x=3.14; (D)float x=y=3.14;5. 若变量已正确定义,表达式_的值不是2。(A)2&3 (B)1b) k=0; else k=1;”和_等价。(A)k=(ab)?1:0; (B)k=ab; (C)k=a=b; (D)a0y0)等价于!(x0&!(y0)。8. C语言中 while 和 do-while 循环的主要区别是do-while的循环体不能是复合语句。9. 局部变量的作用范围是:从定义位置开始本源文件结束。10. 判断 char 型变量 ch 中的字符是否为大写字母的正确表达式是:(A = ch) & (ch = Z)。套数号答案51. F 2. T 3. F 4. T 5. F 6. T 7. T 8. F 9. F 10. F三、填空题(4) ( 评分标准 10 分,每小题2分)1. 下面程序段的输出结果是_。 int a=1234; a=a&0377; printf(“%d %on”,a,a);2. 若被调函数的定义在后,则在主调函数中一般应给出_。3. 若有以下定义和语句,则输出结果是 char s12=a book!; printf(d,strlen(s);4. 数组名作为实参传递给形参时,数组名被处理为_。5. 设x、y和z是int型变量,且x=3,y=4,z=5,则表达式!(xy)&!z|1 ) 的值是_。第5套(1)210 322(2)被调函数的声明(3)7(4)首地址(5)0四、程序改错题 ( 评分标准 20 分,每小题 5分 )1. 下列程序的功能是“求出n个数中的最大数、最小数和平均数”。#include float max=0,min=0;float average(float a, int n) int i;float sum=0;max=a0; min=a0;for(i=1;imax) max = ai; if (aimin) min = ai; sum = sum + ai; return(sum/n); main()float score10,ave;int j;for(j=0;j10;j+)scanf(%f, &scorej);ave=average(score,10);printf(max=%6.2fnmin=%6.2fnaverage=%6.2fn,max,min,ave);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句ave = average(scorei,10); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:“求出n个数中的最大数、最小数和平均数”。答案:ave = average(score,10);运行样例4行运行样例1:1 2 3 4 5 6 7 8 9 10结果:max=10.00 min= 1.00 average= 5.402. 实现一维数组的逆转功能。#includeinvert(int *s,int i,int j) int t; if(ij) invert(s,i,j); /*$*/ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; void main()int a6=10,6,23,-90,0,3,i;invert(a,0,5);for(i=0;i6;i+)printf( %d,ai); printf(n);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句invert(s,i,j); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:在程序中实现一维数组的逆转功能。 例如:在程序中数组的值为:10,6,23,-90,0,3,得到输出数值:3 0 -90 23 6 10。答案:invert(s,i+1,j-1); 运行样例1行运行样例1:没有输入 结果1: 3 0 -90 23 6 103. 下列给定程序中,函数fun()的功能是:在字符串str中找出ASC码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun()函数之前给字符串输入fagAgBDh,调用后字符串中的内容为AfaggBDh。#includevoid fun(char *p) char min, *q; int i=0; min=pi; while (pi!=0) if (minpi) p=q+i; /*$*/ min=pi; i+; while(qp) *q=*(q-1); q-; p0=min;void main() char str80; printf(Enter a string: ); gets(str); fun(str); printf(nThe string after moving: ); puts(str); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句p=q+i;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:函数fun()的功能是:在字符串str中找出ASC码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun()函数之前给字符串输入fagAgBDh,调用后字符串中的内容为AfaggBDh。答案:q=p+i;运行样例1行运行样例1:Enter a string: fagAgBDh 结果1:The string after moving: AfaggBDh4. 下列给定程序中,函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入edS,dAd,则输出EDS,DAD。#include #include #include char fun(char tt) /*$*/ int i; for(i=0;tti;i+) if(tti=a)&(tti= z) tti-=32; return(tt);void main() char tt81;printf(nPlease enter a string: ); gets(tt); printf(The result string is: %s,fun(tt);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句char fun(char tt) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入edS,dAd,则输出EDS,DAD。答案:char *fun(char tt) (函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加*号。)运行样例1行运行样例1:Please enter a string: edS,dAd 结果1:The result string is: EDS,DAD五、程序填空( 评分标准 10 分,每小题5分)1. 以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,要求在“/*$1*/”行上填入合适的内容,使输入字符串中的A和B转换为字符#输出,其它字符输出为*。#include main ( ) char c ; while( ( c = getchar ( ) ) ) switch ( c ) case A: case B: putchar(#) ; /*$*/ default : putchar( * ) ; 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,要求在下划线上填入合适的内容,使输入字符串中的A和B转换为字符#输出,其它字符输出为*。答案:break;运行样例1行运行样例1:ABCDE 结果1:#*2. 从键盘输入一组无符号整数并保存在数组xxN中,以整数结束输入,要求这些数的最大位数不超过位,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和十位的数字之和大于的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如:当xx8=123,11,25,222,42,333,14,5451时,bb4=25,42,333,5451。#include #define N 1000int fun(int xx,int bb,int num)int i, n=0;int g, s;for(i=0;i5)bbn+=xxi; return n;void main() int xxN; int yyN; int num=0,n=0,i=0; printf(Input number :); do scanf(%u,&xxnum); while(xxnum+!=0); n=fun(xx,yy,num); printf(nyy=); for(i=0;in;i+)printf(%u ,yyi);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:从键盘输入一组无符号整数并保存在数组xxN中,以整数结束输入,要求这些数的最大位数不超过位,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和十位的数字之和大于的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。例如:当xx8=123,11,25,222,42,333,14,5451时,bb4=25,42,333,5451。答案:s=xxi/10%10;运行样例2行运行样例1:Input number :123 11 25 222 42 333 14 5451 0结果1: yy=25 42 333 5451 六、程序设计 ( 评分标准 20 分,每小题10分)1. 请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(pn-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值为6。移动后,一维数组中的内容应为7,8,9,10,11,12,13,14,15,1,2,3,4,5,6。/*本题采用循环右移的算法。和我们在前面分析的稍有不同的是,一个是整型数组,一个是字符型数组。*/#include void fun(int *w, int p, int n)int i,j,t;for(i=p;i=0;j-) /*实现循环右移*/ wj+1=wj;w0=t; void main() int a=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int i, p, n=15;printf(nEnter p: ); scanf(%d,&p);fun(a,p,n);printf(The data after moving:n);for(i=0;in;i+) printf(%3d,ai);printf(nn);运行样例3行运行样例1:Enter p: 6结果:The data after moving: 7 8 9 10 11 12 13 14 15 1 2 3 4 5 62. 利用指针数组,编写一个将n个字符串从小到大排序的函数sort (*char words , int n),并在主函数中利用该函数将5个英语单词(HELLO, COMPUTER, CAR, WINDOWS,PASCAL)按字典序输出。#include #include void sort (char *words, int n) char * temp; int i,j,k; for (i=0; in-1; i+ ) k=i; for (j=i+1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空无人机行业无人机技术应用前景研究报告
- 2025年汽车行业自动驾驶技术发展现状与前景分析报告
- 2025年银行行业虚拟银行模式与发展前景研究报告
- 2025年物流配送行业无人配送技术应用前景展望研究报告
- 2025年旅游业海岛度假市场分析与发展策略研究报告
- 2025年生物科技行业研发创新及市场前景研究报告
- 2025年农业智能设备市场的发展预测报告
- 2025浙江台州温岭市华阳再生资源有限公司招聘工作人员1人笔试备考题库及答案解析
- 2025福建福州马尾区招聘专职船管员1人笔试备考试题及答案解析
- 2025湖北中医药大学专项招聘专职辅导员12人笔试模拟试题及答案解析
- 保安投诉管理制度
- 2025年高考江苏卷物理真题(原卷版)
- 【公开课】种子植物+第2课时课件-2024-2025学年人教版生物七年级上册
- 2024年贵州贵州贵安发展集团有限公司招聘笔试真题
- 人教部编版四年级上册语文第1单元(看拼音写词语)
- 房屋在别人名下协议书
- TSGR0005-2011移动式压力容器安全技术监察规程现行
- 智能型大型变压器企业数字化转型与智慧升级战略研究报告
- 幼儿园九一八爱国教育
- 农家乐消防知识培训课件
- 养老院突发事件应急预案演练计划
评论
0/150
提交评论