[计算机类试卷]国家二级(C语言)笔试模拟试卷208及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷208及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷208及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 208 及答案与解析 1 下列叙述中正确的是 ( )。 ( A)算法的执行效率与数据存储结构无关 ( B)算法的空间复杂度是指算法程序中指令 (或语句 )的条数 ( C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( D)以上 3种描述都不对 2 源程序的文档不包括 ( )。 ( A)符合号名的命名要有实际意义 ( B)正确的文档形式 ( C)良好的视觉组织 ( D)正确的程序注释 3 为了提高软件的独立性,模块之间最好是 ( )。 ( A)控制耦合 ( B)公共耦合 ( C)内容耦合 ( D)数据耦合 4 数据库系统的核心是 ( )。 ( A)数据模
2、型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 5 下列标识符不是关键字的是 ( )。 ( A) break ( B) char ( C) Swithch ( D) return 6 对下列二叉树 进行中序遍历的结果是 ( )。 ( A) ACBDFEG ( B) ACBDFGE ( C) ABDCGEF ( D) FCADBEG 7 下列选项中不合法的十六进制数是 ( )。 ( A) 0xff ( B) 0X11 ( C) 0xlg ( D) 0Xabc 8 C语言结构体类型变量在程序执行期间, ( )。 ( A)所有成员一直驻留在内存中 ( B)没有成员驻留在内存中 (
3、C)部分成员驻留在内存中 ( D)只有一个成员驻留在内存中 9 下列 4个关于 C语言的结论中错误的是 ( )。 ( A)可以用 do-while语句实现的循环一定可以用 while语句实现 ( B)可以用 for语句实现的循环一定可以用 while语句实现 ( C)可以用 while语句实现的循环一定可以用 for语句实 现 ( D) do-while语句与 while语句的区别仅是关键字 “while”出现的位置不同 10 有下列函数定义: int fun(double a, double b) return a*b; ) 若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是 ( )
4、。 ( A) if(fun(x, v) ( B) z=fun(fun(x, y), fun(x, y); ( C) z=fun(fun(x, y)x, y); ( D) fun(x, y); 11 下列函数的类型是 ( )。 fun(double x) float y; y=3*x-4: return y; ( A) int ( B)不确定 ( C) void ( D) float 12 下列程序的运行结果是 ( )。 int y=5。 x=14; y=(x=3*y, x+1), x-1); printf(“x= d, y= d“, x, y); ( A) x=27, y=27 ( B) x=
5、12, y=13 ( C) x=15, y=14 ( D) x=y=27 13 若有下列定义和语句: int u=011, v=0x11, w=11; printf(“ o, x, d n“, u, v, w); 则输出结果是 ( )。 ( A) 9, 17, 11 ( B) 9, 11, 11 ( C) 11, 11, 11 ( D) 11, 17, 11 14 若有下列定义 (设 int类型变量占 2个字节 ): int i=8, j=9; 则下列语句: printf(“i= d, j= d n“, i, j); 输出的结果是 ( )。 ( A) i=8, i=9 ( B) i= d, j
6、= d ( C) i= 8, i= 9 ( D) 8, 9 15 下列程序的输出的结果是 ( )。 main() double d=3 2; int x, y; x=1 2; y=(x+3 8) 5 0; printf(“ d n“, d*y); ( A) 3 ( B) 3 2 ( C) 0 ( D) 3 07 16 设 “int x=2, y=1; ”,则表达式 (!xy-)的值是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) -1 17 设有以下语句: int a=1, b=2, c; c=a (b 2); 执行后, c的值为 ( )。 ( A) 6 ( B) 7 ( C)
7、 8 ( D) 9 18 下列程序执行后的输出结果是 ( )。 void fune(int*a, int b) b0=*a+b; main() int a, b5; a=0; b0=3; func(&a, b); printf(“ d n“, b0); ( A) 6 ( B) 7 ( C) 8 ( D) 9 19 有以下程序: main() int i, j, x=0; for(i=0; i 2; i+) x+; for(j=0; j =3; j+) if(j=0; j =3; j+) X+; x+; printf(“x= d n“, x); 程序执行后的输出结果是 ( )。 ( A) x=4
8、 ( B) x=8 ( C) x=6 ( D) x=12 20 若有以下程序段, w和 k都是整型变量: w=k: LB: if(w=0)go to LE; w-; printf(“*“) goto LB; LE; 则不能与上面程序段等价的循环语句是 ( )。 ( A) for(w=k; w!=0; w-)printf(“*“); ( B) for(w=k; w; -w)printf(“*“); ( C) w=k; while(w-!=O)printf(“*“); ( D) w=k; w+; dow-; printf(“*“); while(w!=0); 21 以下程序的输出结果是 ( )。
9、main() char str10=“china“, “beijing“, *p=str; printf(“ s n“, p+10); ( A) China ( B) Beijing ( C) ng ( D) ing 22 合法的 main()函数命令参数形式是 ( )。 ( A) main(int a, char*c) ( B) main(int arc, char* *arv) ( C) main(int argc, char*argw) ( D) main(int argv, char*argc) 23 有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b,则不能把
10、结点 b连接到结点 a之后的语句是 ( )。 struet node char data; struct node*next; a, b, *p=&a, *q=&b; ( A) a next=q; ( B) p next=&b; ( C) p- next=&b; ( D) (*p) next=q; 24 有如下程序: #include main() FILE *fpl; fp1=fopen(“f1 txt“, “w“); fprintf(fp1, “abc“); fclose(fp1); 若文本文件 f1 txt中原有内容为 : good,则运行以上程序后文件 f1 txt中的内容为 ( )。
11、 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 25 与 “y=(x 0? 1: x 0? -1: 0)”;的功能相同的 if语句是 ( )。 ( A) if(x 0)v=1; else if(x 0)y=1; else y=0; ( B) if(x) if(x 0)y=1; else if(x 0)y=-1; else y=0; ( C) y=-1 if(x) if(x 0)y=1; else if(x=0)y=0; else y=-1; ( D) y=0; if(x =0) if(x =0)y=1; else y=-1; 26 下列字符串是标识符
12、的是 ( )。 ( A) aa ( B) a-class ( C) int ( D) LINE 1 27 执行下列程序后,变量 a, b, c的值分别是 ( )。 int x=5, y=4; int a, b, c; a=(-x=y+)?x: +y; b=+x; c=y; ( A) a=5, b=5, c=5 ( B) a=4, b=5, c=5 ( C) a=5, b=6, c=5 ( D) a=1, b=5, c=6 28 下列变量声明合法的是 ( )。 ( A) short a=1 4e-1; ( B) double b=1+3e2 8; ( C) long do=0xfdaL; ( D
13、) float 2_aaa=1e-3; 29 下列程序的输出结果是 ( )。 #include main() int i; for(i=1: i =10, i+) if(i*i =20)&(i*i =100) break; printf(“ d n“, i*i); ( A) 49 ( B) 36 ( C) 25 ( D) 64 30 运行下列程序,若从键盘输入字符 “a”,则输出结果是 ( )。 char c; c=getchar(); if(c =a&c =g)c=c+4; else if(c =g&c =z)c=c-21; else printf(“input error! n“); pu
14、tchar(c); ( A) f ( B) t ( C) e ( D) d 31 下列程序的输出结果是 ( )。 #include int b=2; int func(int*a) b+=*a; return b; main() int a=1, t=2; t+=func(&a); printf(“ d n“, t); ( A) 4 ( B) 5 ( C) 6 ( D) 8 32 若有定义 “float a=25, b, *p=&b; ”,则下列对赋值语句 “*p=a; ”和 “p=&a; ”的正确解释为 ( )。 ( A)两个语句都是将变量 a的值赋予变量 p ( B) *p=a是使 p指向
15、变量 a,而 p=&a是将变量的值赋予变量指针 p ( C) *p=a是将变量 a的值赋予变量 b,而 &a 是使 p指向变量 a ( D)两个语句都是使 p指向变量 a 33 对两个数组 a和 b进行下列初始化: char m=“1234567“; char n=1, 2, 3, 4, 5, 6, 7; 则下列叙述正确的是 ( )。 ( A)数组 m与数组 n完全相同 ( B)数组 m与数组 n长度相同 ( C)数组 m比数组 n长 1 ( D)数组 m与数组 n中都存放字符串 34 下列程序输出结果是 ( )。 #include main() char a=a, b, c, d, e, f
16、, 0; int i, j; i=sizeof(a); j=strlen(a); printf(“ d, d“, i, j); ( A) 7, 7 ( B) 7, 6 ( C) 6, 6 ( D) 6, 7 35 下列程序执行的输出结果是 ( )。 #include main() char a24; strcpy(a, “are“); strcpy(a1, ”you”); a03=&; printf(“ s n“, a); ( A) are&you ( B) you ( C) are ( D) & 36 下列程序的运行结果是 ( )。 #include #define ADD(x) x+x m
17、ain() int m=1, n=2, k=3; int s=ADD(m+n)*k; printf(“s= d“, s); ( A) sum=18 ( B) sum=10 ( C) sum=9 ( D) sum=25 37 有以下程序: fun(int x, int y)return(x+y); main() int a=1, b=2, c=2, sum; sum=fun(a+, b+, a+b), c+); printf(“ d n“, sum); 执行后的结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 38 设 x=011050,则 x=x&01252的值是 (
18、)。 ( A) 0000001000101000 ( B) 1111110100011001 ( C) 0000001011100010 ( D) 1100000000101000 39 有以下程序: int fun(int x) int p; if(x=0 x=1) return(3); p=x-fun(x-2); return p; main() printf(“ d n“, fun(7); 执行后的结果是 ( )。 ( A) 7 ( B) 3 ( C) 2 ( D) 0 40 已知函数 fread的调用形式为 “fread(buffer, size, count, fp); ”,其中 b
19、uffer代表的是 ( )。 ( A)存放读入数据项的存储区 ( B)一个指向所读文件的文件指针 ( C)一个指针,是指向输入数据存放在内存中的起始地址 ( D)一个整型变量,代表要读入的数据项总数 41 在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 _实际上对应一个处理模块。 42 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是_。 43 数据库系统中实现各种数据管理功能 的核心软件是 _。 44 语句: “x+; +x; x=1+x; ”执行后都使变量 X中的值增 1,请写出一条同一功能的赋值语句 _。 45 数据模型按不同应用层次分成 3
20、种类型,它们是概念数据模型、 _和物理数据模型。 46 数据管理技术发展经过人工管理、文件系统和数据系统 3个阶段,其中数据独立性最高的阶段是 _。 47 已有定义: “double*p; ”,请写出完整的语句,利用 malloc函数使 p指出一个双精度型的动态存储单位 _。 48 若 a=1, b=2,则表达式 !(x=a)(y=b)&0的值是 _。 49 在循环中, continue语句与 break语句的区别是: _语句只是结束本次循环,然后进行循环的条件判定。 50 下列程序的运行结果是 _。 #define POWER(x) (x)*(x) main() int i=1; print
21、f(“ d, d“, POWER(i+), i); 51 下列程序的输出结果是 _。 #include fun() static int a=0; a+=3; printf(“ d“, a); main() int cc; for(cc=1; cc 5; cc+)fun(); printf(“ n“); 52 以下程序运行后的输出结果是 _。 main() int a=0; a+=(a=8); printf(“ d n“, a); 53 设有如下程序: main() int n1, n2; scanf(“ d“, &n2); while(n2!=0) n1=n2 10; n2=n2 10; p
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 208 答案 解析 DOC
