练习1 分支
1. 若从键盘输入58,则以下程序段的输出结果是(58 58 58): int main(void) { int a; scanf(“%d”,&a); if (a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); return 0; }
2. 下列程序运行的输出结果是(9):没有遇到break语句,继续执行到switch语句结束 int main(void) {
char c=’b’; int k=4;
switch(c) { case ‘a’: k=k+1; break; case ‘b’: k=k+2; case ‘c’: k=k+3; }
printf(“%d\\n”,k); return 0; }
练习2 循环
一、读程序写结果
1. 阅读下列程序并回答问题: main() { inti,j,k=0,m=0; for(i=0;i<2;i++) { ; /*第6行*/ for(j=0;j<3;j++) k++; m++; /*第9行*/ }
printf(“k=%d,m=%d\\n”,k,m); }
(1) 程序的输出是___k=6,m=2___________。
(2) 将第9行改为“m=m+k;“ ,程序的输出是____k=6,m=9_________。 (3) 将第6行改为“k=0;”,将第9行改为“m=m+k;”,程序的输出是
________k=3,m=6____________。
2. 请阅读下面的程序,并回答下列问题 #include
int digit=0,letter=0, other=0; charch; printf(\do {
ch = getchar();
if((ch>= 'a' &&ch<= 'z' ) || ( ch>= 'A' &&ch<= 'Z'))
letter ++; else if(ch>= '0' &&ch<= '9') digit ++;
else
other ++;
}while(ch!='\\n');
printf(\}
(1) 若在程序运行时输入 Today_is_2013/12/28<回车>
letter=7, digit=8, other=5 (2) 简述程序的主要功能:
统计输入字符串中字母数字和其他字符的个数。
3. 请阅读下面的程序,并回答下列问题
#include
int count, i, n,num; double average, total; printf(\scanf(\ count = 0;
for(i = 1; i<= n; i++){ scanf (\
if(num%2==0) count++; }
printf(\}
(1) 若在程序运行时输入:
5<回车> 8<回车> 6<回车> 9<回车> 4<回车> 7<回车> 运行结果是:3
(2) 简述程序的主要功能:
统计输入的数字中偶数的个数
4. 请阅读下面的程序,并回答下列问题 #include
for(i=1;i<=5;i++) { ch=getchar();
if(ch>='a'&&ch<='y') ch=ch+1; else if(ch=='z') ch='a'; putchar(ch); } return 0; }
(1) 若在程序运行时输入size5<回车>,输出结果是: tjaf5
(2) 简述程序的主要功能:
对字符加密,a到y的向后推一位,z变成a,其他不变。
二、填空题
1. 下面程序的功能是计算100~1000之间有多少个数其各位数字之和是5. #include
inti,s,k,count=0;
for(i=100; i<=1000;i++) {
s=0;k=i;
while(_____k!=0___________)
{
s=s+k;
k=____k/10____________; }
if(s==5) count++; }
printf(\}
2. 下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最
大数。
#include
intn,count=0,max=0,t; scanf(\ do{
t=___n_____________; if(t==0) count ++;
else if(max
printf(\}
练习3 函数
一 . 阅读程序
1.
#include