無暱稱>试卷(2013/12/29)

计算机等级考试— 二级—《C语言 》題庫 下載題庫

97 年 - 2008年4月计算机等级考试— 二级—《C语言 》#13774 

选择:40题,非选:0题
立即測驗 
我要補題 回報試卷錯誤 試卷下載
1.1)程序流程图中指有箭头的线段表示的是
(A)图元关系
(B)数据流
(C)控制流
(D)调用关系
2.2)结构化程序设计的基本原则不包括
(A)多态性
(B)自顶向下
(C)模块化
(D)逐步求精
3.3)软件设计中模块划分应遵循的准则是
(A)低内聚低耦合
(B)高内聚低耦合
(C)低内聚高耦合
(D)高内聚高耦合
4.4)在软件开发中,需求分析阶段产生的主要文档是
(A)可行性分析报告
(B)软件需求规格说明书
(C)概要设计说明书
(D)集成测试计划
5.5)算法的有穷性是指
(A)算法程序的运行时间是有限的
(B)算法程序所处理的数据量是有限的
(C)算法程序的长度是有限的
(D)算法只能被有限的用户使用
6.6)对长度为n的线性表排序,在最坏情况下,比较次数不是nn-1)/2的排序方法是
(A)快速排序
(B)冒泡排序
(C)直接插入排序
(D)堆排序
7.7)下列关于栈的叙述正确的是
(A)栈按“先进先出”组织数据
(B)栈按“先进后出”组织数据
(C)只能在栈底插入数据
(D)不能删除数据
8.8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C]
(A)需求分析阶段
(B)概念设计阶段
(C)逻辑设计阶段
(D)物理设计阶段
9.9)有三个关系R、S和T如下: T BCD a0k1 RS BCD a0k1 b1n1 BCD f3h2 a0k1 n2x1有关系R和S通过运算得到关系T,则所使用的运算为
(A)并
(B)自然连接
(C)笛卡尔积
(D)交
10.10)设有表示学生选课的三张表,学生S学号,姓名,性别,年龄,身份证号),课程C课号,课名),选课SC学号,课号,成绩),则表SC的关键字键或码)为
(A)课号,成绩
(B)学号,成绩
(C)学号,课号
(D)学号,姓名,成绩
11.11)以下叙述中正确的是
(A)C程序中的注释只能出现在程序的开始位置和语句的后面
(B)C程序书写格式严格,要求一行内只能写一个语句
(C)C程序书写格式自由,一个语句可以写在多行上
(D)用C语言编写的程序只能放在一个程序文件中
12.12)以下选项中不合法的标识符是
(A)print
(B)FOR
(C)&a
(D)_00
13.13)以下选项中不属于字符常量的是
(A)'C'
(B)"C"
(C)'�0'
(D)':'
14.14)设变量已正确定义并赋值,以下正确的表达式是
(A)x=y*5=x+z
(B)int15.8%5)
(C)x=y+z+5,++y
(D)x=25%5.0
15.15)以下定义语句中正确的是
(A)inta=b=0;
(B)charA=65+1,b='b';
(C)floata=1,*b=&a,*c=&b;
(D)doublea=0.0,b=1.1;
16.16)有以下程序段 charch;intk; ch='a';k=12; printf"%c,%d,",ch,ch,k);printf"k=%d ",k);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是
(A)因变量类型与格式描述符的类型不匹配输出无定值
(B)输出项与格式描述符个数不符,输出为零值或不定值
(C)a,97,12k=12
(D)a,97,k=12
17.17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是
(A)kk>='A'&&kk<='Z'
(B)!kk>='A'‖kk<='Z')
(C)kk+32)>='a'&&kk+32)<='z'
(D)isalphakk)&&kk<91)
18.18)当变量c的值不为2、4、6时,值也为“真”的表达式是
(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.19)若变量已正确定义,有以下程序段 inta=3,b=5,c=7; ifa>b a=b;c=a; ifc!=a c=b; printf"%d,%d,%d ",a,b,c;其输出结果是
(A)程序段有语法错
(B)3,5,3
(C)3,5,5
(D)3,5,7
20.20)有以下程序 #include main) {intx=1,y=0,a=0,b=0; switchx) {case1: switchy) {case0:a++;break; case1:b++;break;} case2:a++;b++;break; case3:a++;b++;} printf“a=%d,b=%d ”,a,b;}程序的运行结果是
(A)a=1,b=0
(B)a=2,b=2
(C)a=1,b=1
(D)a=2,b=1
21.21)有以下程序 #include main) {intx=8; for;x>0;x--) {ifx%3){printf“%d,”,x--);continue;} printf“%d,”,--x);}}程序的运行结果是
(A)7,4,2
(B)8,7,5,2
(C)9,7,6,4
(D)8,5,4,2
22.22)以下不构成无限循环的语句或者语句组是
(A)n=0;
(B)n=0;do{++n;}whilen<=0);while1){n++;}
(C)n=10;
(D)forn=0,i=1;;i++)n+=i;whilen);{n--;}
23.23)有以下程序 #include main) {inta[]={1,2,3,4},y,*p=&a[3]; --p;y=*p;printf“y=%d ”,y);}程序的运行结果是
(A)y=0
(B)y=1
(C)y=2
(D)y=3
24.24)以下错误的定义语句是
(A)intx[][3]={{0},{1},{1,2,3}};
(B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
(C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
(D)intx[][3]={1,2,3,4};
25.25)设有如下程序段 chars[20]=“Bejing”,*p; p=s;则执行p=s;语句后,以下叙述正确的是
(A)可以用*p表示s[0]
(B)s数组中元素的个数和p所指字符串长度相等
(C)s和p都是指针变量
(D)数组s中的内容和指针变量p中的内容相等
26.26)若有定义:inta[2][3];,以下选项中对a数组元素正确引用的是
(A)a[2][!1]
(B)a[2][3]
(C)a[0][3]
(D)a[1>2][!1]
27.27)有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是
(A)gets&s[0]);
(B)scanf“%s”,s+1);
(C)getss);
(D)scanf“%s”,s[1]);
28.28)以下叙述中错误的是
(A)在程序中凡是以“#”开始的语句行都是预处理命令行
(B)预处理命令行的最后不能以分号表示结束
(C)#defineMAX是合法的宏定义命令行
(D)C程序对预处理命令行的处理是在程序执行的过程中进行的
29.29)以下结构体类型说明和变量定义中正确的是
(A)typedefstruct
(B)structREC;{intn;charc;}REC;{intn;charc;};RECt1,t2;RECt1,t2;
(C)typedefstructREC;
(D)struct{intn=0;charc=’A’;}t1,t2;{intn;charc;}RECt1,t2;
30.30)以下叙述中错误的是
(A)gets函数用于从终端读入字符串
(B)getchar函数用于从磁盘文件读入字符
(C)fputs函数用于把字符串输出到文件
(D)fwrite函数用于以二进制形式输出数据到文件
31.31)有以下程序 #include main) {ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; fori=0;i<12;i++)c[s[i]]++; fori=1;i<5;i++)printf“%d”,c[i]); printf“ ”);}程序的运行结果是
(A)1234
(B)2344
(C)4332
(D)1123
32.32)有以下程序 #include voidfunint*s,intnl,intn2) {inti,j,t; i=nl;j=n2; whilei(A)0987654321
(B)4321098765
(C)5678901234
(D)0987651234
33.33)有以下程序 #include #include voidfunchar*s[],intn) {char*t;inti,j; fori=0;istrlens[j])){t=s[i];s[i]=s[j];s[j]=t;}} main) {char*ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”}; funss,5);printf“%s,%s ”,ss[0],ss[4]);}程序的运行结果是
(A)xy,aaaacc
(B)aaaacc,xy
(C)bcc,aabcc
(D)aabcc,bcc
34.34)有以下程序 #include intfintx) {inty; ifx==0||x==1)return3); y=x*x-fx-2); returny;} main) {intz; z=f3);printf“%d ”,z);}程序的运行结果是
(A)0
(B)9
(C)6
(D)8
35.35)有以下程序 #include voidfunchar*a,char*b {while*a==’*’)a++; while*b=*a{b++;a++;}} main) {char*s=”****a*b****”,t[80]; funs,t);putst);}程序的运行结果是
(A)*****a*b
(B)a*b
(C)a*b****
(D)ab
36.36)有以程序 #include #include typedefstruct{charname[9];charsex;floatscore[2];}STU; voidfSTUa {STUb={“Zhao”,’m’,85.0,90.0};inti; strcpya.name,b.name); a.sex=b.sex; fori=0;i<2;i++)a.score[i]=b.score[i];} main) {STUc={“Qian”,’p’,95.0,92.0}; fc;printf“%s,%c,%2.0f,%2.0f ”,c.name,c.sex,c.score[0],c.score[1]);}程序的运行结果是
(A)Qian,f,95,92
(B)Qian,m,85,90
(C)Zhao,f,95,92
(D)Zhao,m,85,90
37.37)有以下程序 #include main) {FILE*fp;inta[10]={1,2,3},i,n; fp=fopen“dl.dat”,”w”); fori=0;i<3;i++)fprintffp,”%d”,a[i]); fprintffp,” ”); fclosefp); fp=fopen“dl.dat”,”r”); fscanffp,”%d”,&n); fclosefp); printf“%d ”,n);}程序的运行结果是
(A)12300
(B)123
(C)1
(D)321
38.38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是
(A)a^b
(B)a|b
(C)a&b
(D)a<<4
39.39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
(A)auto和register
(B)extern和register
(C)auto和static
(D)static和register
40.40)设有定义语句int*f)int);,则以下叙述正确的是
(A)f是基类型为int的指针变量
(B)f是指向函数的指针变量,该函数具有一个int类型的形参
(C)f是指向int类型一维数组的指针变量
(D)f是函数名,该函数的返回值是基类型为int类型的地址