




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计模拟试卷A一、单项选择题(每题2 分,共20 分)1、下列有关 C 语言的叙述中错误的是(D)。A) C 语句必须以分号结束B) 任何一个 C 程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C 程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。A) MAINB) _HJC) 2ongD)LINE13、以下能正确定义一维数组的是(C)。A) intC) chara5=0,1,2,3,4,5;a = ”012345”;B) intD) chara5= ”012345”;a5=0,1,2,3,4,5;4、执行下列程序段后输出的结果是(C
2、)。x = 9;while (x 7)printf(“* ”); x- -; A) *B) *C) *5、设 char str110 =“ABCDE”, str210 =D) *“xyz”;则执行语句printf(“%d”, strlen(strcpy(str1,str2);后的输出结果是( D)。解析:strcpy(str1,str2);strcpy(str1,str2);后, str1里是 XYZ, Z执行后,函数返回的是str1,后面有字符串结束符因为 str1里是新值strlen(strcpy(str1,str2)XYZ,而 就是strlen(str1的新值),所以得3 。strlen
3、统计到字符串结束符以前,即,不计入字符串结束符。A)9B)8C)5D)36、若用数组名作为函数调用的实参,则传递给形参的是(A)。A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D)数组元素的个数7、在C 程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)。A)voidB)doubleC) intD )char8、下面不能正确进行字符串赋值操作的语句是( C) 。A) char s5=ABCD;B) char s5;s=ABCD;C) char *s;s=ABCDEF;D) char *s=ABCD;解析: 这样理论上的没错的把s 指针指向字符串可以改变s 指针但
4、不能改变其指向的值正确的应该是这样char s = ABCDEF;或 char s8;strcpy(s, ABCDEF);9、设有说明int s5=1,3,5,7,9; int *p=s;则下列表达式中值为3的是 ( C)。A)+pB ) +(*p)C) *(+p)D) *(p+=2)解析:A 是把p 得地址后移一个int单位长度,即使p 指向数组的第二个元素。B 是取得 p 当前指向的元素值然后加1,即 1+1=2;C是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即D是先使 p 指向数组的第三个元素,然后去的当前指针指向的元素的值,即3.5。10、下面程序的输出结果是(B)。
5、intm=13;intfun( int x,inty) int m=3;return( x*y-m); main( ) int a=7,b=5;printf( “%d n”, fun(a,b)/m); A) 1B) 2C) 3D) 10二、填空题。(每空2 分,共 30 分)1. 设有变量说明语句: int x=1,y=2;则执行下述 printf语句的输出结果是printf(%fn,+x/y);2. 执行下述程序:#include main()int x,y; scanf(%2d%*2s%1d,&x,&y); printf(%dn,x+y);若从键盘输入:则程序的输出结果是 _17_。解析
6、: x, y 为 int类型, x 的长度为2, y 的长度为 1,即 x 为 12,y 为 5,故 x+y=173. 以下程序的功能是: 从键盘上输入若干名学生的成绩 ( 百分制,可带小数,以输入负数或 0 为结束标志 ) ,统计并输出最高成绩和最低成绩。请填空。#include main()float x,amax,amin; scanf(%f,&x); amax=x; amin=x;while (x0)if (xamax)amax=x;else if (xamin)amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);4. 设 n
7、 是整型变量,且已具有某正整数值。根据下述数学式111111122334nn1求 s 的值并输出。可编写如下之程序段来实现。请填空。 int k;double s,d; s=;d=;k=0; dos=s+d;_k+;d=(k*(k+1); while (k=n);printf(%fn,s);5. 执行下述程序的输出结果是_-3 -4 0 4 4 3_。#include main()int a6,i;for (i=0;i3)%5;printf(%3d,ai);printf(n);解析: (i3)为真时值为1,反之为0,6. 执行下述程序的输出结果是 _6_。 #include main()int
8、 a=2,4,6,*ptr=&a0,x=8,y,z; for (y=0;y3;y+)z=(*(ptr+y)x)*(ptr+y):x;printf(%dn,z);7. 执行下述程序的输出结果是 _60 _。 #include main()int a2=10,20,30,40,50,60,(*p)2; p=a; printf(%dn,*(*(p+2)+1);8. 执行以下程序的输出结果是 _10_。 #include main()int s,i,sum();for (i=1;i=10;i+)s=sum(i);printf(s=%dn,s);sum(int k)int x=0;return (x+=
9、k);9. 下述函数定义用来求出两个整数之各,并通过函数的模拟传地址调用,传回两整数相加之和值,请填空。void add(int x,int y,_int *z_)*z=x+y;10. 函数 func 的功能是将整型变量 x 的值转换成二进制数,并将该二进制数的每一位存入由整型指针 b 所指向的一维数组 a, 最低位存放于 a0 中,次低位存放于 a1中,依此类推。请填空。void func(int x,int *b)int r;dor=x%2;_=r;x/=2; while (x);11. 以下程序中函数 invert 实现将数组内所有数组元素的值逆置。比如,执行本程序将输出:1098765
10、4321请填空。#include main()int a10=1,2,3,4,5,6,7,8,9,10,i,n=10;invert(a,n-1);for (i=0;is_ _)k=*s;*s=*t;*t=k;s+;t-;12. 若有以下定义和说明,则结构体变量 w 在内存中所占的字节数是 _union aafloat x; float y; char c6; struct stunion aa v; float w5; double ave; w;13. 执行下述程序的输出结果是_ 。#include struct strfloat x;char *y; *m;struct str group
11、3=,Li,Wang,Sun;main()m=group;printf(%.lf,%sn,m-x,m-y);14. 下面的程序用来统计某文件中字符的个数。请填空。#include #include main()FILE *fp;long num=0;if (fp=fopen(,r)=NULL)printf(Cant open this file!n);exit(0);while (_)fgetc(fp);num+;printf(num=%dn,num);fclose(fp);15. 执行下述程序后,输出结果为 _。 #include #define FUN1(a,b) a+b #define
12、FUN2(a,b) a-b #define CAL(a,b) a*b+a+3 main()printf(%dn,CAL(FUN1(3,5),FUN2(4,5);三、修改程序(在程序出错的语句下划横线并标号,把修改后的语句写在程序之后的横线上。每小题5 分,共 10 分)1下列给定程序的功能是:读入一个整数(2=k10000) ,打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出 2、 3、 5、 7、11。#include #include IsPrime(int n); int i,m; m=1;for ( i=2; in; i+)if !(n%i) m=0; co
13、ntinue; return (m);main() int j,k;printf(“ nPlease enter an integer number between 2 and10000: ”);scanf(“%d”,k);printf(“ nThe prime factor(s) of %d is (are):”,k);for (j=2;j=k;j+)if (!(k%j)&(IsPrime(j) printf(“ n%4d”,j);printf(“ n”);2下列给定程序中,函数fun 的功能是:逐个比较a、b 两个字符串对应位置中的字符,把 ASCII 值大或等于的字符一次存放到c 数组中
14、,形成一个新的字符串。例如,若 a 中的字符串为 aBCDeFgH,b中的字符串为: ABcd,则 c 中的字符串为:aBcdeFgh。#include #include void fun(char *p,char *q,char *c) int k=1;while(*p!=*q)if (*p*q) ck=*q;else ck=*p;if (*p) p+;if (*q) q+;;k+;main()char a10= “aBCDeFgh” ,b10= “ ABcd”,c80= “” ; fun(a,b,c);printf(“The string a:”); puts(a);printf(“The
15、 string b:”); puts (b);printf(“The result:”); puts(c);四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(每小题 5 分,共 20 分)1.#include void main()char ch; int k=0;for(ch= A;ch H;ch+,k+)if(k%2=0) printf(“%c”,ch);printf(“ n”);输出结果:2. #include void main( )int k=0;char c= A;do switch (c+)case A: k+; break;case B: k -;case
16、 C: k+=2; break;case D: k=k%2; break;case E: k=k*10; break;default: k=k/3;k+; while(cprintf(“G);n”, k);输出结果 :3. #include void main() int a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i6;i+) for(j=0;j6;j+) if(ai=bj)break;if(j6) printf(“%d”,ai);printf(“ n”);输出结果:4. #include void main()int a8=1,0
17、,1,0,1,0,1,0,i; for(i=2;i8;i+) ai+=ai-1+ai-2;for(i=0;i8;i+) printf(“%d”,ai);printf(“ n”);输出结果:五、编程题(本大题20 分,第一题 8 分,第二题 12 分)1、计算分段函数的值:1-x(x=0)编程实现。2、输入 10 个学生 3 门课的成绩, 用函数实现: 找出最高的分数所对应的学号和成绩。模拟试卷十一 参考答案一、单选题:1) D6) A2) C7) C3) C8) C4) C9) C5) D10) B二、填空题1、2、 173、 x4、 k=k+15、-3-404436、 67、 608、 10
18、9、 int *z10、 * (b+)11、 ts12、 4213、 95, Li14、 fgetc(fp)!=EOF15、 29三、改错题1 、 IsPrime(int n) scanf( “%d”,k);;改为改为IsPrime(int n)scanf( “%d”,&k);if !(n%i) m=0; continue; 改为if (!(n%i) )m=0; continue; if (!(k%j)&(IsPrime(j)改为 if(!(k%j)& (IsPrime(j)2、改为void;fun(char *p,char*q,char *c) ;改为 void fun(char*p,cha
19、r *q,char *c)k=1 改为 k=0while (*p!=*q)改为 while(*p)|(*q)k+后添加一个 四、阅读程序1 、 ACEG2 、 83 、 42527164 、 20五、编程题1、#includemain()float x,y;scanf(%f ,&x);if(x0)y=1-x;elsey=2*x*x-2;printf(%fn,y);2、#includestruct student int num; float score3;stu10;void chosescore(struct student *stu,int n) int i=0,j=0,k=0; floa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省德阳中江县联考2025年普通高中初三教学质量测试试题生物试题试卷含解析
- 山西运城大禹中学2024-2025学年初三考前全真模拟密卷数学试题试卷(2)含解析
- 沈阳城市学院《体育竞赛组织与管理》2023-2024学年第二学期期末试卷
- 宁波大学《安装工程施工图课程设计》2023-2024学年第二学期期末试卷
- 山东省莱山一中2025届高三1月模拟考试英语试题含解析
- 修水县2025年六年级下学期5月模拟预测数学试题含解析
- 装修工程垫资合同范本
- 江西省赣州于都思源实验校2025年初三下学期第三次验收化学试题文试卷含解析
- 丽江地区永胜县2025年三下数学期末经典模拟试题含解析
- 辽宁省阜新市新邱区阜新二中2025年高三下学期第二阶段检测试题数学试题试卷含解析
- 2024年潍坊市技师学院招聘笔试真题
- 福建省龙岩市龙岩市一级校2024-2025学年高一下学期4月期中联考数学试题(含答案)
- 北京市丰台区2025届高三下学期3月一模试题 英语 含解析
- 饰品工厂知识培训课件
- 无人机飞手培训班合作合同协议范本模板
- 中国时尚产业的发展趋势分析
- VDA6.3-2023版培训教材课件
- 2025河北保定钞票纸业有限公司人员招聘29人笔试参考题库附带答案详解
- 2025有关房屋买卖合同书模板
- 河北新化股份有限公司锅炉技改项目(噪声、固体废物)竣工环境保护验收报告
- 高++中语文++高考复习+语言文字运用之错别字
评论
0/150
提交评论