为了输出结果s=1,t=5,输入量a和b应满足的条件是【a=b<=0】.
14执行以下程序,输入-10的结果是【y=0】,输入5的结果是【y=5】,输入10的结果是【y=10】,输入30的结果是【y=5】。
main()
{intx,c,m;
floaty;
scanf(“%d”,&x);
if(x<0)c=-1;
elsec=x/10;
switch(c)
{
case-1:
y=0;break;
case0:
y=x;break;
case1:
y=10;break;
case2:
case3:
y=-0.5*x+20;break;
default:
y=-2;
}
if(y!
=-2)printf(“y=%d\n”,y);
elseprintf(“error\n”);
}
15将下列数学式改写成C语言的关系表达式或逻辑表达式A)a≠b或a<=c;【a!
=b||a<=c】
B)|x|>=4;【x>=4||x<=-4】.
16C语言中用【1】表示逻辑值“真”,用【0】表示逻辑值“假”。
17以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。
当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:
a+b>c,a+c>b,b+c>a。
请填空。
main()
{
floata,b,c;
scanf(“%f%f%f”,&a,&b,&c);
if()printf(“YES\n”);/*a,b,c能构成三角形*/
elseprintf(“NO\n”);/*a,b,c不能构成三角形*/
}【a+b>c&&a+c>b&&b+c>a】
18打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该
数本身。
例如:
153是一水仙花数,因为153=1^3+5^3+3^3.
19编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
第6章循环控制知识点
1有程序段:
inta;
for(scanf(“%d”,&a);!
a;)
printf(“continue”);
则for语句中的!
a等价于【a==0】
2有程序段:
intx,y,z;
x=20,y=40,z=60;
while(xy-=4;z/=2;
printf(“%d,%d,%d”,x,y,z);
则此程序执行的输出结果为【32,28,30】
3有程序段:
intj=0,k=0,a=0;
while(j<2)
{j++;
a=a+1;
k=0;
while(k<=3)
{k++;
if(k%2!
=0)
continue;
a=a+1;
}
a=a+1;
}
执行完成后,a的值为【8】
4以下程序的输出结果是
main()
{intnum=0;
while(num<=2)
{num++;
printf(“%d,”,num);
}
}【 1,2,3,】
5有程序段:
(1)intn=1;
do{n=++n*5;}
while(n=10);
则此循环的循环体【 执行无限次】
(2)x=-1;
do
{x=x*x;}while(!
x);
语句执行次数是:
【循环执行一次】
(3)intk=10;
while(k=0)k--;
语句执行次数【循环体语句一次也不执行】
(4)for(x=0,y=10;(y>0)&&(x<4);x++,y--);【循环执行4次】
6以下程序的输出结果是
main()
{intn=0;
while(n++<=2);
printf(“%d”,n);
}【4】
7以下程序的输出结果是
main()
{inti,j,m=0;
for(i=1;i<15;i+=4)
for(j=3;j<=19;j+=4)m++;
printf(“%d”,m);
}【20】
8以下程序的输出结果是
main()
{intn=10;
while(n>7)
{n--;
printf(“%d,”,n);
}}【9,8,7,】
9以下程序的输出结果是
main()
{inta=1,b=10;
do{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d”,a,b);
}【a=2,b=8】
10已知inti=1;执行语句while(i++<4);后,变量i的值为【5】
11下面程序的输出结果是
main()
{inti;
for(i=0;i<10;i++);
printf(“%d”,i);
}【10】
12下面程序的输出结果是
main()
{inta=1,b=0;
do
{switch(a)
{case1:
b=1;break;
case2:
b=2;break;
default:
b=0;
}
b=a+b;
}while(!
b);
printf("a=%d,b=%d",a,b);
} 【a=1,b=2】
13下面程序的输出结果是
main()
{intk=0;
charc='A';
do
{switch(c++)
{case'A':
k++;break;
case'B':
k--;
case'C':
k+=2;break;
case'D':
k=k%2;contiue;
case'E':
k=k+10;break;
default:
k=k/3;
}
k++;
}while(c<'C');
printf("k=%d\n",k);
} 【k=4】
14下面程序的输出结果是
#include
main()
{intn[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
n[i+1][j+1]+=n[i][j];
printf("%d\n",n[i][j]);
}【6】
15break语句只能用于【循环】语句和【多分支选择】语句。
16有以下程序段:
s=1.0;
for(k=1;k<=n;k++)
s=s+1.0/(k*(k+1));
printf(“%f”,s);
请填空,使下面的程序的功能完全与之相等。
s=0.0;
_______;【d=1.0】
k=0;
do
{s=s+d;
________;【k=k+1】
d=1.0/(k*(k+1));
}
while(________);【k<=n】
printf(“%f”,s);
17以下程序的输出结果是
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}【5】
18以下程序的功能是:
输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
main()
{inti,j;
for(i=0;________;i++)【i<=9】
{j=i*10+6;
if(______)continue;【j%3!
=0】
printf(“%d”,j);
}
}
19以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:
n不得大于10),程序运行结果如下:
ABCDE
FGHI
JKL
MN
O
请填空完成该程序。
main()
{inti,j,n;charch='A';
scanf(“%d”,&n);
if(n<11)
{
for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf(“%2c”,ch);
________;【ch=ch+1】
}
________【printf("\n")】
}
}
elseprintf(“nistoolarge!
\n”);
printf(“\n”);
}
20以下程序的功能是计算:
s=1+12+123+1234+12345。
请填空。
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+________;s=s+t;}
printf("s=%d\n",s);
}【t*10】
21以下程序运行后的输出结果是
main()
{
charc1,c2;
for(c1=''0'',c2='9';c1 printf("%c%c",c1,c2);
printf("");
}【0918273645】
22有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf(“%d\n”,t);
}
执行后输出结果是【0】.
23以下程序运行后的输出结果是
main()
{intx=15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
elsecontinue;
}
printf(“%d\n”,x);
}【17】
24键盘输入10个实型数,求其倒数的和并输出.
25计算s=1-2!
+3!
-4!
+…-10!
的值并输出。
26计算s=1-1/3+1/5-1/7+…1/101的值并输出。
27输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
28输入n值,输出如图所示矩形。
******
******
******
******
******
******
n=6时的矩形
按照上述思路,实现打印矩形。
29编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。