admin 管理员组

文章数量: 1184232


2024年12月31日发(作者:把一个数组给另一个数组)

(完整word版)C语言教案

(一)导入上堂课我们已经学习了for循环的使用规则。这堂课我们来具体的

新课

使用for语句进行编程,同时体会for循环及while循环的使用特

点.

(二)新授

:一:for循环的使用

例:编程求1+2+…+10的值。

main(){ int sum,i;sum=0;for(i=1;i〈=10; i++)

sum=sum+i;

printf(“1+2+…+10=%d”,sum);}

运行结果:1+2+…+10=55

二:while和for循环的转换例:将下面程序改写为for循环完成的

语句.main(){ int i,j;i=2;j=6;while(i〈j){ printf

(“i=%d,j=%dn”,i,j);i++;j--;}}按照转换原则我们可将上面程序

改写为:main(){ int i,j;for(i=2,j=6; i〈j;i++,j——)

(三)总结printf(“i=%d,j=%dn”,i,j);}

扩展:

三:程序验证程序1:

main(){inti,j;for(i=1;〈i5;i++)for(j=1; j

(“”);printf(“*****”);}}

程序2:main(){ int i,j;for(i=0;i〈6;i++)for(j=1; j<12;j++)

(四)作业

布置:

{ if(j==6) break;if(i〈3) continue;if(i>3) break;}

printf(“j=%d",j);printf(“i=%d”,i);}

(完整word版)C语言教案

通过本节课的实践练习,我们已经基本上掌握了while循环和for循

环的异同点,除此之外我们还应该熟练的掌握while循环和for循

环的相互转换。例如我们把语句: for(i=1;i<=10;

i++)sum=sum+i;改写为while循环语句: i=1;while(i〈=10)

{ sum=sum+i;i++;}

课题序号

授课课时

授课章节

20

2h

授课班级

授课形式

10大专

理论

4。4多重循环4。5break语句和continue语句

名称

使用教具

(完整word版)C语言教案

1.

了解多重循环结构

教学目的

2. 掌握break语句和continue语句的使用

教学重点

1.break的使用2.continue语句的使用

教学难点

break语句和continue语句的区别

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

4.4多重循环

4.5break语句和continue语句

一:break语句

二:continue语句

三:break语句和continue语句的比较

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)上堂1.for循环的使用例1: main(){ int x,y;for(x=1;

回顾

x<5;x++,x++)y=x+1;printf(“y=%dn”,y);}运行结果:y=4

例2: main(){ int x,y;for(x=1;x

〈5;x++,x++){ y=x+1;printf(“y=%dn”,y);}}运行结果:

y=2 y=4通过这两道例题,我们可以看出对于是否为循

环体的判断对我们最终判断运行结果起着决定性的作用。所以,我

们在编写程序及验证程序时应该对循环体的确定特别注意。2.for

(二)导入

新课

循环和while循环的转换对上面的例题采用while循环完成,具体

程序如下: main(){ int x,y;x=1;while(x〈5)

{ y=x+1; x=x+2;}printf(“y=%dn”,y);}

(三)新授

我们已经学习了C语言的三种比较重要的循环语句while循环,do

while循环和for循环.这三种循环结构是C语言中较为重要的程序

结构,在实际应用中有时还要有其他的语句来辅助它们完成一些特

定的功能。例如,在我们求任意的圆面积时,可能并不想要所有的

圆的面积如果只想要一个范围内的这时循环语句就不能无休止的

进行下去,此时我们就要用到C语言中的另外两个语句break和

contine。

第四章

循环程序设计4。4多重循环4。5break语句和continue

语句

一:break语句

1.

2.

使用范围:switch语句及三种循环结构。

使用目的:使程序提前跳出switch语句或循环语句,然

(完整word版)C语言教案

后执行switch语句或循环语句后面的语句。

二:continue语句

1.

2.

使用范围:三种循环结构。

使用目的:使程序跳出本次循环,执行下一次循环。

三:break语句和continue语句的比较

1.应用实例:

例1:

main(){intx,y;for(x=3;x<=6;x++){ y=x+5;if(y==10)break;

printf(“x=%d,y=%dn”,x,y);}}运行结果:x=3,y=8

(四)总结

扩展:

x=4,y=9当x=5时,y==10成立,所以执行语句break;程序将跳出

循环,因为循环外没有任何语句,程序结束。

(五)作业例2:

布置:

main(){intx,y;for(x=3;x〈=6;x++){ y=x+5;if

(y==10)continue;printf(“x=%d,y=%dn”,x,y);}}运行

结果:x=3,y=8 x=4,y=9 x=6,y=1

当x=5时,y==10成立,所以执行语句continue; 程序将跳出本

次循环,继续下一次循环x=6,y=1,然后程序结束。

3.

结论:1)程序执行到break语句时,将跳出整个循环执行循环体

以外的语句。2)程序执行到continue语句时,程序仅跳出本次循

环而继续下一次的循环。

(完整word版)C语言教案

break语句和continue语句是循环语句的辅助语句,由于它的使

用在很大程度上增加了循环语句的灵活性。

P65~8,9

课题序号

授课课时

授课章节

21

2h

授课班级

授课形式

10大专

理论

上机实践 : break语句和continue语句的使用

名称

使用教具

(完整word版)C语言教案

1.

多重循环的使用、

教学目的

2。 break语句和continue语句的区别

教学重点

1。 break语句的使用2. continue语句的使用

教学难点

break语句和continue语句的区别

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

一:for循环的使用

二:while和for循环的转换

三:程序验证

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)导入上堂课我们已经学习了break语句和continue语句的使用。这堂

新课

课我们来具体的使用这两种语句进行编程,同时体会一下它们有什

么异同点。

(二)新授

一:看程序写结果

1.

break语句的使用

main(){intx,y;for(x=1;x〈=5;x++){ y=2x+1;if(y==5)

break;

printf(“x=%d,y=%dn”,x,y);}}

运行结果:x=1,y=3

2.

continue语句的使用

main(){intx,y;for(x=1;x<=5;x++){ y=2x+1;

if(y==5)continue;

printf(“x=%d,y=%dn”,x,y);}}

运行结果:x=1,y=3 x=3,y=7 x=4,

y=9 x=5,y=11

(三)总结

扩展:

二:编程1.输出圆面积小于等于100的半径范围在1~10之间的

所有圆的面积及半径。

(四)作业#define PI 3。14

布置:

main(){ int i,r;float s;for(i=0,r=1;r<=10;i++,r++)

{s=PI*r*r; if(s>100)break;printf(“r=%d,s=%d”,r,s);}

printf(“i=%d,r=%dn”,i,r);}

3.

把100~200之间不能被3整除的数输出。

(完整word版)C语言教案

main(){ int n;for(n=100;n<=200;n++){ if(n%

3= =0)continue;printf(“%d”,n);}}

三:程序验证main(){ int a,b;for(a=1,b=1;a〈=100;a++)

{ if(b〉=20) break; if(b%3==1){ b=b+3;continue;}

b=b—5;}printf(“%dn”,a);} 运行结果:8

通过本节课的实践练习,我们应该对break语句和continue语句的

使用加深了解。1.break语句将结束整个循环。2.continue语

句结束的是本次循环,循环结束以后,对于while循环接着进行的是

条件的判断,而对于for循环要先计算表达式3然后在判断条件。

课题序号

授课课时

授课章节

22

2h

授课班级

授课形式

10大专

理论

第5章 数组 5。1一维数组5。3二维数组

名称

使用教具

(完整word版)C语言教案

1。 掌握一维数组的基本思想2. 了解二维数组的定义方

教学目的

教学重点

1.一维数组的定义2.一维数组的初始化3.一维数组的引用

教学难点

1.一维数组的引用2.一维数组的具体应用

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

5。1一维数组

一:数组的引入

二:一维数组的说明

三:一维数组的初始化

四:一维数组的引用

5.3二维数组

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂例:求1+2+…+10的值。1.使用for循环进行编程main(){ int

回顾

sum,i;sum=0;for(i=1;i<=10; i++) sum=sum+i;

printf(“1+2+…+10=%d”,sum);}运行结果:1+2+…+10=552.使

用while循环进行编程main(){ int sum,i;sum=0; i=1;while

(二)导入(i<=10){ sum=sum+i; i++;}printf(“1+2+…

新课

+10=%d",sum);}运行结果:1+2+…+10=55

迄今为止,我们用于编程的数据类型都是C语言的基本数据类型。

(三)新授

实际上除了整型、字符型和浮点型数据以外,C语言还提供了构造类

型的数据,它是由基本数据类型按一定规则组成的,因此有的书又

称它为导出类型。本章我们就来学习一下数组的作用。

第五章

6.

数组

1一维数组

一:数组的引入

1.

2.

数组:有序数据的集合。

使用说明1)数组中的每个元素数据类型相同。2)每个

特定元素都应使用带方括号[]的下标访问。3)数组都

以0作为第一个元素的下标.4)数组的下标是连续递增

的.5)数组整体不能参加数据处理.

二:一维数组的说明

1. 定义方式:类型说明符 数组名[常量表达式]例如: int

a[10];

1)

2)

int 为数组的类型。

a为数组名。

(完整word版)C语言教案

3)

3.

数组有a[0]~a[9]10个元素.

说明:

1)

定名规则和变量命名相同,遵循标识符的命名规

则。

2)

2) 数组名后用方括号,不能用圆括号。如:int

a (10); ×

3)

常量表达式表示元素的个数,即数组长度.

4) 常量表达式中包括常量和符号常量,不能包含变

量。例如: int n; int a[n]; ×

三:一维数组的初始化

1. 在定义数组时对数组元素赋以初值。例:static int a[10]

(三)总结={0,1,2,3,4,5,6,7,8,9}; 相当于a[0]=0,a

扩展:

[1]=1,…,a[9]=92. 可以给一部分元素赋值。例:static int a

[10]={0,1,2,3,4}; 相当于a[0]=0,a[1]=1,…,a[4]=4,

a[5]=0,…,a[9]=03. 不对数组赋初值,则系统对所有数组元

素自动赋以0。例:static int a[10]; 相当于a[0]~a[9]

(四)作业

布置:

全为0.4. 在对全部数组元素赋初值时,可以不指定数组长度.例:

static int a[]={0,1,2,3,4}; 因为花括号中只有五个数,

所以a[]相当于a[5]。

四:一维数组的引用例:将0~9倒序输出。

main(){inti,a[10];for(i=1;i〈10;i++)a[i]=i;for(i=9;i>=0;

i-—)printf(“%d”,a[i]);}

5.3二维数组

(完整word版)C语言教案

一:一般形式:类型说明符 数组名[常量表达式] [常量表达式]

例:float a[3][4];对于此二维数组我们可以首先理解成一维数

组a[3],则它包括三个元素:a[0] →a00 a01 a02 a03a[1] →

a10 a11 a12 a13a[2] →a20 a21 a22 a23

二:使用说明:1.a[3][4] 不能写成a[3,4]。2.a[3][4]的下

标范围。例:int a[5]; a[5]=5; 其中语句a[5]=5;是

错误的表述,因为下标超出范围。二维数组也是一样,下标不能超

出范围。所以,如在程序中出现float a[3][4]; a[3][4]=3;这样

的语句是错误的。

本节课主要学习了一维数组的基本知识要求我们掌握一维数组的

使用方式以及如何对一维数组初始化的问题。

课题序号

授课课时

授课章节

23

2h

授课班级

授课形式

10大专

理论

上机实践:一维数组的使用

名称

使用教具

(完整word版)C语言教案

教学目的

1。 一维数组的使用2. 一维数组的初始化

教学重点

1.一维数组的概念2.一维数组的初始化

教学难点

1.一维数组的初始化2.使用一维数组进行编程

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

程序1:

程序2:

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)导入本堂课中我们具体使用一维数组进行编程,同时加深对冒泡排序法

新课

和折半排序法的理解。

(二)新授

程序1:倒序输出0~9。

main()

{ int i,a[10];for(i=1;i〈10;i++)a[i]=i;for(i=9;i>0;

i—-)printf(“%d”,a[i]);}

程序2:输入20个数,将它们从小到大进行排序。

#include “stdio.h”

(三)总结main(){floata[20],temp;int i,j;for(i=0;i<20;i++)scanf

扩展

(“%d",&a[i]);for(i=0;i〈19;i++) for(j=i+1;j〈20;j++)

if(a[i]〉a[j]) { temp=a[i];a[i]=a[j]

;}for(i=0;i<20;i++) (四)作业a[j]=temp

布置:

printf(“%d",a[i]); printf(“n”);}

在进行排序时,我们一般都采用数组来完成,但算法有所不同,上例

中我们使用了冒泡排序法,除此之外,还希望了解折半排序法。

课题序号

授课课时

授课章节

24

2h

授课班级

授课形式

10大专

理论

5。2字符数组和字符串 5.4~5.5多维数组

名称

使用教具

(完整word版)C语言教案

教学目的

1。 了解字符数组的使用方法2。 对维数的理解

教学重点

1.字符数组的初始化2.多维数组的定义

教学难点

1.字符数组的初始化2.多维数组的存储方式

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

5.2字符数组和字符串

一:字符数组的引入

二:字符数组的定义

三:字符数组的初始化

5.3二维数组

一:一般形式

二:使用说明

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂1.对一个一维数组a的正确说是( D)A。 int a(10);

回顾

B。 int n=10,a[n]; C. int n; D。

#define SIZE 10scanf(“%d”,&n); int a

[SIZE];int a[n]; 2.a[5]表示 个元素,分别

是 。

(二)导入

新课

上堂课我们学习了一维数组的使用方法,以数学的思想来讲,一维可

以看作一条直线上的点,确定一个点只要一个位置就可以了,正如

我们所学的数组元素a[3],若想确定其存储地址,只要知道首地址

就可以了。那么多维数组又该如何理解呢?这节课我们就来了解一

下多维数组的使用方式以及字符数组的一些相关知识.

(三)新授

第五章 数组5.2字符数组和字符串一:字符数组的引入1.C语

言没有字符串变量。2.使用一维数组对字符串进行存储和处理。

二:字符数组的定义1.定义方式:static char c[6];2.使用说明:

1)c[6]表示的是c[0]~c[5]六个元素.2)最多可存放5个字符.注:

一个长度为n的字符串,其占用的内存为n+1个字节空间。三:

字符数组的初始化1.使用字符初始化例:static char c[]={‘a’,

‘b', ‘c'}1) 字符数组长度为3.2) c[0]= ‘a’;c[1]

=‘b’;c[2]=‘c';3) 字符使用‘’作为定界符。2.使

用字符串常量进行初始化例:static char c[]=“abc"1) 字符

数组长度为4。因为系统自动加上0.2) c[0]= ‘a’;c[1]=

‘b’;c[2]=‘c’; c[3]=‘0';3) 字符串使用“"作定界符。

5.5多维数组1.一般形式:类型 数组名[第N维长度][第N-1

维长度]…[第1维长度]2.应用举例:char c[2][2][3]3.在C

(完整word版)C语言教案

语言中二维数组按行进行存储。

a00

a01

a02

a03

(三)总结

扩展:

a10

a23

(四)作业

布置:

本节课主要学习了字符数组和多维数组的一些相关知识.要求我们

掌握以下内容:4.字符数组的初始化。例:对于两个数组a,b进行

初始化。char a[]= “ABCDEF";char a[]={‘A’, ‘B’ , ‘C’ ,

‘D’ , ‘E’ , ‘F’};则a,b两个数组是否相同,为什么? 对

于此题的考点就在于字符数组的两种不同初始化方式的使用.通过

比较我们会发现, 数组a的长度大于数组b的长度.5.多维数组的

(完整word版)C语言教案

存储方式。如果说确定一维数组元素的位置可以比作在一条直线上

确定一个点的话,那么确定二维数组元素的位置我们可以理解成在

坐标平面内确定一个点的位置,只要知道了横、纵坐标的值就可以

了.而三维数组可以理解成三维立体的效果。

1.编程求1+2+…+10的和。2.a[5]表示 个元素,分别

是 。

课题序号

授课课时

授课章节

25

2h

授课班级

授课形式

10大专

理论

上机实践:字符数组的使用

名称

使用教具

(完整word版)C语言教案

教学目的

1. 字符数组的使用2. 二维数组的认识

教学重点

1.二维数组的概念2.字符数组的初始化

教学难点

1.字符数组的初始化2.对字符串的理解

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

程序1:(例5-7)

程序2:(例5—8)

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂提问:C语言如何来解决字符串的问题?

回顾

(二)导入我们已经学习过了数组的有关概念,本堂课我们具体的使用一维数

新课

组和字符数组来进行

编程.

(三)新授

程序1:(例5-7)

#include “stdio.h"

main()

{ static char ges[]= “what’s your name and number?”;

char name[20];int num;

printf(“%sn”,ges);

scanf(“%s%d",name,&num);printf(“nmy name is %s:%

(三)总结dn”,name,num);}

扩展:

程序2:(例5-8)

main()

(四)作业 { char a[20],b[20];int i;

布置:

printf(“Enter a string:n");scanf(“%s”,a);i=0;do{ b[i]

=(a[i]>='a’&&a[i]〈='z’)?a[i]-‘a’+’A’:a[i];}

while(a[i++]!=’0’);printf(“Copyed string:n%sn",b);}

在本章中主要要求学生了解数组的一些相关概念,知道具体应用时

的一些注意事项即可。

课题序号

26

授课班级

10大专

(完整word版)C语言教案

授课课时

授课章节

2h

授课形式

理论

6.1函数的概念6。2函数的说明

名称

使用教具

教学目的

1. 函数的基本概念2. 函数的具体说明

教学重点

1.什么是函数2.函数的组成

教学难点

1.函数的说明2.使用函数结构思想进行编程

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

6。1函数的概念

一:说明

二:C语言函数的组成

6。2函数的说明

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂编程:在屏幕上显示 ********************

回顾

Very good!********************

具体程序:main()

{ printstar();print_message();print_star();}

(二)导入printstar() { printf(“******************

新课

**n”);} print_message();{ printf(“ Very

good!n”);}

(三)新授

通过上例我们可以看出,在编写一个程序时,有时可将一个程序分解

成多个模块.而这些模块是通过一些程序代码编写而成的,称为函数.

这节课我们来具体的学习一下函数的基本概念和基础知识。

第六章

函数6。1函数的概念

一:说明

1.

一个源程序由一个或多个函数组成。

2.

一个程序由一个或多个源程序文件组成。

3.

C语言程序从main()函数开始执行。

4.

所有函数都是平行的,可互相调用但不可调用main()

函数5.从用户角度看,函数有两种:1)标准函数,即

库函数。(由系统提供,例:printf())2)用户定义的

函数。(由用户提供,例:printstar())

6.从函数的形式看,函数分两类:1) 无参函数。2) 有

参函数。

二:C语言函数的组成

例1:使用选择结构进行编程。main( ) /*

(完整word版)C语言教案

主函数*/

{ int a, b,max; /*定义变量*/

scanf(“%d, %d”, &a , &b); /*输入变量a和b的值 */

if(a〉b) max=a;else max=b; /* 判断较大者*/

printf(“max=%d”,max); /*输出c的值*/}

例2:使用函数的思想进行编程。

main( ) /*主函数*/

{ int a, b, c; /*定义变量*/

scanf(“%d, %d", &a , &b); /*输入变量a和b的值 */

c=max(a,b); /*调用max函数,将得到的值赋给c*/

(三)总结printf(“max=%d”,c); /*输出c的值*/}int max(x,

扩展:

y) /*定义max函数,函数值为整形,x,y为形式参数

*/

int x,y; /*对形参x,y做类型定义*/

{ int z; /*函数中用到的变量z,也要加以定

(四)作业

布置:

义*/

if (x〉y) z=x;else z=y;return(z); /*将z的

值返回,通过max带回调用处*/}

运行情况是:8,5↙(输入8和5给a和b)

max=8(输入c的值)

1.函数的首部:函数名、函数类型、参数名、参数类型。例: int

max(x,y)↓ ↓ ↓函数类型函数名 参数名int x,y;↓参数类

型1)也可写成int max(int x,int y)2)参数名后必须跟().

(完整word版)C语言教案

→函数的标识.3)参数可有可无.

3.

函数体:{ }内的部分。1)变量定义a.主函数中的int a, b, c;

b. max()函数中的int z;2)执行部分a。 int z;和 int x,y;

的前后顺序不能反。b。 return(z);用于返回函数值。★注:

函数名后的圆括号()必不可少,它是区别变量说明和函数说明

的重要标识。

7.

2函数的说明

一:函数说明

1.

函数说明:指在函数被调用前,说明被调用的函数是什么类

型的函数以及参数的数据库类型.

2.

库函数的说明1)库函数的说明都包含在*.h中.2)

#include “stdio.h”可写成 #include 〈stdio。h〉

3.

用户定义的函数1)函数类型为整形的可不进行说明。2)

被调用函数在调用函数之前被定义的可不进行说明。

二:函数说明的两种格式1.典格式:函数名() 2.ANSI格

式ANSI:美国国家标准协会(American National Standard

Institute)

在第二章的学习中我们已经知道在C语言中有四种基本程序结

构:

顺序结构 选择结构 循环结构 函数结构

其中函数结构在有些书中又称为过程结程结构。

(完整word版)C语言教案

课题序号

授课课时

授课章节

27

2h

授课班级

授课形式

10大专

理论

6.3函数的定义6.4函数的调用

名称

使用教具

教学目的

1。 函数的定义2. 函数的调用

教学重点

1.函数的定义2.函数的调用

教学难点

形参和实参的使用

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

6。3函数的定义

一:函数定义

二:函数的调用

三:调用方式

6。4函数的调用

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂一

回顾

:填空1.四种基本程序结

构 、 、 、 。2. 是构成

C语言的基本单位。1.C语言程序是从 开始执行的。2.每

个函数都必须由 开始,由 结束.二:判断1.一个程

序可以没有主函数。 ( )2.函数的参数可有可无.

(一)导入

新课

( )3.函数名的后面必须有()。 ( )

(三)新授

在上堂课的学习中我们已经了解了一些函数的相关知识,这节课我

们将继续学习函数的一些相关知识,以进一步加深对函数的了解.

第七章

6.

函数

3函数的定义

一:函数定义

1.

无参函数的定义:类型说明符 函数名()

{ 说明部分语句 }

2.有参函数的定义:类型说明符 函数名(形式参数表列)

形式参数说明 { 说明部分语句

}例如: int max(x,y) int x,y; /*形式参

数说明*/ { int z; /*函数体中的说明部分*

/z=x〉y?x:y;return(z);}

1)

int z;和int x,y;的位置不能反。

2)

return语句的作用提将z的值返回。

二:函数参数

1.

形式参数:在定义函数时,函数名后面括号中的变量名称为“形

式参数”.

(完整word版)C语言教案

2.

实际参数:在调用函数时,函数名后面括号中的表达式称为“实

际参数”。

3.应用实例:main(){ …c=max(a,b); /*a、b为实际参数

*/…}int max(x,y) /*x、y为形式参数*/int x,y;{ …}

7.

4函数的调用

一:一般形式:函数名([实际参数表]);

1.[ ]为可选项。

3.

例:printstar( );—-—-—对printstar( )函数的调用

c=max(a,b);-———--—对max( )函数的调用

二:函数的调用

1.

形参在未出现调用时,不占内空间,只有发生了调用时才分配内

(三)总结

存。

扩展:

2.

实参可以是常量、变量和表达式.例:c=max(3,a+b);

3.

在定义的函数中必须有形参类型.例: int max(x,y) int x,

(四)作业

布置:

y;

4.

实参和形参类型要一致。

三:调用方式

1.

函数语句。把函数看成语句。例:printstar( );

2.

函数表达式。例:c=max(a,b);

3.

函数参数。例:m=max(a, max(b,c));

(完整word版)C语言教案

通过第六章的学习,要求学生们掌握以下内容:1.函数的概念;2.函

数的说明;3.函数的定义;4.函数的调用;

课题序号

授课课时

授课章节

28

2h

授课班级

授课形式

10大专

理论

第6章 函数6.6~6。9

名称

使用教具

(完整word版)C语言教案

1。 函数值的返回2. 变量的作用域3. 变量的存储

教学目的

类型

教学重点

1.函数值的返回方式2.变量的存储类型

教学难点

1.数数值的返回方式2.变量的生命周期

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

6.5~6.8

一:函数的参数传递

二:函数的返回与返回值的传送

6。9函数的变量及其作用域

一:变量的作用域

二:变量的存储类型

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂 main()

回顾

{ int a[]={1,2,3,4};int i;for(i=1;i<=4;i++)printf(“%

dt”,a[i]);} 找出上面程序的错误,并说出为什么?

在上堂课的学习中我们已经了解了一些函数的基础知识,这节课我

(二)导入

新课

们将继续学习函数的一些相关知识,以进一步加深对函数的了解。

第五章

(三)新授

函数6。5~6。8 函数的参数传递和函数的值传送

一:函数的参数传递

1.

参数的传值传送方式

2.

.参数的传址传送方式

二:函数的返回与返回值的传送

1.

不用return语句:执行到函数体的“}”时为止。

2.

用return语句:

1)

无值返回:只完成一定的功能,不返回任何值.

2)

有值返回:只能返回一个值。

3)

传址返回:返回的不是具体的值,而是值的地址,需要返回

多个值时使用。

(三)总结6.9函数的变量及其作用域

扩展:

一:变量的作用域

1.

2.

局部变量:就是在函数内部被定义的变量。

全局变量:全局变量贯穿整个程序的执行过程。

(四)作业

二:变量的存储类型

布置:

1.

Auto型:在堆栈区域中属于临时性存储,并不长期占内存。(局

部变量)2.Register型:存储在CPU通用寄存器中,不需访问

(完整word版)C语言教案

内存,速度快.(局部变量)

2.

Static型:存储在一般内存区域中,并分配一定的内存空间,在

整个程序运行期间一直归该变量使用.(可以为局部变量也可以

为全局变量)4.Extern型:表明是一个外部的变量或函数,可

供其他函数或文件使用。

通过对变量的作用域和变量的存储方式的了解使我们在使用函数

进行编程时更为得心应手。

课题序号

授课课时

授课章节

29 指针

2h

授课班级

授课形式

10大专

理论

第8章 指针

名称

使用教具

(完整word版)C语言教案

1. 数据在内存中的读取方式2. 指针的引入3. 指

教学目的

针的定义及其使用

教学重点

1.数据在内存中的读取方式2.指针和指针变量

教学难点

1.什么是指针?2.什么是指针变量?

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

一:指针的引入

二:数据在内存中的读取方式

三:指针

四:指针的定义

五:指向数组的指针变量

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)前堂

1.C语言的三种基本数据类型

回顾

类型说明符

int

float

double

char

名 称

整型数据

浮点型(实型)数据

双精度浮点型数据

字符型数据

字节数

2个字节

4个字节

8个字节

1个字节

2.变量的存储方式1)动态存储变量:根据需要进行内存分配.l auto型

(自动型)l register型(寄存器型)★注:如果一个程序两次调用一个

函数,分配给此函数的局部变量存储空间地址可能不相同。2)静态存储变量:

分配固定的内存空间。l static型(静态型)l extern型(外部参照

型)3.int a[5];数组a包括 个元素,首地址为 ,第三个元素是 ,

地址是 。

(二)导入

新课

(三)新授

指针是C语言中的一个重要概念,也是C语言的特色所在,我们都知道无论

是C语言还是其他计算机语言关于变量的寻址都是一个非常重要的问题.指针

之所以在C语言中扮演着重要角色,正是因为指针就是变量的内存地址。

第八章

指针

一:指针的引入1.能动态的分配内存。2.能有效而方便的使用数组。3.能

直接处理内存地址。

二:数据在内存中的读取方式1.直接访问1)定义一个变量.例:int i; i=3;

2)程序在编译时给这个变量分配内存单元。

3

(完整word版)C语言教案

例: 其中变量i的内存地址为2000。

20002002 ★注:内存单元地址→2000

内存单元内容→32.间接访问1) 主要思想:就是把变量的地址放在另一

个内存单元中.a.定义一个变量i.b.定义一个变量p用于存放变量i的地址。P=

&i;2) 访问过程: ia. 3→ 直接访问:将3

送入变量i所占的单元。 2000

2000

i

b. 3→ ← 间接访问:将3送入变量p所指向

(三)总结

2000 p 的内存单元中.

扩展:

三:指针

1.

指针:一个变量的地址就称为该变量的“指针”.也就是说指针就是内存

地址。例:变量i的指针是2000.

2.

指针变量:存放地址的变量。例:p

(四)作业

布置:

3.相关运算符:1)&:取地址运算符2)*:指针运算符(或称间接地址

运算符)例:&a表示变量a的地址。*p为指针变量p所指向的变量。(例:i)

l 给变量i赋值.例:*p=3;和i=3;l 使指针p指向变量a。

例:p=&a;

3.

说明:1)指针变量不能指向常量。例:p=&55;2)不能将非地址类型的

数据赋给一个指针变量.例:p=100;×

四:指针的定义

1.一般形式:类型说明符 *标识符例:int i,j;int *p1, *p2;1) 指针

(完整word版)C语言教案

变量名为p1和p2,而不是*p1和*p2。2) 一个指针变量只能指向一个

类型的变量。

2.应用举例:例:main(){ int a,b,c;int *p1, *p2;a=100; b=10;p1=

&a; p2=&b;printf(“%d,%dn”,a,b);printf(“%d,%dn”,*p1,

*p2);}运行结果:100,10 100,10

3.&和*同时使用情况说明1) &*p1=&a;2) *&a=*p1; 3) (*p1)

++相当于i++。五:指向数组的指针变量例: int a[5];int *p;p=a; /*

相当于p=&a[0];*/所以a[i]、*(a+i)和*(p+i)使用时是等价的。

通过本节课的学习,要求学生掌握以下几方面内容:l 什么是指针?

l 指针变量和指向变量的指针l &和*的使用l 顺序存储和链

式存储的区别在以往的学习中,只要提到变量的存储方式,我们首先想到的就

量顺序存储,但在实际存储过程中还有一种存储方式是用指针来完成的,称

为链式存储。链式存储结构易于插入和删除数据,但占据内存空间较大。

课题序号

授课课时

授课章节

总复习

名称

30

2h

授课班级

授课形式

10大专

理论

(完整word版)C语言教案

使用教具

1. C语言程序的特点及开发过程2. 基本数据类型及输

教学目的

入输出语句3。 四种程序设计结构

教学重点

1.常三种基本数据类型2.选择结构3.三种循环结构

教学难点

顺序结构、选择结构、循环结构的综合使用

更新、补

充、删节

内容

课外作业

教学后记

授课主要内容或板书设计

(完整word版)C语言教案

第一章

C语言概述

第二章

基本数据类型与顺序程序设计

第三章

分支结构程序设计

第四章 循环结构程序

课 堂 教 学 安 排

教学过程

主 要 教 学 内 容 及 步 骤

(完整word版)C语言教案

(一)导入C语言的课程我们已经结束了,从这堂课开始,我们将进入复习阶段。

新课

第一章

C语言概述

(二)新授

一:C语言程序的特点

1.

函数定义是构成C语言程序的基本单位.

2.

C语言程序总是从main函数开始执行的。

3.每个函数都必须由“{”开始,由“}”结束.

4.

程序的每个语句后都必须有“;”,作为语句结束的标志.

5.

C编译程序区分大小写.

6.

C程序书写格式自由。

7.

C语言程序使用/* */做注释.

二:C语言程序的开发过程

1.

编辑源程序.生成以。c为扩展名的源文件。

2.

编译源文件。生成以。obj为扩展名的目标文件.

3.

连接目标文件及库文件.生成以.exe为扩展名的可执行文件.

4.

运行程序。

三:C语言的上机操作过程

1.

选择菜单使用F10.

2.

运行使用Ctrl+F9。

3.

看结果使用Alt+F5.

4.

退出TURBOC使用Alt+x。

第二章

基本数据类型与顺序程序设计

一:常量各变量

1.

符号常量的定义方式:#define 标识符 字符串

(完整word版)C语言教案

2.

变量的命名规则

二:C语言的基本数据类型

1.

2.

3.

整型数据:类型说明符是int。

浮点型数据:类型说明符是float。

字符型数据:类型说明符是char。

1)

字符常量使用‘’作定界符。例:char a; a=’A'; √

a=”A”; ×

2)

字符数据以ASCAII码的形式存储在计算机中。

三:运算符和表达式

(三)总结1.算术运算符l / 除法,取商。例:8/5=1l % 模除,

扩展:

取余。例:8%5=32.自增运算符例:main() { int i,m,

n;i=3;m=++i;n=i++;printf(“m=%d,n=%d”,m,n);} 运

行结果:m=4,n=4四:赋值语句

1.

(四)作业

变量赋值例:a=8;a=10; a=?

赋值运算符的使用“=”的左边一定是变量,而不能是

常量或表达式.

五:输入输出函数

1.

使用字符输入输出函数时必须在程序首使用:#include

布置:

2.

“stdio。h”

2.

.转换说明符l %f 浮点小数l %d 整数

l %c 单一字符3.%md:输出的整型数据最小宽度为m

列.例:a=123;b=6;printf(“%2d,%2d”,a,b);输出结

果:123, 6

六:顺序结构程序语句构成程序时,可以用四种基本结构表示,就

(完整word版)C语言教案

是顺序结构、选择结构、循环结构和函数结构。

第三章

分支结构程序设计

一:语句(编程)1.简单的if语句2.if else语句 二:条件

表达式的使用三:关系表达式的使用

第四章 循环结构程序一:while循环和do while循环

的区别二:for循环的使用1.while循环和for循环的

相互转换2.用for循环进行编程三:break语句和

continue语句的使用1.break语句和continue语句

的区别2.编程:例4-6

通过本节课的学习,应该加深对C语言基础知识的理解和使用.(五)

作业布置


本文标签: 函数 数组 变量 使用 语句