[计算机类试卷]国家二级(C语言)机试模拟试卷82及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷82及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷82及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 82及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)解决同一个问题的不同算法的时间复杂度一般是不同的 ( B)解决同一个问题的不同算法的时间复杂度必定是相同的 ( C)对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同 ( D)对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同 2 下列处理中与队列有关的是 ( )。 ( A)操作系统中的作业调度 ( B)执行程序中的过程调用 ( C)执行 程序中的循环控制 ( D)二叉树的遍历 3 设栈的存储空间为 S(1: m),初始状态为 top=m
2、+1。经过一系列入栈与退栈操作后, top=1。现又要将一个元素进栈,栈顶指针 top值变为 ( )。 ( A)发生栈满的错误 ( B) 2 ( C) m ( D) 0 4 设二叉树共有 150个结点,其中度为 1的结点有 10个,则该二叉树中的叶子结点数为 ( )。 ( A) 71 ( B) 70 ( C) 69 ( D)不可能有这样的二叉树 5 非空循环链表所表示的数据结构 ( )。 ( A)有根结点也有叶子 结点 ( B)没有根结点但有叶子结点 ( C)有根结点但没有叶子结点 ( D)没有根结点也没有叶子结点 6 设二叉树中共有 31个结点,其中的结点值互不相同。如果该二叉树的后序序列与
3、中序序列相同,则该二叉树的深度为 ( )。 ( A) 31 ( B) 16 ( C) 17 ( D) 5 7 在最坏情况下,堆排序的时间复杂度是 ( )。 ( A) O(lgo2n) ( B) O(nlog2n) ( C) O(n2) ( D) O(n1 5) 8 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。 下面属于系统软件的是 ( )。 ( A)学籍管理系统 ( B) ERP系统 ( C) C编译程序 ( D) CAI软件 9 存储在计算机内有结构的数据集合是 ( )。 ( A)数据库 ( B)数据库系统 ( C)数据库管理系统 ( D)数据结构 10 在数据库技术中
4、,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、存储级和 ( )。 ( A)概念级 ( B)外部级 ( C)管理员级 ( D)内部级 11 以下叙述错误的是 ( )。 ( A)一个算法所包含的操作步骤应该 是有限的 ( B)任何能通过编译和运行的算法都一定能得到所期望的结果 ( C)算法中每一条指令必须有确切的含义 ( D)算法可以用各种描述方法来进行描述 12 以下是正确 C语言实型常量的是 ( )。 ( A) e-1 ( B) e-1 ( C) -1e ( D) 1e-1 13 以下叙述正确的是 ( )。 ( A)在 C语言中分号是语句的组成部分 ( B) C语言程序由
5、 C语句组成,可以省略 main函数 ( C)分号是 C语句之间的分隔符 ( D)所有程序行都必须用分号结束 14 若有定义: doublea, b, c;能正确给 a, b, c输入数据的语句是 ( )。 ( A) scanf(“ lf lf lf“&a, b, &c); ( B) scanf(“ f f f“, &a, &b, &c); ( C) scanf(“ lf lf lf“, a, b, c); ( D) scanf(“ lf lf lf“, &a, &b, &c); 15 有以下程序: #include stdio h main() intx=0xg; pfinff(“ c n“
6、, A+x); 程序运行后的输出结果是 ( )。 ( A) I ( B) J ( C) K ( D) H 16 设有定义: doublex=5 16894;,则语句 printf(“ lf n“, (int)(x*1000+0 5)1000 );的输出结果是 ( )。 ( A) 5 16900 ( B) 5 16800 ( C) 0 00000 ( D)输出格式说明符与输出项不匹配,产生错误信息 17 有以下程序: #include stdio h main() inta=0, b=0, c=0, d=0; if(a=1) b=1; c=2; else d=3; printf(“ d, d,
7、d, d、 n“, a, b, c, d); 程序输出 ( )。 ( A)编译有错 ( B) 0, 0, 0, 3 ( C) 1, 1, 2, 0 ( D) 0, 1, 2, 0 18 有以下程序: #include stdio h main() inta=-2, b=2; for(; +a&-b; ) ; printf(“ d, d n“, a, b); 程序运行后的输出结果是 ( )。 ( A) 0, 1 ( B) 0, 0 ( C) 1, -1 ( D) 0, 2 19 有以下程序: #include stdio h main() int t; scanf(“ d“, t); if(t+
8、 6)printf(“ d、 n“, t); else printf(“ d n“, t-); printf(“ n“); 执行时输入: 6回车,则输出结果是 ( )。 ( A) 6 ( B) 8 ( C) 7 ( D) 5 20 有以下程序: #include stdio h main() char ch=D; while(ch A)d ch-; putchar(ch); if(ch=-A)break; putehar(ch+1); 程序运行后的输出结果是 ( )。 ( A) CB ( B) BCA ( C) CCBB ( D) CDBCA 21 以下程序拟实现计算 s=1+2*2+3*3+
9、n*n+ ,直到 s 1000为止。 #include stdio h main() int s, n; s=1: n=1; do n=n+1; s=s+n*n; while(s 1000); printf(“s= d n“, s); 程序运行后,不能得到正确结果,以下修改方案正确的是 ( )。 ( A)把 while(s 1000);改为 while(s =1000); ( B)把 s=1;改为 s=0; ( C)把 n=1;改为 n=0; ( D)把 n=n+1;改为 n=n*n; 22 有以下程序: #include stdio h main() int m, n; scanf(“ d
10、d“, &m, &n, ); while(m!=n) while(m n)m=m-n; while(n m)tn=n-m; printf(“ d n“, m); 该程序的功能是 ( )。 ( A)计算 m和 n的最小公 倍数 ( B)计算 m和 n的最大公约数 ( C)计算 m和 n的差值 ( D)找出 m和 n中的较大值 23 有以下程序: #include stdio h int add(int a, int b)return(a+b); main() int k, (*f)(), a=5, b=10; f=add; 则以下函数调用语句错误的是 ( )。 ( A) k=f(a, b); (
11、 B) k=add(a, b); ( C) k=(*f)(a, b); ( D) k=*f(a, b); 24 若有定义语句: doublex, y, *px, *py; 执行 px=&x; py=&y; 正确的输入语句是 ( )。 ( A) scanf(“ lf lf“, x, y); ( B) scanf(“ f f“&x, &y); ( C) scanf(“ f f“, x, y); ( D) scanf(“ lf le“, px, py); 25 以下定义数组的语句中错误的是 ( )。 ( A) int num3=1, 2, 3, 4, 5, 6; ( B) int num24=1,
12、2, 3, 4, 5, 6; ( C) int num=1, 2, 3, 4, 5, 6; ( D) int num4=1, 2, 3, 4, 5, 6; 26 有以下程序: #include stdio h void fun(int a , int n, int flag) int i=0, j, t; for(i=0; i n-1; i+) for(j=i+1; j n; j+) if(flag) if(ai aj) t=ai; ai=aj; aj=t; else if(ai aj) t=ai; ai=aj; aj=t; main() int c10=7, 9, 10, 8, 3, 5,
13、1, 6, 2, 4, i; fun(c, 4, 1); fun(c+4, 6, 0); for(i=0; i 10; i+)printf(“ d, “, ci); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 7, 8, 9, 10, 6, 5, 4, 3, 2, 1, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 10, 9, 8, 7, 1, 2, 3, 4, 5, 6, ( D) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 27 有以下程序: #include stdio h main() int i, k
14、=0, a10; for(i=0; i 10; i+)ai=i; for(i=0; i 4; i+)k+=ai+i; printf(“ d n“, k); 程序运行后的输出结果是 ( )。 ( A) 10 ( B) 16 ( C) 6 ( D) 12 28 有以下程序: #include stdio h int new_div(double a, double b) returna b+0 5; main() printf(“ d“, new_div(7 8, 3 1); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 0 29 函数 fun的功能是在 a
15、所指的具有 n个元素的数组中查找最大值并返回给调用函数,函数不完整。 int fun(int*a, int n) int*p, *s; for(p=a, s=a; p-a n; p+) if(_)s=p; return*s: 在 if语句下划线处应填入的选项是 ( )。 ( A) p s ( B) *p *s ( C) ap as ( D) p-a p-s 30 有以下程序: #include stdio h #include string h main() charstr20=“One*world“, “One*Dream!“, *p=str1; printf(“ d, “, strlen(
16、p); printf(“ s n“, p); 程序运行后的输出结果是 ( )。 ( A) 10, One*Dream! ( B) 9, One*Dream! ( C) 9, One*World ( D) 10, One*World 31 有以下程序: #include stdio h #include string h main() int i, len; charb=“Welcome you to Beijing!“; len=strlen(b); for(i=0; i len; i+) if(bi=) strcpy(b, b+i+1); i=0; printf(“ s n“, b); 程序
17、运行后的输出结果是 ( )。 ( A) Beijing! ( B) toBeijing! ( C) WelcomeyoutoBeijing! ( D) youtoBeijing! 32 有以下程序: #include stdio h int f(int k) static int n=0; int m=0; n+; m+; k+; return n+m+k; main() int k; for(k=0; k 2; k+)printf(“ d, “, f(k); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 3, 5, ( B) 3, 6, ( C) 3, 7, ( D
18、) 0, 3, 33 有以下程序: #inchde stdio h int m=12; int fun(int x, int y) static int m=3; m=x*y-m: return(m); main() int a=7, b=5; m=fun(a, b) m; printf(“ d n“, fun(a, b) m); 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 1 ( C) 3 ( D) 0 34 有以下程序: #include stdio h #include string h main() chara=“TEXT“, *b=“+“, c3=“1“; printf
19、(“ d, d, “, strlen(a), sizeof(a); printf(“ d, d, “, strlen(b), sizeof(b); printf(“ d, d, n“, strlen(c), sizeof(c); 程序运行后的输出结果是 ( )。 ( A) 4, 5, 2, 4, 1, 3, ( B) 4, 4, 2, 2, 1, 1, ( C) 5, 5, 3, 3, 2, 2, ( D) 4, 4, 2, 2, 1, 3 35 以下与存储类别有关的四组说明符中,全部属于静态类的一组是 ( )。 ( A) extem和 static ( B) auto和 static ( C
20、) register和 static ( D) register和 extern 36 为了建立如图所示的存储结构 (即每个结点含两个域, data是数据域, next是指向结点的指针域 )则在 ( )处填入的选项是 ( )。 strucflinkchardata;_node; ( A) structlink*next; ( B) linknext; ( C) link*next; ( D) strucflinknext; 37 有以下程序: #include stdio h #include string h typedef stmct stu char name10; char gende
21、r; int score; STU; void f(char name10, char gender, int score) strcpy(ngnle, “Sun“); gender=m; score=370; main() STU b=“Zhao“, m, 290, a=“Qian“, f, 350; b=a; printf(“ s, c, d, “, b name, b gender, b score); f(b name, b gender, b score); printf(“ s, c, d n“, b name, b gender, b score); 程序运行后的输出结果是 (
22、)。 ( A) Qian, f, 350, Sun, f, 350 ( B) QiaJl, f, 350, Qian, f, 350 ( C) Qian, f, 350, Sun, m, 370 ( D) Zhao, m, 290, Sun, m, 370 38 有以下程序: #inchde stdio h main() char a=3, b=6, c; c=(ab) 2; printf(“ d n“, c); 程序运行后的输出结果是 ( )。 ( A) 5 ( B) 1 ( C) 20 ( D) 18 39 以下叙述正确的是 ( )。 ( A)表达式 sizeof(FILE*)=sizeo
23、f(int*)的值为真 ( B)文件指针的值是一个整数,它的值一定小于文件字节数 ( C)文件指针的值是所指文件的当前读取位置 ( D)使用 fscanf函数可以向任意类型的文件中写入任意数量的字符 40 函数 fgetc的功能是从指定文件中读入一个字符,以下与其功能完全相同的函数是 ( )。 ( A) fread ( B) fscanf ( C) fgets ( D) gete 二、程序填空题 41 下列给定程序中,函数 fun的功能是进行数字字符转换。若形参 ch中是数字字符 0 9,则将 0转换成 9, 1转换成 8, 2转换成 7, , 9转换成 0;若是其他字符则保持不变;并将转换后
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 82 答案 解析 DOC
