C语言程序设计期末考试复习题及答案66

三) 改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句) (1)下段程序的功能是先输入一个整数,然后将输入的整数输出。 1 main() 2 {int x。

3 scanf(“%d”,x)。

4 printf(“x=%d\\n”,x)。 }

行号: 改为:

(2)下段程序的功能是求1+2+3+4+……+99+100的和。 1 main()

2 { int j=1,sum=0。 3 while(j<=100) 4 sum=sum+j。 j++。

5 printf(“%d”,sum)。 }

行号: 改为:

(3)下段程序的功能是当输入x的值为90时,输出“right”,否则输出“error”。 1 main() 2 { int x。

3 if (x=90) printf(“right”)。 4 else printf(“error”)。 }

行号: 改为: (4)下面程序的功能是输出字符串S 1 main()

2 { char s[]=”china”。 3 printf(“s=%s\\n”,s[])。 }

行号: 改为:

(5)下面程序的功能是按照下面的格式输入a和b的值,计算y=a2+b2并输出。 输入: 3 2 ? 输出: y=13 1 main()

2 { int a,b。 3 int y。

4 scanf(“a=%d,b=%d”,&a,&b)。 5 y=a*a+b*b。

6 printf(“y=%d\\n”,y)。 7 }

行号: 改为:

Key:(1)行号:3 改为:scanf(“%d”,&x)。 (2)行号:4 改为:{ sum=sum+j。 j++。}。 (3)行号:3 改为:if (x= =90) printf(“right”)。 (4)行号:3 改为:printf(“s=%s\\n”,s)。 (5)行号:4 改为:scanf(“%d %d”,&a,&b)。

1 / 5

二、填空题

1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。 #include main()

{ int a,b,c,__①____。

printf(\。scanf(\。 ____②____。___③_____。____④_____。___⑤_____。 printf(\。 }

2.求出200以内的整数中,最大的可以被17整除的数是哪个数。 #include ___①____ {int i。

for(____②____。___③_______。i--) {if(________④________) break。} printf(\⑤_____)。 }

3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main()

{ int i,a[20],sun,count。 sum=count=0。

for(i=0。i<20。i++) scanf(\①___ )。 for(i=0。__ ②__。i++) { if(a>0)

{ count++。 sum+= ___③___ 。 } }

printf(\④___,__⑤_____)。 }

4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n) { int m=0,i。

for(i=___①___。 i<=n。 __②____) {

m=___③____。 }

return _④____。 }

main()

{ printf(\⑤____)。 } 5.以下程序将数组中的数据按逆序存放。 #include

2 / 5

#define SIZE 12 main()

{int a[SIZE],i,j,t。

for(i=0。i

{t=a[i]。______ ③______。_____④________。i++。j___⑤_____} for(i=0。i

key:1①__d__②__d=a_____③_a=b__④b=c______⑤__c=d____①main()__②_i=200____③_i__>0____④_i==0_⑤__i__

①a[i]_ ②i<20__ ③__i__ ④__sum__ ⑤count_①_1__ ②_i++_ ③_m_+i_ ④_m__ ⑤_fun(10)_①_a[i] ②_SIZE_ ③a[i]=a[j] ④a[j]=t ⑤j_-- 三、程序设计题目

1. 编写程序,打印下列图案 * * * * * * * * * * * * * * *

2.某数列前两项分别为1和2,其后每项为前两项之和,求此数列的第10个数。

3.一个8层的灯塔,每一层的灯数是上一层的2倍,一共有765盏灯,求灯塔底层的灯数。 (1) 从键盘输入一个华氏温度,要求输出摄氏温度,公式为 C=5*(F-32)/9

(2) 编写一个函数求y=(a-b)×(a+b),主函数用以输入a,b的值和输出y值。

(3) 编一程序:从键盘输入10个整数,计算并输出这10个数的平均数。

(4) 通过键盘输入3*4矩阵,编写一个函数求所有元素中的最大值,其中主函数完成3*4矩阵的输入和最大元素的输出。

Key: 3.

(1) main() { float c,f。

scanf(“%f”,&f)。 c=5.0*(f-32)/9。 printf(“c=%f”,c)。 }

3 / 5

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4