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语言程序设计 谭浩强 第三版跟其他版本有什么不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)