二级C语言真题及答案文档格式.docx
- 文档编号:18489593
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:21
- 大小:40.78KB
二级C语言真题及答案文档格式.docx
《二级C语言真题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《二级C语言真题及答案文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
以下所示的输入形式中正确的是(注:
口代表空格字符)
A)10口X口20口Y<回车>B)10口X20口Y<回车>
C)10口X<回车>20口Y<回车>D)10X<回车>20Y<回车>
(17)若有代数式
(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是
A)sqrt(abs(n^x+e^X))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(X)))D)sqrt(fabs(pow(x,n)+exp(x)))
(18)设有定义:
intk=0;
,以下选项的四个表达式中与其他三个表达式的值不相同的是
A)k++B)k+=1C)++kD)k+1
(19)有以下程序,其中%u表示按无符号整数输出
main()
{unsignedintx=0xFFFF;
/*x的初值为+六进制数*/
printf("
%u\n"
,x);
}
程序运行后的输出结果是
A)-1B)65535C)32767D)0xFFFF
(20)设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是
A)if(x++);
B)if(x>y&
&
y!
=0);
C)if(x>0)x-elsey++;
D)if(y<0){;
}elsex++;
(21)以下选项中,当x为大于1的奇数时,值为0的表达式是
A)x%2==1B)x/2C)x%2!
=0D)x%2==0
(22)以下叙述中正确的是
A)break语句只能用于switch语句体中B)continue语句的作用是:
使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同
(23)有以下程序
{intk=5,n=0;
do
{switch(k){case1:
case3:
n+=1;
k--;
break;
default:
n=0;
case2:
case4:
n+=2;
}
%d"
,n);
}while(k>0&
n<5);
}
A)235B)0235C)02356D)2356
(24)有以下程序
{inti,j;
for(i=1;
i<4;
i++)
{for(j=i;
j<4;
j++)printf("
%d*%d=%d"
,i,j,i*j);
\n"
);
}
A)1*1=11*2=21*3=3
2*1=22*2=4
3*1=3
B)1*1=11*2=21*3=3
2*2=42*3=6
3*3=9
C)1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
D)1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
(25)以下合法的字符型常量是
A)'
\x13'
B)'
\081'
C)'
65'
D)"
(26)在C语言中,函数返回值的类型最终取决于
A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型
C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型
(27)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c中的大写字母转换为对应小写字母的语句是
A)c=(c-'
A'
)%26+'
a'
B)c=c+32C)c=c-'
+'
D)c=('
+c)%26-'
(28)有以下函数
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
该函数的功能是
A)比较两个字符串的大小B)计算s所指字符串占用内存字节的个数C)计算s所指字符串的长度D)将s所指字符串复制到字符串t中
(29)设已有定义:
floatx;
,则以下对指针变量p进行定义且赋初值的语句中正确的是
A)float*p=1024;
B)int*p=(float)x;
C)floatp=&
x;
D)float*p=&
(30)有以下程序
#include<stdio.h>
{intn,*p=NULL;
*p=&
n;
Inputn:
"
scanf("
p);
printf("
outputn:
%d\n"
,p);
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是
A)intn,*p=NULL;
B)*p=&
C)scanf("
p)D)printf("
(31)以下程序中函数f的功能是:
当flag为1时,进行由小到大排序;
当flag为0时,进行由大到小排序。
voidf(intb[],intn,intflag)
{inti,j,t;
for(i=0;
i<n-1;
for(j=i+1;
j<n;
j++)
if(flag?
b[i]>b[j]:
b[i]<b[j]){t=b[i];
b[i]=b[j];
b[j]=t;
}main()
{inta[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&
a[2],5,0);
f(a,5,1);
i<10;
i++)printf("
%d,"
,a[i]);
A)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6,7,2,1,8,9,10,
C)5,4,3,2,1,6,7,8,9,10,D)10,9,8,7,6,5,4,3,2,1,
(32)有以下程序
voidf(intb[])
{inti;
for(i=2;
i<6;
i++)b[i]*=2;
main(){inta[10]={1,2,3,4,5,6,7,8,9,10),i;
f(a);
for(i=0;
i<10,i++)printf("
A)1,2,3,4,5,6,7,8,9,10,B)1,2,6,8,10,12,7,8,9,10,
C)1,2,3,4,10,12,14,16,9,10,D)1,2,6,8,10,12,14,16,9,10,
(33)有以下程序
typedefstruct{intb,p;
}A;
voidf(Ac)/*注意:
c是结构变量名*/
{intj;
c.b+=1;
c.p+=2;
main(){inti;
Aa={1,2};
f(a);
%d,%d\n"
,a.b,a.p);
A)2,3B)2,4C)1,4D)1,2
(34)有以下程序
{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
<4:
for(j=0;
j<3;
for(k=j+1;
k<4;
k++)
if(a[j][i]>a[k][i]{t=a[j][i];
a[j][i]=a[k][i]=a[k][i]=t;
}/*按列排序*/
,a[i][i]);
A)1,6,5,7,B)8,7,3,1,C)4,7,5,2,D)1,6,2,1,
(35)有以下程序
{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
i<3;
for(k=i+1;
k++)if(a[i][i]<a[k][k]){t=a[i][i];
a[i][i]=a[k][k];
a[k][k]=t;
,a[0][i]);
A)6,2,1,1,B)6,4,3,2,C)1,1,2,6,D)2,3,4,6,
(36)有以下程序
voidf(int*q){inti=0;
for(;
i<5;
i++)(*q)++;
main(){inta[5]={1,2,3,4,5},i;
for(i=0;
A)2,2,3,4,5,B)6,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6,
(37)有以下程序
#include<string.h>
main(){charp[20]={'
,'
b'
c'
d'
},q[]="
abc"
,r[]="
abcde"
;
strcpy(p+strlen(q),r);
strcat(p,q);
%d%d\n"
,sizeof(p),strlen(p));
A)209B)99C)2011D)1111
(38)有以下程序
strcat(p,r);
strcpy(p+strlen(q),q);
,strlen(p));
A)9B)6C)11D)7
(39)有以下程序
voidf(charp[][10],intn)/*字符串从小到大排序*/
{chart[10];
inti,j;
for(i=0;
j++)if(strcmp(p[i],p[j])>0){strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}}
main(){charp[5][10]={"
,"
aabdfg:
abbd"
dcdbe"
cd"
};
f(p,5);
,strlen(p[0]));
A)2B)4C)6D)3
(40)有以下程序
voidf(intn,int*r){intr1=0;
if(n%3==0)r1=n/3;
elseif(n%5==0)r1=n/5;
elsef(--n,&
r1);
*r=r1;
main(){intm=7,r;
f(m,&
r);
,r);
A)2B)1C)3D)0
(41)有以下程序
main(intargc,char*argv[]){intn=0,i;
i<argc;
i++)n=n*10+*argv[i]'
0'
编译连接后生成可执行文件tt.exe。
若运行时输入以下命令行
tt12345678
A)12B)12345C)12345678D)136
(42)有以下程序
inta=4;
intf(intn){intt=0;
staticinta=5;
if(n%2){inta=6;
t+=a++;
else{inta=7;
returnt+a++;
main(){ints=a,i=0;
i<2;
i++)s+=f(i);
,s);
A)24B)28C)32D)36
(43)有一个名为init.txt的文件,内容如下:
#defineHDY(A,B)A/B
#definePRINT(Y)printf("
y=%d\n"
,Y)
有以下程序
#include"
init.txt"
main(){inta=1,b=2,c=3,d=4,k;
k=HDY(a+c,b+d);
PRINT(k);
下面针对该程序的叙述正确的是
A)编译出错B)运行出错C)运行结果为y=0D)运行结果为y=6
(44)有以下程序
main(){charch[]="
uvwxyz"
,*pc;
pc=ch;
%c\n"
,*(pc+5));
A)zB)0C)元素ch[5]的地址D)字符y的地址
(45)有以下程序
structS{intn;
inta[20];
voidf(structS*p){inti,j,t;
i<p->n-1;
i++)
j<p->n;
if(p->a[i]>p->a[j]){t=p->a[i];
p->a[i]=p->a[j];
p->a[j]=t;
main(){inti;
structSs={10,{2,3,l,6,8,7,5,4,10,9}};
s);
i<s.n;
,s.a[i]);
A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,
C)2,3,1,6,8,7,5,4,10,9,D)10,9,8,7,6,1,2,3,4,5,
(46)有以下程序
structS{intn;
voidf(int*a,intn){inti;
i++)a[i]+=i;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
,s.a[i]);
A)2,4,3,9,12,12,11,11,18,9,B)3,4,2,7,9,8,6,5,11,10,
C)2,3,1,6,8,7,5,4,10,9,D)1,2,3,6,8,7,5,4,10,9,
(47)有以下程序段
typedefstructnode{intdata;
structnode*next;
}*NODE;
NODEp;
以下叙述中正确的是
A)p是指向structnode结构变量的指针的指针B)NODEp;
语句出错C)p是指向structnode结构变量的指针D)p是structnode结构变量
(48)有以下程序
{unsignedchara=2,b=4,c=5,d;
d=a|b;
d&
=c;
,d);
}程序运行后的输出结果是
A)3B)4C)5D)6
(49)有以下程序
#include<stdio.h>
main(){FILE*fp;
intk,n,a[6]={1,2,3,4,5,6};
fp=fopen("
d2.dat"
w"
fprintf(fp,"
%d%d%d\n"
,a[0],a[1],a[2]);
,a[3],a[4],a[5]);
fclose(fp);
d2.daf"
r"
fscanf(fp,"
%d%d"
k,&
n);
,k,n);
fclose(fp);
A)12B)14C)1234D)123456
(50)有以下程序
inti,a[6]={1,2,3,4,5,6};
d3.dat"
w+b"
fwrite(a.sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET):
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/fread(a,sizeof(int),3,fp);
A)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,
二、填空题
请将每一个空的正确答案写在【1】至【20】序号的横线上。
(1)在深度为7的满二叉树中,度为2的结点个数为【1】。
(2)软件测试分为白箱(盒)测试和黑箱(盒)测试。
等价类划分法属于【2】测试。
(3)在数据库系统中,实现各种数据管理功能的核心软件称为【3】。
(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。
编码和测试属于【4】阶段。
(5)在结构化分析使用的数据流图(DFD)中,利用【5】对其中的图形元素进行确切解释。
(6)执行以下程序后的输出结果是【6】。
{inta=10;
a=(3*5,a+4);
a=%d\n"
,a);
(7)当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【7】次。
{charch;
while((ch=getchar())=='
)prinft("
#"
(8)以下程序的运行结果是【8】。
intk=0;
voidfun(intm)
{m+=k;
k+=m;
m=%dk=%d"
,m,k++);
{inti=4;
fun(i++);
i=%dk=%d\n"
,i,k);
(9)以下程序的运行结果是【9】。
{inta=2,b=7,c=5;
switch(a>0){case1:
switch(b<0){case1:
@"
!
case0:
switch(c==5){case0:
*"
case1:
ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 答案