[计算机类试卷]国家二级C语言机试(选择题)模拟试卷22及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷22及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷22及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 22及答案与解析 一、选择题 1 下列链表中,其逻辑结构属于非线性结构的是 ( A)二叉链表 ( B)循环链表 ( C)双向链表 ( D)带链的栈 2 设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后, front=15, rear=15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 3 下列关于栈的叙述中,正确的是 ( A)栈底元素一定是最后入栈的元素 ( B)栈 顶元素一定是最先入栈的元素 ( C)栈操作遵循先进后出的原则 ( D)以上说法
2、均错误 4 在关系数据库中,用来表示实体间联系的是 ( A)属性 ( B)二维表 ( C)网状结构 ( D)树状结构 5 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是 ( A) 1: 1联系 ( B) m: 1联系 ( C) 1: m联系 ( D) m: n联系 6 有两个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( A)选择 ( B)投影 ( C)自然连接 ( D)并 7 数据字典( DD) 所定义的对象都包含于 ( A)数据流图( DFD图 ) ( B)程序流程图 ( C)软件结构图 ( D)方框图 8
3、软件需求规格说明书的作用不包括 ( A)软件验收的依据 ( B)用户与开发人员对软件要做什么的共同理解 ( C)软件设计的依据 ( D)软件可行性研究的依据 9 下面属于黑盒测试方法的是 ( A)语句覆盖 ( B)逻辑覆盖 ( C)边界值分析 ( D)路径覆盖 10 下面不属于软件设计阶段任务的是 ( A)软件总体设计 ( B)算法设计 ( C)制定软 件确认测试计划 ( D)数据库设计 11 下列叙述中错误的是 ( A) C程序可以由多个程序文件组成 ( B)一个 C语言程序只能实现一种算法 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 12
4、 C语言源程序名的后缀是 ( A) .C ( B) .exe ( C) .obj ( D) .cp 13 以下选项中不能用作 C程序合法常量的是 ( A) 123 ( B) 123 ( C) 1,234 ( D) x7D 14 表达式 a+=a -= a=9 的值 是 ( A) 18 ( B) -9 ( C) 0 ( D) 9 15 若有定义语句: int x=12, y=8, z; 在其后执行语句 z= 0.9+x/y; 则 z的值为 ( A) 1 ( B) 1.9 ( C) 2 ( D) 2.4 16 阅读以下程序 #include main() int case ; float prin
5、tF; printf(“请输入 2个数: “); scanf(“%d %f“, printf(“%d %fn“,case,printF ); 该程序在编译时产生错误,其出错原因是 ( A)定义语句出错, case是关键字,不能用作用户自定义标识符 ( B)定义语句出错, printF不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 17 有以下程序 #include main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=get
6、char(); putchar(c1); putchar(c2); printf(“%c%cn“,c5,c6); 程序运行后,若从键盘输入(从第 1列开始 ) 123 45678 则输出结果是 ( A) 1245 ( B) 1256 ( C) 1278 ( D) 1267 18 以下选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( A) x/2 ( B) x%2=0 ( C) x%2!=0 ( D) x%2=1 19 以下选项中与 if(a=1)a=b; else a+; 语句功能不同的 switch语句是 ( A) switch(a=1) case 0:a=b;break; case
7、 1:a+; ( B) switch (a)case 1:a=b;break; default : a+; ( C) switch (a)default:a+;break; case 1:a=b; ( D) switch(a=1) case 1:a=b;break; case 0:a+; 20 若变量已正确定义,有以下程序段 i=0; do printf(“%d,“,i); while( i+ ); printf(“%dn“,i); 其输出结果是 ( A) 0,1 ( B) 0,0 ( C) 1,1 ( D)程序进入无限循环 21 有以下程序 #include main() int a=1,b
8、=2,c=3,d=0; if (a=1 else printf(“%d,%d,%dn“,a,b,c); else printf(“%d,%d,%dn“,a,b,c); 程序运行后的输出结果是 ( A) 1,3,2 ( B) 1,3,3 ( C) 1,2,3 ( D) 3,2,1 22 有以下程序段 int i, n; for( i=0; i 8; i+ ) n = rand( ) % 5; switch (n) case 1: case 3: printf(“%d n“, n); break; case 2: case 4: printf(“%d n“, n); continue; case
9、0: exit(0); printf(“%d n“,n); 以下关于程序段执行情况的叙述,正确的是 ( A) for循环语句固定执行 8 ( B)当产生的随机数 n为 4时结束循环操作 ( C)当产生的随机数 n为 1和 2时不做任何操作 ( D)当产生的随机数 n为 0时结束程序运行 23 有以下程序 #include int fun1( double a ) return (int)(a*=a); int fun2(double x, double y) double a=0,b=0; a=fun1( x ); b=fun1( y ); return (int)(a+b); main()
10、double w; w=fun2(1.1,2.0); printf(“%4.2f“, w); 程序执行后输出结果是 ( A) 0.0 ( B) 5 ( C) 5.21 ( D) 5.00 24 设有定义语句 int (*f)(int); 则以下叙述正确的是 ( A) f是基类型为 int的指针变量 ( B) f是指向函数的指针变量,该函数具有一个 int类 型的形参 ( C) f是指向 int类型一维数组的指针变量 ( D) f是函数名,该函数的返回值是基类型为 int类型的地址 25 有以下程序 #include void fun( int *a,int *b) int *c; c=a;a=
11、b;b=c; main() int x=3, y=5, *p= fun(p,q); printf(“%d,%d,“,*p,*q); fun( printf(“%d,%dn“,*p,*q); 程序运行 后的输出结果是 ( A) 3,5,3,5 ( B) 3,5,5,3 ( C) 5,3,3,5 ( D) 5,3,5,3 26 若有定义: int w35; 则以下不能正确表示该数组元素的表达式是 ( A) *( for (i=2; i 6; i+) bi *= 2; main() int a10=1,2,3,4,5,6,7,8,9,10, i; f (a); for (i=0; i 10; i+)
12、 printf(“%d,“, ai); 程序运行后的输出结果是 ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 1,2,6,8,10,12,7,8,9,10, ( C) 1,2,3,4,10,12,14,16,9,10, ( D) 1,2,6,8,10,12,14,16,9,10, 28 有以下程序 #include int fun( char s) int n=0; while(*s = 9 s+; return (n); main() char s10= 6, 1, *, 4, *, 9, *, 0, *; printf(“%dn“,fun(s); 程序的运行结果是 ( A
13、) 5 ( B) 9 ( C) 61 ( D) 61490 29 以下正确的字符串常量是 ( A) ( B) abc ( C) Olympic Games ( D) “ 30 下列选项中,能够满足 “只要字符串 s1等于字符串 s2,则执行 ST“要求的是 ( A) if(s1-s2=0) ST; ( B) if(s1=s2) ST; ( C) if(strcpy(s1,s2)=1) ST; ( D) if(strcmp(s2,s1)=0) ST; 31 有以下程序 #include int fun(char p10) int n=0,i; for(i=0; i 7; i+) if(pi0=
14、T) n+; return n; main() char str10=“Mon“,“Tue“,“Wed“,“Thu“,“Fri“,“Sat“,“Sun“; printf(“%dn“,fun(str); 程序执行后的输出结果是 ( A) 1 ( B) 2 ( C) 3 ( D) 0 32 有以下程序 #include void fun(char *t , char *s) while(*t!=0) t+; while( (*t+ = *s+ )!=0 ) ; main() char ss10=“acc“,aa10=“bbxxyy“; fun(ss, aa);printf(“%s,%sn“, ss
15、,aa); 程序的运行结果是 ( A) acc,bbxxyy ( B) accbbxxyy,bbxxyy ( C) accxxyy,bbxxyy ( D) accxyy,bbxxyy 33 有以下程序 #include void fun( char *p, int n ) char b6=“abcde“; int i; for( i=0,p=b; i n; i+ ) pi=bi; main() char a6=“ABCDE“; fun(a, 5);printf(“%sn“,a); 程序运行后的输出结果是 ( A) abcde ( B) ABCDE ( C) edcba ( D) EDCBA 3
16、4 有以下程序 #include fun( int a, int b ) int static m=0, i=2; i=i+m+1; m=i+a+b; return m; main() int k=4, m=1, p; p=fun( k, m); printf(“%d,“,p); p=fun( k, m); printf(“%dn“,p); 程序运行后的输出结果是 ( A) 8,17 ( B) 7,16 ( C) 8,8 ( D) 7,17 35 若有以下程序 #include int *f(int *s, int *t) int k; if (*s *t) k = *s; *s=*t; *t
17、=k; return s; main() int i=3, j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%dn“, i, j, *p, *q, *r); 则程序的输出结果是 ( A) 5,3,3,5,5 ( B) 3,5,5,3,5 ( C) 3,5,3,5,5 ( D) 5,3,5,3,5 36 以下结构体说明和变量定义中 ,正确的是 ( A) typedef struct abc int n;double m; ABC; ABC x,y; ( B) struct abc int n;double m ; struct abc x, y; ( C) stru
18、ct ABC int n;double m; struct ABC x, y; ( D) struct abc int n;double m; ; abc x, y; 37 以下叙述中错误的是 ( A)用 typedef可以说明一种新的类型名 ( B) typedef的作用是用一个新的标识符来代表已存 在的类型名 ( C)可以用 typedef说明的新类型名来定义变量 ( D) typedef说明的新类型名必须使用大写字母,否则会出编译错误 38 以下叙述中错误的是 ( A)只要类型相同,结构体变量之间可以整体赋值 ( B)函数的返回值类型不能是结构体类型,只能是简单类型 ( C)可以通过指针
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择题 模拟 22 答案 解析 DOC
