[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 177及答案与解析 1 下列选项中,不是一个算法的基本特征的是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 2 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 3 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 4 对线性表进行二分法检索,其前提条件是 ( )。 ( A)线性表以顺序方式存储,并按关键码值排好序 ( B)线性表以顺序方式存储,并按关键码的检索频率排好序 (
2、C)线性表以链式方式存储,并按关键码值排好序 ( D)线性表以链式方式存储,并按关键码的检索频率排好序 5 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 6 关于结构化程序设计原则和方法描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 7 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)阶段性
3、报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 下列对于软件测试的描述中正确的是 ( )。 ( A)软件测试的目 的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 9 用链表表示线性表的优点是 ( )。 ( A)便于随机存取 ( B)花费的存储空间较顺序存储少 ( C)便于插入和删除操作 ( D)数据元素的物理顺序和逻辑顺序相同 10 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D
4、)物理设计阶段 11 C语言可执行程序的开始执行点是 ( )。 ( A)包含文件中的第一个函数 ( B)程序中第一个函数 ( C)程序中的 main()函数 ( D)程序中第一条语句 12 可以在 C语言程序中用做用户标识符的一组标识符是 ( )。 ( A) void ( B) aa 123 abc BBN cas ( C) as+b3 ( D) 6f -123 Do If SIG 13 下列正确的实型常量是 ( )。 ( A) E3.4 ( B) -12345 ( C) 2.2eO.8 ( D) 4 14 下列表达式中,可以正确表示 的关系是 ( )。 ( A) (x 1)10(x 0) (
5、 B) x 1x 0 ( C) x 1 ORx 0 ( D) X 1 ( B) scan(“%d,%d, %d“, ( C) scan(“%do/od%d“, ( D) scanf(“i %d,j %d,k %d“, 17 下列程序的输出结果是 ( )。 main() intp8 11,12,13,14,15,16,17,18,i 0,j 0; while(i+ 7) if(pi%2)j+ pi; printf(“%dXn“,j); ( A) 42 ( B) 45 ( C) 56 ( D) 60 18 若有下列定义 (设 int类型变量占 2个字节 ): int i 8,j 9; 则下列语句:
6、 printf(“i %u,j %xn“.i,j); 输出的结果是 ( )。 ( A) i 8,j 9 ( B) 8.9 ( C) 89 ( D) i 8,i 8 19 设有定义: intk 1,m 2;noat f 7;则下列选项中错误的表达式是 ( )。 ( A) k k k ( B) -k+ ( C) k%int(f) ( D) k f m 20 若执行下列程序时从键盘上输入 2,则输出结果是 ( )。 #inclUde stdio.h main() int a; scanf(“%d“, if(a+ 3) printf(“%dn“,A); else printf(“%dn“,a-); (
7、 A) 1 ( B) 3 ( C) 2 ( D) 4 21 已定义下列函数: int fun(int*p) return *p;) fun函数返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 22 下列程序的输出结果是 ( )。 #include stdio.h main() iut a 2,b 3,p; p f(a,B) printf(“%d“,p); intf(a,b) int c; if(a B) c 1; e1Seif(a B) c 0; else(3 -1; return(C) ; ( A) -1 ( B) 0 ( C)
8、1 ( D) 2 23 有下列程序: fun (int x,int y) static int m 0,i 2;i+ m+1; m i+x+y;return m; main() int j 1,m 1,k; k fun0,m);printf(“%d,“k); k fun0,m);printf(“%dn“,k); 执行后的输出结果是 ( )。 ( A) 5,5 ( B) 5,11 ( C) 11,11 ( D) 11,5 24 下列循环体的执行次数是 ( )。 #include stdio.h main() int i,j; for(i 0,j 1;i j+1;i+ 1,j-) printf(“
9、%dn“,j); ( A) 3 ( B) 2 ( C) 1 ( D) 0 25 设变量 x和 y均已正确定义并赋值。下列 if语句中,在编译时将产生错误信息的是 ( A) ifx+); ( B) it(x y ( C) if(x 0)x- ( D) if(y 0); else y+; else x+; 26 下列字符数组初始化语句中,不正确的是 ( )。 ( A) charc goodmorning; ( B) char,c20 “goodmoming“; ( C) charc a,b,c,d; ( D) charc “goodmoming“; 27 下列程序的输出结果是 ( )。 #incl
10、ude stdio.h voidp(int*x) printf(“%d“,+*x); voidmain() int y 3; p( ( A) 3 ( B) 4 ( C) 2 ( D) 5 28 下列程序的运行结果为 ( )。 #include stdio.h voidabc(char*str) int a,b,i,j; for(i j 0;stri! 0;i+) if(stri! a) strj+ strj; strj 0; void main() char Str “abcdef; abc(str); printf(“str %s“,str); ( A) str bcdef ( B) str
11、 abcdef ( C) str a ( D) str ab 29 变量 m的值为 8,m的地址为 1010,若欲使 p为指向 m的指针变量,则下列赋值正确的是 ( )。 ( A) ( B) int(*q)0; ( C) int*q; ( D) int*q(); 31 下列二维数组初始化语句中,不正确的是 ( )。 ( A) intb2 1,2,3,4,5,6,7; ( B) intb35 0,0,0; ( C) intb4 1,2,3,4,5,6; ( D) intb32 (1,2),(3,4),(5,6); 32 下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。
12、#include stdio.h void sort(inta,int n) int i,j,t; for(i 0;i n-1;i+) for(j i+1; n;j+) if(ai aj) t ai;ai aj;aj t; main() int a10 1,2,3,4,5,6,7,8,9,10,i; sort( for(i 0;i 10;i+)printf(“ ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 1,8,7,6,5,4,3,2,9,10, ( D) 1,2,10,9,8,7,6,5,4,3, 33 下列判断正确的
13、是 ( )。 ( A) char a “ABCD“;等价于 char*a;*a “ABCD“; ( B) char str10 ABCD“;等价于 char str10; str “ABCD“; ( C) char*s “ABCD“;等价于 char s;*s “ABCD“; ( D) char c5 “ABCD“,d5 “ABCD“;等价于 char c5 d5 “ABCD“; 34 下列语句中,在字符串 s1和 s2相等时显示 “they are Equal“的是 ( )。 ( A) if(*s1 *s2) ( B) if(!strcmp(s1,s2) puts(“they are Equ
14、al“); puts(“they are Equal“); ( C) if(s1 s2) ( D) if(strcmp(s1,s2) Puts(“they are Equal“); puts(“they are Equal“); 35 下列叙述中错误的是 ( )。 ( A)在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 ( B)在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 ( C)在 C语言中,外部变量的隐含类型 是自动存储类别 ( D)在 C语言中,函数形参的存储类型是自动 (auto)类型的变量 36 下列程序的输出结果是 ( )。 #include st
15、dio.h #defineF(x)2.84+x #definew(y)printf(“%d“,(int(y) #defineP(y)w(y)pmchar(n main() int x 2; P(F(5)*x); ( A) 12 ( B) 13 ( C) 14 ( D) 16 37 若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。 Struct stu inti; intname; st,*#p; p ( A) st.i ( B) *p.i ( C) (*p).i ( D) p- i 38 下列说法错误的是 ( )。 ( A)下列结构体定义时,占据了 5个字节的空间
16、 struct student int num; int age; char sex; ( B)结构体的成员名可以与程序中的变量名相同 ( C)对结构体中的成员可以单独使用, 它的作用相当于普通变量 ( D)结构体可以嵌套定义 39 若 x 10010111,则表达式 (3+(int)(x)&(3)的运算结果是 ( )。 ( A) 10011000 ( B) 10001100 ( C) 10101000 ( D) 10110000 40 若要用函数 fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件 ( )。 ( A) wb ( B) wb+ ( C) rb+ (
17、D) rb 40 对长度为 10的线性表进行冒泡排序,对坏情况下需要比较的次数为 _ 40 一棵二叉树第六层 (根节点为第一层 )的节点数最多为 _。 40 下列软件系统结构图的宽度为 _。 40 模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块 )。其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 40 在数据库系统中,实现各种数据管理功能的核心软件称为 _。 40 定义 char ch “$“; int i=1, j;执行 j ! ch&i+以后, i的值为 _。 40 下列程序运行时输入 1234567 CR,则输出结果是 _。 #
18、include stdio.h main() int a=1, b; scanf(“%2d%2d“, &a, &b); printf(“%d %dn“, a, b); 40 若有定义: int k;,以下程序段的输出结果是 _。 for(k=2; k 6; k+,k+)printf(“#%d“, k); 40 以下程序运行后的输出结果是 _。 main() char c1, c2; for(c1=0, c2=9; c1 c2; c1+, c2-)printf(“%c%c“, c1, c2); printf(“n“); 40 以下程序的功能是输入任意整数给 n后,输出 n行由大写字母 A开始构成
19、的三角形字符阵列图形。例如,输入整数 5时 (注意: n不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() int i, j, n; char ch=A; scanf(“%d“, &n); if(n 11) for(i=1; i =n; i+) for(j=1; j n-i+1; j+) printf(“%2c“, ch); 10 ; 11 ; 40 以下程序的输出结果是 _。 #include stdio.h main() inta5=2, 4, 6, 8, 10, *p; p=a; p+; printf(“%d
20、“, * p); 40 下面程序的运行结果是 _。 #include stdio.h int f(inta, int n) if(n 1) return a0+f(a+1, n-1); else return a0; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, s; s=f(aa+2, 4); printf(“%dn“, s); 40 有以下程序: int sub(int n) return(n/10+n%10); main() int x, y; scanf(“%d“, &x) y=sub(sub(sub(x); printf(“%dn“,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 177 答案 解析 DOC
