大学C语言复习题_附答案(4)

2019-04-02 14:01

switch(i%5)

{ case 5: printf(\ case 3: printf(\ case 1: printf(\ default: printf(\ } }

解答:1 1 2 3 1 3 4 程序填空题

1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前20项之和。 运行示例:

sum = 11.239837

【程序】

#include void main( )

{ int i, b = 1;

double s; (1) ;

for(i = 1; i <= 20; i++){ s = s + (2) ; (3) }

printf( (4) , s); }

【供选择的答案】 (1) A、√s = 0 B、s = 1 C、s = -1 D、s = 2 (2) A、i/b B、double(i)/double(b)

C、i/2*i-1 √D、(double)i/(double)b

(3) A、; B、b = 2 * i – 1;

C、b = 1.0 * b; √D、b = b + 2;

(4) A、\ B、\

√C、\ D、\

2. 【程序说明】求 2/1 + 3/2 + 5/3 + 8/5 + ? 的前10项之和。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子) 【程序】

#include void main()

{ int i, a = 1, b = 1, t; (1) ;

for(i = 1; i <= 10; i++){ t = a; (2) ; b = t; y = (3) ;

}

printf(\}

(1) A、int y = 0 B、int y √C、double y = 0 D、double y (2) A、a = b B、b = a + b √C、a = a + b D、b = a (3) √A、y + 1.0*a/b B、y + a/b C、a/b D、1.0*a/b 3. 输入的一个小写字母,将字母循环后移5个位置后输出,如‘a‘变成‘f‘, ?w‘变成‘b‘。 #include void main() { char c;

c=getchar();

if(____________) 解答:c>=?a?&&c

if (c>='v' && c<='z')

____________ 解答:c=c+5-26; putchar(c); }

4. 输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include void main() { int m,n,k;

while(scanf(\ 解答:m<=0 || n<=0 for( ________; n%k!=0||m%k!=0; k--); 解答:k=m>n?n:m printf(\}

5. 输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 #include main()

{ _______ n,i,j; 解答:int

printf(\输入非零的整数(输入零结束程序)\ i=j=0;

scanf(\

while_______ 解答:(n!=0) { if(n>0)

i=______; 解答:i+1 if(n<0)

j=______; 解答:j+1

______; 解答:scanf(\ }

printf(\ }

6. 斐波哪契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,...等。下面这个程序就是求斐波哪契数列的前20个数。

#include void main() { int f,f1,f2,i;

f1=0;f2=______; 解答:1 printf(\

for(i=3;i<=20;______) 解答:i++ {

f=______; 解答:f1+f2 printf(\ f1=f2;

f2=______; 解答:f } }

7. 【程序说明】根据下式计算s的值,要求精确到最后一项的绝对值小于10–6。

s?1?1?1?1??

357#include #include void main( )

{ int flag = 1, t = 1; (1) ;

while( 2) ){ item = flag * 1.0 / t; s = s + item; (3) ; t = t + 2; }

printf ( \}

(1) √A、double item = 2, s = 0; B、double item = 0, s = 0; C、double item = 1, s = 1; D、double item = 3, s = 1; (2) A、item < 1E-6 B、item >= 1E-6 C、fabs (item) < 1E-6 √D、fabs (item) >= 1E-6 (3) A、flag = -1 B、s = -s √C、flag = -flag; D、t = -t

8. [程序功能] 输入 100个数,求它们的和并输出。 #include void main()

{ float x,sum; int i=0;

; 解答:sum=0

printf(\ while(i<100) { scanf(\

sum+=x; i++; }

; 解答:printf(“sum=%f\\n”,sum) }

mn

9. 以下程序的功能是: 输出{ 2,3 | m>=1,n>=1}中由小到大排列的前32项数,并

且每行8个数。(如 2,3,4,8,9,16,27,32 )

#include\ void main() { long m2,n3; int k;

m2=2;n3=3;k=0; while(k<32)

{ if ( ) 解答:m2

{ printf(\

; 解答:n3*=3 } k++;

if ( ) printf(\解答:k%8==0 } }

10. 【程序说明】

输出1~1000之间所有满足各位数字的立方和等于它本身的数。 【程序】

#include void main( )

{ int digit, k, m, s;

for (k=1; k<=1000; k++){ (1) while(m!=0){

digit=m; s=s+digit*digit*digit; (2) ; }

if( (3) ) printf(\%d \, s); } }

(1) A、s=0; √B、m=k; s=0; C、m=k; D、k=m; s=0; (2) √A、m=m/10 B、m=m C、m=m D、m=k/10 (3) A、m!=s B、m==s C、k!=s √D、k==s 11. [程序功能]输入20个整数,输出其中最小数。 #include #define N 20 void main()

{ int i,x,min;

scanf(―%d‖,&x);

________; 解答:min=x for(i=2;i<=N;i++) { scanf(―%d‖,&x);

________; 解答: if(min>x) min=x }

printf(―%d\\n‖,min); }

12. 输入1 个正整数 n, 计算并输出 s 的前n项的和。 s = 1/2 -2/3 + 3/4 - 4/5 + ??(-1)n-1 n/(n+1) #include void main( )

{ int k, flag=1, n; float s=0;

scanf(\

for (k=1 ; k<=n; k++){ s=s+ (1) ; ( 2) ; }

printf(\}

(1) A、1.0*k/(k+1)* flag √B、flag*n/(n+1) C、- k/(k+1) (2) A、flag= -1 B、s= -s C、flag= -flag 13.

[程序说明]输入x、n后输出下列算式的值。

234nx?x?x?x?...?(?1)n?1x

2!3!4!n![程序]

#include void main()

{ float s,t,x; int i,n;

scanf(\ (1)

for(i=1;i<=n;i++) { (2) s+=t; } (3) ; }

(1)A、 s=0; t=0; √B、 s=0; t=-1; C、 s=x; t=1; D、 s=x; t=-1; (2)√A、 t=-t*x/i; B、 t=pow(-x,i)/i; C、 t=-pow(x,i)/i; D、 t=t*x/i;

(3)√A、 printf(\ B、 printf(\ C、 printf(\ D、 printf(\

D、1.0*k/(k+1) D、k= -k √


大学C语言复习题_附答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:与高校建立对应专业人才培养及实习基地的实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: