[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc

上传人:eventdump275 文档编号:503321 上传时间:2018-11-29 格式:DOC 页数:56 大小:151KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc_第1页
第1页 / 共56页
[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc_第2页
第2页 / 共56页
[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc_第3页
第3页 / 共56页
[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc_第4页
第4页 / 共56页
[计算机类试卷]国家二级(C语言)笔试模拟试卷156及答案与解析.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 156及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)执行算法需要的内存空间 2 在结构化程序设计中 ,模块划分的原则是 ( A)各模块应包括尽量多的功能 ( B)各模块的规模应尽量大 ( C)各模块之间的联系应尽量紧密 ( D)模块内具有高内聚度、模块间具有低耦合度 3 下列叙述中 ,不属于测试的特征的是 ( A)测试的挑剔性 ( B)完全测试的不可能性 ( C)测试的可靠性 ( D)测试的经济性 4 下面关于对象概念的描述中 ,错误的是 ( A)对象就是 C语言中的结构体

2、变量 ( B)对象代表着正在创建的系统中的一个实体 ( C)对象是一个状态和操作 (或方法 )的封装体 ( D)对象之间的信息传递是通过消息进行的 5 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 6 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 ( A) acbed ( B) decab ( C) deabc ( D) cedba 7 某二叉树中有 n个度为 2的结点 ,则该二叉树中的叶子结点数为 ( A) n+1 ( B) n-1 ( C) 2

3、n ( D) n/2 8 设有如下三个关系表 下列操作中正确的是 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 9 下列叙述中 ,正确的是 ( A)用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集 之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 10 下列有关数据库的描述 ,正确的是 ( A)数据处理是将信息转化为数据的过程 ( B)数据的物理独立性是指当数据的逻辑结构改变时 ,数据的存储结构不变 ( C)关系中的每一

4、列称为元组 ,一个元组就是一个字段 ( D)如果一个关系中的属性或属性组并非该关系的关键字 ,但它是另一个关系的关键字 ,则称其为本关系的外关键字 11 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)执行算法需要的内存空间 12 在结构化程序设计中 ,模块划分的原则是 ( A)各模块应包括尽量多的功能 ( B)各模块的规模应尽量大 ( C)各模块之间的联系应尽量紧密 ( D)模块内具有高内聚度、模块间具有低耦合度 13 下列叙述中 ,不属于测试的特征的是 ( A)测试的挑剔性 ( B)完全测试的不可能性 ( C)测试的可靠性

5、 ( D)测试的经济性 14 下面关于对象概念的描述中 ,错误的是 ( A)对象就是 C语言中的结构体变量 ( B)对象代表着正在创建的系统中的一个实体 ( C)对象 是一个状态和操作 (或方法 )的封装体 ( D)对象之间的信息传递是通过消息进行的 15 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 16 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 ( A) acbed ( B) decab ( C) deabc ( D) cedba 17 某

6、二叉树中有 n个度为 2的结点 ,则该二叉树中的叶子结点数为 ( A) n+1 ( B) n-1 ( C) 2n ( D) n/2 18 设有如下三个关系表 下列操作中正确的是 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 19 下列叙述中 ,正确的是 ( A)用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 20 下列有关数据库的描述 ,正确的是 ( A)数据处理是将信息

7、转化 为数据的过程 ( B)数据的物理独立性是指当数据的逻辑结构改变时 ,数据的存储结构不变 ( C)关系中的每一列称为元组 ,一个元组就是一个字段 ( D)如果一个关系中的属性或属性组并非该关系的关键字 ,但它是另一个关系的关键字 ,则称其为本关系的外关键字 21 下列叙述中错误的是 ( A)一个 C语言程序只能实现一种算法 ( B) C程序可以由多个程序文件组成 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 22 下面四个选项中 ,均是不正确的八进制数或十六进制数的选项是 ( A) 016 0x8f 018 ( B) 0abc 017 0x

8、a ( C) 010 -0x11 0x16 ( D) 0a12 7ff -123 23 以下叙述不正确的是 ( A)一个 C源程序可由一个或多个函数组成 ( B)一个 C源程序必须包含一个 main函数 ( C) C程序的基本组成单位是函数 ( D)在 C程序中 ,注释说明只能位于一条语句的后面 24 设变量 a是 int型 ,f是 float型 ,i是 double型 ,则表达式 10+a+i*f值的数据类型为 ( A) int ( B) float ( C) double ( D)不确定 25 现有格式化输入语句 ,scanf(“x=%d,sumy=%d,linez=%dL“,已知在输入数

9、据后 ,x,y,z的值分别是 12,34,45,则下列选项中是正确的输入格式的是 注 :“表示空格 , 表示回车 ( A) 12,34,45 ( B) x=12,y=34,z=45 ( C) x=12C,sumy=34,z=45 ( D) x=12,sumy=34,linez=45 26 已知各变量的类型说明如下 : int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合 C语言语法的表达式是 ( A) x%(-3) ( B) w+=-2 ( C) k=(a=2,b=3,a+b) ( D) a+=a-=(b=4)*(a=3) 27 有以下程序 f

10、un(int x) int p; if(x= =1) return (3); p=x-fun(x-2); return p; main() printf(“%dn“,fun(7); 执行后的输出结果是 ( A) 7 ( B) 3 ( C) 2 ( D) 0 28 下列程序段中 ,不能正确赋值的是 ( A) char*p,ch; p= scanf(“%c, p=(char*)malloc(1); scanf(“%c“,p); ( C) char*p; *p=getchar(); ( D) char*p,ch; p= *p=getchar(); 29 在 16位编译系统上 ,若有定义 int a=

11、10,20,30,*p=,当执行 p+;后 ,下列说法错误的是 ( A) p向高地址移了一个字节 ( B) p向高地址移了一个存储单元 ( C) p向高地址移了两个字节 ( D) p与 a+1等价 30 若运行以下程序时 ,从键盘输入 ADescriptor(表示回车 ),则下面程序的运行结果是 #include main() char c; int v0=1,v1=0,v2=0; do switch(c=getchar() case a:case A: case e:case E: case i:case I: case o:case O: case u:case U:v1+=1; defa

12、ult:v0+=1;v2+=1; while(c!=n); printf(“v0=%d,v1=%d,v2=%dn“,v0,v1,v2); ( A) v0=7,v1=4,v2=7 ( B) v0=8,v1=4,v2=8 ( C) v0=11,v1=4,v2=11 ( D) v0=13,v1=4,v2=12 31 下列叙述中错误的是 ( A)一个 C语言程序只能实现一种算法 ( B) C程序可以由多个程序文件组成 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 32 下面四个选项中 ,均是不正确的八进制数或十六进制数的选项是 ( A) 016 0x8

13、f 018 ( B) 0abc 017 0xa ( C) 010 -0x11 0x16 ( D) 0a12 7ff -123 33 以下叙述不正确的是 ( A)一个 C源程序可由一个或多个函数组成 ( B)一个 C源程序必须包含一个 main函数 ( C) C程序的基本组成单位是函数 ( D)在 C程序中 ,注释说明只能位于一条语句的后面 34 设变量 a是 int型 ,f是 float型 ,i是 double型 ,则表达式 10+a+i*f值的数据类型为 ( A) int ( B) float ( C) double ( D)不确定 35 现有格式化输入语句 ,scanf(“x=%d,sum

14、y=%d,linez=%dL“,已知在输入数据后 ,x,y,z的值分别是 12,34,45,则下列选项中是正确的输入格式的是 注 :“表示空格 , 表示回车 ( A) 12,34,45 ( B) x=12,y=34,z=45 ( C) x=12C,sumy=34,z=45 ( D) x=12,sumy=34,linez=45 36 已知各变量的类型说明如下 : int k,a,b; unsigned long w=5; double x=1.42; 则以 下不符合 C语言语法的表达式是 ( A) x%(-3) ( B) w+=-2 ( C) k=(a=2,b=3,a+b) ( D) a+=a-

15、=(b=4)*(a=3) 37 有以下程序 fun(int x) int p; if(x= =1) return (3); p=x-fun(x-2); return p; main() printf(“%dn“,fun(7); 执行后的输出结果是 ( A) 7 ( B) 3 ( C) 2 ( D) 0 38 下 列程序段中 ,不能正确赋值的是 ( A) char*p,ch; p= scanf(“%c, p=(char*)malloc(1); scanf(“%c“,p); ( C) char*p; *p=getchar(); ( D) char*p,ch; p= *p=getchar(); 39

16、 在 16位编译系统上 ,若有定义 int a=10,20,30,*p=,当执行 p+;后 ,下列说法错误的是 ( A) p向高地址移了一个字节 ( B) p向高 地址移了一个存储单元 ( C) p向高地址移了两个字节 ( D) p与 a+1等价 40 若运行以下程序时 ,从键盘输入 ADescriptor(表示回车 ),则下面程序的运行结果是 #include main() char c; int v0=1,v1=0,v2=0; do switch(c=getchar() case a:case A: case e:case E: case i:case I: case o:case O:

17、case u:case U:v1+=1; default:v0+=1;v2+=1; while(c!=n); printf(“v0=%d,v1=%d,v2=%dn“,v0,v1,v2); ( A) v0=7,v1=4,v2=7 ( B) v0=8,v1=4,v2=8 ( C) v0=11,v1=4,v2=11 ( D) v0=13,v1=4,v2=12 41 以下程序的输出结果是 main() int a,i;a=0; for(i=1;i int a=2,4,6,8; main() int i; int *p=a; for(i=0;i main() int i,j,m=55; for(i=1;

18、i #include int fun(int *s, int t, int *k) int i; *k=0; for(i=0;i 则程序输出的结果是 #include “stdio.h“ main(argc,argv) int argc;char *argv; int i; printf(“%dn“,argc); ( A) 3 ( B) 4 ( C) 2 ( D)以上答案都不正确 48 有如下程序 int a10=1,2,3,4,5,6,7,8,9,10; int *p=b=p5; 则 b的值是 ( A) 5 ( B) 6 ( C) 9 ( D) 8 49 以下叙述中错误的是 ( A)改变函数

19、形参的值 ,不会改变对应实参的值 ( B)函数可以返回地址值 ( C)可以给指针变量赋一个整数作为地址值 ( D)当在程序的开头包含头文件 stdio.h时 ,可以给指针变量赋 NULL 50 下面程序的输出结果是 #include main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(“%dn“,*p+9); ( A) 0 ( B) 1 ( C) 10 ( D) 9 51 有下面程序段 #include “stdio.h“ #include “string.h“ main() char a320=“china“,“isa“,“bigcountry!

20、“; char k100=0,*p=k; int i; for(i=0;i int fun(char s) int n=0; while(*s=0) n=10*n+*s-0;s+; return(n); main() char s10=6,1,*,4,*,9,*,0,*; printf(“%dn“,fun(s); 程序的运行结果是 ( A) 9 ( B) 61490 ( C) 61 ( D) 5 54 设有定义 :char p=1,2,3,*q=p;,以下不能计算出一个 char型数据所占字节数的表达式是 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof

21、(*q) ( D) sizeof(p0) 55 有以下函数 int aaa(char *s) char *t=s; while(*t+); t-; return(t-s); 以下关于 aaa函数的功能的叙述正确的是 ( A)求字符串 s的长度 ( B)比较两个串的大小 ( C)将串 s复制到串 t ( D)求字符串 s所占字节数 56 当用户要求输入的字符串中含有空格时 ,应使用的输入函数是 ( A) scanf() ( B) getchar() ( C) gets() ( D) getc() 57 下列选项中错误的说明语句是 ( A) char a=t,o,y,o,u,0; ( B) cha

22、r a=“toyou0“; ( C) char a=“toyou0“; ( D) char a=toyou0; 58 以下程序的输出结果是 int f() static int i=0; int s=1; s+=i; i+; return s; main() int i,a=0; for(i=0;i int a=2,4,6,8; main() int i; int *p=a; for(i=0;i main() int i,j,m=55; for(i=1;i #include int fun(int *s, int t, int *k) int i; *k=0; for(i=0;i 则程序输出的

23、结果是 #include “stdio.h“ main(argc,argv) int argc;char *argv; int i; printf(“%dn“,argc); ( A) 3 ( B) 4 ( C) 2 ( D)以上答案都不正确 68 有如下程序 int a10=1,2,3,4,5,6,7,8,9,10; int *p=b=p5; 则 b的值是 ( A) 5 ( B) 6 ( C) 9 ( D) 8 69 以下叙述中错误的是 ( A)改变函数形参的值 ,不会改变对应实参的值 ( B)函数可以返回地 址值 ( C)可以给指针变量赋一个整数作为地址值 ( D)当在程序的开头包含头文件

24、stdio.h时 ,可以给指针变量赋 NULL 70 下面程序的输出结果是 #include main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(“%dn“,*p+9); ( A) 0 ( B) 1 ( C) 10 ( D) 9 71 有下面程序段 #include “stdio.h“ #include “string.h“ main() char a320=“china“,“isa“,“bigcountry!“; char k100=0,*p=k; int i; for(i=0;i int fun(char s) int n=0; while(*

25、s=0) n=10*n+*s-0;s+; return(n); main() char s10=6,1,*,4,*,9,*,0,*; printf(“%dn“,fun(s); 程序的运行结果是 ( A) 9 ( B) 61490 ( C) 61 ( D) 5 74 设有定义 :char p=1,2,3,*q=p;,以下不能计算出一个 char型数据所占字节数的表达式是 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof(*q) ( D) sizeof(p0) 75 有以下函数 int aaa(char *s) char *t=s; while(*t+);

26、t-; return(t-s); 以下关于 aaa函数的功能的叙述正确的是 ( A)求字符串 s的长度 ( B)比较两个串的大小 ( C)将串 s复制到串 t ( D)求字符串 s所占字节数 76 当用户要求输入的字符串中含有空格时 ,应使用的输入函数是 ( A) scanf() ( B) getchar() ( C) gets() ( D) getc() 77 下列选项中错误的说明语句是 ( A) char a=t,o,y,o,u,0; ( B) char a=“toyou0“; ( C) char a=“toyou0“; ( D) char a=toyou0; 78 以下程序的输出结果是

27、int f() static int i=0; int s=1; s+=i; i+; return s; main() int i,a=0; for(i=0;i5;i+)a+=f(); printf(“%dn“,a); ( A) 20 ( B) 24 ( C) 25 ( D) 15 79 下列程序的输出结果是 #include “stdio.h“ #define M(x,y) x%y main() int a,m=12,n=100; a=M(n,m); printf(“%dn“,a-); ( A) 2 ( B) 3 ( C) 4 ( D) 5 80 假定当前盘符下有两个如下文本文件 : 文件名 a1.txt a2.txt 内容 123# 321# 则下面程序段执行后的结果为 #include “stdio.h“ void fc(FILE *p) char c; while(c=fgetc(p)!=#)putchar(c); main() FILE *fp; fp=fopen(“a1.txt“,“r“); fc(fp); fclose(fp); fp=fopen(“a2.txt“,“r“); fc(fp); fclose(fp); putchar(n); ( A) 123321 ( B) 123 ( C) 321 ( D)以上答案都不正确 81 测试用例包括输入值集和【 】值集。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1