求c语言程序设计第三版和c语言程序设计实验与习题指导答案

求c语言程序设计第三版和c语言程序设计实验与习题指导答案,第1张

c语言程序设计第三版指导答案

 

附录F  课后题参考答案 

习  题  1 

11  填空题 

1.函数 

2.主函数main();主函数main() 3.主函数main() 4.函数首部;函数体 5.{;} 

6.顺序结构;选择结构;循环结构 7.c;obj;exe 

12  思考题 

1.答:结构化程序设计是指,为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构 

2.答:算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。 

3.略 4.略 5.略 13  编程题 1.答: 

#include "stdioh" main() 

{  float a=10, b=20, h=5, s;    s=(a+b)h/2; 

   printf("s=%f " , s ); } 

2.答: 

#include "stdioh" 

main() 

{  printf("");    printf("        hello  world         ");    printf(""); }

习  题  2 

21  单选题 

DBDCA  DCABB  CA 

22  填空题 

1.2000000  

 

2.1;0500000 

3.9;2 4.6 5.100;d 6.(1)20     

(2)0   

 

 (3)60 7.(1)10;6;4     

(2)6;9;15  

 (3)3;60;83 

8.55或 '7' 

9.x=4;y=6;z=3;m=463 

23  改错题(略) 

习  题  3 

31  单选题 

BDABC  ADCAC  BBA 

32  填空题 

1.3 2.261 3.10 

4.2, 1;互换a,b的值 5.66 6.003 7.7 

8.50,4,c=3<Enter> 

9.i=10,j=20<Enter> 

10.   (1)65   (2)65,A   (3)314,12346 

  (4)3141600e+000,1234560e+002   (5)8765432100   (6)8765432e+003

11.a=2b=5x=88y=7634c1=65c2=97 12.%d/%d;%d/%d=%2f\n 

33  改错题(略) 34  编程题 

1.答: 

#include "stdioh" main() { 

  int x,y; 

  scanf("%d%d",&x,&y);   printf("\t\tx\ty\n"); 

  printf("十进制数\t%d\t%d\n",x,y);   printf("八进制数\t%o\t%o\n",x,y);   printf("十六进制数\t%X\t%x\n",x,y); } 

2.答: 

#include "stdioh" main() { 

  char ch; 

  printf("请输入一个大写英文字母");   scanf("%c",&ch); 

  printf("大写英文字母是%c\n",ch);   printf("它的前导字符是%c\n",ch-1);   printf("它的后续字符是%c\n",ch+1); } 

3.答: 

#include "stdioh"   main()   { 

  int x,a,b,c,y; 

  printf("请输入一个三位整数\n");   scanf("%d",&x);   a=x/100; 

  b=(x-a100)/10;   c=x%10; 

  y=c100+b10+a; 

  printf("反向输出该整数:%d\n",y);   } } 

4.答: 

#include "stdioh" main() 

{  int hour; 

  double salary, salaryday; 

  scanf("%d,%lf", &hour, &salaryday ); 

  salary=hoursalaryday- hoursalaryday01; 

printf("%82lf\n", salary); } 

5.答: 

#include "stdioh" main() { 

  int a,b,c,t; 

  printf("请输入三个整数\n");   scanf("%d%d%d",&a,&b,&c); 

  printf("交换前a=%d,b=%d,c=%d\n",a,b,c);   t=a;a=c;c=b;b=t; 

  printf("交换后a=%d,b=%d,c=%d\n",a,b,c); } 

习  题  4 

41  单选题 

BADDD  ACBBB  BA 

42  填空题 

1.1 

2.(1)a>0 || b>0     

 

 

 

 

 (2)x>0 && x<=10   (3)a==15 && b==15 && c==15    

(4)p<a || p<b || p<c  

3.(1)0    (2)1    (3)1    (4)0    (5)1 

4.c=1 5.-4 6.1 7.5, 0, 3 8.5 9.123 

10.( cvb= ='y'||cvb= ='Y')&&(work>=3||college=='y'|| college=='Y')&&age<=35 

43  改错题(略) 44  编程题 

1.答 

#include "stdioh" 

#include "mathh" main() { 

  double a,b,c,p,area; 

  scanf("%lf%lf%lf",&a,&b,&c); 

  printf("三角形的三边为:%llf,%1lf,%1lf\n",a,b,c);  if (a+b>c&&a+c>b&&b+c>a)  {p=(a+b+c)/2;

area=sqrt(p(p-a)(p-b)(p-c)); 

  printf("三角形的面积为%2lf\n",area);  }  else 

  printf("不能构成三角形\n"); } 

2.答: 

#include "stdioh" main() 

{ int x,y; 

  scanf("%d,%d",&x,&y);   if(xx+yy>1000)  

     printf("%d\n",(xx+yy)/100);   else 

     printf("%d\n",x+y); } 

3.答: 

#include "stdioh" #include "mathh" main() 

{ double x,y; 

  scanf("%lf",&x);   if(x<-2)       y=xx-sin(x);   else if (x<=2)     y=pow(2,x)+x;   else     y=sqrt(xx+x+1); 

  printf("x=%2lf y=%2lf\n",x,y); } 

4.答: 

#include "stdioh" main( ) 

{ long ge,shi,qian,wan,x;    scanf("%ld",&x);    wan=x/10000; 

   qian=x%10000/1000;    shi=x%100/10; 

   ge=x%10; 

   if (ge==wan&&shi==qian)       /个位等于万位并且十位等于千位/     printf("this number is a huiwen\n");    else      

 printf("this number is not a huiwen\n"); 

5.答: 

#include "stdioh"  main() 

{  float p,w,s,d,f; 

scanf("%f,%,%f",p,s,w);    if (s>3000) d=015    else if( s>=2000) d=01;    else if(s>=1000) d=008;    else if(s>=500) d=005;    else if(s>=250) d=002;    else  d=0    f=pws(1-d);    printf("%f",f); } 

6.答: 

#include "stdioh" main() 

{  int year,money;    char x; 

   printf("是否是本公司产品(y/n):");    scanf("%c",&x); 

   if(x=='y'||x=='Y') 

      {printf("产品使用的年限:");       scanf("%d",&year); 

     if(year<=1) money=0; 

    else if(year<8) money=50;     else money=100; 

  

  printf("产品保修额是:%d\n",money); 

   } 

   else  

   {  money=200; 

     printf("不是本公司产品,产品保修额是:%d\n",money);    } } 

7.答: 

#include "stdioh" main() 

{  int money,num1,num2; 

   printf("请输入取款额(≤2000):");    scanf("%d",&money); 

   if(money>2000) printf("请输入取款额数≤2000!\n");    else      if(money%50==0)      { num1=money/100;        num2=(money-num1100)/50;         printf("需支付100元:%d张\n",num1);        printf("需支付50元:%d张\n",num2);       }    else       printf("输入钱数必须是50的倍数!\n"); }

习  题  5 

51  单选题 

CDABA  ABDDB  DBCB 

52  填空题 

1.2 0 2.333  

3.(1)i<10 或 i<=9    (2)j%3!=0 

4.(1)flag(float)k/(k+1) 或10flagk/(k+1)   (2)flag=-flag 5.(1)max=x   

 

  

(2)x!=-1    (3)scanf("%d", &x) 

6.(1)x<=9或x<10    

(2)y=9-x 

53  改错题(略) 54  编程题 

1.答: 

(1)for循环,其他略 

#include "stdioh" 

main() 

{ int i,s=0; 

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

  printf("%d\n",s); } 

(2)for循环,其他略 

#include "stdioh" main() 

{ int i=1,p=1;   double s=1;   do   { 

      s+=10/p;       p=++i; 

  }while(10/p>1e-6);   printf("%lf",s); } 

2.答: 

#include "stdioh" main() 

{  int m,n,t,a,b; 

   scanf("%d,%d" ,&m,&n)     if (m<n)

{ t=m m=n n=t }    a=m;    b=n;    t=m%n     while(t) 

   { m=n  n=t t=m%n;}    printf("%d",n); } 

3.答: 

#include "stdioh" main() 

{  int x,y,s=1; 

   scanf("%d,%d",&x,&y)     for( y>0 y--)s=x  

   printf("%d,%d,%d\n ",s%10,s/10%10,s/100%10); } 

4.答: 

#include "stdioh" main() 

{ int x,y,z; 

  for( x=1  x<20 x++)   for( y=1 y<33 y++)   { z=100-x-y  

        if ((z%3)==0 &&(5x+3y+z/3)==100)     printf("x=%d,y=%d,z=%d\n",x,y,z)    } } 

5.答: (a) 

#include "stdioh" main() 

{ int j,k  

   for( j=1 j<=4 j++) 

  {  for(k=1;k<=4-j;k++)printf(" ");    printf("")           printf("\n")    } } 

(b) 

#include "stdioh" main() 

{  int j,k  

   for( j=1 j<=4 j++) 

  {for(k=1;k<=4-j;k++)printf(" ");      for(k=1 k<=2j-1 k++)      printf("")          printf("\n")    } } 

6.答: 

程序分析:利用for循环控制在100~999之间,对每个数分解出个位、十位、百位。 

#include <stdioh> main() {   int i,j,k,n;   printf("water flower'number is:");   for(n=100;n<1000;n++)   {     i=n/100;/分解出百位/     j=n/10%10;/分解出十位/     k=n%10;/分解出个位/     if(n==iii+jjj+kkk)     {      printf("%-5d",n);     }   }   printf("\n"); } 

7.答: 

#include <stdioh> main() {   int x;   for(x=1000;x>=3;x--)   if(x%3==1&&x%5==2&&x%7==3)   { 

      printf("该校的学生人数是:%d人\n",x);       break;   } } 

8.答: 

#include <stdioh> main() {    int x=12,i=1;    while(1) 

   {  if((x+20+i)==2(x+i)) break;        i++;    }    printf("小明母亲在%d年后比小明的年龄大一倍\n",i);    printf("那时小明年龄是:%d岁,小明母亲年龄是:%d岁\n",x+i,x+20+i); } 

习  题  6 

61  单选题 

DBCCB   BDC

C语言程序设计教程(第3版) 

  278 

62  填空题 

1.c 2.60 3.1000  10 4.16  

63  编程题 

1.答: 

#include "stdioh" #include "mathh" 

#define  F(a)  aa+ sqrt(3aa+2a+1) main() 

{   float  x, f; 

    scanf("%f", &x ); 

    f=45/F(exp(x))+F(cos(x))+F(sqrt(x))/F(xx)      printf("%f\n", f); } 

习  题  7 

71  单选题 

BCADA  CCCDA  BCBDB 

72  填空题 

1.(1)2 3 4 5   (2)10010    (3)QuickC  

 

(4)10000        01000        00100        00010        00001   (5)Language 

(6)Language Programming 2.(1)j+=2   (2)a[i]>a[j] 3.(1)i=1    (2)x[i-1] 

73  改错题(略) 74  编程题 

1.答: 

#define N 10  

#include "stdioh" main()  

{ int a[N]={1,2,3,4,5,6,7,8,9,10,osum=0, qsum=0,j;   for(j=0;j<10;j++) 

  if( j%2) qsum+=a[j];

else osum+=a[j]; 

 printf("osum=%d,qsum=%d\n", osum,qsum); } 

2.答: 

#define N 10 

#include "stdioh"  main() 

{ int a[N]={10,20,30,40,50,60,70,80,90}, j, k, x;   scanf("%d",&x);   for(j=0;j<N;j++) 

        if (x<a[j]) break; if(j==N) a[N-1]=x;  else 

{for(k=N-1; k>j; k--)      a[k]=a[k-1]; a[j]=x;} 

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

       printf("%d   ",a[j]); } 

3.答: 

#define M 3 

#include "stdioh" main() 

{  int a[M][M]={{1,2,3},{2,4,5},{3,5,6}},j,k,flag=1;;    for( j=0;j<M;j++) 

        for(k=0;k<M;k++)           if (a[j][k]!=a[k][j]) { flag=0; break;}    if (flag) printf("ok");    else printf("NO"); } 

4.答: 

#include "stdioh" #include "stringh" main() 

{  char c1[10],c2[10],j;    gets(c1); gets(c2); 

   for(j=0; (c1[j]==c2[j]) && c1[j] && c2[j]; j++);    if (c1[j]>c2[j]) printf("%d\n",1);    if (c1[j]<c2[j]) printf("%d\n",-1);    if (c1[j]==c2[j]) printf("%d\n",0); } 

5.答: 

#include "stdioh" #include "stringh" #define M 3 #define N 80 main() 

{  char a[M][N],j,k,n[5]={0};    for(j=0;j<M;j++)     gets(a[j]);

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

  for(k=0;a[j][k];k++) 

    if( a[j][k]>='A' && a[j][k]<='Z') n[0]++; 

    else if (a[j][k]>='a' && a[j][k]<='z') n[1]++;     else if (a[j][k]>='0' && a[j][k]<='9') n[2]++;     else if (a[j][k]==' ' ) n[3]++;     else     n[4]++; 

    for(j=0;j<5;j++)      printf("%4d", n[j]); } 

习  题  8 

81  单选题 

DBDAC  BACCC 

82  填空题 

1.(1)2, 1     (2)10#30#   (3)FOUR, P    (4)60 

2.(1)49  

  (2)2      

(3)2    

 

  (4)     

 

(5)     

83  改错题(略) 84  编程题 

1.答: 

#include "stdioh" 

main() 

{  int n1,n2,n3,t;    int p1,p2,p3; 

   printf("please input 3 number:n1,n2,n3:");    scanf("%d,%d,%d",&n1,&n2,&n3);    p1=&n1; 

   p2=&n2;    p3=&n3; 

   if(p1> p2) { t=p1;p1=p2;p2=t;} 

   if(p1>p3) { t=p1;p1=p3;p3=t;}    if(p2>p3) { t=p2;p2=p3;p3=t;} 

   printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3); } 

2.答: 

#include "stdioh" #define N 3 main() 

{  int a[N],p=a;    for(;p-a<N; p++)    scanf("%d",p);    p=a+N-1; 

   for(;p-a>=0; p--)      printf("%d ",p); } 

3.答: 

#include "stdioh" main() 

{  int a[10]; 

   int j,minl=0,maxl=0;    for(j=0;j<10;j++) 

       scanf("%d", a+j);    for(j=0;j<10;j++) 

     { if(a[maxl]<(a+j))  maxl=j;      if(a[minl]>(a+j))  minl=j;    } 

   j=a[0]; a[0]=a[minl];a[minl]=j;    j=a[9];a[9]=a[maxl];a[maxl]=j;    for(j=0;j<10;j++)    printf("%d ", (a+j)); } 

4.答: 

    输入阵列如下:   1   2   3   4                      5   6   7   8                      9   10  11  12     输出阵列如下: 

                     12  11  10  9                      8   7   6   5                      4   3   2   1 

#define M 3 

#define N 4 

#include "stdioh" main() 

{  int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},k,j,p=&a[0][0],t;    for(k=0,j=MN-1;k<j;k++,j--) 

   {  t=(p+k); (p+k)=(p+j); (p+j)=t;}    for (k=0 k<M k++)    {  for(j=0 j<N j++) 

   printf("%4d ",a[k][j]);      printf("\n");

 } } 

5.答: 

#include "stdioh" main() { 

   int len; 

   char str[20],p=str; 

   printf("please input a string:\n");    scanf("%s",str);    len=0; 

   while(p!='\0')    { 

      len++;       p++;    } 

      printf("the string has %d characters\n",len); } 

6.答: 

#include "stringh" #include "stdioh" main() { 

   char str1[5],ch[5][20],k,t,j,c; void sort(char );    for(k=0;k<5;k++)     {str1[k]=ch[k];     gets(str1[k]);}    for(k=0;k<7;k++) 

   {  t=k; 

      for(j=k+1;j<5;j++)      if(strcmp((str1+t),(str1+j))>0) t=j;      c=(str1+t); 

    (str1+t)=(str1+k)      (str1+k)=c     } 

   for(k=0;k<5;k++)     puts(str1[k]); } 

习  题  9 

91  单选题 

CBBAD  DBCCD  DCABC  BCCBA  DCDAB

92  填空题 

1.120 2.x 3.3,2,2,3   4.fac /i 5.8,17 6.9 7.10/(ii)   8. 

    fun-in:30,20,10     fun-end:1015,35,1050      10,20,30 9.012345   10.93636  11.(1)r+b[k]  (2)x 

12.7 5 3 1 9 13.15 

14.(1)x    (2)t 15.(1)'\0'    (2)n++ 16.024 

93  改错题(略) 94  编程题 

1.答: 

void  zhuan( ) 

{  char ch; 

   while((ch=getchar())!='\n') 

   {    if(ch>='a' && ch<='z') ch=ch-32;         putchar(ch);    } } 

2.答: 

double expp(int n) { int k, fac=1;  double sum=1; 

  for(k=1; k<=n; k++)   { fac=k; 

     sum+=10/fac    } 

  return(sum); } 

3.答: 

int  xy3( int x, int y)

{ int k, num=1; 

  for(k=1;k<=y  k++)     num=x  

  num=num%1000    return num  } 

4.答: 

int age( int n) { int c; 

  if(n==1) c=10  

  else c=age(n-1)+2    return c  } 

5.答: 

#include "stdioh" 

 main() 

{  int a,b,c,d; 

   void fun(int a,int b,int c, int d);    scanf("%d%d",&a,&b);    fun(a,b,&c,&d); 

   printf("%d %d",c,d); 

void fun(int a,int b,int c, int d) {  if (b) 

    { c=a/b; d=a%b;} } 

6.答: 

#include "stdioh" 

main(int argc,char argv[]) {  int k; 

    printf("argc=%d\n",argc);     for (k=1;k<argc; k++)          printf("%s\n",argv[k]); } 

习  题  10 

101  单选题 

CDBBB  BBBAD  CCBDC   

102  填空题 

1.所有结构体成员所占存储空间的总和 2.与占用存储空间最大的那个成员相等 

附录F  课后题参考答案 

 

  285 

3.(1)struct satype  (2)3   (3)saa   (4)9   (5)psa=&sa 4.80 5.struct node 6.0 

103  编程题 

1.答: 

#include "stdioh" 

struct student { 

  long  num; 

  char  name[20];   char  sex;   float  score; }; main() 

{ struct  student  s[20], temp;   int j,k, man=0, woman=0; 

  float summan=0,sumwoman=0, aveman, avewoman;   for(k=0; k<20; k++) 

  { scanf("%ld %s %c%f",&s[k]num,s[k]name,&s[k]sex,&s[k]score);     if(s[k]sex=='m')  

    { summan+=s[k]score; man++;}     else  

    { sumwoman+=s[k]score;woman++ }     } 

    aveman=summan/man; 

    avewoman=sumwoman/woman; 

    printf("%d\t%f\t%d\t%f\n",man,aveman,woman,avewoman);     for(k=0; k<19; k++) 

       for(j=0;j<20-k;j++) 

           if(s[j]score<s[j+1]score) 

           { temp=s[j];s[j]=s[j+1];s[j+1]=temp;}        printf("the sorted numbers:\n");        for(k=0;k<20;k++) 

           printf("%ld\t%s\t%c\t%51f\n",s[k]num,s[k]name,s[k]sex,s[k]score); } 

习  题  11 

111  单选题 

BADD 

112  填空题 

1.3d3d330 2.(1)28 

 (2)20   (3)0   (4)--9 

3.(1)251 

 (2)42   

(3)209  

 (4)–295  (5)848 

习  题  12 

121  单选题 

BCDCA  ADA 

122  填空题 

1.rewind(文件指针) 2."d1dat","rb" 3.stdin 

4.文本文件;二进制文件 5.(1)"w"    

(2)str[i]--32  

 

 (3)"r" 

6.fopen  7.Hello 8.(1)"r"   

 

(2)fgetc(fp)  

 

  (3)time++

  

  

 C语言程序设计实验与习题指导课后程序设计答案

 P18 

(1) 

#include<stdioh> int main(void) {  intcelsius,fahr;  fahr=150;  celsius=5fahr/9-532/9;  printf("fahr=%d,celsius=%d\n",fahr,celsius);  return 0; } 

(2) 

#include<stdioh> int main(void) {  intcelsius,fahr;  celsius=26;  fahr=9celsius/5+32;  printf("celsius=%d,fahr=%d\n",celsius,fahr);  return 0; } 

(3) 

#include<stdioh> int main(void) {  intaverage,math,eng,comp;  math=87;  eng=72;  comp=93;  average=(math+eng+comp)/3;  printf("math=%d,eng=%d,comp=%d,average=%d\n",math,eng,comp,average);  return 0; } 

(4) 

#include<stdioh> int main(void) {  intn,a,b,c;  n=152

 c=n%10; 

 b=(n/10)%10;  a=n/100; 

 printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,c,b,a);  return 0; 

P27 

(1) 

#include<stdioh> #include<mathh> int main(void) {  intcelsius,fahr;  printf("Enter celsius:");  scanf("%d",&celsius);  fahr=9celsius/5+32;  printf("fahr%d\n",fahr);  return 0; } 

(2) 

#include<stdioh> #include<mathh> int main(void) {  intmoney,year;  doublerate,interest;  printf("Enter money,year,rate:");  scanf("%d%d%lf",&money,&year,&rate);  interest=moneypow(1+rate,year)-money;  printf("interest=%2f\n",interest);  return 0; } 

(3) 

#include<stdioh> #include<mathh> int main(void) {  doublex,y;  printf("Enter x:");  scanf("%lf",&x); 

 if(x<0){   y=pow(x+1,2)+2x+1/x;  }  else{   y=sqrt(x);  } 

 printf("y=f(%f)=%2f\n",x,y);  return 0; 

(4) 

#include<stdioh> int main(void) {  intx,y;  printf("Enter num1:");  scanf("%d",&x);  printf("Enter num2:");  scanf("%d",&y);  printf("%d+%d=%d\n",x,y,x+y);  printf("%d-%d=%d\n",x,y,x-y);  printf("%d%d=%d\n",x,y,xy);  printf("%d/%d=%d\n",x,y,x/y);  printf("%d%%%d=%d\n",x,y,x%y);  return 0; } 

10的阶乘 

#include<stdioh> int main(void) {  inti,n,product;  printf("Enter n:");  scanf("%d",&n);  product=1;  for(i=1;i<=n;i++){   product=producti;  }  printf("product=%d\n",product);  return 0; }

C语言概述

11C语言出现的历史背景

12C 语言的特点

13简单的C语言程序介绍

14运行C程序的步骤与方法

141运行C程序的步骤

142上机运行C程序的方法

习题

程序的灵魂——算法

21算法的概念

2.2简单算法举例

23算法的特性

24怎样表示一个算法

241用自然语言表示算法

242用流程图表示算法

2433种基本结构和改进的流程图

244用N\|S流程图表示算法

245用伪代码表示算法

246用计算机语言表示算法

25结构化程序设计方法

习题

数据类型、运算符与表达式

31C语言的数据类型

32常量与变量

321常量和符号常量

3.2.2变量

3.3整型数据

3.3.1整型常量的表示方法

332整型变量

333整型常量的类型

3.4浮点型数据

3.4.1浮点型常量的表示方法

3.4.2浮点型变量

343浮点型常量的类型

3.5字符型数据

3.5.1字符常量

3.5.2字符变量

3.5.3字符数据在内存中的存储形式及其使用方法

3.5.4字符串常量

3.6变量赋初值

37各类数值型数据间的混合运算

38算术运算符和算术表达式

3.8.1C语言运算符简介

3.8.2算术运算符和算术表达式

3.9赋值运算符和赋值表达式

3.10逗号运算符和逗号表达式

习题

最简单的C程序设计——顺序程序设计

4.1C语句概述

42赋值语句

43数据输入输出的概念及在C语言中的实现

4.4字符数据的输入输出

441 putchar函数

442 getchar函数

4.5格式输入与输出

451printf函数

4.5.2scanf函数

46顺序结构程序设计举例

习题

选择结构程序设计

5.1关系运算符和关系表达式

5.1.1关系运算符及其优先次序

5.1.2关系表达式

5.2逻辑运算符和逻辑表达式

5.2.1逻辑运算符及其优先次序

5.2.2逻辑表达式

5.3if 语句

5.3.1if语句的3种形式

5.3.2if语句的嵌套

5.3.3条件运算符

5.4switch语句

5.5程序举例

习题

循环控制

61概述

62goto语句以及用goto语句构成循环

63用while语句实现循环

64用do…while语句实现循环

65用for 语句实现循环

66循环的嵌套

67几种循环的比较

68break语句和continue语句

681break语句

682continue语句

69程序举例

习题

数组

71一维数组的定义和引用

711一维数组的定义

712一维数组元素的引用

713一维数组的初始化

714一维数组程序举例

72二维数组的定义和引用

721 二维数组的定义

722二维数组的引用

723二维数组的初始化

724二维数组程序举例

73字符数组

731字符数组的定义

732字符数组的初始化

733字符数组的引用

734字符串和字符串结束标志

735字符数组的输入输出

736字符串处理函数

737字符数组应用举例

习题

函数

8.1概述

8.2函数定义的一般形式

821无参函数定义的一般形式

822有参函数定义的一般形式

823空函数

8.3函数参数和函数的值

8.3.1形式参数和实际参数

832函数的返回值

8.4函数的调用

8.4.1函数调用的一般形式

8.4.2函数调用的方式

8.4.3对被调用函数的声明和函数原型

8.5函数的嵌套调用

8.6函数的递归调用

8.7数组作为函数参数

871数组元素作函数实参

872数组名作函数参数

873多维数组名作函数参数

8.8局部变量和全局变量

8.8.1局部变量

882全局变量

8.9变量的存储类别

8.9.1动态存储方式与静态存储方式

8.9.2auto变量

893用static声明局部变量

894register变量

8.9.5用extern声明外部变量

896用static声明外部变量

897关于变量的声明和定义

8.9.8存储类别小结

810内部函数和外部函数

8101内部函数

8102外部函数

习题

预处理命令

9.1宏定义

9.1.1不带参数的宏定义

9.1.2带参数的宏定义

9.2“文件包含”处理

93条件编译

习题

指针

10.1地址和指针的概念

10.2变量的指针和指向变量的指针变量

10.2.1定义一个指针变量

10.2.2指针变量的引用

10.2.3指针变量作为函数参数

10.3数组与指针

10.3.1指向数组元素的指针

10.3.2通过指针引用数组元素

1033用数组名作函数参数

10.3.4多维数组与指针

10.4字符串与指针

10.4.1字符串的表示形式

10.4.2字符指针作函数参数

10.4.3对使用字符指针变量和字符数组的讨论

10.5指向函数的指针

10.5.1用函数指针变量调用函数

10.5.2用指向函数的指针作函数参数

10.6返回指针值的函数

10.7指针数组和指向指针的指针

10.7.1指针数组的概念

10.7.2指向指针的指针

10.7.3指针数组作main函数的形参

10.8有关指针的数据类型和指针运算的小结

1081有关指针的数据类型的小结

1082指针运算小结

1083void指针类型

习题

结构体与共用体

111概述

112定义结构体类型变量的方法

113结构体变量的引用

11.4结构体变量的初始化

11.5结构体数组

1151定义结构体数组

1152结构体数组的初始化

1153结构体数组应用举例

11.6指向结构体类型数据的指针

11.6.1指向结构体变量的指针

11.6.2指向结构体数组的指针

11.6.3用结构体变量和指向结构体的指针作

函数参数

11.7用指针处理链表

11.7.1链表概述

1172简单链表

1173处理动态链表所需的函数

1174建立动态链表

11.7.5输出链表

11.7.6对链表的删除 *** 作

11.7.7对链表的插入 *** 作

1178对链表的综合 *** 作

11.8共用体

11.8.1共用体的概念

11.8.2共用体变量的引用方式

11.8.3共用体类型数据的特点

11.9枚举类型312

11.10用typedef定义类型

习题

位运算

12.1位运算符和位运算

1211“按位与”运算符(&)

1212“按位或”运算符(|)

1213“异或”运算符(∧)

1214“取反”运算符(~)

1215左移运算符(<<)

1216右移运算符(>>)

1217位运算赋值运算符

1218不同长度的数据进行位运算

122位运算举例

123位段

习题

文件

13.1C文件概述

13.2文件类型指针

13.3文件的打开与关闭

13.3.1文件的打开(fopen函数)

13.3.2文件的关闭(fclose函数)

13.4文件的读写

13.4.1fputc函数和fgetc函数(putc函数和getc函数)

13.4.2fread函数和fwrite函数

13.4.3fprintf函数和fscanf函数

13.4.4其他读写函数

13.5文件的定位

13.5.1rewind函数

13.5.2fseek函数和随机读写

13.5.3ftell函数

13.6出错的检测

13.6.1ferror函数

13.6.2clearerr函数

13.7文件输入输出小结

这个是第3版

前两版书中,采用的Turbo C 20对程序进行编译。第三版改用Turbo C++30作为编译工具。还有就是前两版书中的14章和15章介绍的C++的初步知识。由于作者已出版《C++程序设计》,为压缩篇幅,第三版不再保留这两章的内容。适合初学者学习,也是全国计算机2级C的教材,但不适合深究C语言。

以上就是关于求c语言程序设计第三版和c语言程序设计实验与习题指导答案全部的内容,包括:求c语言程序设计第三版和c语言程序设计实验与习题指导答案、c程序设计第二版和第三版比较,哪个版本好、c语言程序设计 谭浩强 第三版跟其他版本有什么不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9322507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存