《C语言程序设计期末试卷(高职).docx》由会员分享,可在线阅读,更多相关《C语言程序设计期末试卷(高职).docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 米 2020-2021学年辽宁本溪市机电工程学校高二上学期 C语言程序设计期末试卷B(考试时间:120分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确 选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中
2、,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A) 一组对象所具有的相似性质B) 一个对象具有另一
3、个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8) 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体 工作人员、与实体计算机之间的联系是A) 一对一B) 一寸多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是CA)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:D 派订 则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(II)以下关于结构化程序设计的叙述中正确的是DA) 一个结构化程序必须
4、同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是CA)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是AA) C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式
5、进行C)所有C程序都需要编译链接无误后才能运行D) C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a; long b: double x, y;则以下选项中正确的表达式 是BA) a% (int) (x-y)B) a=x!=y;C) (a*y) %bD) y=x+y=x(15)以下选项中能表示合法常量的是BA)整数:1, 200B)实数:C )字符斜杠:二D)字符串:007(16)表达式a+=a-=a=9的值是DA) 9B) _9C) 18D) 0(17)若变量已正确定义,在if (W) printf (dn,k);中,以下不可替代W 的是CA) ab+cB)
6、 ch=getchar ()C) a=b+cD) a+(18)有以下程序A# includemain ()int a=l, b=0:if (! a) b+;else if (a=0) if (a) b+=2;else b+=3 ;printf (*%dn, b);程序运行后的输出结果是A) 0B) 1C) 2D) 3(19)若有定义语句int(19)若有定义语句int(19)若有定义语句inta, b; double x:则下列选项中没有错误的是AA) switch (x%2) case 0: a+; break; case 1: b+; break; default : a+; b+;) C
7、) switch ( (int) x%2)B) switch ( (int) x/2.0 case 0: a+; break; case 1: b+; break; default : a+; b+;D) switch ( (int) (x) %2)case 0: a+; break;case 0.0: a+; break; 派订 case 1: b+; break; case 1.0: b+; break;default : a+; b+; default : a+; b+;) (20)有以下程序B# include main ()int a=l, b=2:while (a6) b+=a:
8、a+=2: b%二 10: )printf (d, %dn”, a, b);程序运行后的输出结果是A) 5,117,17,116,1(21)有以下程序D# includcmain ()int y=10;while (y-);printf (Y=%dn”, Y);程序执行后的输出结果是A) y=0y= -1y=lwhile构成无限循环(22)有以下程序C# includemain ()char s J =,rstuvM:printf*s+2);程序运行后的输出结果是A) tuvB)字符t的ASCII码值C) tD)出错(23)有以下程序Aincludcinclude Vstring.hmain
9、()char x STRING”;x OJ =0; x 1 =,0,; x 2J =,0,;printf (d %dn”, sizcof (x) , strlcn (x); )程序运行后的输出结果是6 17 00 6 3D) 7 1(24)有以下程序C# includeInt f (int x);main ()int n=l, m;m=f (f (f (n) ) ) ; printf (dn,m);)int f (int x)return x*2; )程序运行后的输出结果是1A) 248(25)以下程序段完全正确的是D 派订 A) int *p; scanf (%d,&p);B) int *p
10、; scanf (%d”,p);C) int k, *p=&k; scanf (%d,p);D) int k, *p:; *p= &k; scanf (d”,p);(26)有定义语句:int *p4;以下选项中与此语句等价的是BA) int pI4);B) int *p;C) int * (p4);D) int (*p) 4;(27)下列定义数组的语句中,正确的是AA) int N=10; B) #define N 10int xN;int xN;C) int xO.IO ; D) int x :(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是CA) int a5= ( 0 )
11、;B) int b=0,0,0A0;C) int c|2+3;D) int i=5,di; (29)有以下程序C# includevoid f (int *p);main ()int a 5 = 1, 2, 3, 4, 5 , *r=a;f (r) ; printf (dn; *r):)void f (int *p)p=p+3; printf (%d, ,*p) : 程序运行后的输出结果是A) 1,4B) 4,4C) 3,1D) 4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)B# include void fun (ini*a; int n)int i、j、k、t;for
12、(i=0;in- 1; l+=2) k=i;for (j=i: ja (k) k=j: t=a (i: a (i=a k: a (k=t: )main ()int aa 10J = 1、2、3、4、5、6、7 , i;fun (aa、7):for (i=0 i 米 # include main ()char a 20 =ABCDOEFG0”, b 口 =IJK”; strcat (a, b) ; printf (%sn,a);)程序运行后的输出结果是A) ABCDEOFGOIJKB) ABCDIJKC) IJKD) EFGIJK(34)有以下程序,程序中库函数islower (ch)用以判断c
13、h中的字母是否为小 写字母C# include#includeVctype. hvoid fun (char*p)int i=0; while (p|i)if (pi=,& islower (p Fi-1 J ) ) pi-l=pi-l-*a,+*A,;i + + ;) main ()char si 100 =ab cd EFG! ”: fun (si) : printf (%sn, si); )程序运行后的输出结果是A) ab cd EFG!B) Ab Cd EFg!C) aB cD EFG!D) ab cd EFg!(35)有以下程序A # include void fun (int x)
14、if (x/2l) fun (x/2):printf (d,x); )main ()fun (7) ; printf (n); 程序运行后的输出结果是A) 1 3 77 3 10 7 3D) 3 7(36)有以下程序B# includcint fun ()static int x=l :x+=l : return x;)main ()int i; s=l ;for (i=l ; i=5: i+) s+=fun ();printf (%dn,s):)程序运行后的输出结果是1121A) 6120(37)有以下程序Ainctude# includeVstdlib. hMain ()int *a *b
15、 * c:a=b=c= (int* ) malloc (sizeof (int);a=I;火 b=2, *c=3; 派订 派订 a=b:prinlf (%d, %d, %dn”,*a, *b, *c); )程序运行后的输出结果是A) 3,3,3 B) 2,2,3 C) 1,2,3 D) 1,1,3(38)有以下程序Dtf include main ()int s, t, A=10: double B=6;s=sizeof (A) ; t=sizeof (B); printf (d, %dn”,s, t); )在VC6平台上编译运行,程序运行后的输出结果是A) 2,4 B) 4,4 C) 4,8
16、 D) 10,6(39)若有以下语句CTypedef struct Sint g; char h; T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C) S是struct类型的变量D) T是struct S类型的变量(40)有以下程序C# includeVsidio. h main ()short c=124;c=c;printf (dn”、C): )若要使程序的运行结果为248,应在下划线处填入的是A) 2 B) |248 C) &0248 D) 1二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得 分。(1) 一个
17、栈的初始状态为空。首先将元素5,4,321依次入校,然后退栈一次,再 将元素A,BC,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退 栈的元素)的顺序为【1】(2)在长度为n的线性表中,寻找最大项至少需要比较【2】次。(3) 一棵二叉树有10个度为I的结点,7个度为2的结点,则该二叉树共有 【3】个结点。(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。(5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计【5】o(6)以下程序运行后的输出结果是6】。# includemain ()int a=200, b=010;printf (%d%dn”, a,
18、b);)(7)有以下程序# includeVstdio. hmain ()int x,Y;scanf (2d%kT, &x, &y) ; printf (dn”, x+y);)程序运行时输入:1234567程序的运行结果是【7】。(8)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为【8】时表 示逻辑值“真”。(9)有以下程序# includemain ()(int i,n=(),0,0,0,0);for (i=l; i=4;i+) 米 ni=ni-l*3+l; printf (n%d u,ni) : )程序运行后的输出结果是【9】。(10)以下fun函数的功能是:找出具有N个元素的
19、一维数组中的最小值,并作 为函数值返回。请填空。(设N已定义)int fun (int x N)ini i, k=O:for (i=0: iN: I+)if (x ireturn x k;(ID有以下程序#includeint*f (int *p, int*q);main ()int m=l, n=2, *r=&m;r=f (r, &n) ; prinif (dn,*r);)int*f (int *p, int*q)return (*p*q) ?p: q; 程序运行后的输出结果是ID(12)以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作 为函数值返回,请填空。(设M,. N
20、已定义)int fun (int a fN M)int i, j, row=0, col=0;for (i=0; ia row col ) row=i; col=j; return ( 12):(13)有以下程序# includemain ()in( n2, i, j:for (i=0: i2: i+) ni=0:for (i=0: i2; i+)for (j=0; j2; j+) n j =n ij +l;printf (dn,n|l);)程序运行后的输出结果是131(14)以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输 出该最大值。请在输出语句中填写代表最大值的输出项。#
21、 includemain ()int a (10 , *p,*s:for (p=a: p-a10; p+) scanfp):for (p=a s=a: p-a*s) S=P:printf (,max=%dn, 14);)(15)以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其 中,请填空。# include main () 15 *fp;char a 5 = ,2, 3, 4, 5 , i;fp=fopcn (f . txt“,“w“);for (i=(); i5: i+) fputc (ai fp);fclose (fp);)BCBDCCBDDA ACBCD BACBD学号姓名填空题:1、1DCBA2345 2、1 3、254、结构化5、物理设计6、20087、15 8、非09、1 4 13 40 10、i IL 212、arowcol13、314、*s 15、FILE 16、班级参考答案答案:BCDAA DDCCA CBBBD DAACB: 派订 : 派 I
限制150内