欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言程序設(shè)計教程 李含光 鄭關(guān)勝 清華大學(xué)出版社習(xí)題答案

      時間:2019-05-12 16:44:38下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言程序設(shè)計教程 李含光 鄭關(guān)勝 清華大學(xué)出版社習(xí)題答案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言程序設(shè)計教程 李含光 鄭關(guān)勝 清華大學(xué)出版社習(xí)題答案》。

      第一篇:C語言程序設(shè)計教程 李含光 鄭關(guān)勝 清華大學(xué)出版社習(xí)題答案

      第1章習(xí)題參考答案(17)x==0

      1.單項選擇題(18)sqrt(fabs(a-b))/(3*(a+b))

      (1)

      A

      (2)

      C

      (19)sqrt((x*x+y*y)/(a+b))(3)

      D

      (4)

      C

      (5)

      B2.填空題(1)函數(shù)(2)主函數(shù)(main)

      (3)第printf()2章習(xí)題參考答案,scanf()1 .單項選擇題((1(53)))

      CC C

      (2)

      B(6)

      (C 4)

      (7)C

      D(B 10)

      (C8()1

      1)C

      D

      ()(D)

      (13)

      B 2 .填空題(1)1(2)26(3)6,4,2(4)10 , 6(5)3.000000(6)雙精度(double)(7)9(8)字母,數(shù)字,下劃線

      (9)13.700000(10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0(13)10,9,11((x<0&&y<0)||(x<0&&z<0)||(y<0||z<015))(16)double

      第3章習(xí)題參考答案 1 .單項選擇題(1)

      C

      (2)

      C

      ((C 53))

      DC(6)

      (4)

      D

      ((8)

      D

      B

      ()()B

      C 10(1

      5))

      (13C()B(11)

      B

      (12)

      B)

      (A 14)

      B

      2.填空題

      (1)用;表示結(jié)束(2){ }(3)y=x<0?1:x==0?0:-1(y%4==0&&y%100!=0||y%400==0 4)(5)上面未配對(6)default標(biāo)號

      (7)while,do while,for(8)do while(9)本次

      (10)本層 3 .閱讀程序,指出結(jié)果(1)yes(2)*&(3)ABother(4)28 70(5)2,0(6)8(7)36(8)1

      (9)3,1,-1,3,1,-1(10)a=12,y=12(11)i=6,k=4(12)1,-2 4 .程序填空(1)x:y,u:z(m=m/10 2)m=n,m!=0,(t*n/(2*n+1)3)t

      , printf(, “%lfn”,2*s)(4)m%5==0,printf(“%dn”,k)(cx 5)cx=getchar(), cx!=front ,(6)double s=0 , 1.0/k

      , %lf(7)s>=0

      , s int main(){

      double x,y;

      scanf(“%lf”,&x);

      if(x<1)

      y=x;

      else if(x>=1.0&&x<10)

      y=2*x-11;

      else

      y=3*x-11;

      printf(“%lfn”,y);

      return 0;}(2).

      #include int main(){

      double x,y,z,min;

      scanf(“%lf%lf%lf”,&x,&y,&z);

      if(x>y)

      min=y;

      else

      min=x;

      if(min>z)

      min=z;

      printf(“min=%lfn”,min);

      return 0;}(3).

      #include int main(){

      int y,m,d,flag,s=0,w,i;

      scanf(“%d%d%d”,&y,&m,&d);flag=(y%4==0&&y%100!=0||y%400

      ==0);

      w=((y-1)*365+(y-1)/4-(y-1)/100+(y-

      1)/400)%7;

      for(i=1;i<=m;i++)

      {

      switch(i)

      {

      case 1:s=d;break;

      case 2:s=31+d;break;

      case 3:s=59+d;break;

      case 4:s=90+d;break;

      case 5:s=120+d;break;

      case 6:s=151+d;break;

      case 7:s=181+d;break;

      case 8:s=212+d;break;

      case 9:s=243+d;break;

      case 10:s=273+d;break;

      case 11:s=304+d;break;

      case 12:s=334+d;break;

      }

      }

      if(flag==1&&m>2)

      s=s+1;

      s=(w+s)%7;

      if(s==0)

      printf(“星期日n”);

      else

      printf(“星期%dn”,s);

      return 0;}

      (4).

      #include

      int main(){

      float p,r;

      scanf(“%f”,&p);

      if(p<=10)

      r=p*0.1;

      else if(p>10&&p<=20)

      r=10*0.1+(p-10)*0.075;

      else if(p>20&&p<=40)r=10*0.1+10*0.075+(p-20)*0.05;

      else if(p>40&&p<=60)r=10*0.1+10*0.075+20*0.05+(p-40)

      *0.03;

      else if(p>60&&p<=100)r=10*0.1+10*0.075+20*0.05+20*0.0

      3+(p-60)*0.015;

      else if(p>100)r=10*0.1+10*0.075+20*0.05+20*0.0

      3+40*0.015+(p-100)*0.01;

      printf(“%fn”,r);

      return 0;}

      5). #include

      int main(){

      char c;

      while((c=getchar())!='n')

      {

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

      c=c-32;

      putchar(c);

      }

      return 0;}

      (6). #include

      int main(){

      int m,k=2;

      printf(“輸入一個正整數(shù):n”);

      scanf(“%d”,&m);

      while(k

      if(m%k==0)

      {

      printf(“%4d”,k);

      m=m/k;

      }

      else

      k++;

      printf(“%4dn”,m);

      return 0;}

      (7). #include

      int main(){

      int a,n,s=0,p=0,i;

      scanf(“%d %d”,&n,&a);

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

      {

      p=p*10+a;

      s=s+p;

      }

      printf(“%dn”,s);

      return 0;}

      8). #include

      int main(){

      int i,j,k;

      for(i=1;i<=9;i++)

      for(j=0;j<=9;j++)

      for(k=0;k<=9;k++)

      printf(“%5d”,100*i+10*j+k);

      return 0;}

      9). #include

      #include

      int main(){

      float a=-10,b=10,x,f1,f2,f;

      f1=(((2*a-4)*a+3)*a)-6;

      f2=(((2*b-4)*b+3)*b)-6;

      do

      {

      x=(a+b)/2;

      f=(((2*x-4)*x+3)*x)-6;

      if(f*f1<0)

      {

      b=x;

      f2=f;

      }

      else

      {

      a=x;

      f1=f;

      }

      }while(fabs(f)>=1e-6);

      printf(“%6.2fn”,x);

      return 0;}

      (10). #include

      #include

      int main(){

      int n=2;

      double eps,t,s=0,x;

      scanf(“%lf %lf”,&x,&eps);

      t=x;

      s=t;

      while(fabs(t)>=eps)

      {

      t=-t*(2*n-3)*x*x/(2*n-2);

      s=s+t/(2*n);

      n++;

      }

      printf(“%d,%lfn”,n,s);

      return 0;}

      11). #include

      int main(){

      unsigned long s,t=0,p=1;

      scanf(“%u”,&s);

      while(s!=0)

      {

      if((s%10)%2!=0)

      {

      t=t+(s%10)*p;

      p=p*10;

      }

      s=s/10;

      }

      printf(“%un”,t);

      return 0;}

      第4章習(xí)題參考答案 1

      .單項選擇題((1)(53))

      D

      (2)

      D

      DD(6)

      (B 4)

      (7)B A((8)

      D

      D 10)

      (13D()11)A

      B((14 9))(C B)2

      .填空題(1)2(2)嵌套

      ,遞歸

      (態(tài)變量3)全局變量,動態(tài)變量,局部變量

      ,靜

      (extern

      4)auto , static , register ,(5)外部變量

      (6)編譯,運行 3 .閱讀程序,指出結(jié)果(1)15

      (2)5(3)5,4,3(4)i=5

      i=2

      i=2

      i=4

      i=2(5)求水仙花數(shù)(6)-5*5*5

      (7)30(8)0 10

      11

      12 4 .程序填空(1)float fun(float , float)x+y,x-y , z+y,z-y(2)x,x*x+1

      (3)s=0 ,a=a+b 5 .編程題(1).

      #include

      unsigned int fun(unsigned int);

      int main(){

      unsigned int s;

      scanf(“%u”,&s);

      printf(“%un”,fun(s));

      return 0;}

      unsigned int fun(unsigned int s){

      unsigned int p=0;

      while(s!=0)

      {

      p=p+s%10;

      s=s/10;

      }

      return p;}

      2). #include

      #include

      #include void

      f2(float,float,float,float);void

      f1(float,float,float,float);void f3(float,float,float,float);int main(){

      float a,b,c,d;

      scanf(“%f %f %f”,&a,&b,&c);

      if(a==0)

      {

      printf(“不是一元二次方程n”);

      exit(0);

      }

      d=b*b-4*a*c;

      if(d>0),f1(a,b,c,d);

      else if(d==0)

      f2(a,b,c,d);

      else

      f3(a,b,c,d);

      return 0;}

      void f1(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=(-b+sqrt(d))/(2*a);

      x2=(-b-sqrt(d))/(2*a);

      printf(“%.2f ,%.2fn”,x1,x2);

      } }

      void f2(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=-b/(2*a);

      x2=-b/(2*a);

      printf(“%.2f ,%.2fn”,x1,x2);

      } }

      void f3(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=-b/(2*a);

      x2=sqrt(-d)/(2*a);

      printf(“%.2f+i*%.2fn”,x1,x2);

      printf(“%.2f-i*%.2fn”,x1,x2);

      } }

      3).#include

      double p(int,double);

      int main(){

      int n;

      double x;

      do

      {

      scanf(“%d”,&n);

      }while(n<0);

      scanf(“%lf”,&x);

      printf(“%lfn”,p(n,x));

      return 0;}

      double p(int n,double x){

      double pn;

      if(n==0)

      pn=1;

      else if(n==1)

      pn=x;

      else pn=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;

      return pn;}(4). #include #define RATE 0.053 double fun(float);void display(float,int);int main(){

      float dep;

      int season;

      scanf(“%f %d”,&dep,&season);

      display(dep,season);

      return 0;} double fun(float d){

      return d*RATE;} void display(float d,int s){

      int i;余額

      printf(“季度

      利 n”);息

      printf(“n”);

      for(i=1;i<=s;i++)

      { printf(“%-4d

      n”,i,fun(d),fun(d)*i+d);

      %-.2f

      %-.2f

      printf(“n”);

      } }(5). #include double fun(void);int main(){

      printf(“%lfn”,fun());

      return 0;} double fun(void){

      double s=0;

      int n=1;while((double)(2*n-1)/((2*n)*(2*n))

      >1e-4)

      { s=s+(double)(2*n-1)/((2*n)*(2*n));

      n++;

      }

      }

      return s;(6).

      #include int fun(int);int main(){

      int w;

      scanf(“%d”,&w);

      printf(“%dn”,fun(w));

      return 0;}

      int fun(int w){

      int n=1,p=1,m;

      m=w;

      while(m>10)

      {

      m=m/10;

      p=p*10;

      n++;

      }

      return w%p;}

      第5章習(xí)題參考答案 1、選擇題:(1)

      C

      (2)

      B C

      (3)

      B(4)

      B

      (5)

      A(6)

      D

      (7)

      D

      (8)

      B、填空題(1)0,9(2)float realArray[100],char strArray[16],int 運算符intArray[1000](3)sizeof(4)6字節(jié) 3結(jié)果、閱讀程序,寫出下面程序的運行(1)aa

      bb

      cc dd(2)ab

      c

      d(3)ahAMa(4)0010

      5)1 3 4 5(6)This is the title.Name 1 is Rosalinda

      Name 2 is Zeke is Zeke

      The biggest name alpabetically

      Zeke

      Both names are Rosalinda

      (0 7)0

      0

      0

      0

      0

      0

      0 6

      0

      5 748

      0 18

      0 24

      0 30

      0

      20 177 36

      0 42 42

      0

      35 4、程序填空(1)a[i][j]!= a[j][i] , 1

      (a[maxi] = a[mini] 2)0, a[i] < a[mini] ,maxi = i ,(-999, 3)int a[], int b[], b[i] = a[i], a

      #include

      int main(){

      int a[3][4] = {0, 2,9,7,5,13,6,8,27,11,1,3

      };

      int i,j,temp;

      for(i=0,j=0;j<4;j++){

      temp = a[2-i][j];

      a[2-i][j] = a[i][j];

      a[i][j] = temp;

      }

      for(i=0;i<3;i++){

      for(j=0;j<4;j++)

      printf(“%3d”,a[i][j]);

      printf(“n”);

      }

      return 0;}

      (2)#include

      int main(){

      static int a[6][6];

      int i,j,t=1;

      for(i=0;i<6;i++){

      t = i+1;

      for(j=0;j

      a[i][j] = t--;

      }

      for(i=0;i<6;i++){

      for(j=0;j<6;j++)

      printf(“%3d”,a[i][j]);

      printf(“n”);

      }

      return 0;}

      (3)

      #include

      #define M 3

      #define N 4

      #define R 5

      int main(){

      a[M][N],b[N][R],c[M][R];

      static

      int i,j,k;

      printf(“Matrix a:n”);

      for(i = 0;i < M;i++)

      for(j = 0;j < N;j++)

      scanf(“%d”,&a[i][j]);

      printf(“Matrix b:n”);

      for(i = 0;i < N;i++)

      for(j = 0;j < R;j++)

      scanf(“%d”,&b[i][j]);

      for(i = 0;i < M;i ++)

      for(j = 0;j < N;j++)

      for(k = 0;k < R;k++)

      c[i][k] += a[i][j]*b[j][k];

      for(i = 0;i < M;i++){

      for(j = 0;j < R;j++)

      printf(“%3d”,c[i][j]);

      int

      printf(“n”);

      }

      return 0;}

      (4)#include

      #define M 5

      int main(){

      static int a[M];100,maxi,mini,temp;

      int i,max =-1,min =

      for(i = 0;i < M;i++)的值

      scanf(“%d”,&a[i]);//0~99間

      for(i = 0;i < M;i++){

      if(max < a[i]){

      max = a[i];

      maxi = i;

      }

      if(min > a[i]){

      min = a[i];

      mini = i;

      }

      }

      temp = a[maxi];

      a[maxi] = a[mini];

      a[mini] = temp;

      for(i = 0;i < M;i++)

      printf(“%3d”,a[i]);

      return 0;}

      3(5)#include

      #define M 3

      #define N 4

      int main(){

      static int a[M][N];-1,sumcol=0,sumrow=0;

      int max =

      int i,j,maxi,col;

      for(i = 0;i < M;i++){

      sumrow = 0;

      for(j = 0;j < N;j++){

      scanf(“%d”,&a[i][j]);

      sumrow += a[i][j];

      }

      if(max < sumrow){

      max = sumrow;

      maxi = i;

      }

      } caculated?(>0)“);

      printf(”which col sum will be

      scanf(“%d”,&col);

      for(i = 0;i < M;i ++)

      sumcol += a[i][col-1];max,printf(“The %dth row's sum is

      max=%dn”,maxi+1,max);sum=%dn“,col,sumcol);

      printf(”The %dth column's

      return 0;}

      (6)

      #include

      #define M 81

      int main(){

      static char str[M];

      int i,count = 0;

      char ch;

      gets(str);區(qū),以便讀入字符數(shù)據(jù)

      fflush(stdin);//清空輸入緩沖

      found?“);

      printf(”Which character will be

      ch = getchar();

      for(i = 0;i < strlen(str);i++)

      if(ch == str[i])

      count++;'%c' is %dn“,ch,count);

      printf(”The number of character

      return 0;}

      (7)#include

      #include

      #define N 10

      //同學(xué)人數(shù) #define M 5

      //課程數(shù) void enter_scores(void);

      void average[N][3]);sort_scores(int score[][M], int

      void disp_scores(int score[][M]);

      void histogram(int n, int score[][M]);

      void printchar(int n);static int score[N][M];

      static 值,第int aver[N][3];//第1列為均值逆序int main()2列原始順序,第3列為均 {

      int course;

      enter_scores();printf(“n===========Oringenal

      Score Start=========n”);

      disp_scores(score);printf(“n===========Oringenal

      Score End===========n”);

      Score Start============n“);

      printf(”n===========Sorted

      sort_scores(score,aver);Score End==============n“);

      printf(”n===========Sorted

      statisticed?n“);

      printf(”nWhich class will be

      scanf(“%d”,&course);

      histogram(course, score);

      system(“Pause”);

      return 0;}

      /*

      輸入成績 */ void enter_scores(){

      int i, j;

      for(i=0;i

      for(j=0;j

      scanf(“%d”,&score[i][j]);

      aver[i][0] += score[i][j];

      }

      }

      for(i = 0;i < N;i++)

      for(j = 1;j < 3;j++)

      aver[i][j] = i;}

      /* 成績排序.*/ void average[N][3])sort_scores(int score[][M], int {

      int i,j,t;

      int temp,tempindex;

      for(i = 0;i < N1*t;}

      (6)#include

      5#define M 5 #define N 3 int sum(int *a);

      int main(){

      static int a[M][N];

      int i,j;

      for(i = 0;i < M;i++)

      for(j = 0;j < N;j++)

      scanf(“%d”,&a[i][j]);

      for(i = 0;i < M;i ++)sum: %3dn“, i, sum(a[i]));

      printf(”Row %d

      return 0;}

      int sum(int *ptr){

      int i,result = 0;

      for(i = 0;i < N;i++)

      result += *(ptr+i);

      return result;}

      題:

      第7章習(xí)題答案

      1、選擇

      D C

      ((14))

      C

      B

      (2()C

      (3)D

      (7)

      B

      (8))

      A A

      ((69))

      (1

      3()10)

      B(11)D(12)

      A

      D 2、判斷題(1)×

      (2)

      (3)

      √√((√(68)4))

      ×××

      (5)

      ((79))

      (10)√

      第8章習(xí)題答案、選擇題:(A 1)

      C

      (2)

      D

      (3)

      (4)

      A

      (5)

      D(6)

      C

      (7)

      D

      (8)

      B 2、填空題(1)

      .(成員域訪問運算符),-〉(成員域間接訪問運算符)(2)

      4, 6.0

      (3)

      enum(4)typedef(5)

      age, q->name,q->age

      3結(jié)果、閱讀程序,寫出下面程序的運行(1)p!=NULL, c++, p->next

      (2)p1->next, p1->next, p1->next 4、程序閱讀題(1)7,3

      (2)zhangping 20(3)Li:3

      Zhang:3

      Wang:2 5 .編程題 #include

      #include

      #define N 10

      /*學(xué)生人數(shù) */ #define M 3

      /* 課程數(shù)

      */ struct */ stu{

      /*定義結(jié)構(gòu)體類型

      char name[15];

      char num[6];

      float score[M];

      float aver;} */ student[N];

      /*說明結(jié)構(gòu)體變量

      struct student[]);stu findmax(struct stu

      void input(struct stu student[]);

      void output(struct stu student[]);

      int main(){

      struct stu temp;

      input(student);

      output(student);

      temp = findmax(student);

      printf(“Max is:n”);printf(“%15s%8s%7.2f%7.2f%7.2f%

      7.2f”,temp.name,temp.num,1temp.score[0],temp.score[1],temp.sc

      ore[2],temp.aver/M);

      system(“Pause”);

      return 0;}

      struct student[])stu findmax(struct stu {

      float max = 0.0;

      int i,maxi;

      for(i=0;i

      {

      if(max < student[i].aver)

      {

      max = student[i].aver;

      maxi = i;

      }

      }

      return student[maxi];}

      void input(struct stu student[]){

      int i,j;

      printf(“input data:n”);

      for(i=0;i

      nt[i].num);%s”,student[i].name,stude

      student[i].aver = 0;

      for(j=0;j

      { &student[i].score[j]);

      scanf(“%f”,student[i].score[j];

      student[i].aver +=

      }

      } }

      void output(struct stu student[]){

      int i,j;

      for(i=0;i

      dent[i].num);

      for(j=0;j

      printf(“%7.2f”,printf(“%7.2fn”,student[i].aver/M);

      } }

      第9章

      習(xí)題答案 1、選擇題: B((41))

      B A

      ((52))

      D A

      (3)D

      (69))

      A A

      ((107))

      C A

      (8)2、填空題(1)文本文件,二進(jìn)制文件(2)fopen,fclose

      3)fprintf, fscanf, feof fgets

      (4)fwrite,fread, fputs,

      5)文本 , 二進(jìn)制(6)1,0

      7)

      字節(jié),流式 3、程序填空題(1)*fp1, *fp2,ftell(fp1);fgetc(fp1),fp2

      (2)*fp, fp,sizeof(stud[0])*i,0 &stud[i]

      fgetc(fp),(3count++)

      r

      ,sizeof(r),()

      r.num,r.total

      FILE *f, 4、編程題 #include

      #define N 5

      /*學(xué)生人數(shù)

      */

      */ #define M 3

      /* 課程數(shù)

      型 */ struct stu{

      /*定義結(jié)構(gòu)體類

      char name[15];

      char num[6];

      float score[M];

      float aver;體變量} student[N];*/

      /*說明結(jié)構(gòu)void sort(struct stu student[]);student[], void writetofile(struct stu mode[]);int main()char filename[],char {

      FILE *fp;

      struct stu *ptr=NULL;

      int i,j;

      printf(“input data:n”);

      for(i=0;i

      nt[i].num);%s”,student[i].name,stude

      student[i].aver = 0;

      for(j=0;j

      { &student[i].score[j]);

      scanf(“%f”,student[i].score[j];

      student[i].aver +=

      }

      } “student.txt”,“w”);

      writetofile(student,“sort.txt”,“w”);

      writetofile(student,“sort2.txt”,“w”);

      writetofile(student,sort(student);“sort.txt”,“a”);

      writetofile(student,*)malloc(sizeof(struct stu));

      ptr =(struct stu

      ptr->name,ptr->num);

      scanf(“%s %s”,ptr->aver = 0;

      for(j=0;j

      {

      scanf(“%f”,&ptr->score[j]);

      ptr->aver += ptr->score[j];

      }((fp=fopen(“sort2.txt”,“a”))==NULL)

      if

      {

      printf(“cannot open file”);

      exit(0);

      } fprintf(fp,“%s

      m);

      %s”,ptr->name,ptr->nu

      for(j=0;jscore[j]);

      fprintf(fp,“%7.2f”, fprintf(fp,“%7.2fn”,ptr->aver/M);

      fclose(fp);

      return 0;} void sort(struct stu student[]){

      struct stu temp;

      int i,j,k;

      for(i=0;i

      k=i;

      for(j=i+1;j

      if(student[j].aver <

      if(k!=i)

      {

      temp=student[i];

      student[i]=student[k];

      student[k]=temp;

      }

      } }

      student[],2void writetofile(struct stu mode[]){ char filename[],char

      FILE *fp;

      int i,j;((fp=fopen(filename,mode))==NULL

      if)

      {

      printf(“cannot open file”);

      exit(0);

      }

      for(i=0;i

      {

      fprintf(fp,“%s udent[i].num);

      %s”,student[i].name,st

      for(j=0;j

      fprintf(fp,“%7.2f”, fprintf(fp,“%7.2fn”,student[i].aver/M);

      }

      fclose(fp);}

      第二篇:C語言程序設(shè)計教程_李含光_鄭關(guān)勝_清華大學(xué)出版社習(xí)題答案習(xí)題答案[完美打印版]

      第1章習(xí)題參考答案

      1.單項選擇題

      (1)A(2)C(3)D(4)C(5)B 2.填空題(1)函數(shù)

      (2)主函數(shù)(main)(3)printf(),scanf()

      第2章習(xí)題參考答案

      1.單項選擇題

      1-5 CBCCC 6-10 CDCDC 11-13 DBB 2.填空題

      (1)1(2)26(3)6,4,2(4)10 , 6(5)3.000000(6)雙精度(double)(7)9(8)字母,數(shù)字,下劃線(9)13.700000(10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0(13)10,9,11(15)(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0)(16)double(17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))

      第3章習(xí)題參考答案

      1.單項選擇題

      1-5 CCCDD 6-10 BCDBC 11-15 BCBBB 16 A 2.填空題

      (1)用;表示結(jié)束(2){ }(3)y=x<0?1:x==0?0:-1(4)y%4==0&&y%100!=0||y%400==0(5)上面未配對(6)default標(biāo)號(7)while,do while,for(8)do while(9)本次(10)本層 3.閱讀程序,指出結(jié)果

      (1)yes(2)*&(3)ABother(4)28 70(5)2,0(6)8(7)36(8)1(9)3,1,-1,3,1,-1(10)a=12,y=12(11)i=6,k=4(12)1,-2 4.程序填空

      (1)x:y,u:z(2)m=n,m!=0,m=m/10(3)t

      ,t*n/(2*n+1), printf(“%lfn”,2*s)(4)m%5==0,printf(“%dn”,k)(5)cx=getchar(), cx!=front , cx

      (6)double s=0 , 1.0/k

      , %lf(7)s>=0

      , s

      #include int main(){

      double x,y;

      scanf(“%lf”,&x);

      if(x<1)

      y=x;

      else if(x>=1.0&&x<10)

      y=2*x-11;

      else

      y=3*x-11;

      printf(“%lfn”,y);

      return 0;}(2).

      #include int main(){

      double x,y,z,min;

      scanf(“%lf%lf%lf”,&x,&y,&z);

      if(x>y)

      min=y;

      else

      min=x;

      if(min>z)

      min=z;

      printf(“min=%lfn”,min);

      return 0;}(3).

      #include int main(){

      int y,m,d,flag,s=0,w,i;

      scanf(“%d%d%d”,&y,&m,&d);

      flag=(y%4==0&&y%100!=0||y%400==0);

      w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;

      for(i=1;i<=m;i++)

      {

      switch(i)

      {

      case 1:s=d;break;

      case 2:s=31+d;break;

      case 3:s=59+d;break;

      case 4:s=90+d;break;

      case 5:s=120+d;break;

      case 6:s=151+d;break;

      case 7:s=181+d;break;

      case 8:s=212+d;break;

      case 9:s=243+d;break;

      case 10:s=273+d;break;

      case 11:s=304+d;break;

      case 12:s=334+d;break;

      } }

      if(flag==1&&m>2)

      s=s+1;

      s=(w+s)%7;

      if(s==0)

      printf(“星期日n”);

      else

      printf(“星期%dn”,s);

      return 0;}

      (4).

      #include int main(){

      float p,r;

      scanf(“%f”,&p);

      if(p<=10)

      r=p*0.1;

      else if(p>10&&p<=20)

      r=10*0.1+(p-10)*0.075;

      else if(p>20&&p<=40)

      r=10*0.1+10*0.075+(p-20)*0.05;

      else if(p>40&&p<=60)

      r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;

      else if(p>60&&p<=100)

      r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015;

      else if(p>100)

      r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;

      printf(“%fn”,r);

      return 0;}(5).

      #include int main(){

      char c;

      while((c=getchar())!='n')

      {

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

      c=c-32;

      putchar(c);

      }

      return 0;}(6).

      #include int main(){

      int m,k=2;

      printf(“輸入一個正整數(shù):n”);

      scanf(“%d”,&m);

      while(k

      if(m%k==0)

      {

      printf(“%4d”,k);

      m=m/k;

      }

      else

      k++;

      printf(“%4dn”,m);

      return 0;}(7).

      #include int main(){

      int a,n,s=0,p=0,i;

      scanf(“%d %d”,&n,&a);

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

      {

      p=p*10+a;

      s=s+p;

      }

      printf(“%dn”,s);

      return 0;}(8).

      #include int main()

      {

      int i,j,k;

      for(i=1;i<=9;i++)

      for(j=0;j<=9;j++)

      for(k=0;k<=9;k++)

      printf(“%5d”,100*i+10*j+k);

      return 0;}(9).

      #include #include int main(){

      float a=-10,b=10,x,f1,f2,f;

      f1=(((2*a-4)*a+3)*a)-6;

      f2=(((2*b-4)*b+3)*b)-6;

      do

      {

      x=(a+b)/2;

      f=(((2*x-4)*x+3)*x)-6;

      if(f*f1<0)

      {

      b=x;

      f2=f;

      }

      else

      {

      a=x;

      f1=f;

      }

      }while(fabs(f)>=1e-6);

      printf(“%6.2fn”,x);

      return 0;}(10).

      #include

      #include int main(){

      int n=2;

      double eps,t,s=0,x;

      scanf(“%lf %lf”,&x,&eps);

      t=x;

      s=t;

      while(fabs(t)>=eps)

      {

      t=-t*(2*n-3)*x*x/(2*n-2);

      s=s+t/(2*n);

      n++;

      }

      printf(“%d,%lfn”,n,s);

      return 0;}

      (11).

      #include int main(){

      unsigned long s,t=0,p=1;

      scanf(“%u”,&s);

      while(s!=0)

      {

      if((s%10)%2!=0)

      {

      t=t+(s%10)*p;

      p=p*10;

      }

      s=s/10;

      }

      printf(“%un”,t);

      return 0;}

      第4章習(xí)題參考答案

      1.單項選擇題

      1-5 DDDBD 6-10 BADCD 11-14 BDAB 2.填空題

      (1)2(2)嵌套,遞歸

      (3)全局變量,局部變量,靜態(tài)變量,動態(tài)變量(4)auto , static , register , extern(5)外部變量(6)編譯,運行 3.閱讀程序,指出結(jié)果(1)15(2)5(3)5,4,3(4)i=5

      i=2

      i=2

      i=4

      i=2(5)求水仙花數(shù)(6)-5*5*5(7)30(8)0 10 11 12 4.程序填空

      (1)float fun(float , float),x+y,x-y , z+y,z-y(2)x,x*x+1(3)s=0 ,a=a+b 5.編程題

      (1).

      while(s!=0)#include

      { unsigned int fun(unsigned int);

      p=p+s%10;int main()

      s=s/10;{

      }

      unsigned int s;

      return p;

      scanf(“%u”,&s);}

      printf(“%un”,fun(s));(2).

      return 0;#include } #include unsigned int fun(unsigned int s)#include { void f1(float,float,float,float);

      unsigned int p=0;void f2(float,float,float,float);

      void f3(float,float,float,float);int main(){

      float a,b,c,d;

      scanf(“%f %f %f”,&a,&b,&c);

      if(a==0)

      {

      printf(“不是一元二次方程n”);

      exit(0);

      }

      d=b*b-4*a*c;

      if(d>0)

      f1(a,b,c,d);

      else if(d==0)

      f2(a,b,c,d);

      else

      f3(a,b,c,d);

      return 0;} void f1(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=(-b+sqrt(d))/(2*a);

      x2=(-b-sqrt(d))/(2*a);

      printf(“%.2f ,%.2fn”,x1,x2);

      } } void f2(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=-b/(2*a);

      x2=-b/(2*a);

      printf(“%.2f ,%.2fn”,x1,x2);

      } }

      void f3(float a,float b,float c,float d){

      float x1,x2;

      {

      x1=-b/(2*a);

      x2=sqrt(-d)/(2*a);

      printf(“%.2f+i*%.2fn”,x1,x2);

      printf(“%.2f-i*%.2fn”,x1,x2);

      } }

      (3).#include double p(int,double);int main(){

      int n;

      double x;

      do

      {

      scanf(“%d”,&n);

      }while(n<0);

      scanf(“%lf”,&x);

      printf(“%lfn”,p(n,x));

      return 0;}

      double p(int n,double x){

      double pn;

      if(n==0)

      pn=1;

      else if(n==1)

      pn=x;

      else

      pn=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;

      return pn;}

      (4).

      #include #define RATE 0.053 double fun(float);void display(float,int);int main(){

      float dep;

      int season;

      scanf(“%f %d”,&dep,&season);

      display(dep,season);

      return 0;} double fun(float d){

      return d*RATE;} void display(float d,int s){

      int i;

      printf(“季度

      余額n”);

      printf(“n”);

      for(i=1;i<=s;i++)

      {

      printf(“%-4d

      %-.2f

      %-.2fn”,i,fun(d),fun(d)*i+d);

      printf(“n”);

      } }

      (5).

      #include double fun(void);int main(){

      printf(“%lfn”,fun());

      return 0;}

      double fun(void){

      double s=0;

      int n=1;

      while((double)(2*n-1)/((2*n)*(2*n))>1e-4)

      {

      s=s+(double)(2*n-1)/((2*n)*(2*n));

      n++;

      }

      return s;}(6).

      #include int fun(int);int main(){

      int w;

      scanf(“%d”,&w);

      printf(“%dn”,fun(w));

      return 0;}

      int fun(int w){

      int n=1,p=1,m;

      m=w;

      while(m>10)

      {

      m=m/10;

      p=p*10;

      n++;

      }

      return w%p;} 第5章習(xí)題參考答案

      1、選擇題:

      1-5 C(B C)BBA 6-8 DDB

      2、填空題

      (1)0,9(2)float realArray[100],char strArray[16],int intArray[1000](3)運算符 sizeof(4)6字節(jié)

      3、閱讀程序,寫出下面程序的運行結(jié)果(1)aa

      bb

      cc dd(2)ab

      c

      d(3)ahAMa(4)0010(5)1 3 4 5(6)This is the title.Name 1 is Rosalinda

      Name 2 is Zeke

      The biggest name alpabetically is Zeke

      Both names are Rosalinda Zeke(7)0

      0

      0

      0

      0

      0

      0

      0

      0

      0 748

      0

      0

      0 177

      0

      0

      4、程序填空

      (1)a[i][j]!= a[j][i] , 1(2)0, a[i] < a[mini] ,maxi = i ,a[maxi] = a[mini]

      (3)int a[], int b[], b[i] = a[i],-999,arraycopy(a,b), b[i++](4)a

      5、編程題(1)

      #include int main(){

      int a[3][4] = {0, 2,9,7,5,13,6,8,27,11,1,3

      };

      int i,j,temp;

      for(i=0,j=0;j<4;j++){

      temp = a[2-i][j];

      a[2-i][j] = a[i][j];

      a[i][j] = temp;

      }

      for(i=0;i<3;i++){

      for(j=0;j<4;j++)

      printf(“%3d”,a[i][j]);

      printf(“n”);

      }

      return 0;}

      (2)

      #include int main(){

      static int a[6][6];

      int i,j,t=1;

      for(i=0;i<6;i++){

      t = i+1;

      for(j=0;j

      a[i][j] = t--;

      }

      for(i=0;i<6;i++){

      for(j=0;j<6;j++)

      printf(“%3d”,a[i][j]);

      printf(“n”);

      }

      return 0;}(3)

      #include #define M 3 #define N 4 #define R 5 int main(){

      static int a[M][N],b[N][R],c[M][R];

      int i,j,k;

      printf(“Matrix a:n”);

      for(i = 0;i < M;i++)

      for(j = 0;j < N;j++)

      scanf(“%d”,&a[i][j]);

      printf(“Matrix b:n”);

      for(i = 0;i < N;i++)

      for(j = 0;j < R;j++)

      scanf(“%d”,&b[i][j]);

      for(i = 0;i < M;i ++)

      for(j = 0;j < N;j++)

      for(k = 0;k < R;k++)

      c[i][k] += a[i][j]*b[j][k];

      for(i = 0;i < M;i++){

      for(j = 0;j < R;j++)

      printf(“%3d”,c[i][j]);

      printf(“n”);

      }

      return 0;}(4)

      #include #define M 5 int main(){

      static int a[M];

      int i,max =-1,min = 100,maxi,mini,temp;

      for(i = 0;i < M;i++)

      scanf(“%d”,&a[i]);//0~99間的值

      for(i = 0;i < M;i++){

      if(max < a[i]){

      max = a[i];

      maxi = i;

      }

      if(min > a[i]){

      min = a[i];

      mini = i;

      }

      }

      temp = a[maxi];

      a[maxi] = a[mini];

      a[mini] = temp;

      for(i = 0;i < M;i++)

      printf(“%3d”,a[i]);

      return 0;}

      3(5)

      #include #define M 3 #define N 4 int main(){

      static int a[M][N];

      int max =-1,sumcol=0,sumrow=0;

      int i,j,maxi,col;

      for(i = 0;i < M;i++){

      sumrow = 0;

      for(j = 0;j < N;j++){

      scanf(“%d”,&a[i][j]);

      sumrow += a[i][j];

      }

      if(max < sumrow){

      max = sumrow;

      maxi = i;

      }

      }

      printf(“which col sum will be caculated?(>0)”);

      scanf(“%d”,&col);

      for(i = 0;i < M;i ++)

      sumcol += a[i][col-1];

      printf(“The %dth row's sum is max, max=%dn”,maxi+1,max);

      printf(“The %dth column's sum=%dn”,col,sumcol);

      return 0;}(6)

      #include #define M 81 int main(){

      static char str[M];

      int i,count = 0;

      char ch;

      gets(str);

      fflush(stdin);//清空輸入緩沖區(qū),以便讀入字符數(shù)據(jù)

      printf(“Which character will be found?”);

      ch = getchar();

      for(i = 0;i < strlen(str);i++)

      if(ch == str[i])

      count++;

      printf(“The number of character '%c' is %dn”,ch,count);

      return 0;}

      (7)

      #include #include #define N 10

      //同學(xué)人數(shù) #define M 5

      //課程數(shù) void enter_scores(void);void sort_scores(int score[][M], int average[N][3]);void disp_scores(int score[][M]);void histogram(int n, int score[][M]);void printchar(int n);static int score[N][M];static int aver[N][3];//第1列為均值,第2列原始順序,第3列為均值逆序int main()

      {

      int course;

      enter_scores();

      printf(“n===========Oringenal Score Start=========n”);

      disp_scores(score);

      printf(“n===========Oringenal Score End===========n”);

      printf(“n===========Sorted Score Start============n”);

      sort_scores(score,aver);

      printf(“n===========Sorted Score End==============n”);

      printf(“nWhich class will be statisticed?n”);

      scanf(“%d”,&course);

      histogram(course, score);

      system(“Pause”);

      return 0;} /* 輸入成績 */ void enter_scores(){

      int i, j;

      for(i=0;i

      for(j=0;j

      scanf(“%d”,&score[i][j]);

      aver[i][0] += score[i][j];

      }

      }

      for(i = 0;i < N;i++)

      for(j = 1;j < 3;j++)

      aver[i][j] = i;} /* 成績排序.*/ void sort_scores(int score[][M], int average[N][3]){

      int i,j,t;

      int temp,tempindex;

      for(i = 0;i < N1*t;}(6)

      #include

      5#define M 5 #define N 3 int sum(int *a)int main(){

      static int a[M][N];

      int i,j;

      for(i = 0;i < M;i++)

      for(j = 0;j < N;j++)

      scanf(“%d”,&a[i][j]);

      for(i = 0;i < M;i ++)

      printf(“Row %d sum: %3dn”, i, sum(a[i]));

      return 0;} int sum(int *ptr){

      int i,result = 0;

      for(i = 0;i < N;i++)

      result += *(ptr+i);

      return result;} 6 第7章習(xí)題答案

      1、選擇題:

      1-5 CCDBA 6-10 CBADB 11-13 DDA

      2、判斷題

      1-5 ×√√×√

      6-10 ×√×√√

      第8章習(xí)題答案

      1、選擇題:

      1-5 CDAAD 6-8 CDB

      2、填空題

      (1)

      .(成員域訪問運算符),-〉(成員域間接訪問運算符)(2)

      4, 6.0(3)

      enum(4)typedef(5)

      age,q->name,q->age

      3、閱讀程序,寫出下面程序的運行結(jié)果(1)p!=NULL, c++, p->next(2)p1->next, p1->next, p1->next

      4、程序閱讀題(1)7,3(2)zhangping 20(3)Li:3

      Zhang:3

      Wang:2 5.編程題

      #include #include #define N 10

      /*學(xué)生人數(shù) */ #define M 3

      /* 課程數(shù)

      */ struct stu{

      /*定義結(jié)構(gòu)體類型 */

      char name[15];

      char num[6];

      float score[M];

      float aver;} student[N];

      /*說明結(jié)構(gòu)體變量 */

      struct stu findmax(struct stu student[]);void input(struct stu student[]);void output(struct stu student[]);int main(){

      struct stu temp;

      input(student);

      output(student);

      temp = findmax(student);

      printf(“Max is:n”);

      printf(“%15s%8s%7.2f%7.2f%7.2f%7.2f”,temp.name,temp.num,1temp.score[0],temp.score[1],temp.score[2],temp.aver/M);

      system(“Pause”);

      return 0;} struct stu findmax(struct stu student[]){

      float max = 0.0;

      int i,maxi;

      for(i=0;i

      {

      if(max < student[i].aver)

      {

      max = student[i].aver;

      maxi = i;

      }

      }

      return student[maxi];} void input(struct stu student[]){

      int i,j;

      printf(“input data:n”);

      for(i=0;i

      scanf(“%s %s”,student[i].name,student[i].num);

      student[i].aver = 0;

      for(j=0;j

      {

      scanf(“%f”, &student[i].score[j]);

      student[i].aver += student[i].score[j];

      }

      } } void output(struct stu student[]){

      int i,j;

      for(i=0;i

      printf(“%15s%8s”,student[i].name,student[i].num);

      for(j=0;j

      printf(“%7.2f”, student[i].score[j]);

      printf(“%7.2fn”,student[i].aver/M);

      } } 2 第9章習(xí)題答案

      1、選擇題:

      1-5 ADBBA 6-10 A CDAA

      2、填空題

      (1)文本文件,二進(jìn)制文件(2)fopen,fclose(3)fprintf, fscanf, feof(4)fwrite,fread, fputs, fgets(5)文本 , 二進(jìn)制(6)1,0(7)

      字節(jié),流式

      3、程序填空題

      (1)*fp1, *fp2,ftell(fp1);

      fgetc(fp1),fp2(2)*fp,fp,sizeof(stud[0])*i,0

      &stud[i](3)“r”,fgetc(fp),count++(4)FILE *f,sizeof(r),r.num,r.total

      4、編程題

      #include #define N 5

      /*學(xué)生人數(shù) */ #define M 3

      /* 課程數(shù)

      */

      struct stu{

      /*定義結(jié)構(gòu)體類型 */

      char name[15];

      char num[6];

      float score[M];

      float aver;} student[N];

      /*說明結(jié)構(gòu)體變量 */ void sort(struct stu student[]);void writetofile(struct stu student[], char filename[],char mode[]);int main(){

      FILE *fp;

      struct stu *ptr=NULL;

      int i,j;

      printf(“input data:n”);

      for(i=0;i

      scanf(“%s %s”,student[i].name,student[i].num);

      student[i].aver = 0;

      for(j=0;j

      {

      scanf(“%f”, &student[i].score[j]);

      student[i].aver += student[i].score[j];

      }

      }

      writetofile(student, “student.txt”,“w”);

      writetofile(student, “sort.txt”,“w”);

      writetofile(student, “sort2.txt”,“w”);

      sort(student);

      writetofile(student, “sort.txt”,“a”);

      ptr =(struct stu *)malloc(sizeof(struct stu));

      scanf(“%s %s”, ptr->name,ptr->num);

      ptr->aver = 0;

      for(j=0;j

      {

      scanf(“%f”,&ptr->score[j]);

      ptr->aver += ptr->score[j];

      }

      if((fp=fopen(“sort2.txt”,“a”))==NULL)

      {

      printf(“cannot open file”);

      exit(0);

      }

      fprintf(fp,“%s %s”,ptr->name,ptr->num);

      for(j=0;j

      fprintf(fp,“%7.2f”, ptr->score[j]);

      fprintf(fp,“%7.2fn”,ptr->aver/M);

      fclose(fp);

      return 0;} void sort(struct stu student[]){

      struct stu temp;

      int i,j,k;

      for(i=0;i

      k=i;

      for(j=i+1;j

      if(student[j].aver < student[k].aver)k=j;

      if(k!=i)

      {

      temp=student[i];

      student[i]=student[k];

      student[k]=temp;

      }

      } }

      2void writetofile(struct stu student[], char filename[],char mode[]){

      FILE *fp;

      int i,j;

      if((fp=fopen(filename,mode))==NULL)

      {

      printf(“cannot open file”);

      exit(0);

      }

      for(i=0;i

      {

      fprintf(fp,“%s %s”,student[i].name,student[i].num);

      for(j=0;j

      fprintf(fp,“%7.2f”, student[i].score[j]);

      fprintf(fp,“%7.2fn”,student[i].aver/M);

      }

      fclose(fp);}

      第三篇:C語言程序設(shè)計教程課后習(xí)題答案

      C語言程序設(shè)計教程課后習(xí)題答案

      第一章 C語言程序設(shè)計概述 -習(xí)題答案 算法的描述有哪些基本方法?

      1、自然語言

      2、專用工具C語言程序的基本結(jié)構(gòu)是怎樣的?舉一個例子說明。

      1、C語言程序由函數(shù)構(gòu)成;

      2、“/*”與“*/”之間的內(nèi)容構(gòu)成C語言程序的注釋部分;

      3、用預(yù)處理命令#include、#define可以包含有關(guān)文件或預(yù)定義信息;

      4、大小寫字母在C語言中是有區(qū)別的;

      5、除main()函數(shù)和標(biāo)準(zhǔn)庫函數(shù)外,用戶也可以自己編寫函數(shù),應(yīng)用程序一般由多個函數(shù)組成,這些函數(shù)指定實際所需要做的工作。C語言有什么特點?

      1、具有結(jié)構(gòu)語言的特點,程序之間很容易實現(xiàn)段的共享;

      2、主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨立的任務(wù),獨立地編譯代碼,以實現(xiàn)程序的模塊化;

      3、運算符豐富,包含的范圍很廣;

      4、數(shù)據(jù)類型豐富;

      5、允許直接訪問物理地址,即可直接對硬件進(jìn)行損傷,實現(xiàn)匯編語言的大部分功能;

      6、限制不太嚴(yán)格,程序設(shè)計自由度大,這樣使C語言能夠減少對程序員的束縛;

      7、生成的目標(biāo)代碼質(zhì)量,程序執(zhí)行效率高,同時C語言編寫的程序的可移植性好?!镏赋龊戏ㄅc不合法的標(biāo)識符命名。

      AB12--√ leed_3--a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×說明下列Turbo C熱鍵的功能。

      F2:源文件存盤 F10:調(diào)用主菜單 F4:程序運行到光標(biāo)所在行(用于調(diào)試程序)Ctrl+F9:編譯并鏈接成可執(zhí)行文件 Alt+F5:將窗口切換到 DOS 下,查看程序運行結(jié)果。說明下列Turbo C方式下輸入并運行下列程序,記錄下運行結(jié)果。

      ①main()

      {printf(“********************n”);printf(“ welcome you n”);printf(“ very good n);printf(”********************n“);} ②main()

      { int a,b,c,t;printf(”please input three numbers;“);scanf(”%d,%d,%d“,&a,&b,&c);/*教材S是錯誤的*/ t=max(max(a,b),c);printf(”max number is:%dn“,t);} int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);} 答

      運行結(jié)果:

      ******************** welcome you very good ******************** 運行結(jié)果:

      please input three numbers;3,1,4 /*左側(cè)下劃線內(nèi)容為鍵盤輸入*/ max number is:4 7 一個C程序是由若干個函數(shù)構(gòu)成的,其中有且只能有一個___函數(shù)。

      main()8 在Turbo C環(huán)境下進(jìn)行程序調(diào)試時,可以使用Run下拉菜單的___命令或按___鍵轉(zhuǎn)到用戶屏幕查看程序運行結(jié)果。

      1、User screen

      2、Alt+F5 9 ★C語言對標(biāo)識符與關(guān)鍵字有些什么規(guī)定?

      1、標(biāo)識符用來表示函數(shù)、類型及變量的名稱,它是由字母、下劃線和數(shù)字組成,但必須用字母或下劃線開頭。

      2、關(guān)鍵字是一種語言中規(guī)定具有特定含義的標(biāo)識符,其不能作為變量或函數(shù)名來使用,用戶只能根據(jù)系統(tǒng)的規(guī)定使用它們。C源程序輸入后是如何進(jìn)行保存的?

      是以C為擴展名保存的純文本文件。

      第二章 C語言程序的基本數(shù)據(jù)類型與表達(dá)式 -習(xí)題答案 ★指出下列常數(shù)中哪些是符合C語法規(guī)定的。

      ''--× '101'--× ”“--× e3--× 019--√ 0x1e--√ ”abn“--√ 1.e5--×(2+3)e(4-2)--× 5.2e2.5--×請找出下列程序中的錯誤,改正后寫出程序運行結(jié)果。

      ①void main(){int x,y=z=5,aver;x=7 AVER=(x+y+z)/3 printf(”AVER=%dn“,aver);} ②void main()

      { char c1='a';c2='b';c3='c';int a=3.5,b='A' printf(”a=%db='“endn”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);} 答

      main(){int x,y=5,z=5,aver;x=7;aver=(x+y+z)/3;printf(“AVER=%dn”,aver);}

      運行結(jié)果:AVER=5 ②main()

      { char c1='a', c2='b', c3='c';int a=3,b='A';printf(“a=%d,b='%c'”end“n”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);}

      運行結(jié)果:a=3,b='A'“end”

      aabcc abc 3 寫出下列賦值的結(jié)果,表格中寫了數(shù)值的是要將它賦給其他類型的變量,將所有的空格填上賦值后的數(shù)據(jù)(實數(shù)保留到小數(shù)點后兩位)。int 99

      -1 char 'h'

      unsigned int

      float

      55.78

      long int

      答 int 99 104 66 55 68-1 char 'c' 'h' 'B' '7' 'D'

      unsigned int 99 104 66 55 68 65535

      float 99.00 104.00 66.00 55.78 68.00-1.00

      long int 99 104 66 55 68-1

      ★寫出程序運行結(jié)果。

      ①void main(){int i,j;i=8,j=10;printf(“%d,%d,%d,%dn”,i,j,++i,j++);} ②main()

      { int a=1,b=2,c=30;;printf(“%d,%d,%d,%dn”,a=b=c,a=b==c,a==(b=c),a==(b==c));} 注意:a=b=c,a=b==c之間應(yīng)為逗號,教材有誤 答

      運行結(jié)果: 9,11,9,10 運行結(jié)果: 30,1,0,0

      ③void main()

      {int a=10,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf(“%d,%d,%d,%dn”,a,b,c,d);}

      運行結(jié)果: 11,19,30,1

      ★寫出下面表達(dá)式的值(設(shè)a=10,b=4,c=5,d=1,x=2.5,y=3.5)。⑴a%=(b%=3)

      ⑵n++,a+=a-=a*=a ⑶(float)(a+c)/2+(int)x%(int)y ⑷a*=b+c ⑸++a-c+b++ ⑹++a-c+++b ⑺a

      ⑼a+b,18+(b=4)*3,(a/b,a%b)

      ⑽x+a%3*(int)(x+y)%2/4+sizeof(int)⑾a

      ⑴0 ⑵0 ⑶9.500000 ⑷90 ⑸10 ⑹10 ⑺'A' ⑻2 ⑼4.5 ⑽1 ⑾0 ⑿20 ⒀0 下列每組表達(dá)式中,被執(zhí)行后結(jié)果完全等價的是哪些(設(shè)a、b、m是已被賦值的整型變量)?

      ①m=(a=4,4*5)與m=a=4,4*5 ②(float)(a/b)與(float)a/b ③(int)a+b與(int)(a+b)④m%=2+a*3與m=m%2+a*3 ⑤m=1+(a=2)+(b=3)與a=2,b=3,m=1+a+b 答

      ①前面是賦值表達(dá)式,而后面的是一個逗號表達(dá)式,所以一定不同;

      ②前面的表達(dá)式中a/b結(jié)果為一整數(shù),結(jié)果已經(jīng)取整,精度可能受到影響,之后強制float后才為浮點型,后面的是先將a轉(zhuǎn)換為float后再與b相除,其值保證了精度,所以不同。

      ③因為a、b均為整數(shù),其前后兩個表達(dá)式的計算結(jié)果是一致的。

      ④前一表達(dá)式是一算術(shù)表達(dá)式,而后者為一賦值表達(dá)式,此為一點不同;另外,前一表達(dá)式的m只被賦過一次值,后一表達(dá)式中的m曾兩次被賦值,第一次賦值時與第一表達(dá)式中的值一致,第二次賦值后即不再相同。⑤前后表達(dá)式的計算結(jié)果應(yīng)該是一致的:a=2, b=3, m=6 7 條件表達(dá)式x>0?x:-x的功能是什么?

      如果x的值是一正數(shù),則表達(dá)式的值為x值;如果x的值是一非正數(shù),則表達(dá)式的值為-x。其實該表達(dá)式的值即為x的絕對值,C語言中提供了一個函數(shù)fabs(x)即可完成此功能,該函數(shù)包含在math.h頭文件中。用一個條件表達(dá)式描述從a、b、c中找出最大都賦給max.答

      max=a>(b>c?b:c)?a:(b>c?b:c);9 ★若x為int型變量,則執(zhí)行以下語句后x的值為()。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-24 答 B.10 ★若有以下類型說明語句: char w;int x;float y;double z;則表達(dá)式w*x+z-y的結(jié)果為()類型。A.float B.char C.int D.double 答 D.第三章 順序結(jié)構(gòu)程序設(shè)計 -習(xí)題答案 變量k為float類型,調(diào)用函數(shù)scanf(“%d”,&k),不能使變量k得到正確數(shù)值的原因是___。

      格式修飾符與變量類型不一致。因為%d輸入的數(shù)據(jù)類型應(yīng)該為十進(jìn)制整數(shù),而&k為占用4個字節(jié)的float類型變量的地址?!颽=1234,b=12,c=34,則執(zhí)行“printf(“|%3d%3d%-3d|n”,a,b,c);”后的輸出是___。

      |1234 1234 |

      分析如下:

      ①%3d為右對齊輸出變量,且指定輸出變量的值寬度為3個字符位,如果變量實際位數(shù)小于3,則左端補空格,如果變量實際位數(shù)大于3,則按實際長度輸出,不受限制。

      ②%-3d為左對齊輸出變量,在輸出變量時,如是變量實際位數(shù)小于3,則在右端補空格,否則按實際輸出?!镌O(shè)有“int a=255,b=8;”,則“printf(“%x,%on”,a,b);”輸出是___。答 ff,10 ①如果“printf(“%X,%on”,a,b);”則輸出為FF,10。說明在輸出十六進(jìn)制字母時,其大小寫受格式修飾符的限制,如果是“%x”則輸出小寫,如果是“%X”則輸出大寫。

      ②如果希望在輸出十六進(jìn)制時輸出前導(dǎo)符0x或0X,則以上輸出語句應(yīng)改“printf(“%#x,%on”,a,b);”為或“printf(“%#X,%on”,a,b);”。本條解釋不必須掌握?!镆韵鲁绦蜉敵龅慕Y(jié)果是___。main(){ int a1=1,a2=0,a3=2;printf(“%d,%d,%dn”,a1,a1+a2+a3,a3-a1);} 答 1,3,1 5 printf函數(shù)中用到格式符%5s,其中5表示輸出字符占用5列。如果字符串長度大于5,則按___輸出;如果字符串長度小于5,則按___輸出。

      ①實際 ②左端補空格 6 ★已定義變量如下: int a1,a2;char c1,c2;若要求輸入a1、a2、c1和c2的值,正確的輸入函數(shù)調(diào)用語句是___。

      scanf(“%d,%d,%c,%c”,&a1,&a2,&c1,&c2);7 輸入兩個整型變量a、b的值,輸出下列算式以及運算結(jié)果___。a+b、a-b、a*b、a/b、(float)a/b、a%b 每個算式占一行。如a=10,b=5,a+b輸出為:10+5=15 答

      設(shè)int a=10,b=5;以下為輸出語句及結(jié)果: ①printf(“%d+%d=%dn”,a,b,a+b);10+5=15 ②printf(“%d-%d=%dn”,a,b,a-b);10-5=5 ③printf(“%d*%d=%dn”,a,b,a*b);10*5=50 ④printf(“%d/%d=%dn”,a,b,a/b);10/5=2 ⑤printf(“%(float)d/%d=%fn”,a,b,(float)a/b);(float)10/5=2.000000 ⑥printf(“%d%%%d=%dn”,a,b,a%b);10%5=0 8 ★輸入一個非負(fù)數(shù),計算以這個數(shù)為半徑的圓周長和面積。答

      #define PI 3.1415926 main(){ float r,l,area;printf(“Input a positive:”);scanf(“%f”,&r);l=2*PI*r;area=PI*r*r;printf(“l(fā)=%ftarea=%fn”,l,area);} 9 輸入任意一個3位數(shù),將其各位數(shù)字反序輸出(例如輸入123,輸出321)。

      main(){ int x,y;printf(“Input a number(100-999):”);scanf(“%d”,&x);y=100*(x%10)+10*(x/10%10)+x/100;/*注意分析此處算法*/

      第四篇:C語言程序設(shè)計教程第九章習(xí)題答案

      1、li

      300.0 chang 30

      200.0 chang

      2、#include struct students {

      char sid[100];

      char name[100];

      float score[3];}student;void main(){

      int i;float j;

      printf(“nPlease input sid:

      ”);

      scanf(“%s”,student.sid);

      printf(“nPlease input name: ”);

      scanf(“%s”,student.name);

      printf(“nPlease input 3 score:(like1,1,1)”);/*輸入逗號隔開*/

      scanf(“%f,%f,%f”,&student.score[0],&student.score[1],&student.score[2]);

      printf(“nsid = %s”,student.sid);

      printf(“nname = %s”,student.name);

      j=(student.score[0]+student.score[1]+student.score[2])/3.0;

      printf(“naverage = %.2f”,j);

      getch();}

      3、#include #include #define F sizeof(student)#define NULL 0 typedef struct scores { int english;int math;int c_language;int all;}TP;typedef struct students { char sid[15];char name[15];TP score;struct students *next;}student;student *input(){ student *head,*p1,*p2;int n=0;char ch;clrscr();head=(student *)malloc(F);head->next=NULL;

      do {

      n++;

      printf(“nnPlease input %d student message:

      nn”,n);

      printf(“t%d student sid:

      ”,n);

      p1=(student *)malloc(F);p1->next=NULL;

      scanf(“%s”,p1->sid);

      printf(“nt%d student name:

      ”,n);

      scanf(“%s”,p1->name);

      printf(“nt%d student scores(englesh,math,c_language):

      ”,n);

      scanf(“%d,%d,%d”,&p1->score.english,&p1->score.math,&p1->score.c_language);

      p1->score.all=p1->score.english+p1->score.math+p1->score.c_language;

      if(n==1)

      { head->next=p1;p2=p1;}

      else

      { p2->next=p1;

      p2=p1;

      }

      printf(“nntttContinue or back(press y/n):

      ”);

      ch=getch();

      }while(ch=='y'||ch=='Y');return head;} void average1(student *head){ student *p;int j;clrscr();p=head->next;

      while(p)

      { j=p->score.all/3;

      printf(“nnname:

      %staverage: %d”,p->name,j);

      p=p->next;

      } printf(“nnnPress eny key return.”);getch();} void average2(student *head){ student *p;int n=0,temp1=0,temp2=0,temp3=0;p=head->next;while(p){ temp1+=p->score.english;

      temp2+=p->score.math;

      temp3+=p->score.c_language;

      p=p->next;n++;} printf(“nnaverage english is : %dnaverage math is : %dnaverage c_language is : %dt”,temp1/n,temp2/n,temp3/n);} student *sort(student *head){ student *head1,*p,*q,*r;int temp1=0,temp2=0,temp3=0,temp4;char s[15],n[15];head1=head;for(p=head1->next;p->next!=NULL;p=p->next){ r=p;

      for(q=p->next;q;q=q->next)

      if(q->score.all>r->score.all)

      r=q;

      if(r!=p)

      { strcpy(s,p->sid);strcpy(n,p->name);

      temp1=p->score.english;

      temp2=p->score.math;

      temp3=p->score.c_language;

      temp4=p->score.all;

      strcpy(p->sid,r->sid);strcpy(p->name,r->name);

      p->score.english=r->score.english;

      p->score.math=r->score.math;

      p->score.c_language=r->score.c_language;

      p->score.all=r->score.all;

      strcpy(r->sid,s);strcpy(r->name,n);

      r->score.english=temp1;

      r->score.math=temp2;

      r->score.c_language=temp3;

      r->score.all=temp4;

      } } return head1;} void output(student *head){ student *head2,*p;int i=1;clrscr();head2=sort(head);for(p=head2->next;p!=NULL;p=p->next)

      printf(“nnname: %stsid: %stenglish: %dtmath: %dtc_language: %dtaverage: %dtmingci: %d”,p->name,p->sid,p->score.english,p->score.math,p->score.c_language,p->score.all/3,i++);

      average2(head);

      printf(“nnnttPress eny key back.”);getch();} void main(){ student *head,*p1,*p2;int i=0,j=1;head=input();do {

      clrscr();

      printf(“nn(1): average1.nn(2): average2.nn(3): sort.nn(4): output.nnn

      Please choose:

      ”);

      scanf(“%d”,&i);

      switch(i)

      { case 1: average1(head);break;

      case 2: clrscr();average2(head);printf(“nnnPress eny key retuen.”);getch();break;

      case 3: clrscr();p1=sort(head);for(p2=p1->next;p2!=NULL;p2=p2->next)printf(“nttname: %stmingci:%d”,p2->name,j++);printf(“nnnPress eny key back.”);getch();break;

      case 4: output(head);break;

      default: printf(“nYour choose is not right.”);break;

      } }while(i!=-1);}

      4、#include #include #define NULL 0 #define F sizeof(worker)typedef struct work { char sid[15];char name[15];int money;struct work *next;}worker;int min=0,max=0;char a[15],b[15];worker *input(){ worker *head,*p,*q;int n=0;char ch;head=(worker *)malloc(F);head->next=0;do { n++;

      p=(worker *)malloc(F);p->next=0;

      printf(“nntPlease input %d worker message :

      ”,n);

      printf(“n%d worker sid:

      ”,n);scanf(“%s”,p->sid);

      printf(“n%d worker name:

      ”,n);scanf(“%s”,p->name);

      printf(“n%d worker money:

      ”,n);scanf(“%d”,&p->money);

      if(n==1)

      {

      head->next=p;q=p;

      max=p->money;strcpy(a,p->name);

      min=p->money;strcpy(b,p->name);

      }

      else

      {

      q->next=p;

      if(p->money>max){max=p->money;strcpy(a,p->name);}

      if(p->moneymoney;strcpy(b,p->name);}

      q=p;

      }

      printf(“ntty/n”);ch=getch();}while(ch=='y'||ch=='Y');return head;} void output(){

      clrscr();printf(“nThe max money is: %dttname is: %snn”,max,a);printf(“nThe min money is: %dttname is: %s”,min,b);} void main(){

      input();output();getch();} 5、6、#include“stdio.h” #define F sizeof(stu)#define NULL 0 typedef struct student { int sid;int average;struct student *next;}stu;stu *head;stu *create(){ stu *p1,*p2;int n=0;char ch;head=(stu *)malloc(F);head->next=NULL;

      do {

      n++;

      printf(“nnPlease input %d student message:

      nn”,n);

      printf(“t%d student sid:

      ”,n);

      p1=(stu *)malloc(F);p1->next=NULL;

      scanf(“%d”,&p1->sid);

      printf(“nt%d student average:

      ”,n);

      scanf(“%d”,&p1->average);

      if(n==1)

      { head->next=p1;p2=p1;}

      else

      { p2->next=p1;

      p2=p1;

      }

      printf(“nntttContinue or back(press y/n):

      ch=getch();

      }while(ch=='y'||ch=='Y');return head;} stu *select(stu *head,int x){ stu *s;s=head->next;while(s){

      if(s->sid==x)

      break;

      s=s->next;} return s;}

      stu *insert(stu *head,int x,int y){ stu *p,*r,*q;clrscr();p=head->next;r=(stu *)malloc(sizeof(stu));r->sid=x;r->average=y;if(p==NULL)/*如果插入空表*/

      {

      p=r;

      r->next=NULL;

      ”);

      printf(“ninsert success!”);

      }

      else

      { while(x>p->sid)/*找到插入的位置,按學(xué)號大小。(找到位置或者到了表尾都會跳出循環(huán))*/

      {

      if(p->next==NULL)break;p=p->next;

      }

      if(x

      sid)

      /*插到中間位置*/

      {

      r->sid=p->sid;

      r->average=p->average;

      p->sid=x;

      p->average=y;

      r->next=p->next;

      p->next=r;

      printf(“ninsert success!”);

      }

      else if(x==p->sid)/*學(xué)號不能相同*/

      printf(“nError--->your input this same sid.”);

      else

      /*插到末尾*/

      {

      p->next=r;

      r->next=NULL;

      printf(“ninsert success!”);

      }

      }

      return head;} stu *get(stu *head,int n)/*得到位置為n的結(jié)點的指針*/ { stu *p;int i;p=head->next;if(n==0)return head;else

      {

      for(i=1;i

      p=p->next;

      return p;} } stu *delete(stu *head,int sid){

      stu *p,*q;int temp=0,i=0;p=head->next;if(!p)

      {

      printf(“nlist is empty.press eny key back.”);getch();return head;}/*表空*/ else { while(p)

      /*查找學(xué)號為sid的結(jié)點的指針*/

      {i++;/*標(biāo)記學(xué)號為sid的結(jié)點的位置*/

      if(p->sid==sid)

      {temp=1;break;} /*temp=1標(biāo)記找到了*/

      p=p->next;}

      if(temp==1)/*如果有學(xué)號為sid的結(jié)點*/

      { q=get(head,i-1);/*得到sid的前一個結(jié)點的指針*/

      q->next=p->next;

      free(p);

      printf(“nndelete sucess!!”);

      return head;

      }

      else

      /*沒有找到*/

      { printf(“nnNO this data.n”);

      return head;

      } } } void print(stu *head){ stu *p;p=head->next;if(!p){printf(“nlist is empty.press eny key back.”);getch();} while(p){

      printf(“n%d :t%d ”,p->sid,p->average);

      p=p->next;} } main(){ stu *p1,*p2;char ch1;int n,i=0,j=0;head=create();do {clrscr();printf(“n1.insert.”);printf(“n2.select.”);printf(“n3.delect.”);printf(“n4.print list.”);printf(“n5.EXIT

      ”);printf(“n

      ............choice(1-5).............”);ch1=getch();switch(ch1){

      case '1':

      { clrscr();

      printf(“nplease input insert sid.and average(like 1,1):”);

      scanf(“%d,%d”,&i,&j);

      head=insert(head,i,j);

      printf(“nnnPress eny key back.”);getch();

      break;

      }

      case '2':

      { clrscr();

      printf(“ninput you want to selete sid:

      ”);

      scanf(“%d”,&n);

      p1=select(head,n);

      {

      if(p1)printf(“nsid:%dtaverage:%d”,p1->sid,p1->average);

      else

      printf(“nNo this data.”);

      }

      printf(“nnnPress eny key back.”);getch();

      break;

      }

      case '3':

      { clrscr();printf(“nPlease input you want delete sid: ”);

      scanf(“%d”,&n);

      head=delete(head,n);

      printf(“nnnPress eny key back.”);getch();

      break;

      }

      case '4':

      { clrscr();

      printf(“All information :”);

      print(head);

      printf(“nnnPress eny key back.”);getch();

      break;

      }

      case '5': return;

      default: printf(“nnYour enter is not right.press eny key back.”);getch();}

      }while(n);}

      7、#include #define F sizeof(L)typedef struct list {

      char data;

      struct list *next;}L;L *set_list(){

      L *head,*p1,*p2;

      char c;

      int n=0;

      head=(L *)malloc(F);head->next=0;

      /*建立鏈表*/

      p1=p2=head;

      printf(“nPlease input char(press * finish):”);

      scanf(“%c”,&c);

      while(c!='*')

      {

      n++;

      if(n==1)

      p1->data=c;

      else

      {

      p1=(L *)malloc(F);

      p1->data=c;

      p2->next = p1;

      p2 = p1;

      p1->next = 0;

      }

      scanf(“%c”,&c);

      }

      p1=head;

      while(p1)

      {

      printf(“%c ”,p1->data);p1=p1->next;

      }

      printf(“nnn”);

      return head;} void change_list(L *head1)

      /*算法:p2指向最后一個元素,p1指向第一個元素。交換他們的值,p1,p2同時往中間靠攏。*/ {

      L *p1,*p2,*p3;

      int i,j,k,n=1;

      char temp;

      p1=head1;p2=head1;p3=head1;

      while(p3->next)

      { p3=p3->next;n++;

      }/*求鏈長*/

      for(i=n;i>(n/2);i--)/*外循環(huán)使p1后移,p2前移。*/

      {

      p2=head1;for(j=1;j

      p2=p2->next;/*p2指向最后一個元素*/ temp=p1->data;p1->data=p2->data;p2->data=temp;/*交換他們的值*/ p1=p1->next;/*p1向后移*/

      }

      while(head1)

      { printf(“%c ”,head1->data);head1=head1->next;} } void main(){ L *head;head=set_list();change_list(head);getch();}

      第五篇:C語言程序設(shè)計教程第三版(李鳳霞)習(xí)題答案

      教材習(xí)題答案

      第一章

      習(xí)題

      一、單項選擇題 1.C 2.B 3.B 4.C 5.D 6.A 7.C 8.A

      二、填空題

      1.判斷條件 2.面向過程編程 3.結(jié)構(gòu)化 4.程序

      5.面向?qū)ο蟮某绦蛟O(shè)計語言 6.基本功能操作、控制結(jié)構(gòu) 7.有窮性

      8.直到型循環(huán)結(jié)構(gòu) 9.算法 10.可讀性 11.模塊化

      12.對問題的分解和模塊的劃分

      第二章

      習(xí)題

      一、單項選擇題

      1.B 2.D 3.C 4.B 5.A 6.A 7.B 8.C

      二、填空題

      1.主 2.C編譯系統(tǒng) 3.函數(shù)、函數(shù) 4.輸入輸出 5.頭 6..OBJ 7.庫函數(shù) 8.文本

      第三章

      習(xí)題

      一、單項選擇題 1.D 2.B 3.A 4.C 5.C 6.D 7.D 8.B 9.B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B

      二、填空題

      1.補碼 2.308 10 ? ?(~)

      308 10,—

      2.308 10 ? ?(~)

      308 10,— 3.邏輯

      4.單目,自右向左 5.函數(shù)調(diào)用 6.a 或

      b(題目有錯 , 小括號后面的

      c<=98 改成(c>=97&&c<=98)就可以得到所給的答案了)7.1 8.65,89

      第四章

      習(xí)題

      一、單項選擇題

      1.D 2.C 3.D 4.A 5.D 6.B 7.A 8.C 9.B 10.B

      二、填空題

      1.一

      ;

      2.5.169000 3.(1)-200 2500

      (2)i=-200,j=2500(3)2500 200 ? ? ?

      j i 4.a=98,b=765.000000,c=4321.000000 5.100 25.81 1.89234,100

      25.81 按

      Enter 鍵)

      1.89234,100(按

      Tab 鍵)

      25.81(按

      Tab 鍵)

      1.89234 6.0,0,3 7.3 8.scanf(“ %lf %lf %lf”,&a,&b,&c);9.13 13.000000 13.000000 10.b=a;a=c;c=b;或

      a=a+b;c=c-b;(對于本題來說,后者的答案更好,不僅使

      a 與

      c 的值進(jìn)行

      交換而且能保持中間變量

      b 的值不發(fā)生改變)

      第五章

      習(xí)題

      一、單項選擇題

      1.D 2.C 3.B 4.B 5.D 6.A 7.B 8.D

      二、填空題

      1.非零,零 2.k= =0 2.k= =0 3.if(abs(x)>4)

      Printf(“ %d ” ,x);else

      printf(“ error!”);4.if(x%2==1&&((x>=1)&&(x<=10)||(x>=200&&x<=210))printf(“%d”,x);5.k=1(原題最后一行漏了個

      d, 如果認(rèn)為原題正確 , 則輸出

      k=%。)6.10!,Right!11 7.$$$a=0 8.a=2,b=1 9.0

      第六章

      習(xí)題

      一、單項選擇題

      1.B 2.C 3.C 4.B 5.C 6.B

      7.C 8.A

      二、填空題

      1.無窮次

      2.8(原題有誤。應(yīng)該把

      b=1 后面的逗號改為分號)

      3.20 4.11 5.2.400000 6.*#*#*#$ 7.8 5 2 8.①

      d=1.0 ②

      k++

      k<=n 9.①

      x>=0 ②

      x

      第七章

      習(xí)題

      一、單項選擇題

      1.B 2.B 3.C 4.C 5.A 3 6.A 7.B 8.A

      二、填空題

      1.512 256 128 64 32 16 8 4 2 1 2.①

      a[age]++ ②

      i=18;i<26 3.①

      break

      i==8 4.①

      a[i]>b[j]

      ② i<3 ③

      j<5 5.①

      b[j]=a[j][0] ②

      b[j]

      第八章

      習(xí)題

      一、單項選擇題

      1.B 2.C 3.C 4.A 5.A 6.C 7.C 8.D 9.D 10.B 11.A 12.C 13.A 14.C 15.B

      二、填空題

      1.①

      return(0)

      return(n+sum(n-1))2.①

      return(1)

      n*facto(n-1)

      第九章

      習(xí)題

      一、單項選擇題

      1.D 2.C 3.D 4.A 5.C 6.C 7.C 8.A 9.B 10.C 11.A 12.A 13.B 14.B 15.B 16.D 17.C 18.D 19.B 20.D

      三、填空題

      1.①

      int * ②

      * z 2.①

      *p++ 3.①