




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上程序设计基础(C语言)考试卷(本科样卷)(理论部分)考试时间120分钟,答案请写在答题卡上 专心-专注-专业一、选择题 (每小题2分,共40分)1以下语句中不包含关键字的是()。 Ax=sqrt(2);Bwhile(x!=0)x-;Cif(x<0)x=-x;Dreturn x;2执行以下程序时, #include<stdio.h> main() int a; float b; scanf("%3d%f",&a,&b);printf("%dt%f",ab); 若要求变量a和b分别从键盘获得输入值4
2、5和678.0,则以下四种输入数据中(凵代表”空格”键,代表”回车”键),不能达到该要求的输入数据是()。A45凵678B45678C45,678D3已知有声明int x=2:,以下表达式中值不等于8的是()。Ax+=2,x*2Bx+=x*=XC(x+7)/2*(x+1)%2+1)Dx*7.2/x+14已知有声明”int a=3, b=4, c;”,则执行语句”c=1/2*(a+b);”后,c的值是()。A0B3C3.5D45已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能
3、的是()。Ac=tolower(c)Bc=c+32Cc=c-A+aDc= (c +A)%26-a6已有声明”char *s1="China", s210, *s3="Nanjing" *s4;”,以下字符串赋值语句在执行时可能出现错误的是()。Astrcpy(s3, s1);Bstrcpy(s4, s1);Cstrcpy(s2, s1);Dstrcpy(s2, s3);7执行以下程序后的结果是()。#include <stdio.h>void main() int x=3;Doprintf("%dt", x=x-3);wh
4、ile(!x);A输出一个数:0B输出一个数:3C输出两个数:0和-3D无限循环,反复输出数8设有声明”int p10=1, 2, i=0;”,以下语句中与”pi=pi+1, i+;”等价的是()。Api=pi+1;Bp+i=pi;Cp+i=pi+1;Di+, pi-1=pi;9已知有声明”int m=5,4,3,2,1,i=0;”,下列对m数组元素的引用中,错误的是()。 Am+iBm5Cm2*2=0Dmm410若有函数fun的定义为 void fun()static int a=1; 则下列叙述中不正确的是()。A在每次调用fun函数时,变量a的值是上次调用结束时a的值B在fun函数之外,
5、可以用变量名a直接引用a的值C在其他函数中,可以出现声明double a=2.5;Dfun函数的形式参数不能取名为a11若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()。A实参和其对应的形参占用同一存储单元B形参不占用存储单元C同名的实参和形参占用同一存储单元D形参和实参占用不同的存储单元12已有声明”int a5;”,以下表达式中不能正确取得a1指针的是()。A&a1B+aC&a0+1Da+l13若有如下声明和语句: int t33, *pt3, k; for(k=0; k<3;k+) ptk=&tk0; 则表达式*(*(pt+1)+2)所
6、引用的是()。At20B&t20Ct12D&t1214若有如下的类型定义和变量声明,则在给出的选项中值不为7的表达式是()。struct ss int a; struct ss *b;x3=5, &x1, 7, &x2, 9, 0, *ptr=&x0;Aptr->aB(+ptr)->aCx1ADx0.b->a15下列叙述中正确的是()。 Amain函数必须出现在其他函数之前 Bmain函数中至少必须有一条语句 CC程序总是从main函数的第一条语句开始执行DC程序总是在执行完main函数的最后一条语句后结束16已有定义“int a23=
7、0, *p=a0;”,下面表达式中有语法错误的是 。Aa0=1 Bp0=1 C*p=1 Da00=117若有如下声明和语句:int a33, *p3, k;for(k=0; k<3;k+) pk=&ak0;则表达式*(*(p+1)+2)所引用的是 。Aa20 B&a20 Ca12 D&a1218设有声明语句“int b33=1,2,3,4,5,6,7,8,9;”,下面语句中不能输出数组元素b12的值6的是 _。Aprintf("%d ",*(*(b+1)+2) Bprintf("%d ",*(&b20-1);Cpri
8、ntf("%d ",*(b1+2); Dprintf("%d ",*(b+1)2);19下面函数中,可以把整型数据以二进制形式写入文件中的函数是_。Afprintf() Bfwrite()Cfread()Dfputc()20在缺省情况下,标准C的编译系统中预定义的标准输出流stdout直接连接的设备是 。A软盘 B硬盘 C键盘 D显示器二、填空题 (每空2分,共20分)1数学式所对应的C语言表达式为(1)。2在C语言中大部分执行语句都含关键字。例如,for语句含关键字for。除这些语句外不含关键字的非空操作语句是(2) 。3在以下程序的main函数中,语
9、句”fun(x, 10);”内的实参x表示数组x的(3) 。 void fun(int a10, int n) int i; for(i=0; i<n; i+)ai+; main( ) int x10=0;fun(x, l0); 4已知有函数定义“int fun()return (3, 4);”,则调用fun后的函数返回值是(4)。5执行程序段 “int x=0x6c; printf(“x=xn”, x);”后的输出结果为(5) 。6已知有声明”char ch; int a;” 执行语句”scanf(“%c%d”, &ch, &a);”时如果从键盘输入的数据是”123”,
10、则变量a得到的值是(6) 。7在C语言源程序中,不带任何修饰符的浮点数直接量(例如:3.14)都是按(7)类型数据存储的。8若有声明“char sl10= “ABCDE”, s210= “A0”;”,则语句 “printf(“%d”, strlen(strcpy(sl, s2);”的输出结果是(8) 。9设函数a的定义如下: void a() int x=12,y=345;FILE *fp=fopen(“my.dat”,”w”); fprintf(fp, “%d %d”,x,y); fclose(fp); 已知main函数中有声明int x,y;FILE *fp=fopen(“my.dat”,
11、”r”);,若需要从文件mydat中正确地读出由函数a写入的两个数据并分别保存到变量x和y中,则在main函数中使用的读数据语句应当是(9)(要求写出语句的完整格式)。10在一个C语言源程序中,必不可少的是(10) 。三、阅读程序题 (每空2分,共20分)1以下程序运行时输出结果是 (1) 。 #include<stdio.h>main() char *p=“student”;if(strcmp(p,“student”) printf(“yes”); else printf(“no”);2以下程序运行后的输出结果为 (2) 。 #include <stdio.h> in
12、t b; int fun(int a) static int c=3; return (+a)+(+b)+(+c);void main ( ) int i, a=2; for(i=0;i<2;i+) printf(“%5d”, fun(a);3以下程序输出结果为 (3) 。 void f(int a, int *b) a+; b+; (*b)+; main() int i, x2 = 4,4; f(x0, &x0); printf(“%d,%d”, x0, x1); 4以下程序运行时,输出结果是 (4) 。 #include <stdio.h> fun(int x)
13、if(x/2>0) fun(x/2); printf(“%d”, x%2); main( ) fun(20); putchar(n);5以下程序运行时输出到屏幕的结果是 (5) 。 #include <stdio.h> #define MAX(A, B) A>B?2*A:2*B void main() int a=1, b=2, c=3, d=4, t; t=MAX(a+b, c+d); printf(“%dn”, t); 6以下程序运行时输出到屏幕的结果中第一行是 (6) ,第二行为 (7) 。#include <stdio.h> #include <
14、;ctype.h> void compute(char *s) int t, r; char op; for(r=0; isdigit(*s); s+) /* isdigit(*s)判断s指向的字符是否为数字字符*/ r=r*10+*s-0; while(*s) op=*s+; for(t=0; isdigit(*s); s+) t=t*10+*s-'0' switch(op) case '+':r=r+t; break; case '-': r=r-t; break; case '*':r=r*t; break; case
15、 '/':if(t) r=r/t; elseputs(“devide error”); return; printf(“%dn”, r); void main( ) compute(“12+6-19+2”); compute(“12/6*19/2”); 7以下程序运行时输出结果的第一行是 (8) ,第二行是 (9) ,笫三行是 (10) 。 #include <stdio.h> typedef struct s int index; int value; M;main( )static int i, j, k, c44;M a10=0, 1, 3, 2, 5, 3,
16、 6, 4, 9, 5, 15, 6, -1,0, *p=a, b10=1, 1, 3, 2, 4, 3, 6, 4, 10, 5, 13, 6, -1, 0, *q=b;while (p->index!=-1) i=p->index/4; j=P->index%4; cij=p->value; p+;while(q->index !=-1) i=q->index/4; j=q->index%4; cij+=q->value; q+; for(i=0;i<4;i+) for(j=0;j<4;j+) printf(“%d”, cij);
17、 printf(“n”);四、完善程序题(每空1分,共5分)1以下程序的功能是对a数组a0an-1 中存储的n个整数从小到大排序。排序算法是:第一趟通过比较将n个整数中的最小值放在a0中,最大值放在an-1 中;第二趟通过比较将n个整数中的次小值放在a1中,次大值放在an-2 中;,以此类推,直到待排序序列为递增序列。试完善程序以达到要求的功能。#include <stdio.h>#define N 7void sort(int a, int n) int i, j, min, max, t; for(i=0; i<(1); i+) (2); for(j=i+1; j<
18、n-i; j+) if(aj<amin)min=j; else if(aj>amax)max=j; if(min!=i) t=amin; amin=ai; ai=t; if(max!=n-i-1) if(max=i) t=amin; amin=an-i-1; an-i-1=t; else t=amax; amax=an-i-1; an-i-1=t; void main() int aN=8, 4, 9, 3, 2, 1, i; sort(a, N);printf(“sorted:n”);for(i=0; i<N; i+) printf(“%dt”,ai);printf(“n”
19、);2程序中函数double mycos(double x)的功能是:根据下列公式计算cos(x)的近似值。 精度要求:当通项的绝对值小于等于10-6时为止。 #include <stdio.h> #include <(3)>double mycos(double x) int n=1;double sum=0, term=1.0;while ((4)>=le-6)sum+=term; term*=(5); n=n+2; return sum;main( ) double x;scanf(“%1f”, &x);printf(“fx(%f)=%f,%fn”,
20、 x, mycos(x), cos(x);五、改错题(共9分,每错3分, 指出错误1分,改对2分)题目:函数change从a数组存储的字符串中取出所有十六进制数字字符依次存入字符数组b中,然后再将b数组中的数字字符串转换成一个整数并返回。提示:库函数isxdigit(ch)的功能是检查ch是否是十六进制数字字符,若是则返回1,否则返回0。(模拟题有6个错)注意:不能增加、删除语句,但可以调换语句的位置。(测试数据与运行结果)测试数据:"xyz3F4tqk"运行结果:输出1012(含有错误的源程序)#include<stdio.h>#include<coni
21、o.h>#include<ctype.h>(1)long change(char a)(2)(3)int i, j = 0;long int k = 0;(4)char b10 = 0;(5)for (i = 0;ai! = '0'i+)(6)if (isxdigit(ai)(7)bi+ = ai;(8)bj = '0'(9)i = 0;(10)do(11)(12)if (isdigit(bi)(13)k = k * 16 + bi - '0'i+; (14)else(15)(16)bi = isupper(bi) ? bi:b
22、i - 'a' + 'A'(17)i+;(18)k = k * 16 + bi - 'A'(19)(20)(21)while (bi != '0');(22)return k;(23)(24)void main()(25)(26)char c80 = "xyz3F4tqk"(27)long m;(28)m = change(c);(29)printf("%ld", m);(30)六、编程题(共6分)求下面数列的和,计算到第n项的值小于10-4为止。式中,(本程序运行结果是:y=2.)。要求计算fn用函数过程实现。答题卡题号一二三四五六七总得分阅卷人一、选择题(每小题2分,共30分)12345678910ACDADBCDBB11121314151617181920DBCACAC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《DIY》服装创业计划书
- 食品行业供应商环保标准协议书范文
- 简单的手房居间合同
- 副主任护士聘用合同样本
- 褪黑素提高杜仲苗抗旱性的研究
- 基于UbD理念的高中生物学单元教学设计实践研究
- 施工劳务人员培训协议
- 宿舍室内气溶胶颗粒扩散特性研究
- 兼并企业合同标准文本
- 电子产品销售中介协议
- 水质采样记录表
- 部编版历史与社会七年级下册 第14课 明朝的统治 导学案
- 医院行政年度工作总结
- 三亚凤凰岛国际邮轮母港
- 眼科护理中的病人安全与风险管理
- 统编版高二历史选择性必修2《第13课现代交通运输的新变化》课件
- 集装箱采购投标方案(技术方案)
- 下白雨合唱简谱
- 专家工作站日常管理制度
- 脂肪肝患者的自我管理宣教
- 篮球赛计分表模板
评论
0/150
提交评论