第3、4章习题 下载本文

2. 选择结构通常包括三种形式: 单分支 选择结构、 双分支 选择结构、 多分支 选择结构。

3.先执行循环体,后判断控制循环条件的循环一般称为 直到型 型循环;先判断控制循环条件,后执行循环体的循环一般称为 当 型循环。

4.使用系统函数getchar(),必须在程序的开头写上一条命令 include 。 5. printf()系统函数的第一个参数是 格式串 ,后面参数是 表达式表 。 6.在格式输入/输出函数中,“%d’,格式可以用于 整 型、 短整 型、 无符号整 型、 字符 型的数据。“%ld”格式可以用于 长整 型、 型的数据。对格式输入函数,“%f”.格式只可以用于 无符号长整 型的数据,“%lf’格式只可以用于 实 型的数据;对格式输出函数,“%f”格式既可以用于 实 型的数据,又可以用于 双精度 型的数据。

7.语句“if(e1)if(e2)s;”的基本功能是: 表达式e1、e2均为真时,执行语句s 。 8.语句“if(e1)s1;else if(e2)s2;”的基本功能是: 表达式e1为真时执行语句s1,e1为假且e2为真时执行语句s2 。 9.若有定义语句“int a=25,b=14,c=19;”,则下列语句的执行结果是 输出: ###a=26,b=13,c=19 。

if(a++<=25&&b--<=2&&c++)printf(“***a=%d,b=%d,c=%d\\n”,a,b,c);

else prinff(“###a=%d,b=%d,c=%d\\n”,a,b,c); 10.以下两条if—else语句可合并成一条if—else语句: if(a<=b) { x=1;

printf(”%d”,x); }

else {

y=2; printf(“%d”,y); }

if(a<=b)x=1; else y=2:

if(a>b)printf(”%d”,y); else printf(”%d”,x);

11.语句“do语句;while(表达式);”的基本功能是: 循环执行语句,直到表达式为假 。 12.语句“for(;表达式;)语句;”的基本功能是: 循环执行语句,直到表达式为假 。

13.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j--) k=i+j;

10 。

三、阅读程序题

1.阅读下列程序,写出程序运行的输出结果。

void main()

{ char c1=?A?,c2=?\\101?,c3=?\\x41?; printf(“A=%d,%C=0101,%c=0x41\\n”,c1,c2,c3); }

2.阅读下列程序,写出程序运行的输出结果。 void main()

{ int a=10,b=4,c=3; if(a

3.阅读下列程序,写出程序运行的输出结果。

void main()

{ int x=100,a=10,b=20,ok1=5,ok2=0; if(a

4.阅读下列程序,写出程序运行的输出结果。 void main()

{ int m,n,i;

m=n;i=4; do{ n+=1;

i--; m-=n;

}while(i>0);

printf(“%d,%d,%d\\n”,i,n,m); }

5.阅读下列程序,写出程序运行的输出结果。

void main() { int y=9;

for(;y>0;y--) if(y%3==0){prinff(”%d”,--y);continue;} 6.阅读下列程序,写出程序的主要功能。 void main() { int x; } }

while(1)

{ scanf(“%d”,&x); if(x<0)printf(“-1\\n”); else if(x>0)printf(”1\\n”); else break;

7,阅读下列程序,写出程序的主要功能。 void main()

{ int i,x,s1,s2;

s1=s2=0:

for(i=1;i<11;i++) { seanf(“%d”,&x);

if(x%2==0)s1+=x; if(x%2==1)s2+=x;

}

printf(“s1=%d s2=%d\\n”,s1,s2); }

8.阅读下列程序,写出程序的主要功能。 void main() { int n;

for(n=1;n<100;n++)

if((n%10==1)&&(n%3==0O)) printf(“%d\\n”,n);

}

四、程序填空题

1.下列程序的功能是将变量x、y、z中大者存放到x中,请填写程序中缺少的语句。

void main(){ int x,y,z; scanf(\ if(x

2.下列程序的功能是求输入的4个实数之和并输出, 请填写程序中缺少的语句成分

void main() { float a,x; int i; for(___________;i>=0;i { scanf(\ s=s+x; } printf(\}

)

3.假定运行下列程序输出的是:“***”, 请填写程序中缺少的语句成分

void main() { int x=6; do{ printf(\ x--; x--; }while__________; }

4.下列程序的功能是求输入输入1个正整数,判断是否为素数, 若为素数输出1,否则输出0.,请填写程序中缺少的语句成分

void main() { int i,x,y=1; scanf(\ for(i=2;i<=x/2;i++) if_________{y=0;break;} printf(\}

5.下列程序是按照以下公式计算并输出л的值,请填写程序中缺少的语句 л/4=1-1/3+1/5-1/7+…+1/n (精度要求|1/n|<1e-4)

#include void main()

{ double pi=1.0,t1=3.0,t2=3.0,t3=-1; while(fabs(t1)>=1e-4) { t1=t3/t2; pi+=t1; t2+=2; ____________ } printf(\}

五、程序设计题

1.编写一个程序输入华氏温度(F),按下列公式计算并输出华氏温度(C)。

C=

5(F?32) 9

2.编一个程序,输入一个整数,输出其符号(若>=0,输出1,若<0,输出-1)

3.编写一个程序,输入实数x的值,按下列计算并输出y的值:

(x??1)??x ??(1?x?10)? y=?2x-1 ?3x-11 (10??x)???

4.编一个程序,输入三个单精度数,求出其中的最小数。

5.编一个程序求一个短整型正整数的最大数字。例如整数12354中的最大数字是5.

6.编一个程序,求出所有各位数字的立方和等于1099的3位整数。

7.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。

8.编写程序按以下公式计算e的值:

e=1?1131???...? (精度为10-6) 1!2!3!n!

9.编写程序按下列公式计算y的值:(提示:y的值约为1.075674)

y=

1111 ???...??1*1?12*2?1n*n?1r?1r*r?1n

10.编一个程序显示ASCII代码0x30~0x5f的10进制数值及其对应字符

11.用三种循环语句分别编写程序显示1~100的平方值。