C语言教学ppt课件.ppt
《C语言教学ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言教学ppt课件.ppt(291页珍藏版)》请在三一办公上搜索。
1、1,C语言程序设计,2,教学内容,第一章C语言概述第二章算法第三章数据类型、运算符与表达式第四章最简单的C程序设计第五章选择结构程序设计第六章循环控制第七章数组第八章函数第九章预处理命令第十章指针第十一章 结构体第十三章 文件,3,前 言,前 言,一、计算机语言,1、机器语言2、汇编语言3、高级语言,4、高级语言向机器语言的过渡,机器指令的集合,符号化的机器语言,通用自然的算法语言,4,前 言,二、程序与程序设计,完成某一功能的计算机指令的有序集合,1、程序,2、程序设计,设计、编制、调试程序的过程,5,3、程序设计的基本步骤,(1) 分析问题,(2) 确定解题思路和算法,(3) 编制流程图,
2、(4) 编写源程序,(5) 静态检查,(6) 上机调试,(7) 正式运行,前 言,6,本章内容1.1 C语言发展史1.2 C语言特点1.3 简单C程序分析,第一章 C语言概述,返回,7,第一章 C语言概述,第一章 C语言概述,1.1 C语言发展史,1960 ALGOL60 (Algorithmic Language),1987 87 ANSI C 1990 ISO C,1972 C (取BCPL第二个字母),1970 B (取BCPL第一个字母),1978 标准C 1983 ANSI C,1967 BCPL (Basic Combined,Programming Language),跳转,8,
3、第一章 C语言概述,1.2 C语言特点,1、简练、自由、结构化 (32个关键字、9种控制语句),2、运算符丰富(附录)34种,3、数据结构丰富,4、可直接对硬件进行操作,5、目标程序质量高,6、可移植性好,9,第一章 C语言概述,1.3 简单C程序分析,例1.1 打印(显示)一串字符。,运行结果: This is an example.,/* example1.1 */ main( ) printf(“This is an example. n”); ,10,第一章 C语言概述,例1.2 已知角度值45, 求正弦值的2倍。,/*example 1.2*/ #include “math.h” m
4、ain( ) float x, y; x=45; y=2*sin(x*3.14/180); printf(“Y=%f n”, y);,运行结果: Y=1.413650,11,第一章 C语言概述,例1.3 已知三角形三边 a, b, c, 求面积。,/*example 1.3*/ #include “math.h” main( ) float a, b, c, p, s; scanf(“%f, %f, %f ”, ,输入:4,5,6 ,输出:P=7.500000S=9.921567,12,第一章 C语言概述,max( int x , int y ) main( ) /*max number*/
5、int z ; int a , b , c ; if(xy) z=x ; scanf(“%d,%d”, ,例1.4 已知整数 a, b, 求其中的最大数。,13,第一章 C语言概述,C程序结构,1、C程序由函数构成,C程序=,一个主函数(main函数)一个主函数+若干其他函数(子或库),Turbo C有300多个,跳转,3、语句书写自由,后带分号“;”,4、可用 /*/ 对C程序作注释,前一页,14,本章内容2.1 算法的概念2.4 算法的表示2.5 结构化程序设计,第二章 算法,返回,15,第二章 算法,第二章 算法,程序 = 数据结构 + 算法,程序=数据结构+算法+程序设计方法+语言工具
6、和环境,数据结构:对数据的描述,算法:对操作的描述,#include “math.h” main( ) float x, y; x=45; y=2*sin(x*3.14/180); printf(“Y=%f n”, y);,16,例如:1+2+3+100=5050 或100+1+99+2+98+49+51+50=100+49*100+50=5050,第二章 算法,2.1 算法的概念,算法:为解决一个问题而采取的方法和步骤。,17,第二章 算法,2.4 算法的表示(用流程图表示算法),起止框,处理框,判断框,输入/出框,流程线,连接点,注释框,18,第二章 算法,例2.1 计算265的平方根,顺
7、序结构,NS图,19,第二章 算法,例2.2 打印X的绝对值,分支结构,NS图,X=0,y n,打印x 打印 -x,20,第二章 算法,例2.3 计算1到100的和,循环结构,i=100,n,NS图,i=1,s=0,s=s+i,i=i+1,打印s,y,i=1,s=0,s=s+i,i=i+1,打印s,当i=100,21,(1)自顶向下 (2)逐步细化(3)模块化设计 (4)结构化编码,第二章 算法,2.5 结构化程序设计方法(了解内容),结构化程序便于编写、阅读、修改和维护。可以减少程序出错的机会,提高程序的可靠性,保证程序的质量。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段
8、进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。,22,本章内容3.1 C的数据类型3.2 常量与变量3.3 整型数据3.4 实型数据3.5 字符型数据3.6 变量赋初值3.8 算术运算符与算术表达式3.9 赋值运算符和赋值表达式3.10 逗号运算符和逗号表达式,第三章 数据类型、运算符与表达式,返回,23,第三章 数据类型、运算符与表达式,空类型 void(无return的函数),C数据类型,基本类型,构造类型,指针类型,整型实型字符型枚举型,数组型结构体型共用体型,单精度双精度,第三章 数据类型、运算符与表达式,3.1 C的数据类型,24,第三章 数据类型、运算符与表达式,3.
9、2 常量与变量,一、常量,1、整型常量 0和正负整数,4、字符串常量“”括起来的字符串,5、符号常量 #define 符号名 常量,2、实型常量,3、字符型常量,跳转,25,第三章 数据类型、运算符与表达式,#define PI 3.1415926,例3.2 定义一个符号常量 PI,其值为,26,第三章 数据类型、运算符与表达式,二、变量,1、变量名以标识符命名,由字母、数字或下划线组成首字符为字母或下划线用来标识变量、符号常量、数组、函数、文件等,标识符,例:sum good123 student_name,27,第三章 数据类型、运算符与表达式,2、变量的定义,用变量定义语句定义变量及其类
10、型,(1) 变量定义语句的格式,类型关键字 变量名或赋值表达式表;,实型,字符型,(2) 类型关键字,整型,基本型 int短整型 short长整型 long无符号型 unsigned,单精度型 float双精度型 double,char,28,第三章 数据类型、运算符与表达式,(3) 说明, 必须在程序执行部分之前对程序 中的所有变量进行定义, C语言中整型和字符型数据通用,可在定义变量的同时给其赋初值,例: int a=3, b=4, c=5 ; float x, y, z=0.5; char w=a;,变量名不能用关键字, 变量区分大小写,29,第三章 数据类型、运算符与表达式,(4) 举
11、例3.3,#define PI 3.1415926#include “ math.h”main() float x , y ; x=67 ; y=2*sin(x*PI/180) ; printf(“y=%f” , y ) ; ,返回,30,第三章 数据类型、运算符与表达式,1、常量: 十进制 567 ,-789 ,0 八进制 0567, -0753 十六进制 0 x567 , -0 xa12、变量: int i , j ; i=10 ; j= -10 ;,3.3 整型数据,31,第三章 数据类型、运算符与表达式,3、整型变量数的表示范围:(-3276832767)4、整型变量的分类:,有符号基
12、本整型 signed int无符号基本整型 unsigned int有符号短整型 signed short int无符号短整型 unsigned short int有符号长整型 signed long int无符号长整型 unsigned long int,32,第三章 数据类型、运算符与表达式,a,0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,b,5、无符号和有符号数的比较:int a ; (-3276832767)unsigned int b ; (065535),符号位,数据位,32767,65535,2152142132122112102928272625242322
13、2120,32768、16384、8192、4096、2048、1024 ,33,第三章 数据类型、运算符与表达式,举例3.4main()int a , b , c , d ; unsigned int u ; a=12 ; b= -24 ; u=10 ; c=a+u ; d=b+u ; printf(“a+u=%d , b+u=%dn” , c , d ) ; 运行结果:a+u=22 , b+u= -14,34,第三章 数据类型、运算符与表达式,a,0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,6、整型数据的溢出:,符号位,32767,a+1,1 0 0 0 0 0 0 0
14、 0 0 0 0 0 0 0 0,符号位,-32768,35,第三章 数据类型、运算符与表达式,举例3.5main()int a , b ; a=32767 ; b=a+1 ; printf(“a=%d , b=%dn” , a , b ) ; 运行结果:a=32767 , b= -32768,36,第三章 数据类型、运算符与表达式,7、整型常量的类型使用整型常量时应注意以下几点:在(-3276832767)范围内的整数赋给int型或long型变量如: int a ; long b ; a=0 xb4 ; b=12 ;在(-21474836482147483647)范围内的整数赋给long型变
15、量如: long b ; b=50000 ;如果机器中短整型和基本整型所占字节数相同,则同等对待 如: int a ; short b ; a=0576 ; b=a ;常量无unsigned型,赋值时注意溢出问题一个整型常量后面加一个 l 或 L则认为是long 型常量(虚实对应)如: int a ; long b ; a=1234 ; b=12L ;,37,第三章 数据类型、运算符与表达式,1、常量:小数形式 .567 ,-789. ,0.0 , 5.0 指数形式 123e4 , -753E-5 (输出时规范化 1.23000e+06)2、变量:float x ; double y ; lo
16、ng double z ; x=3.14159 ; y=7.86e12,3.4 实型数据(浮点数),38,第三章 数据类型、运算符与表达式,main( )float a , b ; a=123456.789e5 ; b= a+20 ; printf(“a=%f , b=%fn” , a , b ) ; 运行结果:a=12345678848.000000 , b= 12345678848.000000,3、实型数据的舍入误差举例3.6,39,第三章 数据类型、运算符与表达式,4、实型常量的类型 许多编译系统均将实型常量按照双精度数处理,结果存入单精度变量,降低了运算速度,可以在实型常量的后边加一
17、个 f 或 F 以表示单精度数。 如:float f ; f=2.45678 f * 4523.65 f ;5、单精度变量有6 7位有效数字(10-37 1038) 双精度变量有15 16位有效数字(10-307 10308),40,第三章 数据类型、运算符与表达式,1、常量: (a) a、 x、 ?、 $ (b) n 、 t 、 (c) 101、 x41 (d) 0 或000 ASCII值为0的空操作字符2、变量: char c1 , c2 ; c1=a ; c2=b ;3、内存中的存储形式,c1 97 0110 0001,c2 98 0110 0010,八进制,十六进制,3.5 字符型数据
18、,A,41,第三章 数据类型、运算符与表达式,4、字符型数据的使用举例3.7main()char c1 , c2 ; c1=97 ; c2=98 ; printf(“c1=%c , c2=%cn” , c1,c2 ) ; printf(“c1=%d , c2=%dn” , c1,c2 ) ; 运行结果:c1=a , c2= bc1=97,c2=98,42,第三章 数据类型、运算符与表达式,举例3.8main()char c1 , c2 ; c1=a ; c2=b ; c1=c1-32 ; c2=c2-32; printf(“c1=%c , c2=%cn” , c1,c2 ) ; printf(
19、“c1=%d , c2=%dn” , c1,c2 ) ; 运行结果:c1=A , c2=Bc1=65, c2=66,43,第三章 数据类型、运算符与表达式,举例3.9main()int i ; char c ; i=a ; c=97 ; printf(“c=%c , c=%dn” , c , c ) ; printf(“i=%c , i=%dn” , i , i ) ; 运行结果:c=a , c=97i=a , i=97,44,第三章 数据类型、运算符与表达式,5、字符串常量“How do you do.”、“CHINA”、“a”、“$123.45” 注意:(1)没有字符串变量(可用字符数组存
20、储) (2)字符串常量在内存中的存储形式,(3)在输出语句中的应用 printf(“How do you do.”) ; printf(“c=%c , c=%dn” , c , c ) ;,45,第三章 数据类型、运算符与表达式,int a=3 ;float f=3.14 ;char c=a ;int a ,b=3 ,c ;int a=3 ,b=3 ,c=3 ; 注意:变量的初始化不是在编译阶段完成的,而是在程序运行时执行本函数时赋予初始值的。,3.6 变量赋初值,46,第三章 数据类型、运算符与表达式,3.8 算术运算符与算术表达式,一、C运算符简介(13类),算术运算符 + - * / %
21、 + - -关系运算符 = = !=逻辑运算符 ! & |赋值运算符 =条件运算符 ? :逗号运算符 , 指针运算符 * & 强制类型转换运算符 (类型关键字),47,第三章 数据类型、运算符与表达式,二、算术表达式,1、定义:用算术运算符和括号将运算对象连接起来且符合C语法规则的式子,2、运算顺序 a*b/c-1.5+a,48,3、运算类型( 3.7混合运算 ),(1) 同类型运算结果类型不变,不同类型运算先按类型级 别低向高转换成同一类型, 再计算,double floatlongunsignedint char, short,高低,10+a+ i * f - d/l,4、优先级和结合性,
22、第三章 数据类型、运算符与表达式,49,第三章 数据类型、运算符与表达式,(类型关键字)(表达式),例: (int) a (float)(5%3) (double)(x+y),三、强制类型转换运算,注意: (int) x+y 只转换 x的类型后与y相加 (int) x 不等同于int (x),50,第三章 数据类型、运算符与表达式,举例3.10main()int i ; float x ; x=3.6 ; i=(int)x ; printf(“x=%f , i=%dn” , x , i ) ; 运行结果:x=3.600000 , i=3,51,第三章 数据类型、运算符与表达式,四、自增、自减运
23、算,1、运算规则,+i -i 使用前使i值加(减) 1i+ i- 使用后使i值加(减) 1,2、注意,(1) 只能用于变量,(2) 右结合方向,(3) 使用时谨防出错,52,第三章 数据类型、运算符与表达式,3、例,53,第三章 数据类型、运算符与表达式,3.9 赋值运算符和赋值表达式,一、赋值运算符及其操作,= 将一个表达式的值赋给一个变量,二、赋值表达式, ,说明:(1) 发生类型转换(自学60-61页) (2) 右结合,例:x= -b/(2*a) a=b=c=5 a= (b=4)+(c=6) 那么a=5=b=c?,54,第三章 数据类型、运算符与表达式,三、复合赋值运算,复合赋值运算符=
24、运算符+赋值号,55,第三章 数据类型、运算符与表达式,3.10 逗号运算符和逗号表达式,1、逗号表达式,表达式1,表达式2,表达式n,2、运算规则,从左到右依次计算各表达式的值,以表达式n的值作为最终值(其优先级最低),56,第三章 数据类型、运算符与表达式,举例3.11main()int i ; float f=7.2 ; printf(“i=%d n” ,(f+=4 , i=f) ; printf(“f=%f n” , f ) ; 运行结果:i=11f=11.200000,57,本章内容4.1 C语句概述4.2 赋值语句4.3 I/O的概念及在C语言中的实现4.4 字符数据的输入/输出4
25、.5 格式输入与输出,第四章 最简单的C程序设计,返回,58,第四章 最简单的C程序设计,4.1 C语句概述,第四章 最简单的C程序设计,C语句,控制语句(条件、分支、循环)函数调用语句(函数加分号)表达式语句(表达式加分号)空语句(一个单独的分号)复合语句(用 将若干语句括起),59,第四章 最简单的C程序设计,4.2 赋值语句,语句格式:赋值表达式;,例如:if ( ( a=b ) 0 ) t=a ; if ( ( a=b ) ) x=a; if (a=b ) y=a;在 if 后面的小括号内必须是表达式,60,C 程序最基本的成分是语句 目前我们已掌握的语句: 变量说明语句: int a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教学 ppt 课件
链接地址:https://www.31ppt.com/p-1375811.html