[计算机类试卷]国家二级C语言机试(选择题)模拟试卷94及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷94及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷94及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 94及答案与解析 一、选择题 1 算法的时间复杂度是指 ( )。 ( A)算法的长度 ( B)执行算法所需要的时间 ( C)算法中的指令条数 ( D)算法执行过程中所需要的基本运算次数 2 以下数据结构中,属于非线 f生数据结构的是 ( )。 ( A)栈 ( B)线性表 ( C)队列 ( D)二叉树 3 数据结构中,与所使用的计算机无关的是数据的 ( )。 ( A)存储结构 ( B)物理结构 ( C)逻辑结构 ( D)线性结构 4 内聚性是对模块功 能强度的衡量,下列选项中,内聚性较弱的是 ( )。 ( A)顺序内聚 ( B)偶然内聚 ( C)时间内聚
2、( D)逻辑内聚 5 在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的 ( )。 ( A)连接码 ( B)关系码 ( C)外码 ( D)候选码 6 检查软件产品是否符合需求定义的过程称为 ( )。 ( A)确认测试 ( B)需求测试 ( C)验证测试 ( D)路径测试 7 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特 定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 ( )。 ( A)控制流 ( B)加工 ( C)存储文件 ( D)源和潭 8 待排序的关键码序列为 (15, 20, 9, 30, 67, 65, 45, 90)
3、,要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码 15被放到第 ( )个位置。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 9 对关系 S和关系 R进行集合运算,结果中既包含关系 S中的所有元组也包含关系 R中的所有元组,这样的集合运算称为 ( )。 ( A)并运算 ( B)交运算 ( C)差运算 ( D)除运算 10 下列选项中,不属于数据管理员 (DBA)职责的是 ( )。 ( A)数据库维护 ( B)数据库设计 ( C)改善系统性能,提高系统效率 ( D)数据类型转换 11 C语言规定,在一个 C程序中, main()函数的位置 ( )。 ( A)必须在系
4、统调用的库函数之后 ( B)必须在程序的开始 ( C)必须在程序的最后 ( D)可以在任意位置 12 以下叙述中正确的是 ( )。 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就能 被计算机识别执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现的最晚,具有其他语言的一切优点 13 己知 “inta=6; ”则执行 “a+=a-=a*a; ”语句后, a的值为 ( )。 ( A) 36 ( B) 0 ( C) -24 ( D) -60 14 下列叙述中错误的是 ( )。 ( A) C语句必须以分号结束 ( B)复合语句在语法上被看作一
5、条语句 ( C)空语句出现在任何位置都不会影响程序运行 ( D)赋值表达式末尾加分号就构成赋值语句 15 若有定义 : int a=7; float x=2 5, y=4 7;则表达式 “x+a 3*(int)(x+y) 2 4”的值是 ( )。 ( A) 2 500000 ( B) 2 750000 ( C) 3 500000 ( D) 0 000000 16 若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是 ( )。 ( A) +i; ( B) nl=(n2 (n3=2); ( C) k=i=j; ( D) a=b+c=2; 17 下列关于逻辑运算符两侧运算对象的叙述中正确的是
6、 ( )。 ( A)只能是整数 0或 1 ( B)只能是整数 0或非 0整数 ( C)可以是结构体类型的数据 ( D)可以是任意合法的表达式 18 若有说明 int a34;则 a数组元素的非法引用是 ( )。 ( A) a02*1 ( B) a13 ( C) a4-20 ( D) a04 19 下列说法不正确的是 ( )。 ( A) int *ptr;指针指向整形数据 ( B) char *ptr;指针的类型是字符型指针 ( C) int *ptr;指针的类型是双重指针 ( D) int(*ptr)3;是一个指针数组,数组共有三个元素,而三个元素是 int型指针 20 有以下程序 #incl
7、ude stdio h void main() char s=O1aXy; int i, n=0; for(i=0; si!=0; i+) ifi =a &si =Z)n+; printf( d n, n); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 2 ( C) 3 ( D) 5 21 有以下程序: #include stdio h main() int a=1, 2, 3, 4, y, *p= a3; -p; y=*p; printf(y= d n, y); 程序的运行结果是 ( )。 ( A) y=0 ( B) y=1 ( C) y=2 ( D) y=3 22 下面的 f
8、or语句的循环次数为 ( )。 for(x=1, y=0; (y!=19) (x 6); x+); ( A)是无限循环 ( B)循环次数不定 ( C)最多执行 6次 ( D)最多执行 5次 23 下列程序的输出结果是 ( )。 #include stdio h void main() int a=0, b=1, c=2; if(+a 0+b 0) +c; printf( d, d, d, a, b, c); ( A) 0, 1, 2 ( B) 1, 2, 3 ( C) 1, 1, 3 ( D) 1, 2, 2 24 有以下程序: #include stdio h main() int c; W
9、hile(c=get char()!= n) switch(c-3) case 0 case 1: put char(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); case 4: putcbar(c+3); break; printf( n); 从第一列开始输入数据 ( CR代表一个回车符 ): 3845 CR ,则程序输出结果为 ( )。 ( A) 77889 ( B) 77868 ( C) 776810 ( D) 77886610 25 C语言规定,函数返回值的类型是 ( )。 ( A)由调用该函数时的主调函数类型所决定
10、( B)由 return语句中的表达式类型所决定 ( C)由调用该函数时系统临时决定 ( D)由定义该函数时所指定的数值类型决定 26 执行下列程序时输入 “456空格 789空格 123回车 ”,输出结果是( )。 #include stdio h main() charm80; int c, i; scanf( c, &c); scanf( d, i); scanf( s, &m); printf( c, d, s n, c, i, m); ( A) 456, 789, 123 ( B) 4, 789, 123 ( C) 4, 56, 789, 123 ( D) 4, 56, 789 27
11、 已知下列函数定义: fun(int *b, int c, int d) int k; for(k=0; k c*d; k+) *b=c+d; b+; 则调用此函数的正确写法是 (假设变量 a的说明为 int a10)( )。 ( A) fun(*a, 6, 14); ( B) fun(&a, 6, 8); ( C) fun(a, 8, 4); ( D) fun(int)a, 8, 6); 28 设 Y为整型变量, A=1, A的地址为 EF01; B=2, B的地址为 EF02;执行语句B=&A; Y=&B:后 Y的值 ( )。 ( A) 1 ( B) 2 ( C) EF01 ( D) EF
12、02 29 有以下程序: #include stdio h int f(int t, int n); main() int a4=1, 2, 3, 4, s; s=f(a, 2); printf( d n, s); int f(int t, int n) if(n 0)&(n 5)return tn+1+f(t, n-1); else return 0; 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 7 ( C) 10 ( D) 6 30 以下语句定义正确的是 ( )。 ( A) int a14=1, 2, 3, 4, 5; ( B) float a3=1, , 2, 3, 3,
13、1; ( C) long a23=1, 1, 2, 1, 2, 3, 0, 0; ( D) double a3=8; 31 下列一维数组说明中,不正确的是 ( )。 ( A) int N; scanf( d, &N); int bN; ( B) float a=1, 6, 6, 0, 2; ( C) #define S 10 int aS; ( D) #define S 10 int aS+5; 32 下面函数的功能是 ( )。 sss(s, t) char *s, *t; while(*s)&(*t)&(*t+=*s+); return(*s-*t); ( A)将字符串 S复制到字符串 t中
14、 ( B)比较两个字符串的大小 ( C)求字符串的长度 ( D)将字符串 S接续到字符串 t中 33 有以下程序: #include stdio h #includestring h void fun(char *s, int n) char *t; int i, j; for(i=0; i n-1; i+) for(j=i+1; j n; j+) if(strlen(si) strlen(sj) t=si; si=sj; sj=t; main() char *ss=bcc, bbcc, xy, aaaacc, aabcc; fun(ss, 5); printf( s, s n, ss0, s
15、s4); 程序的运行结果是 ( )。 ( A) xy, aaaacc ( B) aaaacc, xy ( C) bcc, aabcc ( D) aabcc, bcc 34 i若已定义: int a=0, 1, 2, 3, 4, 5,6, 7, 8, 9, *p=a, i;其中 0i9,则对 a数组元素不正确的引用是 ( )。 ( A) ap-a ( B) *(&ai) ( C) pi ( D) a10 35 以下选项中可用作 C程序合法实数的是 ( )。 ( A) 1e0 ( B) 3 0e0 2 ( C) E9 ( D) 9 12E 36 以下叙述中不正确的是 ( )。 ( A)预处理命令行
16、都必须以 #号开始,结尾不加分号 ( B)在程序中凡是以 #号开始的语句行都是预处理命令行 ( C) C程序在执行过程中对预处理命令进行处理 ( D)预处理命令可以放在程序中的任何位置 37 以下程序的输出结果是 ( )。 #include stdio h #define F(x)2 84+x #define w(y)printf( d, (int)(y) #define P(y)w(y) main() int x=2; P(F(5)*x); ( A) 12 ( B) 13 ( C) 14 ( D) 16 38 设有下面的定义: struct st int a; float b; d; int
17、 *p; 要使 P指向结构变量 d中的 a成员,正确的赋值语句是 ( )。 ( A) *=d a; ( B) p=&a; ( C) p=d a; ( D) p=&d a; 39 交换两个变量的值,不允许用临时变量,应该使用下列 ( )位运算符。 ( A) ( B) ( C) ( D) 40 如果需要打开一个已经存在的非空文件 “FILE”并进行修改,正确的语句是( )。 ( A) fp=fopen(FILE“, “r); ( B) fp=fopen(FILE, a+); ( C) fp=fopen(FILE“, “w+); ( D) fp=fopen(FILE, r+); 国家二级 C语言机试
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择题 模拟 94 答案 解析 DOC
