[计算机类试卷]国家二级(C语言)笔试模拟试卷210及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷210及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷210及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 210 及答案与解析 1 在深度为 5的满二叉树叶中,叶子结点的个数为 ( )。 ( A) 32 ( B) 31 ( C) 16 ( D) 15 2 软件生命周期中,花赞最多的阶段是 ( )。 ( A)详细设计 ( B)软件编码 ( C)软件测试 ( D)软件维护 3 视图设汁一般有 3种设计次序,下列不属于视图设计次序的是 ( )。 ( A)自顶而下 ( B)由内向外 ( C)由外向内 ( D)自底向上 4 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)结性链表 ( C)二叉链表 ( D)有序线性链表 5 以下叙述中
2、错误的是 ( )。 ( A)对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出 ( B)数组名代表的是数组所占存储区的首地址,其值不可改变 ( C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出 “下标越界 ”的出错信息 ( D)可以通过赋初值的方式确定数组元素的个数 6 以下只有在使用时才为该类型变量分配内存的存储类型说明是 ( )。 ( A) auto和 static ( B) auto和 register ( C) register和 static ( D) extern和 register 7 下列可作为 C语言赋值的语句的是 ( )。 ( A) x
3、=3, y=5 ( B) a=b=6 ( C) i-; ( D) a, c 8 若整型变量 a、 b、 c、 d中的值依次为 2、 2、 3、 4,则条件表达式 a b?a: cd?c: d的值是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 9 下列叙述中错误的是 ( )。 ( A)线性表是由 n个元素组成的一个有限序列 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和后件 ( D)线性表可以是空表 10 以下程序执行后 sum的值是 ( )。 main() int i, sum; for(i=1; i 26; i+)sum+=i; printf(
4、“ d n“, sum); ( A) 15 ( B) 14 ( C)不确定 ( D) 0 11 以下程序的输出结果是 ( )。 main() int i; for(i=0; i 3; i+) switch(i) case 0: printf(“ d“, i); case 2: printf(“ d“, i); default: printf(“ d“, i); ( A) 000102 ( B) 000020 ( C) 000122 ( D) 000111 12 下列程序执行后的输出结果是 ( )。 main() int x=f; printf(“ c n“, A+(x-a+1); ( A) G
5、 ( B) H ( C) I ( D) J 13 有如下程序: main() int a=2, b=-1, c=2; if(a 0)if(b 0)c=0; else c+; printf(“ d n“, c); 该程序的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 14 在 C语言中,函数返回值的类型最终取决于 ( )。 ( A)函数定义时在函数首部所说明的函数类型 ( B) return语句中 表达式值的类型 ( C)调用函数时主调函数所传递的实参类型 ( D)函数定义时形参的类型 15 以下程序的输出结果是 ( )。 main() int i=0, s=0:
6、 for(; ) if(i=3i=5) continue; if(i=6) break; 1+; s+=i; ; printf(” d n“, s); ( A) 10 ( B) 13 ( C) 21 ( D)程序陷入死循环 16 假设 a和 b为 int型变量,则执行以下语句后 b的值为 ( )。 a=1; b=10; do b-=a; a+; while(b- 0); ( A) 9 ( B) -2 ( C) -1 ( D) 8 17 下列程序执行后的输出结果是 ( )。 main() int a33, *p, i p=&a00; for(i=p; i 9; i+)pi=i+1; printf
7、(“ d n”, a12); ( A) 3 ( B) 6 ( C) 9 ( D)随机数 18 以下程序的输出结果是 ( )。 int f(int A) return a 2; main() int s8=1, 3, 5, 2, 4, 6), i, d=0; for(i=0; f(s8); i+)d+=si; printf(“ d n“, d); ( A) 9 ( B) 11 ( C) 19 ( D) 21 19 s1和 s2已正确定义并分别指向两个 字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 ( )。 ( A) if(s1 s2)S; ( B) if(
8、strcmp(s1, s2)S; ( C) if(strcmp(s2, s1) 0)S; ( D) if(strcmp(s1, s2) 0)S; 20 有以下函数: char fun(char*p) return p; ) 该函数的返回值是 ( )。 ( A)无确切的值 ( B)形参 p中存放的地址值 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址值 21 下列程序的运行结果为 ( )。 #inelude main() struet date int year, month, day; today; printf(“ d n“, sizeof(struct date); ( A)
9、8 ( B) 6 ( C) 10 ( D) 12 22 有以下程序: #include struct stu int nUN; char name10; int age; void fun(struct stu*p) printf(“ s n“, (*p) name); main() struct stu students3=9801, “Zhang“, 20, 9802, “Wang“, 19), 9803,“Zhao“, 18 fun(students+2); 输出的结果是 ( )。 ( A) Zhang ( B) Zhao ( C) Wang ( D) 18 23 有以下程序: viod
10、 fun(int a, int b, int c) a=456; b=567; c=678; main() int x=10, y=20, z=30; fun(x, y, z); printf(“ d, d, d n“, x, y, z); 输出的结果是 ( )。 ( A) 30, 20, 10 ( B) 10, 20, 30 ( C) 456, 567, 678 ( D) 678, 567, 456 24 有以下结构说明和变量定义,指针 p、 q、 r分别指向链表中的 3个连续结点。 struct node int data; struct node*next; *p, *q, *r; 现要
11、将 q所指结点从链表中删除,同时要保持链表的连续 ,以下不能按要求完成操作的语句是 ( )。 ( A) p- next=q- next; ( B) p-next=p- next-next; ( C) p- next=r; ( D) p=q- next; 25 有定义: “int a=2, b=3, c=4; ”,则下列选项中值为 0的表达式是 ( )。 ( A) (!a=1)&(!b=0) ( B) (a b)&!c 1 ( C) a&b ( D) a (b+b)&(ca) 26 设 fun()函数的定义形式为 void fun(char ch, float x) 则下列对函数 fun的调用语
12、句中,正确的是 ( )。 ( A) fun(“abc“, 3 0); ( B) t=fun(D, 16 5); ( C) fun(65, 2 8); ( D) fun(32 32); 27 有下列程序: main() char pa, b, c, q=“abe“; printf(“ d d n“, sizeof(p), sizeof(q); 程序运行后的输出结果是 ( )。 ( A) 4 4 ( B) 3 3 ( C) 3 4 ( D) 4 3 28 有下列程序: main() int k=5, n=0; while(k 0) switch(k) default: break; case 1:
13、 n=n+k; case 2: case 3: n+=k; k-; printf(“ d n“, n); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 4 ( C) 6 ( D) 7 29 有以下程序: main() int a=2, 4, 6, 8, 10, y=0, x, *p; p=&a1; for(x=1; x 3; x+) y+=px; printf(“ d n, y“); 程序运行后的输出结果是 ( )。 ( A) 10 ( B) 11 ( C) 14 ( D) 15 30 有下列程序: void sort(int a, int n) int i, j, t; for(
14、i=0; i n1; i+) for(j=i+1; j n; j+) if(ai aj)t=ai; ai=aj; aj=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10), i; sort(aa+2, 5); for(i=0; i 10; i+)printf(“ d, “, aai); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 1, 2, 7, 6, 3, 4, 5, 8, 9, 10, ( C) 1, 2, 7, 6, 5, 4, 3, 8,
15、9, 10, ( D) 1, 2, 9, 8, 7, 6, 5, 4, 3, 10 31 有以下程序: #include int abc(int u, int v); main() int a=24, b=16, c; c=abc(a, b); printf(“ d n“, c); int abc(int u, int v) int w; while(v) w=u v; u=v; v=w; return; 输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 32 下列程序的输出结果是 ( )。 int f1(int x, int y)return x y?x: Y;
16、int f2(int x, int y)freturn x y?y: x; main() int a=4, b=3, c=5, d=2, e, f, g; e=f2(f1(a, b), f1(c, d); f=f1(f2(a, b), f2(c, d); g=a+b+c+d-e-f; printf(“ d, d, d n“, e, f, g); ( A) 4, 3, 7 ( B) 3, 4, 7 ( C) 5, 2, 7 ( D) 2, 5, 7 33 语句 int(*ptr)()的含义是 ( )。 ( A) ptr是一个返回值为 int的函数 ( B) ptr是指向 int型数据的指针变量
17、( C) ptr是指向函数的指针,该函数返回一个 int型数据 ( D) ptr是一个函数名,该函数的返回值 是指向 int型数据的指针 34 下述程序的输出结果是 ( )。 #include main() char ch25=“1234“, “5678“, *p2; int i, j, s=0; for(i=0; i 2; i+) pi=chi; for(i=0; i 2; i+) s=pij-0; printf(“ d“, s); ( A) 6357 ( B) 6135 ( C) 1357 ( D) 691357 35 下述程序的输出结果是 ( )。 #inelude main() int
18、 a23=1, 2, 3, 4, 5, 6。 (*p)3, i; p=a; for(i=0; i 3; i+) if(i 2) p1i=p1i-1; else p1i=1; printf(“ d n“, a01+a11十 a12); ( A) 8 ( B) 7 ( C) 12 ( D) 9 36 若有以下说明,则 ( )不是对 strcpy库函数正确的调用。 strcpy库函数用于复制一个字符串: char*strl=“abcd“, str210, *str3= “hijklmn“。 *str42, *str5=“aaaa“; ( A) strcpy(str2, str1) ( B) strc
19、py(str3, str1) ( C) strcpy(str1, str2) ( D) strcpy(str5, str1) 37 执行下述程序后,输出的结果是 ( )。 #incl ude #define S(X) X*X void main() int a=9, k=3, m-2; a =S(k+m) S(k+m); printf(“ d“, a); ( A) 1 ( B) 4 ( C) 9 ( D) 0 38 已知有如下结构体: struct sk int a; float b; data, *p; 若有 p=&data,则对 data的成员 a引用正确的是 ( )。 ( A) (*p)
20、 data a ( B) (*p) a; ( C) p- data a ( D) p data a 39 下述程序的输出结果是 ( )。 #include void main() int b6=2, 4, 6, 8, 10, 12; int *p=b, *q=&p; printf(“ d, “, *(p+); printf(“ d, “, *q); ( A) 4, 4 ( B) 2, 2 ( C) 4, 5 ( D) 2, 4 40 以下程序的输出结果是 ( )。 main() int i, k, a10, p3; k=5: for(i=0; i 10; i+)ai=i; for(i=0; i
21、 3; i+)pi=ai*(i+1); for(i=0; i 3; i+)k+=pi*2; printf(“ d n“, k); ( A) 20 ( B) 21 ( C) 22 ( D) 23 41 若希望下列的程序运行后输出 25,程序空白处的正确选项是 ( )。 main() int id=50, a=7, 4, 10, 5, 8; for( ) j+=ai; printf(“ d“, j-40); ( A) i=1; i 4; +i ( B) i=1; i 3; +i ( C) i=4; i 2; i- ( D) i=2; i 4; +i 42 树中度 为零的结点称为 _。 43 在面向
22、对象方法中,类之间共享属性和方法的机制称为 _。 44 软件是程序、数据和 _的集合。 45 若 x和 a均是 int型变量,则计算 x=(a=4, 6*2)后的 x值为 _。 46 下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。 int n=0, c; c=getchar(); while(C!= n) if(_) n+: 47 顺序存储方法是把逻辑上相邻的结点存储在物理位置 _的存储单元中。 48 在关系模型中,把数据看成是二维表,每一个二维表称为一个 _。 49 下列程序的输出结果是 _。 #include main() int x=1, y=1, a=1,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 210 答案 解析 DOC
