[计算机类试卷]国家二级(C语言)笔试模拟试卷24及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷24及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷24及答案与解析.doc(36页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 24 及答案与解析 1 下面叙述不正确的是 ( A)算法的执行效率与数据的存储结构有关 ( B)算法的空间复杂度是指执行这个算法所需要的内存空间 ( C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( D)算法的时间复杂度是指执行这个算法所需要的时间 2 下列关于栈的叙述中正确的是 ( A)在栈中只能插入数据 ( B)在栈中只能删除数据 ( C)栈足先进先出的线性表 ( D)栈是先进后出的线性表 3 设有下列二叉树: 对此二叉树先序遍历的结果为 ( A) ABCDEF ( B) BDAECF ( C) ABDCEF ( D) DBEFCA 4 下面对对
2、象概念描述错误的是 ( A)任何对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通讯靠消息传递 ( D)操作是对象的动态属性 5 信息隐蔽的概念与下述哪一种概念直接相关 ? ( A)软件结构定义 ( B)模块独立性 ( C)模块类型划分 ( D)模块耦合度 6 软件详细设计的主要仟务是确定每个模块的 ( A)算法和使用的数据结构 ( B)外部接口 ( C)功能 ( D)编程 7 对长度为 n的线性表进行顺序查找,在最坏情况下,所需要的比较次数为 ( A) log2n ( B) n/2 ( C) n ( D) n+1 8 利用 E-R模型进行数据库的概念设计,可以分成三步:
3、首先设计局部 E-R模型,然后把各个局部 E-R模型综合成一个全局的模型,最后对全局 E-R模型进行_,得到最终的 E-R模型。 ( A)简化 ( B)结构化 ( C)最小化 ( D)优化 9 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是 ( A)把软件划分成模块 ( B)确定模块之间的调用关系 ( C)确定 各个模块的功能 ( D)设计每个模块的伪代码 10 以下叙述正确的是 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就能被计算机识别执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现的最晚、具有其他语言的一切优
4、点 11 以下叙述中正确的是 ( )。 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就被计算机识别并执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现最晚,具有其他语言的一切优点 12 在一个 C语言程序中, ( )。 ( A) main函数必须出现在所有函数之前 ( B) main函数可以在任何地方出现 ( C) main函数必须出现在所有函数之后 ( D) main函数必须出现在固定位置 13 C语言中最简单的数据类型包括 ( )。 ( A)整型、实型、逻辑型 ( B)整型、实型、字符型 ( C)整型、字符型、逻辑型 ( D)字
5、符型、实型、逻辑型 14 若变量已正确定义并赋值,以下符合 C语言语法的表达式是 ( )。 ( A) a:=b+1 ( B) a=b=c+2 ( C) int 18.5%3 ( D) a=a+7=c+b 15 下列可用于 C语言用户标识符的一组是 ( )。 ( A) void, define, WORD ( B) a3_b3, _123, Car ( C) For, -abc, IF Case ( D) 2a, DO, sizeof 16 C语言中运算对象必须是整型的运算符是 ( )。 ( A) %= ( B) / ( C) = ( D) = 17 若变量 a, i已正确定义,且 i已正确赋值
6、,下面合法的语句是 ( )。 ( A) a=1 ( B) +i; ( C) a=a+=5; ( D) a=int(i); 18 已知 int t=0; while(t=1) 则以下叙述正确的是 ( )。 ( A)循环控制表达式的值为 0 ( B)循环控制表达式的值为 1 ( C)循环控制表达式不合法 ( D)以上说法都不对 19 若变量已正确说明为 float型,要通过 scanf(“%f%f%f“, i+; printf(“%dn“,k); 执行后输出的结果足 ( A) 58 ( B) 56 ( C) 45 ( D) 24 22 有以下程序 main() int i=0,s=0; for(;
7、) if(i=3i=5) continue; if(i=6) break; i+; s+=i ; printf(“%dn“,s) 程序运行后的输出结果是 ( A) 10 ( B) 13 ( C) 21 ( D)程序进入死循环 23 若变量已正确定义,要求程序段完成求 51的计算,不能完成此操作的程序段是 ( A) for(i=1,p=1;i =5;i+) p*=i; ( B) for(i=1;i =5;i+) p=1; p*=i; ( C) i=1; p=1; while(i =5)p*=i; i+; ( D) i=1;p=1;dop*=i; i+; while(i =5) 24 以下程序的输
8、出结果是 main() int a=0,i; for(i=1;i 5 i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(“%dn“,A) ; ( A) 31 ( B) 13 ( C) 10 ( D) 20 25 有以下程序; char fun(char x , char y) if(x y) return x; return y; main() int a=9,b=8,c=7; print f (“%cn“ , fun(fun(a, B) , fun(b, C) ) ); 程序的执行结果是
9、( A)函数调用出错 ( B) 8 ( C) 9 ( D) 7 26 有以下程序 int f (int A) return a%2; main ( ) int s8=1,3,5,2,4,6),i,d=0; for (i=0; f(si; i+) d +=si; print f (“%dn“, D) ; 程 序运行后的输出结果是 ( A) 9 ( B) 11 ( C) 19 ( D) 21 27 有以下程序: void f(int v , int w) int t; t=v;v=w;w=t; main() int x=l,y=3,z=2; if(x y f(x,y); else if(y z)
10、f(y,z); else f(x,z); printf(“%d,%d,%dn“,x,y,z); 执行后输出结果是 ( A) 1, 2, 3 ( B) 3, 1, 2 ( C) 1, 3, 2 ( D) 2, 3, 1 28 有以下程序 main() int a,b,d=25; a=d/10 % 9; b=a printf (“%d,%dn“,a,B) ; 程序运行后的输出结果是 ( A) 6, 1 ( B) 2, 1 ( C) 6, 0 ( D) 2, 0 29 以下程序段的输出结果是 char s=“141141abct“; printf (“%dn“,strlen(s); ( A) 9 (
11、 B) 12 ( C) 13 ( D) 14 30 有以下程序: void swapl(int c) int t; t=c0; c0=c1; c1=t; void swap2int c0, int c1) int t; t=c0; c0=c1; c1=t; main() int a2=3,5, b2=3,5; swap1 (A) ; swap2 (b0,b1); printf(“%d %d %d %dn“,a0,a1,b0,b1); 其输出结果是 ( A) 5 3 5 3 ( B) 5 3 3 5 ( C) 3 5 3 5 ( D) 3 5 5 3 31 有以下程序: void sum(int
12、 *A) a0 =a1; main ( ) int aa10=1,2,3,4,5,6,7,8,9,10, i; for (i=2 ;i =0;i-) sum( print f (“%dn“,aa0); 执行后的输出结果是 ( A) 4 ( B) 3 ( C) 2 ( D) 1 32 有以下程序 main() int m3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0;i 3;i+) printf(“%d “,mki); 执行后输出结果是 ( A) 456 ( B) 2 5 8 ( C) 3 6 9 ( D) 7 8 9 33 以下函数的功能是:通过键盘输入数据
13、,为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(i N) scanf(“%d“, _); 在下划线处应填入的是 ( A) x+i ( B) 该函数的返回值是 ( A)不确定的值 ( B)形参 p中存放的值 ( C)形参 p所指存储单元中的值 ( D)形参 P的地址值 35 在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数funA,则 ( A)称为函数的直接递归调用 ( B)称为函数的间接递归调用 ( C)称为函数的循环调用 ( D) C语言上不允许这样 的递归调用 36 有以下程序 #
14、include stdio.h main() FILE *fp; int i=20,j=30,k,n; fp=fopen(“d1.dat“,“w“); fprintf(fp,“%dn“,i);fprintf(fp,“%dn“,j); fclose(fp); fp=fopen(“d1.dat“, “r“); fp=fscanf(fp,“%d%d“, printf(“%d%dn“,k,n); fclose(fp); 程序运行后的输出结果是 ( A) 20 30 ( B) 20 50 ( C) 30 50 ( D) 3020 37 若有定义: int x=0, *p=,则语句 printf(“%dn
15、“,*p);的输出结果是 ( A)随机值 ( B) 0 ( C) x的地址 ( D) p的地址 38 设有定义语句: char c1=92,c2=92;,则以下表达式中值为零的是 ( A) c1c2 ( B) c1 main() int s=0; int a=5; s+=a+; s+=a+;printf(“%dn“,s); 程序运行后的输出结果是 ( A) 8 ( B) 10 ( C) 7 ( D) 11 41 有以下程序: void sort(int a,int n) int i,j,t; for(i=0;i n-1;i+=2) for(j=i+2;j n;j+=2) if(ai aj) t
16、=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i 10;i+) printf(“%d“,aai); printf(“n“); 其输出结果是 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 9, 2, 7, 4, 5, 6, 3, 8, 1, 10, ( D) 1, 10, 3, 8, 5, 6, 7, 4, 9, 2, 42 有以下程序 struct STU char num10;
17、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 43 以下程序的输出结果是 #include stdio.h #include string,h main() char b18=“abcdefg“,b28,*
18、pb=b1+3; while (-pb =b1) strcpy(b2,pB) ; printf(“%dn“,strlen(b2); ( A) 8 ( B) 3 ( C) 1 ( D) 7 44 有以下程序 #include string.h main ( ) char p=a,b ,c, q10=a,b,c; printf(“%d %dn“,strlen(p),strlen(q); 以下叙述中正确的是 ( A)在给 p和 q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 ( B)由于 p数组中没有字符申结束符,长度不能确定;但 q数组中字符串长度为3 ( C)由于 q数组中没有
19、字符串结束符,长度不能确定:但 p数组中字符串长度为3 ( D)由于 p和 q数组中都没有字符串结束符,故长度都不能确定 45 有以下程序 main() char s=“159“,*p; p=s; printf(“%c“,*p+); pritnf(“%c“,*p+); 程序运行后的输出结果是 ( A) 15 ( B) 16 ( C) 12 ( D) 59 46 若 fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(中 )的值为 ( A) 0 ( B) 1 ( C) -1 ( D)一个 非 0值 47 以下程序的输出的结果是 int x=3; main() int i; fo
20、r (i=1;i x;i+) incre(); incre() staic int x=1; x*=x+1; printf(“ %d“,x); ( A) 3 3 ( B) 22 ( C) 26 ( D) 25 48 有以下程序 #include string.h struct STU char name10; int num; ; void f(char *name, int num) struct STU s2=“SunDan“,20044,“Penghua“,20045; num=s0.num; strcpy(name,s0.name); main() struct STU s2=“Yan
21、gSan“,20041,“LiSiGuo“,20042,*p; p= f(p- name,p-num); printf(“%s %dn“,p- name,p- num); 程序运行后的输出结果是 ( A) SunDan 20042 ( B) SunDan 20044 ( C) LiSiGuo 20042 ( D) YangSan 20041 49 以下对结构体类型变量 td的定义中,错误的是 ( A) typedef struct aa int n; float m; AA; AA td; ( B) stmct aa int n;float m;td;stmct aa td; ( C) str
22、uct int n; float m; aa; struct aa rd; ( D) struct int n;float m;td; 50 有以下程序 (提示:程序中 fseek(fp-2L*sizeof(int),SEEK_END) ;语 句的作用是使位置指针从文件末尾向前移 2*sizeof(ing)字节 ) #include stdio.h main() FILE *fp; int i, a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;i 4;i+) fwrite( fclose(fp); fp=fopen(“data.dat“,“rb
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 24 答案 解析 DOC
