习题

1.问答题

(1)分析下列3个程序段并回答问题。

程序段1:  程序段2:  程序段3:

int a=0,x=7;  int a=0,x=7;  int a=0,x=7;

if(a==0)a=x;  if(a=0)a=x;  if(a!=x)a=x;

printf("%d,%d ",a,x);  printf("%d,%d ",a,x);  printf("%d,%d ",a,x);

①3个程序段的输出结果分别是什么?

②if(a==0)与if(a=0)的区别是什么?

(2)分析以下程序并写出输出结果。如果要求程序执行后变量a存放最小的数,如何修改程序?

(3)分析以下程序段,当x的值分别为5,0,-5时,变量y的值分别是多少?

(4)分析下列程序,当对x分别输入5,2,4时,程序的输出结果是什么?

2.阅读程序写出执行结果

(1)下列程序的运行结果为___。

①程序运行时,输入5,输出为___。

A.j=0,k=5  B.j=5,k=5  C.j=0,k=-1  D.j=5,k=-1

②程序运行时,输入99,输出为___。

A.j=99,k=-1  B.j=0,k=-1  C.j=0,k=99  D.j=99,k=99

③将第12行改为“k=-1;j=i/10;”后,程序运行时,输入99,输出为___。

A.j=99,k=-1  B.j=9,k=99  C.j=99,k=99  D.j=9,k=-1

④将第7行改为“if((i/10)>0){”,第12行改为“k=-1;}”后,程序运行时,输入5,输出为___。

A.j=0,k=-1  B.j=0,k=0  C.j=5,k=5  D.j=5,k=-1

(3)下列程序,输入大写字符A时输出结果为___,输入小写字符b时输出结果为___,输入字符E时输出结果为___。

3.程序填空

(1)以下程序的功能是将变量x、y、z中的最小值保存到x中。

(2)以下程序的功能是判断输入字符是大写字母、小写字母、还是数字,并输出相应信息。

(3)以下程序的功能是对任意输入一个3位整数,倒序输出该数据,如:输入123输出321,输入-123输出-321。

4.编程实验题

(1)编写程序计算分段函数y的值。

(2)编写程序计算分段函数y的值。

(3)求两数中的最大值。

(4)求两数中的最小值。

(5)输入一个字符,若为小写字母,则转换为大写字母输出;若为大写字母,则转换为小写字母输出;否则输出提示信息“输入的不是字母”。

(6)使用switch语句编写程序计算货物的运输收费。计算公式为:f=p*w*s*d。

其中:f为总运输费,p为每吨公里货物运费,w为货物重量,s为公里数,d为费用折扣,折扣标准如下:

s<500 km       没有折扣

500 km≤s<1000 km  2%折扣

1000 km≤s<2000 km  5%折扣

2000 km≤s<3000 km  10%折扣

3000 km≤s<5000 km  15%折扣

5000 km≤s        20%折扣