C语言练习题2分支结构 循环结构 数组 函数二级真题Word格式.docx
- 文档编号:4771189
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:34
- 大小:24.98KB
C语言练习题2分支结构 循环结构 数组 函数二级真题Word格式.docx
《C语言练习题2分支结构 循环结构 数组 函数二级真题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题2分支结构 循环结构 数组 函数二级真题Word格式.docx(34页珍藏版)》请在冰点文库上搜索。
elseputchar(C+A);
程序运行后输出的结果是
A1B3D5FBABCDFECA2C4E6D123456
5.fun函数的功能是:
通过键盘输入给x所指的整型数组所有元素赋值。
在下列划线处应该填写的是
#defineN5
voidfun(intx[N])
{intm;
for(m=N-1;
m>
m--)
scanf(“%d\n”,);
A&
x[++m]B&
x[m+1]Cx+(m++)Dx+m
6.有以下函数
#include<
string.h>
{printf(“%d\n”,strlen(“ATS\n012\1”));
程序运行后的输出结果是
A3B8C4D9
7.有以下函数
{chara[20],b[20],c[20];
scanf(”%s%s”,a,b);
gets(c);
printf(”%s%s%s\n”,a,b,c);
程序运行时从第一行开始输入thisisacat!
<
,则输出结果是
Athisisacat!
BthisisaCthisisacat!
Dthisisacat!
8.有以下函数
viodfun(charc)
{if(c>
’x’)fun(c-1);
printf(“%c”,c);
{fun(‘z’);
程序运行输出结果是
AxyzBwxyzCzyxwDzyx
9、有以下函数
viodfunc(intn)
{inti;
for(i=0;
i<
=n;
i++)printf(“*”);
printf(“#”);
main()
{func(3);
printf(“?
?
”);
func(4);
printf(“\n”);
}
A****#?
***#B***#?
*****#
C**#?
*****#D****#?
(10)有以下程序
#include<
stdio.h>
main()
{inta=1,b=0;
if(--a)b++;
elseif(a=0)b+=2:
elseb+=3:
printf("
%d\n"
,b);
)
程序运行后的输出结果是()。
A)0B)1C)2D)3
(11)下列条件语句中,输出结果与其他语句不同的是()。
A)if(a)printf("
%d\-n"
,x);
elseprintf("
%d\n"
,y);
B)if(a==0)printf("
C)if(a!
=0)p由printtf("
D)if(a==0)printf("
(12)有以下程序
#include<
{inta=7;
while(a--);
printf("
,a);
)
程序运行后的输出结果是()。
A)-1B)0C)1D)7
(13)有以下程序
doublef(doublex);
{doublea_0;
inti;
for(i=0;
30;
i+=10)a+=f((double)i);
%5.0f\n"
doublef(doublex)
(returnX+x+1;
A)503B)401C)500D)1404
(14)以下定义数组的语句中错误的是()。
A)intnum[]={1,2,3,4,5,6};
B)intnum[][3]={{1,2},3,4,5,6};
C)intnum[2][4]=({1,2,,{3,4},{5,6});
D)intnum[][4]={1,2,3,4,5,6};
(27)
(15)有以下程序
#defineN4
voidfun(inta[][N],imb[])
{inti;
N;
i++)b[i]=a[i][i]-a[i][N-1-i];
{intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
fun(x,y);
i++)printf(”%d,”,y[i]);
\n"
);
A)-12,-3,0,0,B)-3,-1,1,3,C)0,1,2,3,D)-3,-3,-3,-3
(16)以下程序的主函数中调用了在其前面定义的fun函数
{doublea[15],k;
k=fun(a);
则以下选项中错误的fun函数首部是()。
A)doublefun(doublea[15])B)doublefun(double*a)
C)doublefun(doublea[])D)doublefun(doublea)
(17)有以下程序
string.h>
{chara[5][10]={"
china"
"
beijing"
you"
tiananmen"
welcome”);
inti,j;
chart[10];
4;
i++)
for(j=i+1;
j<
5;
j++)
if(strcmp(a[i],a[j])>
O)
{strcpy(t,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],t);
puts(a[3]);
A)BeijingB)chinaC)welcomeD)tiananmen
(18)有以下程序
intf(intm)
{staticintn=0;
n+=m:
returnn;
{intn=0;
%d"
,f(++n));
,f(n++));
A)1,2B)1,1C)2,3D)3,3
(19)有以下程序
{charch[3][5]={"
AAAA"
,"
BBB"
CC"
printf("
%s\n"
,ch[1]);
A)AAAAB)CCC)BBBCCD)BBB
(20)有以下程序段
charname[20];
intnum;
scanf("
name=%snum=%d"
name;
&
num);
当执行上述程序段,并从键盘输入:
name=Lilinum=1001<
后,name的值为
A)Lili B)name=Lili
C)Lilinum=D)name=Lilinum=1001
(21)if语句的基本形式是:
if(表达式)语句,以下关于“表达式”值的叙述中正确的是
A)必须是逻辑值B)必须是整数值
C)必须是正数D)可以是任意合法的数值
(22)有以下程序
#include<
{intx=011;
printf("
%d\n"
++x);
}
程序运行后的输出结果是
A)12B)11C)10D)9
(23)有以下程序
main()
{ints;
%d"
&
s);
while(s>
0)
{switch(s)
{case1:
s+5);
case2:
s+4);
break;
case3:
s+3);
default:
s+1);
}
}
运行时,若输入123450<
A)6566456B)66656C)66666D)6666656
(24)有以下程序段
inti,n;
for(i=0;
8;
{n=rand()%5;
switch(n)
{case1:
case3:
n);
case2:
case4:
continue;
case0:
exit(0);
以下关于程序段执行情况的叙述,正确的是
A)for循环语句固定执行8次
B)当产生的随机数n为4时结束循环操作
C)当产生的随机数n为1和2时不做任何操作
D)当产生的随机数n为0时结束程序运行
(25)有以下程序
#include<
{chars[]="
012xy\08s34f4w2"
;
inti,n=0;
s[i]!
=0;
if(s[i]>
='
0'
s[i]<
9'
)n++;
程序运行后的输出结果是
A)0B)3C)7D)8
(26)若i和k都是int类型变量,有以下for语句
for(i=0,k=-1;
k=1;
k++)printf("
*****\n"
);
下面关于语句执行情况的叙述中正确的是
A)循环体执行两次
B)循环体执行一次
C)循环体一次也不执行
D)构成无限循环
(27)有以下程序
#include<
{charb,c;
inti;
b='
a'
c='
A'
{if(i%2)putchar(i+b);
elseputchar(i+c);
A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef
(28)有以下程序段
#include
{
while(getchar()!
\n'
以下叙述中正确的是
A)此while语句将无限循环
B)getchar()不可以出现在while语句的条件表达式中
C)当执行此while语句时,只有按回车键程序才能继续执行
D)当执行此while语句时,按任意键程序就能继续执行
(29)有以下程序
{intx=1,y=0;
if(!
x)y++;
elseif(x==0)
if(x)y+=2;
elsey+=3;
y);
A)3B)2C)1D)0
(30)有以下程序
{chara[30],b[30];
%s"
a);
gets(b);
%s\n%s\n"
a,b);
程序运行时若输入:
howareyou?
Iamfine<
则输出结果是
A)howareyou?
B)how
Iamfineareyou?
Iamfine
C)howareyou?
IamfineD)rowareyou?
(31)设有如下函数定义
intfun(intk)
{if(k<
1)return0;
elseif(k==1)return1;
elsereturnfun(k-1)+1;
若执行调用语句:
n=fun(3);
,则函数fun总共被调用的次数是
A)2B)3C)4D)5
(32)有以下程序
intfun(intx,inty)
{if(x!
=y)return((x+y);
2);
elsereturn(x);
main()
{inta=4,b=5,c=6;
fun(2*a,fun(b,c)));
A)3B)6C)8D)12
(33)有以下程序
intfun()
{staticintx=1;
x*=2;
returnx;
}
{inti,s=1;
for(i=1;
=3;
i++)s*=fun();
s);
A)0B)10C)30D)64
(34)有以下程序
#defineS(x)4*(x)*x+1
{intk=5,j=2;
S(k+j));
A)197B)143C)33D)28
(35)以下是if语句的基本形式:
if(表达式)语句其中“表达式”
A)必须是逻辑表达式B)必须是关系表达式
C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式
(36)有以下程序
{intx;
x);
if(x<
=3);
else
if(x!
=10)
printf(“%d\n”,x);
程序运行时,输入的值在哪个范围才会有输出结果
A)不等于10的整数B)大于3且不等于10的整数
C)大于3或等于10的整数D)小于3的整数
(37)以下程序中的变量已正确定义
4;
i++,i++)
for(k=1;
k++)printf(*”);
程序段的输出结果是
A)********B)****C)**D)*
(38)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
A)n=0;
while((ch=getchar())!
=’\n’)n++;
B)n=0;
while(getchar()!
C)for(n=0;
getchar()!
=’\n’;
n++);
D)n=0;
for(ch=getchar();
ch!
(39)有以下程序
{inta1,a2;
charc1,c2;
scanf(“%d%c%d%c”,&
a1,&
c1,&
a2,&
c2);
printf(“%d,%c,%d,%c”,a1,c1,a2,c2);
若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:
12,a,34,b,则正确的输入格式是(以下代表空格,<
CR>
代表回车)
A)12a34b<
B)12a34b<
C)12,a,34,b<
D)12a34b<
(40)有以下程序
intf(intx,inty)
{return(y-x)*x);
{inta=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf(“%d\n”,d);
A)10B)9C)8D)7
(41)有以下程序
intfun(intx,inty)
{if(x==y)return(x);
elsereturn((x+y)/2)
{inta=4,b=5,c=6;
printf(“%d\n”,fun(2*a,fun(b,c)))}
A)3B)6C)8D)12
(42)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是
A)autoB)registerC)staticD)auto或register
(43)以下选项中与if(a==1)a=b;
elsea++;
语句功能不同的switch语句是
A)switch(a)B)switch(a==1)
{case1:
a=b;
break;
{case0:
default:
a++;
}case1:
}
C)switch(a)D)switch(a==1)
{default:
{case1:
a=b;
case1:
}case0:
}
(44)有如下嵌套的if语句
if(a<
b)
if(a<
c)k=a;
elsek=c;
if(b<
c)k=b;
以下选项中与上述if语句等价的语句是
A)k=(a<
b)?
a:
b;
k=(b<c)?
b:
c;
B)k=(a<
((b<c)?
b)((b>c)?
c);
C)k=(a<
((a<c)?
c)((b<c)?
D)k=(a<
k=(a<c)?
c;
(45)有以下程序
{inti,j,m=1;
{for(j=3;
j>
j--)
{if(i+j>
3)break;
m*=i*j;
printf(“m=%d\n”,m);
A)m=6B)m=2C)m=4D)m=5
(46)有以下程序
{inta=1,b=2;
for(;
a<
a++){b+=a;
a+=2;
printf(“%d,%d\n”,a,b);
A)9,18B)8,11C)7,11D)10,14
(47)以下关于return语句的叙述中正确的是
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
D)没有return语句的自定义函数在执行结束时不能返同到调用处
(48)下列选项中,能正确定义数组的语句是
A)intnum[0..2008];
B)intnum[];
C)intN=2008;
D)#defineN2008
intnum[N];
intnum[N];
(49)有以下程序
{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=1;
i++)s=s+a[b[i]];
printf(“%d\n”,s);
A)6B)10C)11D)15
(50)有以下程序
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(j=1;
=1;
j++)t+=b[i][b[j][i]];
printf(“%d\n”,t);
A)1B)3C)4D)9
(51)若有以下定义和语句
chars1[10]="abcd!
",s2="\n123\\";
printf("%d%d\n",strlen(s1),strlen(s2));
则输出结果是
A)5 5B)10 5C)10 7D)5 8
(52)有以下程序
intf(intt[],intn);
{inta[4]={1,2,3,4},s;
s=f(a,4);
intf(intt[],intn)
{if(n>
0)returnt[n-1]+f(t,n-1);
elsereturn0;
}
程序运行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言练习题2分支结构 循环结构 数组 函数二级真题 语言 练习题 分支 结构 循环 函数 二级