c语言程序设计二级考试选择题.docx
- 文档编号:10166532
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:65
- 大小:95.21KB
c语言程序设计二级考试选择题.docx
《c语言程序设计二级考试选择题.docx》由会员分享,可在线阅读,更多相关《c语言程序设计二级考试选择题.docx(65页珍藏版)》请在冰豆网上搜索。
c语言程序设计二级考试选择题
1.下列数据结构中,属于非线性结构的是( )。
A)循环队列
B)带链队列
C)二叉树
D)带链栈
2.下列数据结构中,能够按照"先进后出"原则存取数据的是( )。
A)循环队列
B)栈
C)队列
D)二叉树
3.对于循环队列,下列叙述中正确的是( )。
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
4.算法的空间复杂度是指( )。
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
5.软件设计中划分模块的一个准则是( )。
A)低内聚低耦合
B)高内聚低耦合
C)低内聚高耦合
D)高内聚高耦合
6.下列选项中不属于结构化程序设计原则的是( )。
A)可封装
B)自顶向下
C)模块化
D)逐步求精
7.软件详细设计生产的图如下:
该图是( )
A)N-S图
B)PAD图
C)程序流程图
D)E-R图
8.数据库管理系统是( )。
A)操作系统的一部分
B)在操作系统支持下的系统软件
C)一种编译系统
D)一种操作系统
9.在E-R图中,用来表示实体联系的图形是( )。
A)椭圆形
B)矩形
C)菱形
D)三角形
10.有三个关系R、S和T如下:
则关系T是由关系R和S通过某种操作得到,该操作为( )。
A)选择
B)投影
C)交
D)并
11.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。
A)C语言程序仅可以编译执行
B)C语言程序仅可以解释执行
C)C语言程序既可以编译执行又可以解释执行
D)以上说法都不对
12.以下叙述中错误的是( )。
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到"见名识意"
C)用户所定义的标识符中,大、小写字母代表不同标识
D)用户所定义的标识符必须以字母或下划线开头
13.若有说明语句:
charc='\72';则变量c( )。
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法,c的值不确定
14.现有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值的类型为( )。
A)int
B)double
C)float
D)char
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.若在定义语句inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。
A)scanf("%d",a,b,c);
B)scanf("%d%d%d",a,b,c);
C)scanf("%d",&p);
D)scanf("%d",p);
17.以下程序的运行结果是( )。
intk=0;
voidfun(intm)
{ m+=k;k+=m;printf("m=%dk=%d",m,k++);}
main()
{ inti=4;
fun(i++);printf("i=%dk=%d\n",i,k);
}
A)m=4 k=5 i=5 k=5
B)m=4 k=4 i=5 k=5
C)m=4 k=4 i=4 k=5
D)m=4 k=5 i=4 k=5
18.在执行下述程序时,若从键盘输入6和8,则结果为( )。
main()
{ inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s=b;
s*=s;
printf("%d",s);}
A)36
B)64
C)48
D)以上都不对
19.有以下程序:
main()
{ intk=5,n=0;
while(k>0){switch(k){
default:
break;
case1:
n+=k;
case2:
case3:
n+=k;
}
k--;
}
printf("%d\n",n);
}
程序运行后的输出结果是( )。
A)0
B)4
C)6
D)7
20.有以下程序:
#include
main(){intx;
scanf("%d",&x);
if(x<=3);else
if(x!
=10)printf("%d\n",x);
}
程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数
B)大于3且不等10的整数
C)大于3或等于10的整数
D)小于3的整数
21.有以下程序:
#include
main(){inta=1,b=0;
printf("%d,",b=a+b);
printf("%d\n",a=2*b)}
程序运行后的输出结果是( )。
A)0,0
B)1,0
C)3,2
D)1,2
22.有以下程序:
main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",'');
for(j= ;j<4;j++)printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式输出数组右上半三角
1 2 34
6 7 8
1112
16
则在程序下划线处应填入的语句是( )。
A)i-1
B)i+1
C)i
D)4-i
23.以下程序段中,与语句:
k=a>b?
(b>c?
1:
0):
0;功能相同的是( )。
A)if((a>b)&&(b>c))k=1;
elsek=0;
B)if((a>b)‖(b>c))k=1;
elsek=0;
C)if(a<=b)k=0;
elseif(b<=c)k=1;
D)if(a>b)k=1;
elseif(b>c)k=1;
elsek=0;
24.有以下程序:
voidss(char*s,chart)
{ while(*s)
{ if(*s==t)*s=t-a+A;
s++;}}
main()
{ charstr1[100]="abcddfefdbd",c=d;
ss(str1,c);printf("%s\n",str1);}
程序运行后的输出结果是( )。
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
25.现有如下程序段:
#include"stdio.h"
main()
{ intk[30]={12,324,45,6,768,98,21,34,453,456};
intcount=0,i=0;
while(k[i])
{ if(k[i]%2==0||k[i]%5==0)count++;
i++;}
printf("%d,%d\n",count,i);}
则程序段的输出结果为( )。
A)7,8
B)8,8
C)7,10
D)8,10
26.以下程序运行后的输出结果是( )。
#include
voidf(char*s,char*t){chark;
k=*s;
*s=*t;
*t=k;
s++;t--;
if(*s)f(s,t);
}
main(){charstr[10]="welcome",*p;
p=str+strlen(str)/2+1;
f(p,p-2);
printf("%s\n",str);
}
main(){charstr[10]="welcome",*p;
p=str+strlen(str)/2+1;
f(p,p-2);
printf("%s\n",str);
}
A)eelcomw
B)weoclme
C)welcome
D)emoclew
27.设有如下程序段:
intx=2004,y=2008;
printf("%d\n",(x,y));
则以下叙述中正确的是
A)输出值为2004
B)输出值为2008
C)运行时产生出错信息
D)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
28.有以下程序:
#include
voidfun(char*c,intd){*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main(){charb=a,a=A;
fun(&b,a);printf("%c,%c\n",b,a);
}
程序运行后的输出结果是( )。
A)b,B,b,A
B)b,B,B,A
C)a,B,B,a
D)a,B,a,B
29.有以下程序:
#include
#include
main(){chara[10]="abcd";
printf("%d,%d\n",strlen(a),sizeof(a));
}
程序运行后的输出结果是( )。
A)7,4
B)4,10
C)8,8
D)10,10
30.若有定义inta[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( )。
A)*(*(a+i)+j)
B)(a+i)[j]
C)*(a+i+j)
D)*(a+i)+j
31.有以下程序:
#include
main()
{ charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是( )
A)1267
B)1256
C)1278
D)1245
32.以下程序的运行结果是( )。
#include
inta=1;
intf(intc){staticinta=2;
c=c+1;
return(a++)+c;}
main(){inti,k=0;
for(i=0;i<2;i++){inta=3;k+=f(a);}
k+=a;
printf("%d\n",k);
}
A)17
B)16
C)15
D)14
33.设有定义:
intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。
A)*p=*q;
B)p=q;
C)*p=&n1;
D)p=*q;
34.设有如下说明:
typedefstructST
{ longa;
intb;
charc[2];
}NEW;
以下说法正确的是( )。
A)NEW是一个结构体变量
B)NEW是一个结构体类型
C)ST是一个结构体类型
D)以上说明形式非法
35.有以下程序:
#include
#include
typedefstruct{charname[9];charsex;floatscore[2];}STU;
voidf(STUa)
{ STUb={"Zhao",'m',85.0,90.0};inti;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
}
main()
{ STUc={"Qian",'f',95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",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
36.有以下程序:
#include
#defineN4
voidfun(inta[][N],intb[]){inti;
for(i=0;i } main(){intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i printf("\n"); } 程序的运行结果是( )。 A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10, 37.有以下程序: #include intfun(intx,inty){if(x! =y)return((x+y)/2); elsereturn(x); } main(){inta=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); } 程序运行后的输出结果是( )。 A)3 B)6 C)8 D)12 38.若x是int型变量,且有下面的程序片段: for(x=3;x<6;x++)printf((x%2)? ("**%d"): ("##%d\n"),x); 上面程序片段的输出结果是( )。 A)**3 ##4 **5 B)##3 **4 ##5 C)##3 **4##5 D)**3##4 **5 39.有以下程序: #include #defineN5 #defineMN+1 #definef(x)(x*M) main() { inti1,i2; i1=f (2); i2=f(1+1); printf("%d%d\n",i1,i2); } 程序的运行结果是( )。 A)1212 B)117 C)1111 D)127 40.有以下程序: #include main(){unsignedchara=8,c; c=a>>3; printf("%d\n",c); } 程序运行后的输出结果是( )。 A)32 B)16 C)1 D)0 1.下列叙述中正确的是( )。 A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 2.下列叙述中正确的是( )。 A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表 C)栈与队列都是非线性结构 D)以上三种说法都不对 3.软件测试的目的是( )。 A)评估软件可靠性 B)发现并改正程序中的错误 C)改正程序中的错误 D)发现程序中的错误 4.在软件开发中,需求分析阶段产生的主要文档是( )。 A)软件集成测试计划 B)软件详细设计说明书 C)用户手册 D)软件需求规格说明书 5.软件生命周期是指( )。 A)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件从需求分析、设计、实现到测试完成的过程 C)软件的开发过程 D)软件的运行维护过程 6.面向对象方法中,继承是指( )。 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制 7.层次型、网状型和关系型数据库划分原则是( )。 A)记录长度 B)文件的大小 C)联系的复杂程度 D)数据之间的联系方式 8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。 A)一对一 B)一对多 C)多对多 D)多对一 9.数据库设计中反映用户对数据要求的模式是( )。 A)内模式 B)概念模式 C)外模式 D)设计模式 10.有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是( )。 A)自然连接 B)差 C)交 D)并 11.以下叙述中错误的是( )。 A)C语言是一种结构化程序设计语言 B)使用三种基本结构构成的程序只能解决简单问题 C)结构化程序设计提倡模块化的设计方法 D)结构化程序由顺序、分支、循环三种基本结构组成 12.下面四个选项中,均是不合法的用户标识符的选项是( )。 A)c-bgotoint B)AP 0do C)floatla0 A D) 123tempgoto 13.以下选项中值为1的表达式是( )。 A) B) C) D) 14.已知各变量的类型说明如下: intk,a,b; unsignedlongw=5; doublex=1.42; 则以下不符合C语言语法的表达式是( )。 A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3) 15.设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍五入的是( )。 A)x=(x*100+0.5)/100.0 B)x=(int)(x*100+0.5)/100.0 C)x=x*100+0.5/100.0 D)x=(x/100+0.5)*100.0 16.以下程序运行后的输出结果是( )。 main(){ inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)); printf("%d%d%d\n",i,j,k); } A)123 B)234 C)223 D)233 17.当变量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) 18.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。 以下所示的输入形式中正确的是(注: □代表空格字符)( )。 A)10□X□20□Y<回车> B)10□X20□Y<回车> C)10□X<回车> 20□Y<回车> D)10X<回车> 20Y<回车> 19.设有定义: intk=1,m=2;floatf=7;,则以下选项中错误的表达式是( )。 A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m 20.有以下程序: #include main() { inti,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++)m=m%j; printf("%d\n",m); } 程序的运行结果是( )。 A)0 B)1 C)2 D)3 21.有定义语句: chars[10];,若要从终端给s输入5个字符,错误的输入语句是( )。 A)gets(&s[0]); B)scanf("%s",s[1]); C)gets(s); D)scanf("%s",s+1); 22.下面函数调用语句含有实参的个数为( )。 func((exp1,exp2)(exp3,exp4,exp5)); A)1 B)2 C)4 D)5 23.有以下程序: voidsort(inta[],intn){ inti,j,t; for(i=0;i } main() { intaa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa+2,5); for(i=0;i<10;i++)printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是( )。 A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10, C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10, 24.设变量已正确定义并赋值,以下正确的表达式是( )。 A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0 25.有以下程序: #include voidfun(inta,intb){intt; t=a;a=b;b=t; } main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf("%d,",c[i]); printf("\n"); } 程序的运行结果是( )。 A)1,2,3,4,5,6,7,8,9,0, B)2,1,4,3,6,5,8,7,0,9, C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9, 26.设有如下程序段: chars[20]="beijing",*p; p=s; 则执行p=s;语句后,以下叙述中正确的是( )。 A)可以用*p表示s[0] B)s数组中元素的个数和p所指字符串长度相等 C)s和p都是指针变量 D)数组s中的内容和指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 二级 考试 选择题