[计算机类试卷]国家二级(C语言)笔试模拟试卷6及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷6及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷6及答案与解析.doc(37页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 6及答案与解析 1 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 下列关于栈的描述中错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 3 在一棵二叉树上第 5层的结点数最多是 ( )。 ( A) 8 ( B) 16 ( C) 32 ( D) 15 4 按照 “后进先出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)
2、双向链表 ( D)二叉树 5 下列叙述中 j下确的是 ( )。 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上 3种说法都不对 6 下列叙述中正确的是 ( )。 ( A)数据的逻辑结构与存储结构必定是一一对应的 ( B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 ( C)程序设计语言中 的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)以上 3种说法都不对 7 软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以
3、及 ( ) ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)以上都不正确 8 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)软件工具 ( D)数据库 9 在数据库系统中,用户所见的数据模式为 ( )。 ( A)概念模式 ( B)外模式 ( C)内模式 ( D)物理模式, 10 对以下二叉树 进行中序遍历的结果是 ( )。 ( A) ACBDFEG ( B) ACBDFGE ( C) ABDCGEF ( D) FCADBEG 11 指出下面不正确的赋值语句 ( A) a+; ( B) a=b; ( C) a+=b; ( D) a=1, b=1; 12
4、 设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是 ( A) a+; ( B) b+; ( C) c+; ( D) d+; 13 若变量 a是 int类型,并执行了语句: a=A+1.6;,则正确的叙述是 ( A) a的值是字符 C ( B) a的值是浮点型 ( C)不允许字符型和浮点型相加 ( D) a的值是字符 A的 ASCII值加上 1 14 有以下程序 main ( ) int x=102, y=012; print f ( “%2d, %2dn“ ,x,y); 执行后输出结果是 ( A) 10,01 ( B
5、) 02,12 ( C) 102,10 ( D) 02,10 15 有以下程序段 int m=0,n=0; char c=a; scanf (“%d%c%d“, printf (“%d, %c, %dn“, m, c, n); 若从键盘上输入: 10A10回车,则输出结果是 ( A) 10,A,10 ( B) 10,a,10 ( C) 1O,a,0 ( D) 10,A,0 16 有定义语句 : “int a=1, b=2, c=3, x;“ , 则以下选项中各程序段执行后, x的值不为3 ( A) if(c a)x=1; else if(b a)x=2: else x=3; ( B) if(a
6、 3)x=3: else if(a 2)x=2; else x=1; ( C) if(a 3) x=3; if(a 2) x=2; if(a l)x=1; ( D) if(a b) x=b; if(b c) x=c if(c a) x=a; 17 有以下程序 main() int s=0, a=1, n; scanf ( “%d“, do s+=l; a=a-2; while (a! =n); print f ( “%dn“ , s ); 若要使程序的输出值为 2,则应该从键盘给 n输入不敷出值是 ( A) -1 ( B) -3 ( C) -5 ( D) 0 18 若有如下程序段,其中 s.
7、a. b. c均已定义为整型变量,且 a. c均已赋值 (c大于 0) s=a; for (b=1;b =c;b+) s=s+1; 则与上述程序段功能等价的赋值语句是 ( A) s=a+b; ( B) s=a+c; ( C) s=s+c; ( D) s=b+c; 19 有以下程序 main ( ) int k=4, n=0; for ( ; n k;) n+; if (n%3 !=0) continue; k- ; print f ( “%d, %dn“, k, n); 程序运行后的输出结果是 ( A) 1, 1 ( B) 2, 2 ( C) 3, 3 ( D) 4, 4 20 有以下程序 m
8、ain ( ) int i,s=0; for (i=1;i 10; i+=2) s+=i+1; print f ( “%dn“, s); 程序执行后的输出结果是 ( A)自然数 1 9的累加和 ( B)自然数 1 10的累加和 ( C)自然数 1 9中奇数之和 ( D)自然数 1 10中偶数之和 21 若 x和 y代表整型数,以下表达式中不能正确表示数学关系 x-y 10的是( )。 ( A) abs(x-y) 10 ( B) x-y -10 printf(“n“); 执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 23 以下选项中,与 k=n+完全等价
9、的表达式是 ( )。 ( A) k=n, n=n+1 ( B) n=n+1,k=n ( C) k=+n ( D) k+=n+1 24 有以下程序: main () int i, s=0; for(i=1; i 10; i+=2) s+=i+1; printf(“%dn“, s); 程序执行后的输出结果是 ( )。 ( A)自然数 1 9的累加和 ( B)自然数 1 10的累加和 ( C)自然数 1 9中奇 数之和 ( D)自然数 1 10中偶数之和 25 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。 ( A)函数的实参和其对应的形参共占同一存储单元 ( B)形参只
10、是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的形参和实参分别占用不同的存储单元 26 有以下程序段: struct stint x; int *y; *pt;int a=1,2, b=3,4;struct st c2=10,a,20,b;pt=c; 以下选项中表达式的值为 11的是 ( )。 ( A) *pt- y ( B) pt- x ( C) +pt- x ( D) (pt+)- x 27 设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof (fp)的返回值为 ( )。 ( A) EOF ( B)非 0值 ( C) 0 (
11、D) NULL 28 有以下函数 :int fun(char *s) char *t = s; while (*t+); return (t-s); 该函数的功能是 ( ) ( A)比较两个字符串的大小 ( B)计算 s所指字符串占用内存字节个数 ( C)计算 s所指字符串的长度 ( D)将 s所指字符串自制到字符串 t中 29 若有定义 :int x=0, *p=, 则语句 printf(“%dn“,*p);的输出结果是 ( )。 ( A)随机值 ( B) 0 ( C) x 的地址 ( D) p的地址 30 有以下程序 :int *flint *x, int *y) if(*x *y) re
12、turn x; else return y;main() int a=7,b=8,*p,*q,*r; p= q= r=f(p, q); printf(“%d, %d, %dn“,*p,*q,*r);执行后输出结果是 ( )。 ( A) 7,8,8 ( B) 7,8,7 ( C) 8,7,7 ( D) 8,7,8 31 以下程序中函数 f的功能是 : 当 flag 为 1时,进行由小到大排序 ;当 flag 为 0时 ,进行由大到小排序。 void f(int b, int n, int flag)int i, j, t; for (i=0; i n-1; i+) for (j=i+1; j n
13、; j+) if(flag ? b! j: bi bj) t=bi; bi=bj; bj=t; main () int a10=5,4,3,2,1,6,7,8,9,10, i; f( f(a, 5, 1), for (i=0; i 10; i+) printf(“%d,“, ai);程序运行后输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 3,4,5,6,7,2,1,8,9,10, ( C) 5,4,3,2,1,6,7,8,9,10, ( D) 10,9,8,7,6,5,4,3,2,1, 32 有以下程序 :main()int i, j, x=0; for
14、(i=0; i 2; i+) x+; for( j=0; j =3; j+) if(j%2) continue; x+; x+; printf(“x=%dn“, x);程序执行后输出结果是 ( )。 ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 33 有以下程序 :void sum(int *a) a0=a1; main() int aa10=1,2,3,4,5,6,7,8,9,10, i; for(i=2;i =0;i-) sum( printf(“%dn“, aa0);执行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 34 有
15、以下程序 :int f(int b4) int i, j, s=0; for(j=0j 4;j+) i=j; if(i 2) i=3-j; s+=bij; return s;main() int a44= 1,2,3,4, 0,2,4,6,3,6,9,12 , 3,2,1,0 ; printf(“%dn“, f(a); 执行后的输出结果是 ( )。 ( A) 12 ( B) 11 ( C) 18 ( D) 16 35 下列选项中正确的语句是 ( )。 ( A) chars 8; s=“Beijing“; ( B) char*s: s=Bei jing“); ( C) chars 8: s=“B
16、ei jing“; ( D) char*s: s=“Bei jing“; 36 有以下程序: mare()int i, s=0,t=1, 2, 3, 4, 5, 6, 7,8,9; for(i=0;i 9;i+=2) s+=* (t+ i); printf (“%dn“, s); 程序执行后的输出结果是 ( )。 ( A) 45 ( B) 20 ( C) 25 ( D) 36 37 程序中头文件 type1.h 的内容是 #define N 5#define M1 N*3程序如下 :#define “type1.h“#define M2 N*2main () int i; i=M1+M2; p
17、rintf(“%dn“, i); ) 程序编译后运行的输出结果是 ( )。 ( A) 10 ( B) 20 ( C) 25 ( D) 30 38 有以下程序: void swap (char *x, char *y)char t; t=*x, *x=*y;*y=t; main()char* s1=“abc“, *s2=“123“; swap(s1,s2); printf(“%s, %sn“, s1,s2);程序执行后的输出结果是 ( )。 ( A) 123,abc ( B) abc,123 ( C) 1bc,a23 ( D) 321,cba 39 以下叙述中正确的是 ( )。 ( A)周部变量
18、说明为 static存储类,其生存期将碍到延长 ( B)全局变量说明为 static 存储类,其作用域将被扩大 ( C)任何存储类的变量在未赋初值时,其值都是不确定的 ( D)形参可以使用的存储类说明符与局部变量完全相同 40 有以下程序 :main() union unsigned int n; unsigned char c; u1; u1.c=A; printf(“%cn“,u1.n);执行后输出结果是 ( )。 ( A)产生语法错 ( B)随机值 ( C) A ( D) 65 41 有以下程序 : main() int a=1,b; for(b=1 ;b =10;b+) if(a =8
19、) break; if(a%2=1) a+=5; continue; a-=3; printf(“%dn“, b); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 42 有以下程序 :main() char *p=“3697“,“2584“; int i, j; long num=0; for(i=0;i 2;i+) j=0; while(pij!=0) if(pilj -0)%2) num=10*num+ pij -0; j+=2; printf(“%dn“, num);程序执行后的输 出结果是 ( )。 ( A) 35 ( B) 37 ( C)
20、39 ( D) 3975 43 有以下程序 :#include string .h void f(char *s, char *t) char k; k=*s; *s=*t; *t=k; s+; t- -; if(*s) f(s, t);main() char str10=“abcdefg“,*p; p=str+strlen(str)/2+ 1; f(p,p-2); printf(“%sn“, str);程序运行后的输出结果是 ( )。 ( A) abcdcfg ( B) gfedcba ( C) gbcdefa ( D) abedcfg 44 有以下程序 :street STU char n
21、um10; float score3; ;main() struct STU s3= “20021“,90,95,85, “20022“,95,80,75 , “20023“,100, 95, 90 ,*p=s, int i; float sum=0; for(i=0;i 3 ,i+) sum=sum+ p- scorei; printf(“%6.2fn“,sum);程序运行后的输出结果是 ( )。 ( A) 260 ( B) 270 ( C) 280 ( D) 285 45 已定义以下函数 :fun (Char* p2, char* p1) while (*p2=*p1) != 0) p1+
22、;p2+; 函数的功能是 ( )。 ( A)将 p1所指字符串复制到 p2所指内存空间 ( B)将 p1所指字符串的地址赋给指针 p2 ( C)对 p1和 p2两个指针所指字符串进行比较 ( D)检查 p1和 p2两个指针所指字符串中是否有 0, 46 若要说明一个类型名 STP,使得定义语句 STP 轧等价于 char*s;,以下选项中正确的是 ( )。 ( A) typedef STP char*s; ( B) typedef *char STP; ( C) typedef STP *char; ( D) typedef char* STP; 47 有如下程序: #include stdi
23、o. h main () FILE *fp1; fp1=fopen (“fl.txt“, “w“); fprintf(fp1,“abc“); fclose (fp1); 若文本文件 f1.txt 中原有内容为:good,则运行以上程序后文件 f1 txt 中的内容为 ( )。 ( A) goodabc ( B) abed ( C) abc ( D) abcgood 48 以下程序的输出的结果是 ( )。 int x=3; main() int i; for(i=1;i x;i+)incre();incre() staic int x=1; x*=x+1; printf(“ %d“, x); (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 答案 解析 DOC
