《c语言程序设计学习指导(第2版) 1-6》由会员分享,可在线阅读,更多相关《c语言程序设计学习指导(第2版) 1-6(5页珍藏版)》请在金锄头文库上搜索。
1、第一章 概述一、选择1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章 数据类型一、选择1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C第三章 运算符和表达式一、 选择1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B
2、18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章 输入和输出一、 选择1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程1.double fun(double m) float n; n=(5.0/9.0)*(m-32); return n; 2. char fun(char c)c
3、=c+32; return c;3.double fun(int m) double y=0; y=sin(m)*10; return(y);4.float fun ( float h )return (long)( h * 100 + 0.5 )/ 100.0;第五章 选择结构一、选择1.D 2. B 3.A 4.C 5.C 6.B 7.B 8.A 9.C 10.C 11.D 12.A 13.D 14.A 15.A 16.B 17.D 18.C 19.A 20.A 21.A 22.B 23.A 24. D二、编程1.int fun(int n)int bw,sw,gw;bw=n/100;sw
4、=(n-bw*100)/10;gw=n%10; if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0;2.double y(float x)double z; if(x10) z=exp(x); else if(x-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z);3.int fun(int x) int k; k=x*x; if(k%10=x)|(k%100=x) return 1; else return 0;第六章 循环结构一、选择1.C 2.A 3.A 4.B 5.C 6.B
5、 7.C 8.A 9.D 10.B 11.A 12.C 13.C 14.A 15.D 16.D 17.D 18.A 19.C 20.A 21.C 22.B 23.B 24.C 25.A 26.D 二、填空1.位置 1:r!=0 【或】 0!=r 【或】 r位置 2:r=m%n 【或】 r=m-m/n*n位置 3:n位置 4:gcd,lcm 【或】 n,lcm2.位置 1:k=0位置 2:n%10 【或】 n-n/10*10 【或】 n-10*(n/10)位置 3:while(n0) 【或】 while(0n) 【或】 while(n!=0) 【或】 while(0!=n)位置 4:printf
6、(n)3.位置 1:x!=0 【或】 x位置 2:else 【或】 else if(x%2=1) 【或】 else if(x%2!=0) 【或】 if(x%2)位置 3:scanf(%d,&x)位置 4:av2=s2/j4.位置 1:n=0位置 2:i=300 【或】 i=i 【或】 300i位置 3:i%7=0|i%17=0 【或】 !(i%7)|!(i%17) 【或】 !(i%17)|!(i%7) 【或】 !(i%7&i%17) 【或】 i%17=0|i%7=0位置 4:n%5=0 【或】 !(n%5) 【或】 n/5*5=n5.位置 1:s=0位置 2:i+=2 【或】 i=i+2 【或
7、】 i=2+i 【或】 i+,i+位置 3:j=j 【或】 jj 【或】 jj位置 4:f=f*j 【或】 f=j*f三、改错1.位置 1:#include math.h 【或】 #include 位置 2:float s=0,t=1,p=1; 【或】 float s=0,p=1,t=1; 【或】 float p=1,s=0,t=1; 【或】 float p=1,t=1,s=0; 【或】 float t=1,p=1,s=0; 【或】 float t=1,s=0,p=1;位置 3:while(fabs(t)1e-4) 【或】 while(0.0001fabs(t) 【或】 while(1e-40
8、.0001)位置 4:printf(pi=%fn,s*4); 【或】 printf(pi=%fn,4*s);2.位置 1:printf(%8.0f,f1); 【或】 printf(%f,f1); 【或】 printf(%8f,f1);位置 2:for(i=1;ii;i+) 【或】 for(i=2;i=i;i+) 【或】 for(i=1;i=i;i+)位置 3:f1=f2;位置 4:f2=f3;3.位置 1:long k=1;位置 2: scanf(%ld,&n);位置 3: n/=10; 【或】 n=n/10;4.位置 1:scanf(%d,&n);位置 2:for(i=1;i=i;i+) 【
9、或】 for(i=1;ii;i+)位置 3:s+=1.0/t; 【或】 s=s+1.0/(float)t; 【或】 s=1.0/(float)t+s; 【或】 s=s+1.0/t; 【或】 s=1.0/t+s; 【或】 s+=1.0/(float)t; 【或】 s+=1.0/(double)t; 【或】 s=s+1.0/(double)t; 【或】 s=1.0/(double)t+s;5.位置 1:sum=1.0; 【或】 sum=1;位置 2:s2=1.0; 【或】 s2=1;位置 3:for(k=4;k=k;k+) 【或】 for(k=4;kn+1;k+) 【或】 for(k=4;kk;k
10、+) 【或】 for(k=4;1+nk;k+)6.位置 1:t=1; 【或】 t=1.0;位置 2:t=t*j; 【或】 t=j*t; 【或】 t*=j;位置 3:s=s+t; 【或】 s=t+s; 【或】 s+=t;位置 4:printf(jiecheng=%fn,s);四、编程1.int fun(int n) int d,s=0; while (n0) d=n%10; s+=d*d*d; n/=10; return s;2.int fun(int n)int i,s=0; for (i=2;in;i+) if (n%i=0) s=s+i; return (s);3.double fun(i
11、nt n)int i,s=0; for (i=1;in;i+) if (i%3=0 & i%7=0) s=s+i; return (sqrt(s);4.gcd(int n,int m)int r,t; if(nm) t=n;n=m;m=t; r=n%m; while(r!=0) n=m;m=r;r=n%m; return(m);5.double fun(int n)int i,j=0; double s=0; for (i=3;i=n;i+) for (j=2;j 0) s = s/100; t = s%10*sl + t;sl = sl * 10;7.double fun(int n)double m=1.0; int i; double p=1.0; for(i=1;i=n;i+) p=p*i; m=m+1.0/p; return (m);9.int fun(int n)int i,k;for(i=n+1;i+)for(k=2;km) m=x1+x2; x1=x2; x2=m; return m;