C语言教案(刘丁发)_第1页
C语言教案(刘丁发)_第2页
C语言教案(刘丁发)_第3页
C语言教案(刘丁发)_第4页
C语言教案(刘丁发)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲 C语言简述教学目的和要求:(1) 了解C语言基础知识(2) 了解C语言模型教学重点: 程序设计与算法概述。教学难点: C程序的符号系统 。教学方法:以书本上的例子,让学生明白C语言的功能。教学课时:4课时教学手段: 电子课件及实例教学过程:一、教学内容:1.1 程序设计与算法概述 机器语言机器指令(由0 和 1组成),可直接执行 难学、难记依赖机器的类型汇编语言用助记符代替机器指令,用变量代替各类地址。克服记忆的难点其他与机器语言类似高级语言类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。将汇编源程序翻译为目标程序的过程称为汇编汇编过程:详见课件1。11.1.

2、2 算法 为解决某一应用问题而采用的解题步骤算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法 1.1.3 结构化程序设计顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句1 / 21三种基本结构的共同点:都是只有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内没有死循环。如果一个程序仅包含这三种基本结构(由这些基本结构顺序组成),则称为结构化程序。结构化程序设计的基本原则:采用自顶向下、逐步细化的方法进行设计;采用模块化原则和方法进行设计。即将大型任务从上向下划分为多个功能模块,每个模块又可以

3、划分为若干子模块,然后分别进行模块程序的编写;每个模块都是用结构化程序实现,即都只能由三种基本结构组成,并通过计算机语言的结构化语句实现。 1.2 C语言概述C语言的发展,C语言的特点,C程序的基本结构,C程序的执行过程语言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符丰富程序书写格式自由可直接访问物理地址,实现对硬件和低层系统软件的访问语言生成的代码质量高可移植性好【例1.2】输入两个数,输出其中的大数。int max(int x, int y) /* max函数 */ int z ; if (x>y) z = x; else z = y; return(

4、z);main( ) /* 主函数 */ int a,b,c; scanf("%d, %d",&a,&b); c = max(a,b); /* 调用max函数,求a和b中大数 */ printf("max = %dn",c);C程序由函数构成必须有,且只能有一个main(主函数)总是从main函数开始执行由函数首部和函数体组成函数首部指定函数名、函数参数、类型函数体从 开始,到 结束函数内有语句包括说明性语句、可执行语句以 ;表示语句结束注释可以出现在程序的任何位置 用 /* 和 */ 括起来,必须成对出现书写格式C语言没有行的概念,书写

5、格式自由。习惯小写字母,缩进格式。C语言执行过程1源程序文件的建立和编辑 编写源程序,形成 .C文件需用编辑工具:tc.exe、记事本2编译 编译源程序,形成目标程序 . Obj文件需用编译工具 :tcc.exe3连接 连接OBJ文件和调用的库函数,形成运行程序 .exe 文件需用连接工具 :tlink.exe4运行 .exe 文件1.3 C程序的符号系统基本字符标识符大写英文字母:A B C X Y Z 小写英文字母:a b c x y z 数字:0 1 2 9 空白符:空格符、换行符、制表符 特殊字符:+ - * / < > ( ) _ = ! # % . , ; : “ |

6、& ? $ 由字母、下划线和数字组成的字符序列用于程序中的变量、符号常量、数组、函数、数据类型等操作对象的名字1系统定义标识符具有固定名字和特定含义的标识符分为关键字和预定义标识符 2用户定义标识符 用于对用户使用的变量、数组、函数等操作对象进行命名 数据类型: int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile 存储类别:auto、static、register、extern 语句命令字:break、case、continue、default、do

7、、else、for、goto、if、return、switch、while 运算符:sizeof 系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预备处理命令include、define等用户定义标识符必须以字母或下划线“_”开头不能含有除字母、数字和下划线“_”外的其他字符标识符中大小写字母含义不同关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名预定义标识符允许用户对它们重新定义,当重新定义后将改变它们原来的含义正确区分哪些是合法标识符,哪些是不合法标识符。其中合法标识符中哪些是关键字,哪些是预定义标识符

8、,哪些是用户定义标识符。Abc define 2x double studentm+y a# b-4 _1 Whileint let x%y name do wVtm Ctrl swicth include 三、本课小结掌握好C语言基本概念及语法。五、布置作业章节后的练习。第二讲 C语言基础教学目的和要求:1、 掌握C语言的数据类型2、运算符和表达式3、教学重点:C语言的数据类型。教学难点:运算符和表达式。教学方法:图形相结合的方法。教学课时:4课时教学手段: 电子课件及实例教学过程:一、教学内容:2.1 例子【例2.1】计算圆的面积,半径为 5 cm。 程序如下:main( ) float

9、r, area ; r=5 ; area=3.14*r*r; printf ("%fn ", area) ; 程序中用到的数据:r、area、5、3.14对数据进行的运算:* 、=运算结果是输出圆的面积:78.500000计算机操作处理时,要完成以下工作:在内存中给半径 r 和运算结果 area 开辟存储空间,存放它们的值。应该留多大的地方来存放它们的值?数据 5 和 3.14 与 r 、area 不同,它们是在编写程序时就给出确定的值,在运算过程中不会改变。这样的数计算机怎么处理?对整数 5 和小数3.14 ,计算机存放时是否有区别?1整型数据的类型基本整型数据 int

10、,分配 2 Byte短整型数据 short int,分配 2 Byte长整型数据 long int,分配 4 Byte整型数据均以二进制补码形式存储例如:109 (1101101)2要区别:109 和 109 方法是:将符号也数码化即:正的符号 用 0 表示 负的符号 用 1 表示 计算机中的数表示方法是: 符号位二进制数值(以 8bit 为例) 109 110 1101 0110 1101109 110 1101 1110 1101需要判断符号是否相同:如果相同,结果符号不变,并进行绝对值相加如果不同,结果取绝对值大的数的符号,并进行绝对值相减解决的方法是: 使用反码或补码的表示方法(按前述

11、表示的编码称为原码),即能将减法一律转换为加法。 正数:原码、反码、补码相同符号位为0,数值为对应的二进制数。 109 01101101原 = 01101101反 = 01101101补负数:原码符号位为1,数值为绝对值的二进制数。 10911101101原反码符号位为1,数值为绝对值的二进制数各位变反。 10910010010反 补码符号位为1,数值为绝对值的二进制数各位变反加1。10910010011补无符号的整型数据 unsigned int区别是将最高位看作符号位还是数据位有符号的整型数据 signed int例如: 1111 1111 1010 1000作为有符号数使用时,最高为符号

12、位为负数,值是:- 88(再求一次补)作为无符号数使用时,最高为数据位为无符号的数,值是:6544822主要内容:常量变量标准库函数在运行程序的过程中值保持不变的量1整型常量 十进制:09八进制:07,以 0开头十六进制:09,AF/af,以 0x或 0X 开头例如:100 -8 0 +123010 024 0100 0730x38 0x10 0X10 0XFF 0x0a整型常量的类型:根据值大小默认类型。整型常量后面加l或L,则认为是long int型 例如:123L、0L、432l、0x100l23字符型常量 0字符串结束标志n回车换行t跳到下一个输出位置"双引号字符dddddd

13、为1到3位八进制数所代表的字符xhhhh为1到2位十六进制数所代表的字符1. 变量的有关概念在程序运行过程中,其值改变的数据,称为变量,变量用标识符表示,称为变量名。变量必须“先定义后使用”系统为变量分配存储单元,存储变量的值。 编写程序时通过变量名来存、取变量值。2自加自减符号+ -是单目运算符有前缀和后缀两种形式 前缀形式: 先自增(自减)再引用;后缀形式: 先引用再自增(自减);功能: 前缀形式 + a 等价于 a = a + 1 - a 等价于 a = a 1 后缀形式 a + 等价于 a = a + 1 a - 等价于 a = a 1当 a5 时 +a 表达式的值为 6,且 a6 a

14、+ 表达式的值为5 ,且 a6 b=+a 等价于 a=a+1; b=a 表达式的值为6,且 a=6, b=6 b=a+ 等价于 b=a; a=a+1 表达式的值为5,且 a=6, b=5 + 和 - 的运算对象只能是变量(或运算结果是变量的表达式), 不能是常量(或运算结果是数值的表达式)。 例如: 5+、(a+2)+ 不合法。 具有右结合性,结合方向为从右到左。例如: a+ 等价于 -(a+) 如果有多个运算符连续出现时,C系统尽可能多的从左到右将字符组合成一个运算符例如: i + j 等价于 ( i+)+j -i+-j 等价于 -(i+)+(-j) 三、本课小结掌握好C语言特点及C语言程序

15、特点。四、布置作业章节后的练习。第三讲 顺序结构程序设计 教学目的和要求:C语言的语句类型 数据输出数据输入顺序结构程序设计主要内容:说明性语句表达式语句控制语句复合语句掌握C语言的语句类型 熟悉顺序结构程序设计教学重点: 顺序结构程序设计。教学难点: 数据的输入输出。教学方法:图形相结合的方法。教学课时:4课时教学手段: 电子课件及实例教学过程:一、教学内容:3.1.1对程序中使用的变量、数组、函数等操作对象进行定义、声明的描述语句只起说明作用,不产生可执行的机器指令代码。 例如:int a,b; float function( int, int);表达式后面加一个分号,构成表达式语句x=3

16、; y=y+5; x=a-b && c | d ; printf("x=%d, y=%dn",x,y); sort(a,10); 注意: 分号是语句必不可少的一部分 单独的一个分号“;” 构成一个空语句例如: ; (空语句,是最简单的C语句)1选择分支控制语句 if ( ) else switch ( ) 2循环控制语句 for ( ) while ( ) do while ( )3其他控制语句 break、continue、gotoreturn用一对花括号“”括起来的若干条语句 花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句例如: if (

17、a>b) max=a; min=b; for(n=1; n<10 ;n+) p = n + p; if( p >= 100 ) printf(“dn”, p); break; 复合语句中如果有说明性语句,应该写在可执行语句的前面例如: main( ) int a,b; a=b=100; float c=10.23; printf("%fn",c); printf("%d %dn",a,b); 函数调用的一般形式 putchar(ch) 功能:在标准输出设备(即显示器屏幕)上输出一个字符。例如:putchar('b');

18、putchar('n'); putchar('101');putchar(st); printf函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。 格式说明符的 % 和后面的描述符之间不能有空格。除 %X、%E、%G外类型描述符必须是小写字母。 长整型数应该用ld(或lo、lx、lu)格式输出,否则会出现输出错误。 printf函数的参数可以是常量、变量或表达式。在计算各参数值时,Turbo C采用从右至左的顺序求值。 函数调用的一般形式 getchar( ) 功能:从标准输入设备(即键盘)上交互输入一个字符。例如:getchar( ) ; c =

19、getchar( ); printf("%c n",getchar( );scanf ("%d%d%d", &a, &b, &c); 输入3个整型十进制数,以空白符(空格、tab键或回车键)分隔 scanf ("%d, %o, %f ", &a, &b, &x); 输入3个数,以“,”分隔scanf ("a=%d, b=%d", &a, &b); 输入的形式是:a=32, b=28 (普通字符要照原样输入)三、本课小结掌握好C语言的基本输入输出方法。五

20、、布置作业章节后面的题目。第四讲 选择结构程序设计 一、教学目的和要求:4.1 if语句4.1.1 if语句的一般形式4.1.2 if语句的嵌套4.2 switch语句4.2.1 switch语句的一般形式4.2.2 break语句4.3 选择结构程序设计举例教学重点:IF语句。教学难点:SWITCH语句。教学方法:投影教学。教学课时:4课时教学手段:电子课件及实例教学过程: 功能: 计算表达式的值,如果是一个非0值(即逻辑真),就执行内嵌语句,否则(即逻辑假)跳过内 例如: if (x>0) m+; if ( a>b ) c=a; a=b; b=c; l 语句一般格式if (表达

21、式) 语句1 else 语句2 l 功能: 计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。 l 例如: if (x>0) m+; else m-; if ( ch>= 'a' && ch<= 'z' ) ch=ch-32 ; printf(" %cn",ch); else printf(" %cn",ch) ;l 语句一般格式if (表达式1) 语句1 else if (表达式2)

22、 语句2 else if (表达式m) 语句m else 语句 nl 功能: 依次计算并判断表达式i,为非0时执行后面的语句,都为0时,执行语句n 无论执行完那个语句分支,都转到后续语句l 输入:用 getchar 或 scnaf 函数l ch是否为大写字母: ch>='A' && ch<='Z'(或 ch>=65 && ch <= 90)l 大写字母转换为小写字母: ch=ch+32l 输出:用 putchar 或 printf 函数【例4.a】比较两个整数的关系。#include <stdio.h

23、>main( ) int x, y; printf ("Enter integer X and Y:"); scanf ("%d%d", &x, &y); if ( x != y ) if ( x > y ) printf ("X>Yn"); else printf ("X<Yn"); else printf ("X=Yn"); if (c<=100) if (c>=50) printf("50<=c<=100n"

24、;); if (c<=100)if (c>=50) printf("50<=c<=100n");else printf("c<50n");else if (c<=150) printf("100<c<=150n");else printf("c>150n"); if (c<=100)if (c>=50) printf("50<=c<=100n");else printf("c<50n")思路: 设x和y为float型变量并赋初值; 输入的运算符op为char型变量; 根据op的值(为'+'、'-'、'*'、'/')进行x和y的相加、相减、相乘、相除运算(选择分支); 还要考虑到输入字符不是+、-、* 或 / 时的情况#include "stdio.h"main( ) float x=100,y=15,z; char o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论