




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年 月 日 系级班 学号姓名密封线命题老师:计算机学院基础教学部程序设计基础(C语言)考试卷(本科样卷)(理论部分)考试时间120分钟,答案请写在答题卡上 - 5 -一、选择题 (每小题2分,共40分)1以下语句中不包含关键字的是()。 Ax=sqrt(2);Bwhile(x!=0)x-;Cif(x0)x=-x;Dreturn x;2执行以下程序时, #include main() int a; float b; scanf(%3d%f,&a,&b);printf(%dt%f,ab); 若要求变量a和b分别从键盘获得输入值45和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中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是()。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 void main() int x=3;Doprintf(%dt, x=x-3);while(!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函数之外,可以用变量名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; kaB(+ptr)-aCx1ADx0.b-a15下列叙述中正确的是()。 Amain函数必须出现在其他函数之前 Bmain函数中至少必须有一条语句 CC程序总是从main函数的第一条语句开始执行DC程序总是在执行完main函数的最后一条语句后结束16已有定义“int a23=0, *p=a0;”,下面表达式中有语法错误的是 。Aa0=1 Bp0=1 C*p=1 Da00=117若有如下声明和语句:int a33, *p3, k;for(k=0; k3;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);Cprintf(%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函数中,语句”fun(x, 10);”内的实参x表示数组x的(3) 。 void fun(int a10, int n) int i; for(i=0; in; 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”,则变量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”,”r”);,若需要从文件mydat中正确地读出由函数a写入的两个数据并分别保存到变量x和y中,则在main函数中使用的读数据语句应当是(9)(要求写出语句的完整格式)。10在一个C语言源程序中,必不可少的是(10) 。三、阅读程序题 (每空2分,共20分)1以下程序运行时输出结果是 (1) 。 #includemain() char *p=“student”;if(strcmp(p,“student”) printf(“yes”); else printf(“no”);2以下程序运行后的输出结果为 (2) 。 #include int b; int fun(int a) static int c=3; return (+a)+(+b)+(+c);void main ( ) int i, a=2; for(i=0;i2;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 fun(int x) if(x/20) fun(x/2); printf(“%d”, x%2); main( ) fun(20); putchar(n);5以下程序运行时输出到屏幕的结果是 (5) 。 #include #define MAX(A, B) AB?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 #include 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 /: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 typedef struct s int index; int value; M;main( )static int i, j, k, c44;M a10=0, 1, 3, 2, 5, 3, 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;i4;i+) for(j=0;j4;j+) printf(“%d”, cij); printf(“n”);四、完善程序题(每空1分,共5分)1以下程序的功能是对a数组a0an-1 中存储的n个整数从小到大排序。排序算法是:第一趟通过比较将n个整数中的最小值放在a0中,最大值放在an-1 中;第二趟通过比较将n个整数中的次小值放在a1中,次大值放在an-2 中;,以此类推,直到待排序序列为递增序列。试完善程序以达到要求的功能。#include #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; jn-i; j+) if(ajamax)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; iN; i+) printf(“%dt”,ai);printf(“n”);2程序中函数double mycos(double x)的功能是:根据下列公式计算cos(x)的近似值。 精度要求:当通项的绝对值小于等于10-6时为止。 #include #include 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”, x, mycos(x), cos(x);五、改错题(共9分,每错3分, 指出错误1分,改对2分)题目:函数change从a数组存储的字符串中取出所有十六进制数字字符依次存入字符数组b中,然后再将b数组中的数字字符串转换成一个整数并返回。提示:库函数isxdigit(ch)的功能是检查ch是否是十六进制数字字符,若是则返回1,否则返回0。(模拟题有6个错)注意:不能增加、删除语句,但可以调换语句的位置。(测试数据与运行结果)测试数据:xyz3F4tqk运行结果:输出1012(含有错误的源程序)#include#include#include(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:bi - 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分)12345678910ACDADBCDBB11121314151617181920DBCACACDBD二、填空题(每小题2分,共20分) (1)_sqrt(x*x+y*y)/(a+b)_ (2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿教育学 幼儿教育概述课件
- 打造幼教服务产业链园区生态圈
- 2024-2025学年下学期高二生物人教版期末必刷常考题之生态系统的物质循环
- 部编版二年级下册第七单元《大象的耳朵》教案
- 8 4 抛物线-2026版53高考数学总复习A版精炼
- 2025届河北省唐山市高三二模语文试题(解析版)
- 2024-2025学年四川省雅安市高三第一次诊断性考试语文试题(解析版)
- 2024-2025学年山东省威海市文登区高三第一次模拟语文试题(解析版)
- it项目应急预案
- 信访问题回复函
- 道路保洁台账管理制度
- 全国卫生健康系统职业技能竞赛(预防接种项目)备考试题库-上(单选题部分)
- 模切安全生产培训
- 2025-2030中国互联网行业市场前景趋势及竞争格局与投资研究报告
- 扶贫资产入股协议书
- 安宁疗护之疼痛管理
- DBJ51T-041-2015-四川省-建筑节能门窗应用技术规程
- 中国中铁股份有限公司内部控制运行管理办法试行
- 酒后违纪违法警示教育
- 四川省 2025届高考历史全真模拟试题(含解析)
- 华一光谷2024-2025学年度9月七年级英语试题(含答案)
评论
0/150
提交评论