[计算机类试卷]国家二级(C语言)笔试模拟试卷94及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷94及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷94及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 94 及答案与解析 1 下面叙述正确的是 _。 ( A)算法的执行效率与数据的存储结构无关 ( B)算法的空间复杂度是指算法程序中指令 (或语句 )的条数 ( C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( D)算法的时间复杂度是指执行算法程序所需要的时间 2 以下数据结构属于非线性数据结构的是 _。 ( A)队列 ( B)线性表 ( C)二叉树 ( D)栈 3 在一棵二叉树上第 8层的结点数最多是 _。 ( A) 8 ( B) 16 ( C) 128 ( D) 256 4 下面描述中,不符合结构化程序计风格的是 _。 ( A)使用顺序、选择和重复
2、 (循环 )三种基本控制结构表示程序的控制逻辑 ( B)自顶向下 ( C)注重提高程序的执行效率 ( D)限制使用 goto语句 5 以下概念中,不属于面向对象方法的是 _。 ( A)对象、消息 ( B)继承、多态 ( C)类、封装 ( D)过程调用 6 在结构化方法中,用数据流程图 (DFD) 作为描述工具的软件开发阶段是_。 ( A)可行性分析 ( B)需求分 析 ( C)详细设计 ( D)程序编码 7 软件生命周期中所花费用最多的阶段是 _。 ( A)详细设计 ( B)软件编码 ( C)软件测试 ( D)软件维护 8 数据库系统的核心是 _。 ( A)数据模型 ( B) DBMS ( C
3、)软件工具 ( D)数据库 9 下列叙述中正确的是 _。 ( A)数据处理是将信息转化为数据的过程 ( B)数据库设计是指设计数据库管理系统 ( C)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的 外关键字 ( D)关系中的每列称为元组,一个元组就是一个字段 10 下列模式中, _是用户模式。 ( A)内模式 ( B)外模式 ( C)概念模式 ( D)逻辑模式 11 请读程序: #include stdio.h main() int a; float b,c; scanf(“%2d%3f%4f“, ( A) abbbc ( B) ac ( C) ab
4、c ( D) abc 15 若 x是整型变量, pb是基类型为整型的指针变量,则正确的赋值表达式是_。 ( A) pb= 则应填入 _。 ( A) int ( B) int* ( C) (*int) ( D) (int*) 18 下面程序输出的结果是 _。 main() int i=5,j=9, x; x=(i=j?i:(j=7); printf(“n%d,%d“, i,j); ( A) 5, 7 ( B) 5, 5 ( C)语法错误 ( D) 7, 5 19 若执 行下面程序时从键盘上输入 5, main() int x; scanf(“%d“, 则输出是 _。 ( A) 7 ( B) 6
5、( C) 5 ( D) 4 20 若有以下定义和语句: int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a 则值为 3的表达式是 _。 ( A) P+=2, *(p+) ( B) P+=2, *+p ( C) P+=3, *p+ ( D) P+=2, +*p 21 下列程序执行后的输出结果是 _。 main() int m3=1, 4, 7, 2,5, 8, 3, 6, 9; int i,k=2; for(i=0; i 3; i+) printf(“%d“,mki); ( A) 456 ( B) 258 ( C) 369 ( D) 789 22 设已定义 i和
6、k为 int类型变量,则以下 for循环 语句 _。 for(i=0; k=-1,k=1;i+,k+) printf(“*n“); ( A)判断循环结束的条件不合法 ( B)是无限循环 ( C)循环一次也不执行 ( D)循环只执行一次 23 下面程序的输出结果是 _。 unsigned fun(unsigned num) unsigned k=1; do k*=num%10; num/=10; while(num); return(k); main() unsigned n=26; printf(“%dn“,fun(n); ( A) 0 ( B) 4 ( C) 12 ( D)无限次循环 24
7、己知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。 main() char a=A; int b=20; printf(“%d,%o“,(a=a+a,a+b,B) ,a+a-A,b) ; ( A)表达式非法,输出零或不确定值 ( B)因输出项过多,无输出或输出不确定值 ( C)输出结果 20,141 ( D)输出结果为 20,141,20 25 C语言函数返回值的类型是由 _决定的。 ( A) return语句中的表达式类型 ( B)调用函数的主调函数类型 ( C)调用函数时临时 ( D)定义函数时所指定的函数类型 26 下列程序执行后输出的结果是 _。
8、int d=1; fun(int p), int d=5; d+=p+; printf(“%d,“,d) main() int a=3; fun(a) ; d+=a+; printf(“%dn“d) ; ( A) 8,12 ( B) 9,13 ( C) 8,4 ( D) 9,5 27 已知下面的程序段,正确的判断是 _。 #define A3 #define B; (A) (A+1)*A) int a=3; X=3*(A+B(7); ( A)程序错误,不允许嵌套定义 ( B) X=93 ( C) X=81 ( D)程序错误,宏定义不允许有参数 28 定义 int*swap()的是 _。 ( A
9、)一个返回整型值的函数 swap() ( B)一个返回指向整型值指针的函数 swap() ( C)一个指向函数 swap()的指针,函数返回一个整型值 ( D)以上说法均错 29 以下程序段的输出结果是 _。 main() char s110, s210, s310; scanf(“%s“, s1);gets(s2);gets(s3); puts(s1);puts(s2);puts(s3); 输入数据如下: (此处 CR代表回车符 ) aaa CR bbb CR ( A) aaa bbb ( B) aaa bbb ( C) aaa0bbb0 ( D) aaabbb 30 下述函数功能是 _。
10、int fun(char*x) char*y=x; while(*y+); return y-s-1; ( A)求字符串的长度 ( B) 求字符串存放的位置 ( C)比较两个字符串的大小 ( D)将字符串 x连接到字符串 y后面 31 以下程序的输出结果,是 _。 main() char str12=s, t, r, i,n, g; printf(“%dn“, strlen(str); ( A) 6 ( B) 7 ( C) 11 ( D) 12 32 请读程序段: char str=“ABCD“,*p=str; printf(“%dn“,*(p+4); 程序段的输出结果,是 _。 ( A) 6
11、8 ( B) 0 ( C)字符 D的地址 ( D)不确定的值 33 若有定义: int a410;,则以下选项中对数组元素 aij引用错误的是_。 (0 =i 4, 0 =j 10) ( A) *( ( B) strcpy(str2,“HELLO2“); ( C) strcpy(str3,“HELLO3“); ( D) strcpy(str4,“HELLO4“); 35 请读程序: #include stdio.h #include string.h main() char*s1=“AbCdEf,*s2=“aB“; s1+; s2+; printf(“%dn“,strcmp(s1,s2); 上
12、面程序的输出结果是 _。 ( A)正数 ( B)负数 ( C)零 ( D)不确定的值 36 下面程序的输出是 _。 char s=“ABCD“; main() char*p for(p=s;p s+4, p+) printf(“%sn“,p); ( A) ABCD BCD CD D ( B) A B C D ( C) D C B A ( D) ABCD ABC AB A 37 以下程序输出的结果为 _。 main() char*alpha6=“ABCD“,“EFGH“, “IJKL“,“MNOP“, “QRST“, “UVWX“; char*p; int i; p=alpha; for(i=0
13、;i 4; i+) printf(“%s“, pi); ( A) ABCDEFGHIJKL ( B) ABCD ( C) ABCDEFGHIJKLMNOP ( D) AEIM 38 下面程序的输出结果是 _。 #include stdio.h main() char*p=“DOOL“, “OPK“, “H“, “SP“; int i; for (i=3; i =0; i-,i-) printf(“%c“,*pi); printf(“n“); ( A) SO ( B) SP ( C) SPOPK ( D) SHOB 39 以下程序的输出结果是 _。 #include stdio.h void p
14、rt(int*x, int*y,int*z) printf(“%d,%d,%dn“,+*x,+*y,*(z+); int a=10, b=40, c=20; main() prt(k=3; a=+SQR(k+1); printf(“%dn“,a) ; ( A) 8 ( B) 9 ( C) 17 ( D) 20 42 下面是对宏定义的描述,不正确的是 _。 ( A)宏不存在类型问题,宏名无类型,它的参数也无类型 ( B)宏替换不占用运行时间 ( C)宏替换时先求出实参表达式的值,然后代入形参运算求值 ( D)宏替换只不过是字符替代而已 43 以下程序 (程序左边的数字为符加的行号 )。 1#in
15、clude str.h 2#includestdio.h 3main() 4 char s=“string“; 5puts(s); 6strcpy(s,“hello“); 7printf(“%3sn“,s); ( A)没有错 ( B)第 1行有错 ( C)第 6行有错 ( D)第 7行有错 44 若有如下说明,则 _的叙述是正确的。 struct st int a; int b2; a; ( A)结构体变量 a与结构体成员 a同名,定义是非法的 ( B)程序只在执行 到该定义时才为结构体 st分配存储单元 ( C)程序运行时为结构体 st分配 6个字节存储单元 ( D)类型名 struct s
16、t可以通过 extern关键字提前引用 (即引用在前,说明在后 ) 45 若有以下结构体定义,则 _是正确的引用或定义。 struct example int x; int y; v1; ( A) example.x=10 ( B) example v2.x=10 ( C) struct v2; v2.x=10 ( D) struct example v2=10; 46 下列程序的执行结果是 _。 #include stdio.h union un int i; char c2; ; void main() union un x; x.c0=10; x.c1=1; printf(“n%d“,x
17、.i); ( A) 266 ( B) 11 ( C) 265 ( D) 138 47 已知形成链表的存储结构如下图所示,则下述类型描述中的空 白处应填_。 struct link char data; _, node; ( A) struct link next ( B) link*next ( C) struct next link ( D) struct link*next 48 已知小写母 a的 ASCII码为 97,大写字母 A的 ASCII码为 65,以下程序的结果是 _。 main() unsigned int a=32,b=66; printf(“%cn“, a|B) ; ( A
18、) 66 ( B) 98 ( C) b ( D) B 49 C语言库函数 fgets(str,n,fg)的功能是 _。 ( A)从中指向的文件中读取长度 n的字符串存入 str指向的内存 ( B)从 fp指向的文件中读取长度不超过 n-1的字符串存入 str指向的内存 ( C)从 fp指向的文件中读取 n个字符串存入 str指向的内存 ( D)从 sb读取至多 n个字符到文件 fp 50 下述程序向文件输出的结果是 _。 #include stdio.h void main() FILE*fp=fopen(“TEST“,“wb“); fprintf(fp,“%d%5.of%c%d“,58,76
19、273.0,-2278); fclose(fp); ( A) 5876273-2278 ( B) 5876273.000000-2278 ( C) 5876273-2278 ( D)因文件为二进制文件而不可读 51 计算机病毒除有破坏性、潜伏性和激发性外,还有一个最明显的特性是【 】 52 若想通过以下输入语句使 a中存放字符串 1234, b中存放字符 5,则输入数据的形式应该是【 】。 char a10, b; scanf(“a %s b %c“, a, i + 2; printf(”%d, i); 58 若有下列定义 (设 int类型变量占两个字节 ),则 i=【 】 , j【 】。 i
20、nt i 8, j 9; float x 123 456; print(“i %oj %on“, i, j); 59 以下程序的功能是输出字符串。请填空。 main( ) char * a=“Pascal“ , “C language“, “dbase“, “Cobol“; char【 】 ; int j 0; p=a; for(; j 4; j+ +) print(“%sn“, *【 】 ); 60 以下程序将两个数从小到大输出。请填空。 float a, b,【 】 ; scanf(,【 】 & a, & b); if(a b) t a; 【 】 ; b t; printf(“%5.2f%
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 94 答案 解析 DOC
