1、高三C语言第 7 次月考高三C语言三月月考试题 姓名:_ 班级:_总分:_一、选择题(每小题5分,共30分)17执行x=51+2&2|2*4num B) p-num C) (*p).num D) stu3.age20有以下程序main() int x=011; printf(%dn,+x);程序运行后的输出结果是A)12 B)11 C)10 D)921设有定义:double x10,*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf(%f,&x6); B)scanf(%lf,*(x+6);C)scanf(%lf,p+6); D)scanf(%lf,p6);22若有定义语
2、句:char s310,(*k)3,*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s0; D)k=s;二、基本操作题28)c语言中,文件操作fopen函数的原型为FILE * fopen(char *filename,char *mode) ,用于打开一个指定文件,若成功返回一个与之关联的流,否则返回_;代码片段FIEL *fp= fopen(“c:test.dat”,”a”)的含义是以_的方式打开路径”c:test.dat”对应的文件,当访问的文件是二进制文件时,还需要在字符串“a”后增加一个字符_.以上代码片段对应的关闭文件的C语言代码是_.三、综合应用题(每空5分,共
3、20分)31. 设文件studs.dat中存放着学生的基本信息,基本信息由以下结构体来描述:struct student long int num; /* 学号*/char name20; /* 姓名*/char major25; /* 专业*/下列程序的功能是:输入要读取的学生人数,利用malloc动态分配内存来存储从文件中读取的学生信息(以方便进一步处理),并输出读取的学生的学号,姓名,专业。请将正确的内容填入答题卡相应位置中,使程序完整(每空5分,共20分)#include #include struct student long int num; char name20; char m
4、ajor25;FILE *fp;main() struct student st,*pst; int i,num,realnum; printf(“请输入读取的学生数:”); scanf(“%d”,&num); pst=(struct student *)malloc( ); if(!pst) return; fp=fopen(“studs.dat”,”rb”); if(NULL=fp) ;return; realnum-0; printf(“%st%st%st%sn”,” number”,”name”,”major” ); /*文件包含的学生数量可能少于输入的人数 */ for(i=0;i
5、;i+) fread(pst+i,sizeof(struct student),l,fp); realnum+; ; printf(“%dt%ldt%st%sn”,realnum,st.num,st.name,st.major); free(pst);fclose(fp);四、程序分析题(本题共3小题,共75分)33.阅读程序,写出运行结果(每空5分,共25分)1、#include main() int a; a=(int)(double)(3/2)+0.5+(int)1.99*2); printf(%dn,a);程序运行结果是:_2、int a=5;void fun(int b) int a
6、=10; a+=b; printf(“%d”,a); main() int c=20; fun(c); a+=c; printf(“%dn”,a); 程序运行结果是:_3、main() int a =2,3,5,4,i; for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2) case 0:ai+;break; case 1:ai- -; break;case 1:ai=0; for(i=0;i4;i+) printf(“%4d”,ai); printf(“n”);程序运行结果是:_4、下列程序的输出结果是 struct abc int a,b,c; ma
7、in() struct abc s2=1,2,3,4,5,6;int t; t=s0.a+s1.b; printf(%dn,t); 程序运行结果是:_5、 #include main() int x =2,14,16,18,10,12,14,16,*p=x,a,b;a=*p+; b=(*p)+; c=*(p+);printf(“a=%4dtb=%4dtc=%4dt”,a,b,c);输出结果是_34.程序填空。按照题目的要求,将正确内容填入答题卡相应位置,使程序完整(每空5分,共25分)(1) 功能为:判断从键盘输入的某个字符串是否为回文串。#include main()char s40,*p=
8、s,*q; gets(p); for( ; pq; p+,q-) if (*p!=*q) break; if( ) printf(“Yes!”);else printf(“No”); (2) 下面程序的功能是对链表进行建立和输出,每个结点有(num,name,next)三个成员请补充程序。#include stdio.h#include stdlib.h#include alloc.h#define LEN sizeof(struct student)struct studentlong num;char name20; 1 ;main()struct student *head, *p; i
9、nt i; head=NULL;for(i=0;inum,p-name);p-next=head; 2 ;p=head;while(p!=NULL)printf(%ld,%5.1fn,p-num,p-name); 3 ; 35.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误的行号,并给出该行修改后的程序代码。(每空5行,共25分)(1) 1、给定程序modi.c中,fun函数的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!L1 fun(int n,int *a
10、)L2 int i,j,p,t; L3 for(j=0;jn-1;j+) L4 p=j; L5 for (i=j+1;iai) t=i; L7 if (p!=j) t=aj;aj=ap;ap=t; L9 putarr(int n,int *z)L10 int i; L11 for (i=1;i=n;i+,z+) L12 printf(%4d,*z);L13 if (!(i%10) printf(n); printf(n); main() int aa20=9,3,0,4,1,2,5,6,8,10,7,n=11; fun(n,aa); printf(nAfter sorting %d numbe
11、rs:n,n);putarr(n,aa); (2). 以下函数的功能是:在指针数组表示的字符串列表中查找特定的字符,指针数组以NULL指针结束,如果找到返回TRUE,否则返回FALSE。程序中有两处错误,将错误处的行号及正确语句填入答题卡相应位置,不得增行或删行(每处错误5分,共10分)L1 #includeL2 #includeL3 #define TRUE 1L4 #define FALSE 0L5 int fine_string(char *strings,char value)L6 char *cur_str;L8 if(*strings=NULL)L9 return FALSE;L1
12、0 while(cur_str=*strings)!=NULL)L11 while(cur_str!=0)L13 if(*cur_str+=value)L14 return TRUE; L16 return FALSE; 六、程序设计题36. (1)一串数码是否构成合法的信用卡号,可以通过CheckCard算法来验证。CheckCard 算法验证的过程如下:1 卡号的长度必须是16位。2 从卡号最后一位数字开始,将奇数位数字求和。3 从卡号最后一位数字开始,将偶数位数字乘以2(如果乘积为两位数,则减9),再求和。4 将和所得的和值相加,当结果能被10整除时,则校验通过。例如,卡号是:54321
13、23456788881 奇数位和等于35偶数位乘以2(乘积为两位数的减去9)的结果:1 6 2 6 1 5 7 7,求和等于35。35+3570可以被10整除,校验通过。编写函数实现CheckCard算法,判断输入的卡号是否能通过验证,通过则显示“成功”,否则显示“失败”。 (2)、随着信息化进程的不断推进,数据的安全性越来越受到人们的重视,数据加密技术是保证数据安全的重要手段。编程实现对C盘根目录下名为”new.dat”文件的数据进行加密,加密方式是将”new.dat”文件中每个字符与字符A进行异或运算,运算后的加密数据存储到”new.dat”文件中。湖南省2015年汨罗职业中专学校模拟考试
14、计算机应用类专业C语言答题卡姓 名 _ 班级_ 分数_一、选择题(每小题5分,共30分)17_18_19_20_21_22_二、基本操作题(每空3分,共12分)28. (1) _ (2)_ (3)_ (4)_三、综合应用题(每空5分,共20分)31. (1) _ (2)_ (3)_ (4)_四、程序分析(共75分)33.(1)_ (2)_ (3) _ (4)_ (5)_ 34.(1)_ (2)_ (3) _ (4)_ (5)_ 35 (1) 错误行_ 改正为:_ (2) 错误行_ 改正为:_ (3) 错误行_ 改正为:_ _ (4) 错误行_ 改正为:_ (5) 错误行_ 改正为:_五、程序编写(共25分)36.a)b)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1