[计算机类试卷]国家二级(C语言)笔试模拟试卷213及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷213及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷213及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 213 及答案与解析 1 栈和队列的共同特点是 ( )。 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 2 数据的存储结构是指 ( )。 ( A)数据所占的存储空间 ( B)数据的逻辑结构在计算机中的存放形式 ( C)数据在计算机中的顺序存储方式 ( D)存储在计算机外存中的数据 3 关系数据库管理系统能实现的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更 新、排序 ( D)显示、打印、制表 4 已知二叉树后序遍历序列是 dabec,中序遍历序列是 deb
2、ac,它的前序遍历序列是 ( )。 ( A) acbed ( B) decab ( C) deabc ( D) cedba 5 在单链表中,增加头结点的目的是 ( )。 ( A)方便运算的实现 ( B)使单链表至少有一个结点 ( C)标识表结点中首结点的位置 ( D)说明单链表是线性的链式存储实现 6 设有二元关系 R和三元关系 S,下列运算合法的是 ( )。 ( A) RS ( B) R S ( C) RS ( D) RS 7 两个或两个以上模块之间联系的紧密程度称为 ( )。 ( A)耦合性 ( B)内聚性 ( C)复杂性 ( D)数据传输特性 8 设 a=1, b=2, c=3, d=4
3、,则表达式: “a b?a: b b?a: c d?a: d”的结果为( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 9 若有定义: “int a=4, b=5; float x=3 4, y=2, 1; ”,则下列表达式的值为( )。 (float)(a+b) 2+(int)x (int)y; ( A) 5 5 ( B) 55 ( C) 5 500000 ( D) 55 00000 10 下列程序的输出结果是 ( )。 main() int a, b, d=25; a=d 10 9; b=a&(-1): printf(“ d, d n“, a, b); ( A) 6, 1
4、( B) 2, 1 ( C) 6, 0 ( D) 2 0 11 有下列程序: main() int x=5; do printf(“ d“, x-=4); ) while(!(-x); 程序的输出结果是 ( )。 ( A) 1 ( B) 2 0 ( C) 14 ( D)死循环 12 若有下列定义,则对 a数组元素地址的正确引用是 ( )。 int a5, *p=a; ( A) p+5 ( B) *a+1 ( C) &a+1 ( D) &a0 13 执行语句 printf(“ u n“, +12345)的输出结果是 ( )。 ( A) 12345 ( B) 0 ( C) -1 ( D)非定值 1
5、4 定义下列结构体 (联合 )数组: struct st char name15; int age; a10=“ZHAO“, 14, “WANG“, 15, “LIU“, 16, “ZHANG“, 17); 执行语句 printf(“ d, c“, a2 age, *(a3 name+2)的输出结果为 ( )。 ( A) 15, A ( B) 16, H ( C) 16, A ( D) 17, H 15 若有定义语句: “char s10=“1234567 0 0“; ”,则 strlen(s)的值是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 16 下列 程序的输出结
6、果是 ( )。 char*point(char*pt): main() char b4=a, c, s, f, *pt=b; pt=point(pt); printf(“ c n“, *pt); point(char*p) p+=3; return p; ( A) s ( B) c ( C) f ( D) a 17 下列选项中不会引起二义性的宏定义是 ( )。 ( A) #define S(x) x*x ( B) #define S(x) (x)*(x) ( C) #define S(x) (x*x) ( D) #define S(x) (x)*(x) 18 交换两个变量的值,不允许用临时变量
7、,应该使用下列 ( )位运算符。 ( A) & ( B) ( C) ( D) 19 若有 “double a; ”,则正确的输入语句是 ( )。 ( A) scanf(“ 1f“, a); ( B) scanf(“ f“, &a); ( C) scanf(“ 1f“, &a); ( D) scanf(“le“, &a); 20 设有如下关系表 : 则下列操作中正确的是 ( )。 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R S 21 下列程序的输出结果是 ( )。 printf(“ d“, +*x); void main() int y=3; p(&y); (
8、 A) 3 ( B) 4 ( C) 2 ( D) 5 22 若变量 c为 char类型,能正确判断出 c为小写字母的表达式是 ( )。 ( A) a =c =z ( B) (c =a) (c =z) ( C) (a =c)and(z c ( D) (c =a)&(c =z) 23 以下程序的输出结果是 ( )。 main() int num=0: while(num =2) num+: printf( “ d n“, num); ( A) 1 2 3 4 ( B) 1 2 3 ( C) 1 2 ( D) 1 24 以下函数返回 a所指数组中最小的值所在的下标值: fun(int*a, int
9、n) int i, j=0, p; p=j; for(i=j; i n; i+) if(ai aj)_return(p); 在下划线处应填入的是 ( )。 ( A) i=p ( B) ap=ai ( C) p=j ( D) p=i 25 有如下程序段: int a=14, b=15, x: char c=A; x=(a&b)&(c B); 执行该程序后, x的值为 ( )。 ( A) true ( B) false ( C) 0 ( D) 1 26 以下程序的输出结果是 ( )。 main() int i, a44=1, 3, 5), 2, 4, 6, 3, 5, 7; printf(“ d
10、d d d n“, a03, a12, a21, a30; ( A) 0650 ( B) 1470 ( C) 5430 ( D)输出值不定 27 下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。 #include void sort(int a, int n) int i, j, t; for(i=0; i n-1; i+) for(j=i+1+1; j n; j+) if(ai aj) t=aEi; ai=aj; aj=t; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; sort(&a1, 7); for(i=0;
11、 i 10; i+)printf(“ d, “ai); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 8, 7, 6, 5, 4, 3, 2, 9, 10, ( D) 1, 2, 10, 9, 8, 7, 6, 5, 4, 3, 28 下列判断正确的是 ( )。 ( A) char a=“ABCD“;等价于 char*a; *a=“ABCD“; ( B) char str10=“ABCD“;等价于 char str10; str=“ABCD“);
12、( C) char*s=“ABCD“;等价于 char s; *s=“ABCD“; ( D) char c5=“ABCD“, d5=“ABCD“;等价于 char cs-d5=“ABCD“; 29 有如下程序: main() int n5=0, 0, 0, i, k=2; for(i=0; i&printf(“ d n“, nk); ); 该程序的输出结果是 ( )。 ( A)不确定的值 ( B) 2 ( C) 1 ( D) 0 30 当执行下面的程序时,如果输入 ABC,则输出结果是 ( )。 #include #include main() char ss10=“1, 2, 3, 4, 5
13、“; gets(ss); strcat(ss, “6789“); printf(“ s n“, ss); ( A) ABC6789 ( B) ABC67 ( C) 12345ABC6 ( D) ABC456789 31 以下程序的输出结果是 ( )。 #define M(x, y, z)x*y+z main() int a=1, b=2, c=3; printf(“ d n“, m(a+bb+c, c+a); ( A) 19 ( B) 17 ( C) 15 ( D) 12 32 有以下程序: main() int k=5, n=0; do switch(k) case 1; case 3; n
14、+=1; k-; break; defalut: n=0; k-; case 2: case 4: n+=2; k-; break; printf(“ d“, n); while(k 0&n 5); 程序运行后的输出结果是 ( )。 ( A) 235 ( B) 0235 ( C) 02356 ( D) 2356 33 下面 for语句的循环次数为 ( )。 for(x=1, y=0; (y!=19)&(x 6); x+); ( A)是无限循环 ( B)循环次数不定 ( C)最多执行 6次 ( D)最多执行 5次 34 对下述程序的判断中,正确的是 ( )。 #include main() ch
15、ar *p, s256; p=s: while(strcmp(s, “the end“) printf(“Input the string: “); gets(S); while(*p) putchar(*p+); ( A)此程序循环接收字符串并输出,直到接收到字符串 “the end”为止 ( B)此程序循环接收字符串,接收到字符串 “the end”则输出,否则程序终止 ( C)此程序循环接收字符串并输出,直到接收字符串 “the end”为止,但因为代码有错误,程序不能正常工作 ( D)此程序循环接收字符串并将其连接在一起, 直到接收字符串 “the end”为止,输出连接在一起的字符串
16、 35 下列程序的输出结果是 ( )。 #include main() int i, s=0; for(i=1; i 10; i+) if(!(i 2)&!(i 3)s+=i; printf(“ d n“, s); ( A) 4 ( B) 39 ( C) 45 ( D) 6 36 有以下程序: void fun2(char a, char b) printf(“ c c“, a, b); char a=A, b=B; void funl()a=C b=D; main() funl(); printf(“ c c“, a, b); fun2(E, F); 程序的运行结果是 ( )。 ( A) C
17、DEF ( B) ABEF ( C) ABCD ( D) CDAB 37 有以下程序: #include main() char c1=1, c2=2: c1=getchar(); c2=getchar(); putehar(c1); putchar(c2); 当程序运行时输入 a后,下列叙述中正确的是 ( )。 ( A)变量 c1被赋予字符 a, c2被赋予回车符 ( B)程序将等待用户输入第 2个字符 ( C)变量 c1被赋予字符 a, c2中仍是原有字符 2 ( D)变量 c1被赋予字符 a, c2中将无确定值 38 下述程序的输出结果是 ( )。 #define N 20 void f
18、un(int a, int n, int m) int i, j; for(i=m; i n; i-)ai+1=ai; main() int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(a, 2, 9); for(i=0; i 5; i+)printf(“ d“, ai); ( A) 10234 ( B) 12344 ( C) 12334 ( D) 12234 39 若要用函数 fopen打开一个新的二进制文件,该文件要既能读也能写,则应以( )方式打开文件。 ( A) wb ( B) wb+ ( C) rb+ ( D) rb 40 下列叙述中错误的是 (
19、 )。 ( A)在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 ( B)在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 ( C)在 C语言中,外部变量的隐含类型是自动存储类别 ( D)在 C语言中,函数形参的存储类型是自动 (auto)类型的变量 41 按照 “先进先出 ”的原则组织数据的结构是 _。 42 Jackson方法是一种面向 _的结构化方法。 43 下列程序段的输出结果是 _。 int n=c; switch(n+) default: printf(“error“); break; case a: printf(“good“); break; cas
20、e c: printf(“morning“); case d: printf(“class“); 44 下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。 #include #include main() char c; int a, s=0; while(_) if(isdigit(c) a=s-0; s+=a; printf(“s= d“, s); 45 下列程序的输出结果是 _。 #define p(a) printf(“ d, “, (int)(a) #define PRINT(a) p(a); printf(“the end“) main() int i
21、, a=0; for(i=1; i 5; i+) PRINT(a+i); printf(” n”); 46 若有定义: “int a=10, b=9, C=8; ”接着顺序执行下列语句后,变量 b中的值是_。 c=(a-=(b-5): c=(a 11)+(b=3); 47 用以下语句调用库函数 malloc,使字符指针 st指向具有 11个字节 的动态存储空间,请填空。 st=(char*)_。 48 表达式 pot(2 8, sqrt(float(x)值的数据类型为 _型。 49 下列程序段的输出结果是 _。 int n=c; switch(n+) default: printf(“erro
22、r“); break; casea: caseA: caseb: caseB: printf(“good“); break; casec: caseC: printf(“pass“); cased: caseD: print(“warn“); 50 以下程序的输出结果是 _。 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“ d, d n“, a, b); 51 要求使下列程序输出 5个整数,请填空。 for(i=0; i =_; printf(“ d n“, i+=2); ); 52 在宏定义 #define PI 3 14159中,用宏名
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 213 答案 解析 DOC
