[计算机类试卷]国家二级C语言机试(选择题)模拟试卷53及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷53及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷53及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 53 及答案与解析 一、选择题 1 在数据管理技术发展的三个阶段中,数据共享最好的是 ( )。 ( A)人工管理阶段 ( B)文件系统阶段 ( C)数据库系统阶段 ( D)三个阶段相同 2 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 3 在面向对象方法中,不属于 “对象 “基本特点的是 ( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 4 在软件开发中,需求分析阶段可以使用的工具是 ( )。 ( A) N S图 ( B) DFD图 ( C) PA
2、D图 ( D)程序流程图 5 数据流图中带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)事件驱动 ( C)模块调用 ( D)数据流 6 下列叙述中正确的是 ( )。 ( A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 ( B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 ( C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 ( D) 链式存储结构比顺序存储结构节省存储空间 7 下列叙述中正确的是 ( )。 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 ( B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
3、 ( C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列中元素的个数是由队头指针和队尾指针共同决定 8 一个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321EDCBA 9 下面结构体的定义语句中,错误的是 ( )。 ( A) struct ord int x; int y; int z; struct ord a; ( B) struct ord int x
4、; int y; int z; ; struct ord a; ( C) struct ord int x; int y; int z; a; ( D) struct int x; int y; int z; a; 10 下列叙述中错误的是 ( )。 ( A) C程序可以由多个程序文件组成 ( B)一个 C语言程序只能实现一种算法 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 11 以下选项中,能用作数据常量的是 ( )。 ( A) 115L ( B) 0118 ( C) 1.5e1.5 ( D) o115 12 按照 C语言规定的用户标识符命
5、名规则,不能出现在标识符中的是 ( )。 ( A)大写字母 ( B)下划线 ( C)数字字 符 ( D)连接符 13 设变量已正确定义并赋值,以下正确的表达式是 ( )。 ( A) x y z 5, y ( B) int(15.8%5) ( C) x y*5 x z ( D) x 25%5.0 14 有以下程序 #include structSTUcharname9;charsex;intscore2; voidf(structSTUa) structSTUb=“Zhao“,m,85,90; a1=b; main() structSTUc2=“Qian“,f,95,92,“Sun“,m,98,
6、99; f(c); printf(“%s,%c,%d,%d,“,c0.name,c0.sex,c0.score0,c0.score1); printf(“%s,%c,%d,%dn“,c1.name,c1.sex,c1.score0,c1.score1); 程序运行后输出结果是 ( )。 ( A) Qian,f,95,92,Sun,m,98,99 ( B) Qian,f,95,92,Zhao,m,85,90 ( C) Zhao,m,85,90,Sun,m,98,99 ( D) Zhao,m,85,90,Qian,f,95,92 15 若有以下程序 #include #defineS(x)(x)*
7、(x) #defineT(x)S(x)/S(x)+1 main() intk=3,j=2; printf(“%d,%dn“,S(k+j),T(k+j); 则程序的输出结果是 ( )。 ( A) 11,2 ( B) 25,2 ( C) 11,12 ( D) 25,26 16 有以下程序: #include main() intx, y, z; x y 1; z x, y, y; printf(“%d, %d, %dn“, x, y, z); 程序运行后的输出结果是 ( )。 ( A) 2,3,3 ( B) 2,3,2 ( C) 2,3,1 ( D) 2,2,1 17 有以下程序: #includ
8、e main() charc1, c2; c1 A 8 4; c2 A 8 5; printf(“%c, %dn“, c1, c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是 ( )。 ( A) E,68 ( B) D,69 ( C) E, D ( D)输出无定值 18 若有定义 intx, y;并已正确给变量赋值,则以下选项中与表达式 (x y)? (x ): (y )中的条件表达式 (x y)等价的是 ( )。 ( A) (x y 0|x y 0) ( B) (x y 0) ( C) (x y 0) ( D) (x y 0) 19 有以下程序: #include ma
9、in() intx 1, y 0; if(! x)y; elseif(x 0) if(x)y 2; elsey 3; printf(“%dn“, y); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 2 ( C) 1 ( D) 0 20 若有定义: floatx 1.5; inta 1, b 3, c 2;则正确的 switch语句是 ( )。 ( A) switch(a b) case 1: printf(“*n“); case 2 1: printf(“*n“); ( B) switch(int)x); case 1: printf(“*n“); case 2: printf(
10、“*n“); ( C) switch(x) case 1.0: printf(“*n“); case 2.0: printf(“*n“); ( D) switch(a b) case 1: printf(“*n“); case c: printf(“*n“); 21 有以下程序: #include main() inty 9; for(; y 0; y ) if(y%3 0)printf(“%d“, y); 程序的运行结果是 ( )。 ( A) 852 ( B) 963 ( C) 741 ( D) 875421 22 有以下程序: #include main() inti, j, m 1; f
11、or(i 1; i 3; i ) for(j 3; j 0; j ) if(i*j3)break; m* i*j; printf(“m %dn“, m); 程序运行后的输出结果是 ( )。 ( A) m 4 ( B) m 2 ( C) m 6 ( D) m 5 23 有以下程序: #include intfun(intx, inty) if(x! y)return(x y)/2); elsereturn(x); main() inta 4, b 5, c 6; printf(“%dn“, fun(2*a,fun(b,c); ( A) 6 ( B) 3 ( C) 8 ( D) 12 24 有以下
12、程序: #include intadd(inta, intb)return(a b); main() intk, (*f)(), a 5, b 10; f add; 则以下函数调用语句错误的是 ( )。 ( A) k f(a, b); ( B) k add(a, b); ( C) k (*f)(a, b); ( D) k *f(a, b); 25 有以下程序: #include main() intn, *p NULL; *p &n; printf(“Inputn: “); scanf(“%d“, &p); printf(“outputn: “); printf(“%dn“, p); 该程序试
13、图通过指针 p为变量 n读入数据并输出,但程序有多处错误,以下语句正确的是 ( )。 ( A) int n, *p NULL; ( B) *p &n; ( C) scanf(“%d“, &p) ( D) printf(“%dn“, p); 26 下列定义数组的语句中,正确的是 ( )。 ( A) #define N 10 int xN; ( B) int N 10; int xN; ( C) int x010; ( D) int x ; 27 有以下程序: #include main() inta 2,3,5,4, i; for(i 0; i 4; i ) switch(i%2) case0:
14、 switch(ai%2) case0: ai; break; case1: ai; break; case1: ai 0; for(i 0; i 4; i )printf(“%d“, ai); printf(“n“); 程序运行后的输出结果是 ( )。 ( A) 0 3 0 4 ( B) 2 0 5 0 ( C) 3 3 4 4 ( D) 3 0 4 0 28 有以下程序: #include main() intb33 0,1,2,0,1,2,0,1,2, i, j, t 1; for(i 0; i 3; i ) for(j i; j =i; j )t bibji; printf(“%dn“
15、, t); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 4 ( C) 1 ( D) 9 29 以下语句中存在语法错误的是 ( )。 ( A) char ss620; ss1 “right? “; ( B) char ss()20 “right? “; ( C) char *ss6; ss1 “right? “; ( D) char *ss() “right? “; 30 以下不能将 s所指字符串正确复制到 t所指存储空间的是 ( )。 ( A) do*t *s; while(*s ); ( B) for(i 0; ti si; i ); ( C) while(*t *s)t; s
16、 ( D) for(i 0, j 0; ti sj ; ); 31 有以下程序: #include voidswap(char*x, char*y) chart; t *x; *x *y; *y t; main() char*s1 “abc“, *s2 “123“; swap(s1, s2); printf(“%s, %sn“, s1, s2); 程序执行后的输出结果是 ( )。 ( A) 321, cba ( B) abc,123 ( C) 123, abc ( D) 1bc, a23 32 有以下函数: intfun(char*x, char*y) intn 0; while(*x *y)
17、&*x! 0)x; y; n; returnn; 函数的功能是 ( )。 ( A)将 y所指字符串赋给 x所指存储空间 ( B)查找 x和 y所指字符串中是否有 0 ( C)统计 x和 y所指字符串中最前面连续相同的字符个数 ( D)统计 x和 y所指字符串中相同的字符个数 33 有以下程序: #include intfun() staticintx 1; x* 2; returnx; main() inti, s 1; for(i 1; i =3; i )s* fun(); printf(“%dn“, s); 程序运行后的输出结果是 ( )。 ( A) 10 ( B) 30 ( C) 0 (
18、 D) 64 34 在一个 C源程序文件中所定义的全局变量,其作用域为 ( )。 ( A)由具体定义位置和 extern说明来决定范围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)所在文件的全部范围 35 以下叙述中错误的是 ( )。 ( A)可以通过 typedef增加新的类型 ( B)可以用 typedef将已存在的类型用一个新的名字来代表 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 36 有以下程序: #include structS inta, b; data2 10,100,20
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择题 模拟 53 答案 解析 DOC
