全国计算机等级二级考试C语言试题及答案
- 格式:doc
- 大小:53.50 KB
- 文档页数:8
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项就是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)程序流程图中带有箭头的线段表示的就是C
A)图元关系B)数据流C)控制流D)调用关系
(2)下面不属于软件设计原则的就是 C
A)抽象B)模块化C)自底向上D)信息隐蔽
(3)下列选项中,不属于模块间耦合的就是 C
A)数据耦合B)标记耦合C)异构耦合D)公共耦合
(4)下列叙述中,不属于软件需求规格说明书的作用的就是D
A)便于用户、开发人员进行理解与交流B)反映出用户问题的结构,可以作为软件开发工作的基础与依据
C)作为确认测试与验收的依据D)便于开发人员进行需求分析
(5)算法的时间复杂度就是指C
A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数
D)算法程序中的指令条数
(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法就是B
A)堆排序B)直接插入排序C)快速排序D)B)与C)
(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能就是B
A)ABCED B)DCBEA C)DBCEA D)CDABE
(8)数据库设计包括两个方面的设计内容,它们就是A
A)概念设计与逻辑设计B)模式设计与内模式设计C)内模式设计与物理设计
D)结构特性设计与行为特性设计
(9)关系表中的每一横行称为一个A
A)元组B)字段C)属性D)码
(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为 C
A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩
(11)以下不正确的叙述就是D
A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH与aph就是两个不同的变量
C)若a与b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
(12)请选出可用作C语言用户标识符的就是B
A)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,Case
D)2a,Do,Sizeof
(13)以下选项中,不能作为合法常量的就是B
A)1、234e04 B)1、234e0、4 C)1、234e+4 D)1、234e0
(14)在C语言中,运算对象必须就是整型数的运算符就是A
A)% B)\ C)%与\
D)**
(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句就是A
A)x=y==5; B)x=n%2、5; C)x+n=i; D)x=5=4+1;
(16)有以下程序段
char ch; int k;
ch=′a′;k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);
已知字符a的ASCII码值为97,则执行上述程序段后输出结果就是D
A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12 D)a,97,k=12
(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式就是B
A)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′)
C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)
(18)当变量c的值不为2、4、6时,值也为"真"的表达式就是B
A)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2)
D)(c>=2&& c<=6)&&(c%2!=1)
(19)若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的就是B
A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)
(20)以下不正确的定义语句就是B
A)double x[5]={2、0,4、0,6、0,8、0,10、0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};
(21)下列程序执行后的输出结果就是B
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=1; i<9; i++)p[i]=i+1;
printf("%d\n",a[1][2];)
A)3 B)6 C)9 D)随机数
(22)设有以下程序段B
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式就是非法的D)程序段执行无限次
(23)下面程序段的运行结果就是C
char *s="abcde";
s+=2;printf("%d",s);
A)cde B)字符′c′ C)字符′c′的地址D)无确定的输出结果
(24)阅读下列程序,则执行后的结果为A
#include "stdio、h"
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
A)3e,6 B)62,5 C)56,5 D)3E,6
(25)下面判断正确的就是C
A)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};
C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的就是D
A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1]
(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句就是D
A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(28)有以下程序
(29)#include
#define N 5
#define M N+1
#define f(x) (x*M)
main()