第三周作业
第三周作业
1、下列正确的程序段是(6)。
程序段1: 程序段2:
float n,i=1; float n,i=1;
switch(i) switch(i)
{ case i==1: n=i+1; { case i>1&&i<=2: n=i+1;
case i==2: n=i+2; break; case i==2: n=i+2; break;
default: n=i+3; default: n=i+3;
} }
程序段3: 程序段4:
float n,i=1; float n,i=1;
switch(i) switch((int)i)
{ case i=1: n=i+1; { case 1: n=i+1;
case i=2: n=i+2; break; case 2: n=i+2; break;
default: n=i+3; default: n=i+3;
} }
A、程序段1
B、程序段2
C、程序段3
D、程序段4
2、填空题
程序功能是统计学生成绩输入一个正整数n,再输入n 个学生的百分制成绩,统计各等级成绩的个数。成绩等级分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59)。,请填空。
#include
int main(void)
{
int i, mark, n;
int na, nb, nc, nd, ne;
scanf("%d",&n);
na = nb = nc = nd = ne = 0;
for(i = 1; i <= n; i++){
scanf("%d", &mark);
if(mark>=90&&mark<=100)
na++;
(11)(mark>=80)
nb++;
else if(mark>=70)
nc++;
else if(mark>=60)
nd++;
(12)
ne++;
}
printf("%d%d%d%d%d\n", na,nb,nc,nd,ne);
return 0;
}
11、A、if else B、else if C、else D、if
12、A、else B、else(mark<60)
C、else if(mark<60)
D、else(mark<60&&(mark>=0))
3、以下程序运行后的输出结果是(22)。
#include
int main(void)
{
int c=0,k;
for (k=1;k<3;k++)
switch (k){
default: c+=k;
case 2: c++;break;
case 4: c+=2;break;
}
printf("%d\n",c);
return 0;
}
A、3
B、5
C、7
D、9
4、写出下列程序段的输出结果 6 , 4, 4, 1, 3.
A.int a=1,s=0;
B. int a=1,s=0;
C. int a=1,s=0;
switch(a) { switch(a) { switch(a) {
case 1: s+=1; case 2: s+=2; default : s+=3;
case 2: s+=2; case 1: s+=1; case 2: s+=2;
default : s+=3; default : s+=3; case 1: s+=1;
} printf(“%d”,s); } printf(“%d”,s); } printf(“%d”,s);
D. int a=1,s=0;
E. int a=1,s=0;
switch(a) { switch(a) {
case 1: s+=1; break; default : s+=3; break;
case 2: s+=2; break; case 2: s+=2; break;
default : s+=3; case 1: s+=1;
} printf(“%d”,s); } printf(“%d”,s);
5、下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A、if(u>s)t=u; t=s;
B、t=s; if(u>s)t=u;
C、if(u>s)t=s; else t=u;
D、t=u; if(u>s)t=s;
6、下列语句应将小写字母转换为大写字母,其中正确的是(B)。
A、if(ch>=’a’&ch<=’z’) ch=ch-32;
B、if(ch>=’a’&&ch<=’z’)ch=ch-32;
C、ch=(ch>=’a’&&ch<=’z’)?ch-32:’’;
D、ch=(ch>’a’&&ch<’z’)?ch-32:ch;
7、如下程序段
char c,i;
c='b';i=4;
switch(c)
{
case 'a': i=1;
case 'b': i=2;
case 'c': i=3;
}
printf("%d ",i);
其输出应为:
A) 5 B) 4 C) 3 D) 2
8、阅读下列程序说明和程序,在每小题提供的若干可选答案中挑选一个正确答案。
#include
Void main()
{ int i,j,k;
scanf ("%d", &i) ;
j=k=0;
if((i/10)>0) /*第7行*/
j=i;
if((i!=0)&&(j!=0))
k=i;
else
k=-1; /*第12行*/
printf("j=%d,k=%d\n",j,k);
}
(13) 程序运行时,输入5,输出(13) 。
A、j=0,k=5
B、j=5,k=5
C、j=0,k=-1
D、j=5,k=-1
(14) 程序运行时,输入99,输出(14) 。
A、j=99,k=-1
B、j=0,k=-1
C、j=0,k=99
D、j=99,k=99
(15)将12行改为”k=-1,j=i/10;”程序运行时,输入99,输出(15) 。
A、j=99,k=-1
B、j=9,k=99
C、j=99,k=99
D、j=9,k=-1
(16) 将7行改为”if((i/10)>0){”, 将12行改为”k=-1;}”程序运行时,输入5,输出(16) 。
A、j=0,k=-1
B、j=0,k=0
C、j=5,k=5
D、j=5,k=-1