[计算机类试卷]国家二级(C语言)笔试模拟试卷214及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷214及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷214及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 214 及答案与解析 1 下列叙述中错误的是 ( )。 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据的处理效率无关 ( C)数据的存储结构与数据的处理效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 2 下列关于栈的描述中错误的是 ( )。 ( A)栈是先进先出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入删除操作中,不需要改变栈底指针 3 对长度为 n的线性表进行顺序查找,在最坏 情况下需要比较的次数为 ( )。 ( A) 125 ( B) n 2 ( C) n ( D) n+
2、1 4 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)继承 ( C)封装性 ( D)模块化 5 设计软件结构是软件生命周期的 ( )。 ( A)软件定义期 ( B)软件开发期 ( C)软件维护期 ( D)以上 3个都不是 6 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) BFD ( C) N-S ( D) DFD 7 下列叙述中不正确的是 ( )。 ( A)在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 ( B)在 C的函数中,最好使用全局变量 ( C)外部变量可以在函数之间传递数据 ( D)自动变量实质上足一个
3、函数内部的局部变量 8 下列选项不符合良好程序设计风格的是 ( )。 ( A)源程序要文档化 ( B)数据说明的次序要规范化 ( C)避免滥用 goto语句 ( D)模块设计原则是高耦合、高内聚 9 有下列程序: #include main() int a=6, b=7, m=1; switch(a 2) case 0: m+ break; case 1: m+; switch(b 2) default: m+; case 0: m+; break; printf(” d n”, m); 程序的运行结果是 ( )。 ( A) 3 ( B) 2 ( C) 4 ( D) 1 10 下列程序的运行结
4、果是 ( )。 main() int x=1, y=3, a=0; while(x+!=(y-=1) a+=1; if(y x) break; printf(“ d, d, d n“, x, y, a); ( A) 2, 3, 2 ( B) 2, 3, 1 ( C) 1, 3, 3 ( D) 3, 1, 2 11 数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( )。 ( A) DB包含 DBS和 DBMS ( B) DBMS包含 DB和 DBS ( C) DBS包含 DB和 DBMS ( D)没有任何关系 12 下列合法的声明语句是 ( )。 ( A) int_ab
5、c=50; ( B) double int=3+5e2 5; ( C) long do=1L; ( D) float 3_asd=3e-3; 13 设 x、 y和 z是 int型变量,且 x=4, y=6, z=8,则下列表达式中值为 0的是( )。 ( A) x&y ( B) x =y ( C) xy+z&yz ( D) !(x y)&!z 1) 14 若 ch为 char型变量, k为 int型变量 (已知字符 a的 ASCII码是 97),则执行下列语句后输出的结果为 ( )。 ch=b; k=10; printf(“ x, o, “, ch, ch, k); printf(“k= d
6、n“, k); “ ( A)因变量类型与格式描述符的类型不匹配,输出无定值 ( B)输出项与格式描述符个数不符,输出为 0值或不定值 ( C) 62, 142, k= d ( D) 62, 142, k= 10 15 有下列程序: fun(int x, int y)return(x+y); ) main() int a=1, b=2, c=3, sum; sum=fun(a+, b+, a+b), c+); printf(“ d n“, sum); 执行后的输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 16 假定 x和 y为 double型, 则表达式 x=2,
7、 y=x+3 2的值是 ( )。 ( A) 3 500000 ( B) 3 ( C) 2 000000 ( D) 3 000000 17 如下程序: main() int x=1, a=0, b=0; switch(x) case 0: b+; case 1: a+; case 2: a+; b+; printf(“a= d, b= d n“, a, b); 该程序的输出结 果是 ( )。 ( A) a=2, b=1 ( B) a=1, b=1 ( C) a=1, b=0 ( D) a=2, b=2 18 下列程序的输出结果是 ( )。 main() int i=1, j=2, k=3; if
8、(i+=1&(+j=3= k+=3) printf(“ d d d n“, i, j, k); ( A) 1 2 3 ( B) 2 3 4 ( C) 2 2 3 ( D) 2 3 3 19 下列程序的输出结果是 ( )。 #include main() int a=0, i; for(i=1; i 5; i+) switch(i) case 0: case 3: a+=1; case 1: case 2: a+=2; default: a+=3; printf(“ d“, i); ( A) 19 ( B) 1 ( C) 6 ( D) 8 20 有以下程序: main() int x, 1; f
9、or(i=1; i =50; i+) x=i; if(x 2=0) if(x 3=0) if(x 7=0) printf(“ d, i)“; 输出结果是 ( )。 ( A) 28 ( B) 27 ( C) 42 ( D) 41 21 以下程序的输出结果是 ( )。 void prt(int*m, int n) int 1; for(i=0; i n; i+)mi+; main() int a=1, 2, 3, 4, 5), i; prt(a, 5); for(i=0; i 5; i+) printf(“ d, “, ai); ( A) 1, 2, 3, 4, 5 ( B) 2, 3, 4, 5
10、, 6 ( C) 3, 4, 5, 6, 7 ( D) 2, 3, 4, 5, 1 22 有以下程序: void funl(char*p) char*q; q=p; while(*q!= 0) (*q)+; q+; main() char a=“Program“), *p; p=&a3; funl(p); printf(“ s n“, a); 程序执行后的输出结果是 ( )。 ( A) Prohsbn ( B) Prphsbn ( C) Progsbn ( D) Program 23 若有以下的说明和语句,则在执行 for语句后, *(*(pt+1)+2)表示的数组元素是 ( )。 int t
11、33, *pt3, k; for(k=0; k 3; k+)ptk=&tk0; ( A) t20 ( B) t22 ( C) t1E2 ( D) t21 24 有以下程序: main() union char ch2; int d; s; s d=0x4321; printf(“ x, x n“, s ch0, s ch1); 在 16位编译系统上,程序执行后的输出结果是 ( )。 ( A) 21, 43 ( B) 43, 21 ( C) 43, 00 ( D) 21, 00 25 以下程序的输出结果是 ( )。 main() int a=1, b; for(b=1b =10; b+) if(
12、a =8)break; if(a 2=1)a+=5; continue; a=3; printf(“ d n“, b); ( A) 3 ( B) 4 ( C) 5 ( D) 6 26 设有以下定义和语句: char str20=“Program“, *p: p=str; 则以下叙述中正确的是 ( )。 ( A) *p与 str0的值相等 ( B) str与 p的类型完全相同 ( C) str数组长度和 p所指向的字符串长度相等 ( D)数组 str中存放的内容和指针变量 p中存放的内容相同 27 有下列程序: #include main() int x=0; int y=0; while(x
13、7&+y) y-; x+; printf(“ d, d”, y, x); 程序的输出结果是 ( )。 ( A) 0, 7 ( B) 7, 7 ( C) 0, 6 ( D) 1, 6 28 下列程序的运行结果是 ( )。 #include main() int a=2, b=3, c=4; if(a b) if(b 0)c=0; else c+; printf(“ d n“, c); ( A) 2 ( B) 3 ( C) 5 ( D) 4 29 #define能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5的值的函数 f,正确的宏 定义语句为 ( )。 ( A) #define f(
14、x) 5*x*x+5*x+5 ( B) #define f5*x*x+5*x+5 ( C) #define f(a) (5*a*a+5*a+5) ( D) #define(5*x*x+5*x+5) f(x) 30 函数调用 strcat(strcpy(str1, str2), str3)的功能是 ( )。 ( A)将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后 ( B)将字符串 str1连接到字符串 str2之后再复制到字符串 str3之 后 ( C)将字符串 str2复制到字符串 str1之后再将字符串 str3连接到字符串 str1之后 ( D)将字符串 str2
15、连接到字符串 str1之后再将字符串 str1复制到字符串 str3中 31 若有定义 “double a; ”,则正确的输入语句是 ( )。 ( A) seanf(“ 1f“, a); ( B) scanf(“ f“, &a); ( C) scanf(“ 1f“, &a) ( D) scanf(“ le“, &a); 32 下列程序的输出结果是 ( )。 #include main() int a=0, i; for(i=1; i 5; i+) switch(i) case 0; case 3: a+=1; case 1: case 2: a=2; default: a+=3; printf
16、(“ d“, a); ( A) 19 ( B) 18 ( C) 6 ( D) 8 33 下列能正确定义且赋初值的语句是 ( )。 ( A) int n1=n2=1; ( B) char c=99: ( C) float f=f+1; ( D) double x=1 2E5 6; 34 下列程序的输出结果是 ( )。 main() int a=6, b=3, c; if(a b) c=a*b; printf(“ d d, d n“, b, a, c); else ( A) 3, 6, 18 ( B) 3, 6, 2 ( C) 6, 3, 18 ( D) 6, 3, 2 35 若有定义和语 句:
17、int* *pp, *p, a=20, b=10; pp=&p; p=&a; p=&b; printf(“ d, d n“, *p, * *pp); 则输出结果是 ( )。 ( A) 20, 10 ( B) 20, 20 ( C) 10, 20 ( D) 10, 10 36 下列程序的运行结果是 ( )。 #include void fun(int*s, int*p) static int t=3; *p=st; t-: void main() int a=2, 3, 4, 5, k; int x; for(k=0, k 4, k+) fun(a, &x); printf(“ d, “, x)
18、; ( A) 5, 4, 3, 2 ( B) 2, 3, 4, 5 ( C) 2, 2, 2, 2 ( D) 5, 5, 5, 5 37 下列程序的输出结果是 ( )。 #include main() struct st int y, x, z; ; union long i; int j; char k; un; printf(“ d, d n“, sizeof(struct st), sizeof(un); ( A) 6, 2 ( B) 6, 4 ( C) 8, 4 ( D) 8。 6 38 标准库函数 fgets(s, n, file)的功能是 ( )。 ( A)从文件 file中读取长
19、度为 n的字符串存入字符数组 s中 ( B)从文件 file中读取长度不超过 n-1个字符的字符串放到字符数组 S中 ( C)从文件 file中读到 n个字符串存入字符数组 s中 ( D)从文件 file中读取长度为 n-1个字符的字符串存入字符数组 s中 39 长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动的元素的平均个数为 _。 40 软件设计模块化的目的是 _程序设计的复杂性。 41 在算法的 4个特性中,算 法必须能执行有限个步骤之后终止指的是算法的特性_。 42 设一棵完全二叉树共有 500个结点,则在该二叉树中有 _个叶子结点。 43 下
20、列表达式用于判断 y是否为闰年。闰年的判断条件是:年号能被 4整除但不能被 100整除或年号能被 400整除,请填空: _。 44 若要使指针 p指向一个 double类型的动态存储单元,请填空。 p=_malloe(sizeof(double); 45 结构化分析方法是面向 _进行分析的方法。 46 以下程序的功能是打印以下杨辉三角形,请填空。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 main() static int m, n, k, b1010=10; b01=1; for(m=1; m 10; m+); for(n=1; n =m; n+
21、) bmn=_; printf(“ -5d“, bmn); printf(“ n“); 47 下面函数的功能是将一个字符串的内容颠倒过来,请填空。 void fun(char str) int i, j, k; for(i=0, j=_; i j; i+, j-) k=stri; stri=stri; strj=k; 48 若 x为 int类型,请写出与 !x 等价的 C语言表达式 _。 49 下列程序的运行结果是 _。 main() int a=1, b=10; do b-=a; a+while(b- 0); printf(“ d, d n“, a, b); 50 下列程序的运行结果是 _。
22、 main() int j, a10; a0=a1=1: for(i=2; i 5; i+) ai=ai-2+ai-1; for(i=0; i 5; i+) if(i 2=0) printf(“ n“); printf(“ d“, ai); 51 下列程序的输出结果是 _。 #include int fun(int x) int p; if(x=0x=1) return 3; else p=x-fun(x-2); return p; void main() printf(“ n d“, fun(11); 52 以下程序中,函数 fun的功能是计算 x2-2x+6,主函数中将调用 fun函数计算
23、: y1=(x十 8)2-(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空。 #include double fun(double x)return(x*x-2*x+6); main() double x, y1, y2; printf(“Enter x: “); scanf(“If“, &x); y1=fun(_) y2=fun(_) printf(“y1= 1f, y2=1f n“,y1, y2); 53 下面程序把从终端读入的文本 (用 作为 文本结束标志 )复制到一个名为 bi dat的新文件中,请填空。 #include FILE*fp; main() char ch
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 214 答案 解析 DOC
