C语言第一到十四章B.ppt
《C语言第一到十四章B.ppt》由会员分享,可在线阅读,更多相关《C语言第一到十四章B.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语 言 程 序 设 计1C C 程程 序序设设计计语语言言 第第 1 1章章 C C 语言概述语言概述 第第 2 2章章 算法算法 第第 3 3章章 数据类型、运算符与表达式数据类型、运算符与表达式 第第 4 4章章 最简单的最简单的C C程序设计程序设计顺序程序设计顺序程序设计 第第 5 5章章 选择结构程序设计选择结构程序设计 第第 6 6章章 循环控制循环控制 第第 7 7章章 数组数组 第第 8 8章章 函数函数 第第 9 9章章 指针指针 第第1010章章 结构体与共用体结构体与共用体 第第1111章章 文件文件 第第1212章章 预处理命令预处理命令 第第1313章章 位操作位
2、操作 第第1414章章 总结总结C 程序设计语言 回顾软件工程 07级2007年12月5日C 语 言 程 序 设 计2第第1章章 C语言概述语言概述计算机科学:信息在计算机内使用数据来表示,研究信息表示 和信息处理。数据:是用以描述客观事物的数值、字符,以及一切可以输入到 计算机中并由计算机程序加以处理的符号的集合。数据的基本单位称为数据元素 数据的最小单位称为数据项问题 数学模型 算法 程序 测试 计算计算机解题过程C 语 言 程 序 设 计3 程序设计语言程序设计语言 高级语言程序调试过程高级语言程序调试过程机器语言 符号语言 汇编语言 高级语言源程序 目标程序编 译连 接filename
3、.cfilename.cppfilename.exefilename.dllfilename.objC 语 言 程 序 设 计4开开 始始编编 辑辑编编 译译连连 接接执执 行行有有 错错?结果结果正确正确结结 束束源程序f.c目标程序f.obj库函数其它目标程序可执行程序f.exe有有不正确不正确无无正确正确图图1.1库函数其它目标程序F1n.objC 语 言 程 序 设 计5C语言特点语言特点 1、语言简洁、紧凑,使用方便灵活 2、运算符丰富运算符丰富 3、数据结构丰富,具有现代化语言的各总数据结构 4、具有结构化的控制语句 5、语法限制不太严格,程序设计自由度大语法限制不太严格,程序设计
4、自由度大 6、C语言允许直接访问物理地址,能进行位操作语言允许直接访问物理地址,能进行位操作 可实现汇编语言的大部分功能可实现汇编语言的大部分功能 7、生成目标代码的质量高,程序执行效率高 8、程序可执行性好C 语 言 程 序 设 计6C语言程序结构语言程序结构1.C程序是由函数构成的。一个C源程序至少包含一个主函数(main或主程序)和若干个其它函数(子函数或子程序)2.一个函数由两部分程序组成:说明部分和函数体3.一个C程序总是从main函数开始执行,不论main函数放在程序中的什么位置。程序的流程是通过主函数main调用其它子函数,或子函数间的相互调用4.C程序书写格式自由,一行内可以写
5、多条语句,但每一语句必须用分号(“;”)结束5.C语言本身没有输入/输出语句,而是用函数完成相应操作6.可以用/*,*/在程序的任何部分做注释C 语 言 程 序 设 计7算法(算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令(规则)的 有限序列,其中每一条指令表示一个或多个操作。“好好”的算法的标准的算法的标准 正确性,算法能满足具体问题的需求 可读性,首先方便阅读与交流,其次才是机器执行 健壮性,输入错误时,能作出反应,避免异常出错 效率与低存储量要求算法的特征算法的特征 有穷性、确定性、输入、输出、有效性第第2章章 算法算法 AlgorithmC 语 言 程 序 设 计8
6、对算法对算法“正确性正确性”的要求的要求 不含语法错误;对于几组输入数据能得到满足要求的结果;对精心选择苛刻并带有刁难的数据能得到满足要求的结果;对于一切合法的输入均得到满足要求的结果;算法描述算法描述 自然语言;程序设计语言;类语言*;流程图N.Wirth:Programming=Algorithm +Data Structure 程序设计 =算法 +数据结构C 语 言 程 序 设 计9问题总是先于算法问题总是先于算法程序设计的四个里程碑程序设计的四个里程碑 子程序、高级语言、结构程序设计、面向对象(OOP)结构程序设计结构程序设计 限制使用GO TO语句(基于三种基本结构)逐步求精的设计方
7、法 自顶向下的设计、编码与调试 主程序员组的组织形式问题解决问题的算法实现算法的程序C 语 言 程 序 设 计10三种基本结构ABpABAP顺序结构顺序结构选择结构选择结构循环结构循环结构PA成立成立PA不成立不成立C 语 言 程 序 设 计11常量常量符号常量#define PRICE 30#define PI 3.1415926#define MAX 1000Total=num*PRICE;Area=PI*R*R;Int xMAX;变量变量变量名 变量名命名规则变量是有类型的数据类型数据类型:变量的取值范围和所允许操作的集合第第3章章 数据类型、运算符与表达式数据类型、运算符与表达式3a变
8、量名变量值存储单元C 语 言 程 序 设 计12变量的存储类型变量的存储类型 变量的数据类型变量的数据类型 变量名变量名变量说明:先定义,后引用变量说明:先定义,后引用标识符命名规则intfloatcharPointer to arraystructautostaticregisterextern变量的:有效范围作用时间变量的:取值范围操作C 语 言 程 序 设 计13数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型空空 类类 型型整形整形int字符型字符型char实型(浮点型)实型(浮点型)float枚举类型枚举类型数组数组array结构体结构体struct共用体共用体uni
9、nIntLong int Short int Unsigned int Unsigned short intUnsigned long int 注意:每种类型数据的取值范围注意:每种类型数据的取值范围Int :-2bits-1 (2bits-1-1)Unsigned :0 (2bits-1)Float :10-38 1038Double :10-308 10308C 语 言 程 序 设 计14运算符运算符0、赋值运算:、赋值运算:=1、算术运算符:、算术运算符:+*/%2、关系运算符:、关系运算符:=!=3、逻辑运算符:、逻辑运算符:!&|4、位运算符:、位运算符:-|&5、赋值运算符:、赋值
10、运算符:=+=*=/=6、条件运算符:、条件运算符:?:7、逗号运算符:、逗号运算符:,8、指针运算符:、指针运算符:*&9、求字节数运算符:、求字节数运算符:sizeof10、强制类型转换:、强制类型转换:(类型类型)11、分量运算符、分量运算符:.-12、下标运算符:、下标运算符:13、其他、其他:()优先级优先级类型转换类型转换C 语 言 程 序 设 计15表达式表达式算术表达式:算术表达式:算术运算符算术运算符关系表达式:关系表达式:关系运算符关系运算符逻辑表达式;逻辑表达式;逻辑运算符逻辑运算符赋值表达式:赋值表达式:变量变量=表达式表达式逗号表达式:逗号表达式:表达式表达式1,表达
11、式表达式2,表达式表达式n条件表达式:条件表达式:表达式表达式1?表达式?表达式2:表达式:表达式3混合运算混合运算doublelongunsignedint低高floatChar,shortC 语 言 程 序 设 计16第第4章章 最简单的最简单的C程序设计程序设计顺序程序设计顺序程序设计C程序源程序文件1源程序文件2源程序文件3预处理命令全局变量声明函数1函数n函数首部函 数 体局部变量声明执行语句C 语 言 程 序 设 计17C语句语句1、控制语句 if()else for()while()dowhile()continue break switch goto return2、函数调用3
12、、表达式语句4、空语句5、复合语句赋值语句赋值语句C 语 言 程 序 设 计18输入输入/输出语句综述输出语句综述输入:从键盘或文件键入或读入数据,输入:从键盘或文件键入或读入数据,并将数据赋给程序中的变量。并将数据赋给程序中的变量。输出:将程序中变量的值显示在显示器上,输出:将程序中变量的值显示在显示器上,或写入到文件中,或在打印机上打印。或写入到文件中,或在打印机上打印。C 语 言 程 序 设 计19C语言中的输入语言中的输入/输出输出1、字符输入/输出 putchar(chr)chr=getchar()文件的字符输入/输出 fputc(chr,fp)chr=fgetc(fp)2、字符串输
13、入/输出 puts(str)gets(str)文件的字符串输入/输出 fputs(strr,fp)fgets(str,n,fp)C 语 言 程 序 设 计203、格式输入/输出 printf(格式控制,输出表列)scanf(格式控制,地址表列)文件的格式输入/输出 fprintf(文件变量,格式控制,输出表列)fscanf(文件变量,格式控制,地址表列)Printf(“Format”,表达式1,表达式2,)Scanf(“Format”,&变量名1,&变量名2,)格式控制格式控制(Format)整 形 int%d%-nd%-m.nd实 型 float%f%-m.nf字符型 char%c%-nc字
14、符串 char c1MAX%s%-nsC 语 言 程 序 设 计214、块数据的输入/输出 fread(buffer,size,count,fp)fwrite(buffer,size,count,fp)Char str20;Char str20;sprintf(str,sprintf(str,格式控制,变量列表格式控制,变量列表););Turbo C 函数C 语 言 程 序 设 计22系统自动打开和关闭三个系统自动打开和关闭三个标准文件标准文件标准输入标准输入-键盘键盘 stdinstdin标准输出标准输出-显示器显示器 stdoutstdout标准出错输出标准出错输出-显示器显示器 stde
15、rrstderrfpringtf(stdout,“x=%d,y=%fn”,x,y);pringtf(“x=%d,y=%fn”,x,y);C 语 言 程 序 设 计23第第5章章 选择结构程序设计选择结构程序设计算术运算 关系运算 逻辑运算 逻辑常量例:a&b&ca|b|c当a=1,b=2,c=3,d=4时 (m=ab)&(n=cd)执行后m、n=?(m=ad)执行后m、n=?ab!a!ba&ba|b真真假假真假真假假假真真假真假真真假假假真真真假ab!a!ba&ba|b110010100011010110001110真值表真值表C 语 言 程 序 设 计24条件语句:条件语句:三种格式:if(
16、)if()else else if条件表达式:表达式1?表达式2:表达式3条件运算:变量=表达式1?表达式2:表达式3SwitchC 语 言 程 序 设 计25第第6章章 循环控制循环控制循环类型:“当”型 “直到”型 计数while()dowhile()for(表达式1;表达式2;表达式3)Break:结束循环Continue:结束本次循环,进入下一次循环用流程图表示各种循环结构用流程图表示各种循环结构C 语 言 程 序 设 计26表达式1表达式2下一条语句假真真假break表达式1表达式2下一条语句假真真假continueC 语 言 程 序 设 计27第第7章章 数数 组组一维数组二维数组
17、数组下标变量维数数组名数组名 数组类型数组类型 元素个数元素个数 下标范围下标范围先定义后使用原则先定义后使用原则数组的内存存储结构数组的内存存储结构数组长度初始化初始化数组与指针数组与指针地址常量相同类型元素组成的集合相同类型元素组成的集合C 语 言 程 序 设 计28概述函数分类函数结构函数的参数和函数的值函数的调用被调用函数的声明和函数原型函数的嵌套调用函数的递归调用函数与数组存储类型函数的指针和指向函数的指针变量简介指针数组与主函数main()的形参第第 8章章 函数函数 C 语 言 程 序 设 计29C程序是由函数构成的!程序是由函数构成的!C程序程序源程序文件源程序文件1源程序文件
18、源程序文件2源程序文件源程序文件3预处理命令预处理命令全局变量声明全局变量声明函数函数1函数函数n函数首部函数首部函函 数数 体体局部变量局部变量声明声明执行语句执行语句C 语 言 程 序 设 计30函数分类1:定义的角度看,函数可分为 库函数库函数和用户定义函数用户定义函数函数分类函数分类函数分类2:从调用角度,可分为 有返回值函数有返回值函数和无返回值函数无返回值函数函数分类3:参数传递角度,可分为 无参函数无参函数和有参函数有参函数函数分类4:从功能功能角度,可分为:字符串、字符串、转换、目录路径、诊断图形转换、目录路径、诊断图形I/O函数、接口、内存管理、日期和时函数、接口、内存管理、
19、日期和时间、数学、进程等间、数学、进程等C 语 言 程 序 设 计31 存储类型存储类型 返值类型返值类型 函数名函数名(形式参数表列形式参数表列)声明部分声明部分(局部变量说明局部变量说明)语句部分(完成函数的功能)语句部分(完成函数的功能)exit(0)return;/return();/return()/return 函数的结构函数的结构autostaticregisterexternInt,float,charPointer to Structvoid类型变量指针数组结构体函数C 语 言 程 序 设 计32存储类型存储类型 返值类型返值类型 函数名函数名(形式参数表列形式参数表列)标识
20、符命名规则intfloatcharpointerarrayStructvoidautostaticregisterextern变量的:有效范围作用时间变量的:取值范围操作 类型变量 指针变量 数组 结构体 函数C 语 言 程 序 设 计33函数的调用函数的调用 函数调用的一般形式函数调用的一般形式 函函数数名名(实实际际参参数数表表);函数表达式函数表达式 例如:z=max(x,y)函数语句函数语句 例如:printf(%d,a);scanf(%d,&b);函数实参函数实参 例如:printf(“%d”,max(x,y);常量 表达式 数组元素 类型变量 指针变量 数组 结构体 函数C 语 言
21、 程 序 设 计34被调用函数的声明和函数原型被调用函数的声明和函数原型 其一般形式为:其一般形式为:类型说明符类型说明符 被调函数名被调函数名(类型类型 形参,类型形参,类型 形参形参);或为:或为:类型说明符类型说明符 被调函数名被调函数名(类型,类型类型,类型);原则:原则:先声明,后使用 函数的嵌套调用函数的嵌套调用函数的递归调用函数的递归调用直接递归直接递归和和间接递归间接递归C 语 言 程 序 设 计35关于函数的处理结果:关于函数的处理结果:无数据返回无数据返回单值返回单值返回多值返回多值返回批量数据返回批量数据返回 调用函数调用函数被调用函数被调用函数结果结果C 语 言 程 序
22、 设 计36数组作为函数参数数组作为函数参数 数组元素作为函数实在参数,形参为变量 数组名作为函数参数(指针),形参为指针,但应同 时传送数组的长度例:float average(float array10,int n)float average(float array,int n)float average(float *array,int n)指针变量作为函数参数指针变量作为函数参数C 语 言 程 序 设 计37存储类型存储类型变量的数据类型:变量的取值范围和允许的操作变量的存储类型:变量的有效时间和作用范围变量的存在时间变量的存在时间(1)全局变量(全局变量(global varible
23、)定义在所有函数体之外的变量。定义位置:在程序中所有函数体之外;有效范围:在定义开始之后的所有函数中;使用要求:不能与局部变量重名;存在时间:从程序开始到程序结束。(2)局部变量(局部变量(local varible)定义在所函数体内的变量。定义位置:在某一函数体内定义;有效范围:只在定义变量的函数中有效;存在时间:函数调用时产生,函数结束后消失 使用特点:局部变量的存在时间决定了不同函数中的局部变量 是互不干涉的,即使同名,也完全相互独立。(3 3)外部变量()外部变量(Extern varibleExtern varible)C 语 言 程 序 设 计38变量的存储类型:变量的存储类型:a
24、uto static register extern1、自动存储类型、自动存储类型(auto)2、寄存器存储类型、寄存器存储类型(register)3、静态存储类型、静态存储类型(static)4、外部存储类型、外部存储类型(extern)性能性能自动变量自动变量(局部变量)(局部变量)外部变量外部变量(全局变量)(全局变量)静态变量静态变量寄存器变量寄存器变量外部外部内部内部生存期生存期与函数相同与函数相同与程序相同与程序相同程序程序程序程序函数函数多函数共享多函数共享否否可可可可否否否否多文件共享多文件共享否否可可否否否否否否定义式自动初始化定义式自动初始化否否000否否作用域作用域当前函
25、数当前函数整个程序整个程序当前程序当前程序当前函数当前函数当前函数当前函数存储变量的特征存储变量的特征C 语 言 程 序 设 计39从作用于角度,分为局部变量和全局变量。从作用于角度,分为局部变量和全局变量。变量的作用域变量的作用域 存在时间存在时间 动态存储动态存储 静态存储静态存储静态存储:静态存储:静态局部变量(函数内有效)静态局部变量(函数内有效)静态外部变量(本文件内有效)静态外部变量(本文件内有效)外部变量(其它文件可引用)外部变量(其它文件可引用)动态存储:动态存储:自动变量(本函数内有效)自动变量(本函数内有效)寄存器变量(本函数内有效)寄存器变量(本函数内有效)形式参数(本函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第一 十四
限制150内