《C语言-2-C语言概述 PPT课件》由会员分享,可在线阅读,更多相关《C语言-2-C语言概述 PPT课件(42页珍藏版)》请在金锄头文库上搜索。
1、C语言概述,C语言概述,C程序实例,输入10位同学本学期三门功课的成绩,输出一张二维表,统计每门功课的平均成绩,及格的人数和不及格的人数。,函数定义的一般格式:,函数的组成,函数是C程序的主要组成部分。即函数是C程序的基本单位。,类型说明符 函数名(形参列表) 声明部分; 执行部分; ,/* 函数首部的定义*/,/*函数体*/,P10,一个函数由函数首部和函数体组成。,总结,1、C语言程序由函数组成,函数是C语言程序的基本组成单位。 2、一个C源程序有且仅有一个主(main)函数和若干个子函数组成。 3、C语言源程序文件的扩展名为 .c。,1、C语言的书写格式比较自由,一行可以写多条语句,一条
2、语句也可以写在多行上。通常采用一行一条语句。 2、每条语句的最后必须有一个分号“;”。 3、C语言严格区分大小写。 4、用“/*/”对 C程序中的某行进行注释。注释可出现在程序中的任何位置。,C语言程序书写基本规则,C语言程序设计算法,计算机科学家沃思(Niklaus Wirth): 程序=数据结构+算法 1、数据结构:对数据的描述。在程序中要指定数据的类型和数据的组织形式。 2、算法:对操作的描述,即操作步骤。利用计算机解决问题,首先要设计出适合计算机执行的算法: 要点:操作步骤必须是有限的,每一步都必须是明确的,最终能被计算机执行,而得到结果。,P14,C语言程序设计算法,算法分类: 1、
3、数值运算算法: 2、非数值运算算法:,对问题求数值解, 通过运算得出一个 具体值,如多项式 与线性代数方程组, 矩阵与非线性方程 等应用。,如线性表 、 栈、队 列等的排序、查找 与文件操作等,再 如事务管理,图书检 索、人事管理等。,根据实际问题设计算法时,还要尽量考虑用重复的步骤去实现,使算法简明扼要,通用性强,不仅能减少编写程序的时间,减少上机输入和调试程序的时间,还能减少程序本身所占用的内存空间。,算法的特性,1、有穷性:一个算法应包含有限的操作步骤而不能是无限的。 2、确定性:算法中每一个步骤应当是确定的,而不能具有二义性。 3、有零个或多个输入:通常,处理的数据对象需要从外界通过输
4、入来获得数据。 4、有一个或多个输出:算法的目的就是得到结果,将其结果输出。没有输出的算法是无意义的。 5、有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。,P19,算法的描述,1. 用自然语言表示算法 2. 用流程图表示算法(传统流程图或N-S流程图) 3. 用伪代码表示算法 4. 用计算机语言表示算法,程序设计的思想,分析问题确定解决问题的方案(模型) 确定算法(算法设计) 编写源程序 上机调试,得到正确结果 整理资料,简单 C 语言程序设计,C语言程序的主函数结构,main( ),函数体(由C语言语句组成。),规定:每条语句必须以分号“;”结尾。,C 语言程序设计框架,mai
5、n( ),所有数据的定义说明; 数据输入; 算法或公式; 数据输出;,main ( ) ,输出结果;,所有变量的数据类型定义;,为已知变量提供数据;,算法或公式引用;,编写 C 语言源程序,例1:求两个整数之和。,int a,b,c; a=6; b=6; c=a+b; printf(“%d”,c);,规定:每条语句必须以分号“;”结尾。,main ( ) ,输出结果;,所有变量的数据类型定义;,为已知变量提供数据;,算法或公式引用;,编写 C 语言源程序,例2:将标有标签A和B两个杯子中的内容互换。,int a,b,c; a=1; b=0; c=a;a=b;b=c; printf(“%d%d”
6、,a,b);,C语言:数据类型,数据为什么有类型之分?,在程序设计时所有的数据都必须定义数据类型。数据类型描述了某种数据的特性,其表现形式,占据存储空间的多少以及构造特点等。 不同的数据类型具有不同的取值范围和存储格式。,P37,01101001,10101010,存储内容,00001,00000,00010,00011,00100,11110,11111,存储 单元 地址,存储器是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元。在计算机中的存储器往往有成千上万个存储单元,为了使存入和取出不发生混淆,必须给每个存储单元一个唯一的固定编号,这个编号就称为存储单元的地址。微机内存储器的地址
7、是按字节编址 .,知识链接:存储器的存储单元,数据的数据存储大小、取值范围,定义数据类型,也就决定了其存储格式和取值范围。,C语言:数据类型,C语言的数据类型,整型,字符型,浮点型(实型),枚举类型,单精度型,双精度型,数组类型,结构体类型,共用体类型,基本类型,构造类型,空类型(void),指针类型,数据类型,整型、短整型,长整型,P37,在程序运行中其值不能被改变的量称为常量,其值可以改变的称为变量。 常量和变量都有数据类型。 常量的数据类型以书写形式来确定; 变量的数据类型在编写程序时必须由用户定义说明。 TC:常用的基本数据类型及所占内存空间的大小 整型:int (整型,2)、long
8、 (长整型,4) 实型(浮点型):float(单精度,4),double(双精度,8) 字符型:char (1),P37,常量,定义,在程序执行过程中,其值始终不 变的量。,分类,整型常量(整数)、实型常量(实数)、字符常量(字符常量、字符串常量),特殊常量,符号常量,整型常量(整数、长整数),定义,如:123、3等整数。,分类,整数、长整数(以小写字母l(L)结尾),要点,整数:在内存中占2个字节 取值范围:-32768 32767 长整数:在内存中占4个字节 取值范围: -2147483648 2147483647 如,1234 (整数占2个字节) 1234L (整数占4个字节),P40,
9、1十进制整常数:其数码:09。如,237,-345。 2八进制整常数:八进制整常数以数字0开头(前缀为0),数码:07。八进制数通常是无符号数。如,015(十进制为13),0177777(十进制为65535)。 3十六进制整常数:十六进制整常数以数字0和字母x(X)组合成0 x或0X开头(前缀为0 x或0X),数码:09,AF或af。如,0X2A(十进制为42),0XA0 (十进制为160),0XFFFF (十进制为65535)。,实型常量(实数),在语言中,实数只采用十进制 ,实型常数都按双精度double型(内存占8个字节)处理。,十进制小数形式自然表示法,由数码09和小数点组成。如:25
10、.0 、27.80 、 23. 、 .1234等均为合法的实数。小数点前后若无数时,默认为0。 要点:必须有小数点。任意实常数都是双精度型,占8个字节。,指数形式科学表示法,由十进制数,指数标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为: a E n或ae n(a为十进制数,n为十进制整数) 如:2.1E5 (等于2.1*105)、-2.8E-2 (等于-2.8*10-2)等都是合法的实数 ,而e3、12e2.5均为非法实数。,P45,符号常量,用一个符号来表示一个常量,该符号称为符号常量。其定义的一般格式为:,#define 符号名 常量,P38,功能:把该符号名定义
11、为其后的常量值。其中, define是一条预处理命令(预处理命令都以“#”号开头),也称为宏定义命令。习惯上符号名用大写字母。 要点:预处理命令行后不加分号。,例3:已知某科技书籍每本20.5元,计算买6本所需的钱,若打8折,应需多少钱。,main() int num; float sumb,suma,price ; /*变量声明*/ num=6; /*给变量num赋值*/ price=20.5; /*给变量price赋值*/ sumb=num* price ; suma=num* price * 0.8; printf(%.2f,%.2f,sumb,suma);/*输出结果*/ ,#defi
12、ne PR 20.5 /*预处理命令,用PR代表20.5 */,PR,PR,在程序运行过程中,产生的中间数据以及最终数据用变量的形式存放。变量存放的值可以发生改变。,在程序中,每一个变量都有一个名字,即变量名(标识符)。程序中通过变量名来引用变量的值,也可以通过变量名修改变量中存放的数据。,a,b,c,7,c=7,a=c,7,P38,b=4,4,b=8,8,变量的名命名必须是合法的C语言标识符。,标识符:用来标识(识别)变量、符号常量名、数组名、函数名、类型名、文件名的有效字符序列。 C语言规定:有效标识符由字母、数字和下划线三种字符组成且以字母或下划线为首字符的序列。 标识符的分类:关键字(
13、见P378),预定义标识符( printf,scanf等),用户定义标识符。,P39,合法的标识符,想一想?,以下四组中都能正确作为C语言程序标识符 的是【 】组。 A)printf B)sort_1 row string_to_float int PI qw1 Int C) pow D) book-name string book.price 1_abc A#B define float,B,变量的三要素(变量名、变量值和变量的地址),P39,变量必须先定义,后使用,变量的说明与初始化,通常情况下一个变量在程序中只能说明一次,当变量说明后,便确定了该变量的数据类型,编译系统根据变量类型为变量
14、确定存储空间。,存储类型 类型说明符 变量名1,变量名2,;,变量说明的一般格式:,常用的变量说明格式,类型说明符 变量名1,变量名2,;,类型名有: int (整型) short(短整型) unsigned (int、short、long ) (无符号整型、无符号短整型、无符号长整型) long (长整型) float (实型) double(双精度实型) char(字符型)等。,如: floatx,y; doublez; char c1,c1; int a,b,c;,变量的说明与初始化,在说明变量的同时,对变量赋值,称为变量初始化。,注:变量与计算机内存中的存储单元相对应。不论何时将一个值
15、存放到某个存储单元,该值都会覆盖该单元中原来的值。也就说,该存储单元存放的值永远都是最后一次放置的值。,例如:main() int i,j; float x; x=2.5; i=4; .;,main() int i=4,j; float x=2.5; .;,例如:main() int j; j=5;.;,main() int j=5; . ;,a,b,j;,a,b,j=5;,变量的说明与初始化,printf 格式输出函数,printf(“格式控制”,输出表列),简 单 数 据 输 出,格式,说明,格式控制可由格式字符串和非格式字符串(普通字符)两种组成。 格式字符是以%开头的字符串,在%后面跟
16、有各种格式字符,以说明输出数据的类型、长度、小数位数等。 非格式字符串(普通字符)在输出时原样照印,在显示中起提示作用。 输出表列是需要输出的项,可以是数据、表达式,要求格式字符串和各输出项在个数和类型上应该一一对应。,P75,printf 格式输出函数,printf(“格式控制”,输出项表列),简 单 数 据 输 出,格式,常用形式,形式一: printf(“字符串序列”); 形式二: printf(“格式控制”,输出项表列);,printf 函数:形式一的用法,简 单 数 据 输 出,main() printf(Welcome to C!); ,main() printf( *n); printf( * *n