文档库 最新最全的文档下载
当前位置:文档库 › C语言教程课后习题答案

C语言教程课后习题答案

C语言教程课后习题答案
C语言教程课后习题答案

第一章 C语言概述

一、简答题

1.(1)语言简洁、紧凑,使用方便、灵活;(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.顺序结构,分支结构,循环结构

3.所谓算法就是为解决一个问题而采取的方法和步骤。

算法的特性:有穷性、确定性、输入、输出、可行性。

表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。

二、算法

1.瓶子A里盛有醋

瓶子B里盛有酱油

有一个空瓶C

将A中的醋倒入C

将B中的酱油倒入A

将C中的醋倒入B

2.输入一个数放在a中

max = a

以下步骤重复9次:

输入一个数放在a中

如果a>max,max=a

打印max的值

3.如果 a

temp=a

a=b

b=temp

如果 c>a

temp= a

a=c

c=temp

否则

如果 c>b

temp=b

b=c

c=temp

打印a,b,c的值

4. i=1

sum=0

以下程序循环100遍:

sum=sum+i

i=i+1

打印sum的值

5.如果(n除以3的余数为0 并且 n除以5的余数为0)

n能够同时被3和5整除

否则

n不能够同时被3和5整除

6. i=101

以下语句循环50遍:

j=2

flag=1

当j<(i除以2的整数部分)时循环以下语句:

如果i除以j的余数为零

flag=0

退出该循环

如果flag==1

打印i的值

i=i+2

7.如果m

temp=m

m=n

n=temp

i=n

做以下循环,直到m,n能够被i整除:

如果m能够被i整除并且n能够被i整除

i即是m和n的最大公约数

跳出循环

否则

i=i-1

打印i的值

8. data=b*b—4*a*c

如果data>0

否则如果data=0

x1=x2=—b/2

否则

无实数解

三、编程题

1. main()

{

printf(“##############################\n”); printf(“ How do you do? \n”); printf(“##############################\n”);}

2. main()

{

inta,b,c;

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

printf(“sum=%d”,a+b+c);

}

第二章数据类型与表达式

一、单项选择题

1. B

2. C

3. A

4. A

5. D

6. B

7.A

8.C

9.D

二、写出下列程序的运行结果

1.

aabb cc abc

AN

2.

ab

9798

3. 9,11,9,10

4.

a=2,b=3,c=2

5.

s1=2.500000

s2=3

三、编程题

main()

{

char c1='c',c2='h',c3='i',c4='n',c5='a';

c1=c1+4;

c2=c2+4;

c3=c3+4;

c4=c4+4;

c5=c5+4;

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

第三章顺序程序设计

选择题

1)B 2)D 3)D 4)A 5)A 6)B 7)B 8)A 9)D 10)C 11)D 12)A

填空题

1)b 2)261 3)25 21 37 4)abc 5)5.0,4,c=3 6)3

编程题

#define PI 3.1415926

main( )

{

float h, r, l, sv, sz ;

printf(“请输入圆的半径r,圆柱高h:\n”) ;

scanf(“%f,%f”,&r, &h) ;

l=2* PI *r ;

s= PI *r*r ;

sv=3.0/4.0* PI *r*r*r ;

sz= PI *r*r*h ;

printf(“圆周长为:l=%6.2f, 圆面积为:s=%6.2f\n”, l, s) ;

printf(“求体积为:sv=%6.2f, 圆柱体积为:sz=%6.2f\n”, sv, sz) ;

}

2、

main( )

{

float c, f ;

printf(“请输入一个华氏温度:\n”) ;

scanf(“%f”, &f) ;

c=5.0/9.0*(f-32) ;

printf(“摄氏温度为:%6.2f\n”, c) ;

}

第四章循环程序设计

一、选择题

1.D

2.D

3.D

4.C

5.D

6.A

7.B

8.B

9.A10.D.11.B 12.A 13.B 14.C 15.C 16.A 17.A 18.B 19.D

20.D 21.A

二、填空题

1.585858

2.0

3.18

4.8921

5.20,0

6.6

7.1,3,2

8.Year%400==0

year%100!=0

count++

三、编程题

1.

main()

{

long a;

scanf(“%ld”,&a);

if (a>=10000&&a<=99999)

printf(“这是个五位数”);else if (a>=1000&&a<=9999) printf(“这是个四位数”);else if (a>=100&&a<=999) printf(“这是个三位数”);else if (a>=10&&a<=99) printf(“这是个二位数”);else if (a>=0&&a<=9)

printf(“这是个一位数”);else

printf(“输入错误”);

}

3.

main()

{

int a;

int g,s,b;//个位、十位、百位printf("水仙花数有:\n");

for(a=100;i<=999;a++)

{g=a%10;

s=a/10%10;

b=a/100;

if (a==g*g*g+s*s*s+b*b*b) printf("%d ",a);

}

printf("\n");

}

4、

main()

{int i,n;

printf("input n:");

scanf("%d",&n);

printf("\n%d=",n);

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

{while(i!=n)

if(n%i==0)

{printf("%d*",i);n/=i;}

else break;

}

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

}

5、

#include “stdio.h”

main()

{

char c;

int w,x,y,z;

w=x=y=z=0;

while((c=getchar())!=’\n’)

{

if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’)) w++;

else if (c==’ ’)

x++;

else if (c>’0’&&c<’9’)

y++;

else z++;

}

printf(“英文字母个数:%d\n”,w);

printf(“空格个数:%d\n”,x);

printf(“数字个数:%d\n”,y);

printf(“其他字母个数:%d\n”,z);

}

6、main()

{

float h=100,t=100;

int j;

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

{

t=t/2;

h=h+t*2;

}

printf(“共经过:%f 米\n”,h);

printf(“第十次反弹 %f 米\n”,t/2);

}

第五章数组

一、单项选择题

1. B

2. A

3. C

4. C

5. D

6. B

7.C

8.B

9.C 10. B

二、写出下列程序的运行结果

1.S=368

2.

*****

*****

*****

*****

*****

3.S1=18

S2=10

4.!margorP

5.

数字0的出现次数是:3

数字1的出现次数是:2

数字2的出现次数是:2

数字3的出现次数是:2

数字4的出现次数是:0

数字5的出现次数是:1

数字6的出现次数是:1

数字7的出现次数是:1

数字8的出现次数是:1

数字9的出现次数是:1

三、编程题

1.#include "stdio.h"

main()

{int a[11];

int i,j,t;

printf("input 10 number:\n");

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

scanf("%d",&a[i]);

printf("\n");

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

for (j=1;j<=10-i;j++)

if (a[j]

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("the sorted number is:\n");

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

printf("%4d",a[i]);

}

2.#include "stdio.h"

main()

{int a[11],i,b;

printf("imput 10 sorted number:\n");

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

scanf("%d",&a[i]);

printf("input an integer:\n");

scanf("%d",&b);

for(i=9;i>=0&&a[i]>b;i--)

a[i+1]=a[i];

a[i+1]=b;

printf("sorted numbers:\n");

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

printf("%5d",a[i]);

}

3.#include "stdio.h"

main()

{int a[5],i,j,t;

printf("input 5 integer:\n");

for(i=0;i<5;i++) /*输入5个整数*/

scanf("%d",&a[i]);

for(i=0,j=4;i

{t=a[i];a[i]=a[j];a[j]=t;}

for(i=0;i<5;i++) /*逆序存放后重新输出*/

printf("%5d",a[i]);

}

4.#include "stdio.h"

main()

{int i,j,a[10][10]={{1},{1,1}};

for(i=2;i<10;i++) /*给二维数组每个元素赋值*/ {a[i][0]=1;

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

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

for(i=0;i<10;i++) /*输出二维数组*/

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

printf("%-5d",a[i][j]);

printf("\n");

}

}

5.#include "stdio.h"

main()

{int a[3][4],i,j,max,row,col;

printf("input 3*4 matrix:\n");

for(i=0;i<3;i++) /*输入3*4矩阵*/

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

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

max=a[0][0]; row=0; col=0;

for(i=0;i<3;i++) /*寻找矩阵中的最大值及其行列号*/

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

if (max

{max=a[i][j]; row=i, col=j;}

printf("\n数组中最大的数是%d,其行号是%d,列号是%d\n",max,row,col);

}

6.#define N 3

#define M 4

#include "stdio.h"

main()

{int a[N][M],i,j,k,max,row,col;

printf("input %d*%d matrix:\n",N,M);

for(i=0;i

for (j=0;j

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

for(i=0;i

{max=a[i][0]; row=i; col=0;

for(j=1;j

{max=a[i][j]; col=j;}

for (k=0;k

break;

if (k==N) /*得到鞍点*/

{printf("the point is%d,row=%d,col=%d\n",max,row,col);break;}

}

if(i==N) /*没有鞍点*/

printf("no point\n");

}

7.#include "stdio.h"

main()

{int num=0,word=0;

/*word=0表示未出现单词,如出现单词就置word为1.num用来统计单词个数*/

charc;

printf("please input a string :\n");

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

if (c==' ')

word=0;

else if (word==0)

{word=1; num++;}

printf("There are %d words in theline\n",num);

}

8.#include "stdio.h"

main()

{int i,j,uppn,lown,dign,span,othn;

/*uppn,lown,dign,span,othn分别存放英文大写字母、小写字母、数字、空格和其他字符的个数*/

chartext[3][80];

uppn=lown=dign=span=othn=0;

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

{gets(text[i]);

for(j=0;j<80&&text[i][j]!='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z')

uppn++;

else if(text[i][j]>='a'&&text[i][j]<='z')

lown++;

else if(text[i][j]>='0'&&text[i][j]<='9')

dign++;

else if(text[i][j]==' ')

span++;

else

othn++;

}

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

printf("%s\n",text[i]);

printf("uppn=%d\n",uppn);

printf("lown=%d\n",lown);

printf("dign=%d\n",dign);

printf("span=%d\n",span);

printf("othn=%d\n",othn);

}

9.#include "stdio.h"

main()

{int i,j;

charstr1[20],str2[20];

printf("input two strings:\n");

gets(str1);

gets(str2);

j=strlen(str1); /*求字符串1的长度*/

for(i=0;str2[i]!='\0';i++,j++) /*字符串合并*/

str1[j]=str2[i];

str1[j]='\0'; /*加上字符串结束标志*/

puts(str1);

}

10.#include "stdio.h"

main()

{int i,n;

charstr1[20],str2[20];

printf("input two strings:(no more than20 characters)\n");

gets(str1); gets(str2);

n=strlen(str1)

for(i=0;i

printf("%d\n",str1[i]-str2[i]);

}

第六章函数与编译预处理

一、单项选择题

1. C

2. B

3. B

4. B

5. A

6. B

7.A

8.C

9.D 10. A

二、写出下列程序的运行结果

2.4,B

8,B

3.-4.000000

4.a=6,b=5

5.48

三、编程题

1.main()

{ int prime(int n);

int n;

printf("input n(n>0):\n");

scanf("%d",&n);

if(prime(n))

printf("%d is a sushu\n",n);

else printf("%d is not a sushu\n",n); }

int prime(int n)

{int flag=1,i;

for (i=2;i<=n/2&&flag==1;i++)

if (n%i==0) flag=0;

return(flag);

}

2.

#define N 3

convert(int array[3][3])

{ int i,j,t;

for(i=0;i

for (j=i+1;j

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

}

}

main()

{int i,j;

inta[N][N];

printf("inputa:\n");

for(i=0;i

for (j=0;j

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

printf("Array a:\n");

for(i=0;i

{for (j=0;j

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

printf("\n");

}

convert(a);

printf("a de zhuanzhi is:\n");

for(i=0;i

{for (j=0;j

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

printf("\n");

}

}

3. #include

#include

main()

{char str[100];

printf("input a string:\n") ;

gets(str);

inverse(str);

printf("the reversed string is:%s\n",str); }

inverse(char str[])

{

char t;

inti,j;

for(i=0,j=strlen(str)-1;i

{

t=str[i];

str[i]=str[j];

str[j]=t;

}

}

4. #include

concat(char str1[],char str2[])

{ int i=0,j;

while (str1[i]!='\0')

i++;

for(j=0;str2[j]!='\0';i++,j++)

str1[i]=str2[j];

str1[i]='\0';

}

main()

{

charstr1[100],str2[100];

gets(str1);gets(str2);

concat(str1,str2);

puts(str1);

}

5. main()

{char str[80];

printf("input a string (4 ge shu zi zi fu):\n");

scanf("%s",str);

insert(str);

printf("result is:\n%s\n",str);

}

insert(char str[])

{

inti;

for(i=strlen(str);i>0;i--)

{

str[2*i]=str[i];

str[2*i-1]=' ';

}

}

6. #include "stdio.h"

int i,ndight,nwhite,nletter,nother;

count(char str[])

{

ndight=nwhite=nletter=nother=0;

for (i=0;str[i]!='\0';i++)

if(str[i]>='0'&&str[i]<='9')

ndight++;

else if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')) nletter++;

else if (str[i]==' ')

nwhite++;

else nother++;

}

main()

{

chartext[80];

printf("input a string:\n");

gets(text);

count(text);

printf("ndight=%d,nletter=%d,nwhite=%d,nother=%d\n",ndight,nletter,nwhite,nothe r);

}

7. #define N 10

#include

sort(char str[])

{int i,j;

chart;

for (i=1;i

for (j=0;j

if (str[j]>str[j+1])

{t=str[j];str[j]=str[j+1] ;str[j+1]=t;}

}

main()

{

char str[N];

inti ;

printf("Input 10 ge zi fu:\n");

gets(str);

sort(str);

printf("The sorted result:\n") ;

for(i=0;i

printf("%c",str[i]);

}

8.这题较复杂

#include

#include

#define N 10

void input_e(int num[],char name[N][8])

{int i;

for(i=0;i

{printf("input gong hao:");

scanf("%d",&num[i]);

printf("input name:");

getchar();

gets(name[i]);

}

for(i=0;i

printf("%5d%10s\n",num[i],name[i]);

}

void sort(int num[],char name[N][8]) /*选择法排序*/

{int i,j,min,temp1;

chartemp2[8];

for(i=0;i

{min=i;

for (j=i+1;j

if (num[j]

temp1=num[i];

strcpy(temp2,name[i]);

num[i]=num[min];

strcpy(name[i],name[min]);

num[min]=temp1;

strcpy(name[min],temp2);

}

printf("the sorted result:\n");

for(i=0;i

printf("%5d%10s\n",num[i],name[i]);

}

void search(int n,int num[],char name[N][8]) /*折半查找法*/ {

inttop,bott,mid,find;

find=0;

top=0;

bott=N-1;

if((nnum[N-1]))

find=-1;

while ((find==0)&&(top<=bott))

{mid=(bott+top)/2;

if (n==num[mid])

{find=1; printf("%d name is:%s\n",n,name[mid]);}

else if (n

bott=mid-1;

else top=mid+1;

}

if((find==-1)||(find==0))

printf("%d is not found.\n",n);

}

main()

{

intnum[N],number,c,flag;

charname[N][8];

input_e(num,name);

sort(num,name);

for(flag=1;flag;)

{printf("please input chazhao de gonghao:"); /*输入查找的工号*/ scanf("%d",&number);

search(number,num,name);

printf("continue Y/N?"); /*是否继续查找*/

getchar();

c=getchar();

if (c=='N'||c=='n')

flag=0;

}

}

9. #include "stdio.h"

#define MAX 10

main()

{

charstr[MAX];

charc;

inti;

i=0;

printf("input number(16 jinzhi):"); /*输入一个十六进制的数*/

while((c=getchar())!='\n'&&i

{str[i]=c;

i++;

}

str[i]='\0';

printf("result is :%d\n",htod(str));

}

inthtod(char s[])

{

inti,n;

n=0;

for(i=0;s[i]!='\0';i++)

{if(s[i]>='0'&&s[i]<='9')

n=n*16+s[i]-'0';

if (s[i]>='a'&&s[i]<='f')

n=n*16+s[i]-'a'+10;

if (s[i]>='A'&&s[i]<='F')

n=n*16+s[i]-'A'+10;

}

return(n);

}

10. #define SWAP(a,b) t=a;a=b;b=t

main()

{

inta,b,t;

printf("input a,b:") ;

scanf("%d,%d",&a,&b);

SWAP(a,b);

printf("result:a=%d,b=%d\n",a,b);

}

11. #define SURPLUS(a,b) ((a)%(b)) main()

{

inta,b;

printf("input a,b:");

scanf("%d,%d",&a,&b);

printf("result is:%d\n",SURPLUS(a,b)); }

12. main()

{

inta,b,c;

printf("input a,b,c:");

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

printf("max=%d\n",max(a,b,c));

}

int max(int x,int y,int z)

{

intt;

t=(x>y ? x : y);

return(t>z?t:z);

}

#define MAX(x,y) ((x)>(y)?(x):(y)) main()

{

inta,b,c;

printf("input a,b,c:");

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

printf("max=%d\n",MAX(MAX(a,b),c));

}

13. #include "stdio.h"

#define CHANGE 1

#define MAX 80

main()

{

charstr[MAX];

inti;

printf("input a string:\n");

gets(str);

#if(CHANGE)

{for (i=0;str[i]!='\0';i++)

if (str[i]>='a'&&str[i]<'z'||str[i]>='A'&&str[i]<'Z') str[i]=str[i]+1;

else if (str[i]=='z'||str[i]=='Z')

str[i]=str[i]-25;

}

#endif

printf("%s\n",str);

#《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤和方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期

《C语言程序设计》_谭浩强版教案

《C 语言程序设计》教案 职称: 助教 ____________ 单 位:湖南理工职业技术学院 学院(教研室):风能工程学院 工业机器人专业 授课教师: 周常欣

教 学 重 占 八、、 和 难 占 八、、 一、 程序设计和 C 语言 重点:计算机程序、计算机语言、 C 语言编译软件的安装、最简单的 C 语言程序 二、 算法:程序的灵魂 重点:简单的算法举例、算法的特性、用流程图表示算法。 三、 顺序结构程序设计 重点:C 语言的数据类型、C 语句的种类、赋值语句、数据的输入输出及输入输出 中最常用的 控制格式。 四、 选择结构程序设计 重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、 二条分支语句的格 式及基本应用、多分支的选择语句。 五、 循环结构程序设计 重点:C 构成循环的四种方法,尤其是后三种方法、 break 与continue 语句的基本作 用。 难点:while 语句;do-while 语句;for 语句;循环的嵌套; break 与continue 语句。 六、 数组 重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处 理函数及字符处理函数;数组的应用 难点:二维数组的定义与引用;字符数组;数组的应用 七、 函数 重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的 递归调 用;数组作为函数参数;变量作用域;量存储类别; 难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调 用;数组作 为函数的参数、变量的存储类别与作用域。 八、 指针 重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字 符串、指针 数组与二级指针;指针的应用 九、 建立自己的数据类型 重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型 十、文件 重点:文件的基本知识、 fopen 、fclose 函数打开与关闭文件、顺序读与数据文件、 随机读写数据文件 难点:用二进制方式向文件读写一组数据。 十一、常见错误分析 重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。 十二、数组高级应用 重点:不定长数组与二维数组的应用 难点:不定长数组与二维数组的应用 十三、综合应用 重点:数组、if 语句、循环语句、函数知识的综合应用 难点:二维数组、指针 教材、 参 考书 教材:《C 程序设计》(第四版) 谭浩强著 清华大学出版社2010年6月 参考书:《C 程序设计语言》 Kernighan&Ritchie 机械工业出版社 《C 语言程序设计》教案 第1-2课时

谭浩强C语言教程Word版

软件简介: 1 C语言概述2 1.1 C语言的发展过程2 1.2 当代最优秀的程序设计语言2 1.3 C语言版本2 1.4 C语言的特点3 1.5 面向对象的程序设计语言3 1.6 C和C++3 1.7 简单的C程序介绍4 1.8 输入和输出函数5 1.9 C源程序的结构特点6 1.10 书写程序时应遵循的规则6 1.11 C语言的字符集6 1.12 C语言词汇7 1.13 Turbo C 2.0集成开发环境的使用8 1.1 3.1 Turbo C 2.0简介和启动8 1.13.2 Turbo C 2.0集成开发环境8 1.13.3 File菜单9 1.13.4 Edit菜单10 1.13.5 Run菜单11 1.13.6 Compile菜单12 1.13.7 Project菜单13 1.13.8 Options菜单14 1.13.9 Debug菜单18 1.13.10 Break/watch菜单19 1.13.11 Turbo C 2.0的配置文件20 2 程序的灵魂—算法1 2.1 算法的概念1 2.2 简单算法举例1 2.3 算法的特性4 2.4 怎样表示一个算法4 2.4.1 用自然语言表示算法4 2.4.2 用流程图表示算法4 2.4.3 三种基本结构和改进的流程图8 2.4.4 用N-S流程图表示算法9 2.4.5 用伪代码表示算法10 2.4.6 用计算机语言表示算法11 2.5 结构化程序设计方法11 2 3 数据类型、运算符与表达式1 3.1 C语言的数据类型1 3.2 常量与变量3

3.2.1 常量和符号常量3 3.2.2 变量3 3.3 整型数据4 3.3.1 整型常量的表示方法4 3.3.2 整型变量5 3.4 实型数据7 3.4.1 实型常量的表示方法7 3.4.2 实型变量8 3.4.3 实型常数的类型9 3.5 字符型数据9 3.5.1 字符常量9 3.5.2 转义字符9 3.5.3 字符变量10 3.5.4 字符数据在内存中的存储形式及使用方法10 3.5.5 字符串常量11 3.5.6 符号常量12 3.6 变量赋初值12 3.7 各类数值型数据之间的混合运算13 3.8 算术运算符和算术表达式14 3.8.1 C运算符简介14 3.8.2 算术运算符和算术表达式15 3.9 赋值运算符和赋值表达式17 3.10 逗号运算符和逗号表达式18 3.11 小结19 3.11.1 C的数据类型19 3.11.2 基本类型的分类及特点19 3.11.3 常量后缀19 3.11.4 常量类型19 3.11.5 数据类型转换19 3.11.6 运算符优先级和结合性20 3.11.7 表达式20 4 最简单的C程序设计—顺序程序设计1 4.1 C语句概述1 4.2 赋值语句3 4.3 数据输入输出的概念及在C语言中的实现4 4.4 字符数据的输入输出4 4.4.1 putchar 函数(字符输出函数)4 4.4.2 getchar函数(键盘输入函数)5 4.5 格式输入与输出5 4.5.1 printf函数(格式输出函数)5 4.5.2 scanf函数(格式输入函数) 8 4.6 顺序结构程序设计举例12 4 5 分支结构程序1

C语言程序设计谭浩强重点笔记

C语言设计 学习笔记 早晨:06:40 起床 07:20——08:20 英语 1小时 新概念英语(单词、语法、听读背) 大学英语(单词、语法、听读背) 上午:08:30——10:30 计算机基础 2小时 10:50——11:30 计算机科学技术导论 计算机组成原理 微机原理及接口技术 Intel微处理器结构编程与接口 深入理解计算机系统 80x86汇编语言程序设计 8086-8088宏汇编语言程序设计教程 BIOS研发技术剖析 自己动手写操作系统 操作系统原理 Windows操作系统原理 Windows内部原理系列 Windows程序内部运行原理 计算机网络第五版 中午:12:00——02:00 午休 下午:02:30——04:30 计算机应用及编程 Windows用户管理指南、AD配置指南、网络专业 指南、Windows即学即会教程 Windows下32位汇编语言程序设计、C#编程 晚上:05:30——08:00 锻炼、晚餐 08:00——09:00 辅导 09:00——11:00 专业基础 2小时 大学数学、大学物理、电机及拖动、电力电子技 术、通信技术 11:30 休息

目录 第一章C语言概述................................................................................................................................. - 1 - 1.1 C程序结构特点16 ................................................................................................................ - 1 - 1.2 C程序上机步骤17 ................................................................................................................... - 1 -第二章程序的灵魂——算法23 ............................................................................................................ - 2 - 2.1 算法24 ..................................................................................................................................... - 2 - 2.2 算法的三种基本结构............................................................................................................... - 2 - 2.3 结构化程序设计方法42 .......................................................................................................... - 2 -第三章数据类型运算符与表达式48 .................................................................................................. - 2 - 3.1 C语言的基本元素48 ............................................................................................................... - 2 - 3.2 C的数据类型48 ....................................................................................................................... - 2 - 3.3 常量与变量48 .......................................................................................................................... - 3 - 3.4 基本类型................................................................................................................................... - 3 - 3.5 变量63 ..................................................................................................................................... - 4 - 3.6 不同类型数据间的混合运算................................................................................................... - 5 - 3.7 函数的调用过程(补充)....................................................................................................... - 5 -第四章最简单的C程序设计——顺序程序设计77 ........................................................................... - 5 - 4.1 字符数据的输入输出............................................................................................................... - 5 -第五章选择结构的程序设计97 ............................................................................................................ - 6 -第六章循环结构程序设计..................................................................................................................... - 6 - 6.1 语句标号................................................................................................................................... - 6 - 6.2 break语句和continue语句 ...................................................................................................... - 6 -第七章数组132 ...................................................................................................................................... - 6 - 7.1 构造类型................................................................................................................................... - 6 - 7.2 数组133 ................................................................................................................................... - 6 - 7.3 二维数组................................................................................................................................... - 7 - 7.4 字符串——字符数组............................................................................................................... - 7 - 7.5 字符串处理函数#include ...................................................................................... - 7 -第八章函数153 ...................................................................................................................................... - 8 - 8.1 c程序的结构154 ...................................................................................................................... - 8 - 8.2 函数调用参数传递................................................................................................................... - 8 - 8.3 函数变量的作用范围............................................................................................................... - 8 - 8.4 变量的存储类别....................................................................................................................... - 9 -第九章预处理命令197 ........................................................................................................................ - 10 - 9.1 预编译命令作用..................................................................................................................... - 10 -第十章指针211 .................................................................................................................................... - 11 - 10.1 变量的访问方式................................................................................................................... - 11 - 10.2 指针变量............................................................................................................................... - 11 -第十一章结构体270 ............................................................................................................................ - 12 - 11.1 结构体270 ............................................................................................................................ - 12 -

《C语言程序设计》-谭浩强(第四版)教案

《C 语言程序设计》-谭浩强(第四版)教案

C语言程序设计》教案

C 语言是近年来国内外得到迅速推广使用 的一种计算机语言。 C 语言程序设计课程是计 算机专业和信息管理专业的核心专业基础课 , 它功能丰富,表达能力强,使用灵活方便,应 用面广,目标程序效率高,可移植性好,既具 有高级语言的优点,又具有低级语言的优点。 既适用于应用软件编写,又适用于系统软件的 编写。在现代的工业机器人的众多语言中,大 多编程风格以 C 语言非常类似,学生学好 C 语 言,对将来的工作中,从事工业机器人现场编 程是非常有帮助的。 课程的性质和任务 《语言程序设计》这门课是我校工业机器人、 分布式发电与微电网专业的专业必修课。作为 计算机系的数据结构、 c++、单片机编程等课 程的前导课程,也是一门实践性很强的课程, 既要掌握概念,又要动手编程,还要上机调试 运行。对工业机器人专业来说是一门必修的课 程。 同时,这门课程也是 “湖南省非计算机专业 学生计算机应用能力水平考试 ”二级考试的主 要语种之一。 课程的教学目标 本课程的教学目标是: 通过理论和实践教学, 使学生较好地掌握 C 语言各方面的知识, 掌握 一、程序设计和 C 语言 重点:计算机程序、计算机语言、 C 语言 编译软件的安装、最简单的 C 语言程序 教 学 基 本 目 的 和 要 求

二、算法:程序的灵魂重点:简单的算法举例、算法的特性、用流程图表示算法。 三、顺序结构程序设计 重点:C 语言的数据类型、C 语句的种类、赋值语句、数据的输入输出及输入输出中最常用的控制格式。 四、选择结构程序设计重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语句的格式及基本应用、多分支的选择语句。 五、循环结构程序设计重点:C 构成循环的四种方法,尤其是后三种方法、break 与continue 语句的基本作用。 难点:while 语句;do-while 语句;for 语句;循环的嵌套;break 与continue 语句。 六、数组 重点:一维数组、二维数组的定义与引用; 字符数组的定义与引用、常用字符串处理函数 及字符处理函数;数组的应用 难点:二维数组的定义与引用;字符数组; 数组的应用

C语言期末考试试题(谭浩强版)

C语言期末考试试题 一选择题(24分,每小题2分) 1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表2008年04月12日星期六00:22 的是()。 A存放读入数据项的存储区 B存放读入数据的地址或指向此地址的指针 C一个指向所读文件的文件指针 D一个整形变量,代表要读入的数据项总数 2.以下程序的输出结果为()。 main( ) { int i=010,j=10; printf("%d,%d\n",i++,j--); } A 11,9 B 9,10 C 8,10 D 9,9 3.设a为int型变量,执行下列赋值语句后,a的取值分别是( a=125.534;

a=(int)125.521%4; 精选)。a=5<<2; A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20 4.设i和k都是int类型,则for循环语句()。for(i=0,k=-1;k=1;i++,k++) printf("****\n"); A循环结束的条件不合法 B循环体一次也不执行 C循环体只执行一次 D是无限循环 5.以下程序的输出结果为()。 main( ) { char c; int i; for(i=65;i<68;i++) {

switch(c) { case 'a': 精选 case 'b': case 'c':printf("%c,",c);break; default:printf("end"); } } } A a,b,c,end B a,a,a,end C a,a,a, D a,b,c, 6.函数调用语句:fseek(fp,-10L,2);的含义是()。 A将文件位置指针从文件末尾处向文件头的方向移动10个字节B将文件位置指针从当前位置向文件头的方向移动10个字节C将文件位置指针从当前位置向文件末尾方向移动10个字节D将文件位置指针移到距离文件头10个字节处 7.以下程序的输出结果为()。

谭浩强C语言程序设计基础课后题答案Word版

课后题答案 第一章程序设计基本概念习题分析与解答 1.1 【参考答案】 .EXE 1.2 【参考答案】[1] .C [2] .OBJ [3] .EXE 1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构 第二章 C程序设计的初步知识习题分析与解答 一、选择题 2.1 【参考答案】 B) 2.2 【参考答案】 D) 2.3 【参考答案】 B) 2.4 【参考答案】 A) 2.5 参考答案】 C) 2.6 【参考答案】 A) 2.7 【参考答案】 B) 2.8 【参考答案】 B) 2.9 【参考答案】 D) 2.10 【参考答案】 C) 2.11 【参考答案】 B) 2.12 【参考答案】 B) 2.13 【参考答案】 A) 二、填空题 2.14 【参考答案】[1] 11 [2] 12 2.15 【参考答案】[1] 4.2 [2] 4.2 2.16 【参考答案】[1] { [2] } [3]定义[4]执行 2.17 【参考答案】[1]关键字[2]用户标识符 2.18 【参考答案】[1] int [2] float [3] double 2.19 【参考答案】 float a1=10, a2=10; 或float a1=1, a2=1;(系统将自动把1转换为10) 2.20 【参考答案】存储单元 2.21 【参考答案】 3.5 2.22 【参考答案】[1] a*b/c [2] a/c*b [3] b/c*a 2.23 【参考答案】把10赋给变量s 2.24 【参考答案】[1]位[2] 0或1 2.25 【参考答案】[1] 8 [2] 127 [3] -128 [4] 11111111 2.26 【参考答案】[1] 32767 [2] -32768 [3] 1111111111111111 2.27 【参考答案】[1]十[2]八[3]十六 三、上机改错题 2.28 【分析与解答】 第1行的错误: (1) include是一个程序行,因此在此行的最后不应当有分号(;)。 (2) include程序行中后面的stdio.h是一个文件名,按规定,文件名应当放在一对双引号(″″)内,或放在一对尖括号(< >)内。 第2行的错误:

谭浩强C语言教程WORD版

软件简介: 1C语言概述2 1.1C语言的发展过程2 1.2当代最优秀的程序设计语言2 1.3C语言版本2 1.4C语言的特点3 1.5面向对象的程序设计语言3 1.6C和C++3 1.7简单的C程序介绍4 1.8输入和输出函数5 1.9C源程序的结构特点6 1.10书写程序时应遵循的规则6 1.11C语言的字符集6 1.12C语言词汇7 1.13Turbo C 2.0集成开发环境的使用8 1.1 3.1Turbo C2.0简介和启动8 1.13.2Turbo C 2.0集成开发环境8 1.13.3File菜单9 1.13.4Edit菜单10 1.13.5Run菜单11 1.13.6Compile菜单12 1.13.7Project菜单13 1.13.8Options菜单14 1.13.9Debug菜单18 1.13.10Break/watch菜单19 1.13.11Turbo C 2.0的配置文件20 2程序的灵魂—算法1 2.1算法的概念1 2.2简单算法举例1 2.3算法的特性4 2.4怎样表示一个算法4 2.4.1用自然语言表示算法4 2.4.2用流程图表示算法4 2.4.3三种基本结构和改进的流程图8 2.4.4用N-S流程图表示算法9 2.4.5用伪代码表示算法10 2.4.6用计算机语言表示算法11 2.5结构化程序设计方法11 2 3数据类型、运算符与表达式1 3.1C语言的数据类型1 3.2常量与变量3

3.2.1常量和符号常量3 3.2.2变量3 3.3整型数据4 3.3.1整型常量的表示方法4 3.3.2整型变量5 3.4实型数据7 3.4.1实型常量的表示方法7 3.4.2实型变量8 3.4.3实型常数的类型9 3.5字符型数据9 3.5.1字符常量9 3.5.2转义字符9 3.5.3字符变量10 3.5.4字符数据在内存中的存储形式及使用方法10 3.5.5字符串常量11 3.5.6符号常量12 3.6变量赋初值12 3.7各类数值型数据之间的混合运算13 3.8算术运算符和算术表达式14 3.8.1C运算符简介14 3.8.2算术运算符和算术表达式15 3.9赋值运算符和赋值表达式17 3.10逗号运算符和逗号表达式18 3.11小结19 3.11.1C的数据类型19 3.11.2基本类型的分类及特点19 3.11.3常量后缀19 3.11.4常量类型19 3.11.5数据类型转换19 3.11.6运算符优先级和结合性20 3.11.7表达式20 4最简单的C程序设计—顺序程序设计1 4.1C语句概述1 4.2赋值语句3 4.3数据输入输出的概念及在C语言中的实现4 4.4字符数据的输入输出4 4.4.1putchar函数(字符输出函数)4 4.4.2getchar函数(键盘输入函数)5 4.5格式输入与输出5 4.5.1printf函数(格式输出函数)5 4.5.2scanf函数(格式输入函数)8 4.6顺序结构程序设计举例12 4 5分支结构程序1

相关文档
相关文档 最新文档