简单C语言程序设计ppt课件.ppt
《简单C语言程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《简单C语言程序设计ppt课件.ppt(74页珍藏版)》请在三一办公上搜索。
1、简单C程序设计,回顾,程序是为执行一项任务而编写的有序指令集C程序的特点C语言的组成C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执行程序,本章要点,C语言的数据类型、运算符C语言的常量和变量C语言的表达式常用数学函数,#include int main( ) int celsius, fahr; fahr=100; celsius=5*(fahr-32)/9; printf(“fahr=%d, celsius=%dn“, fahr, celsius);,执行程序的输出结果为: fahr=100, celsius=37,2.1 温度转换,例2
2、.1 求华氏温度100F对应的摄氏温度,2.1.1 内存,内存可以理解为一排井然有序的小开关,每个开关有两个状态:开表示1,断表示0,所以每个开关表示一个二进制数,0或1,称为一个位(bit).为管理方便,8个位为一组,称为一个字节(byte)然后为所有字节从0开始编号,这个编号称为字节的地址2的10次方( 1024)个字节称为1k2的20次方( 1048576)个字节称为1M2的30次方( 1073741824)个字节称为1G,2.1.2 变量,int celsius, fahr; celsius = 5 * (fahr - 32) / 9;,变量是计算机里一块特定的内存,它由一个或多个连续
3、的字节组成。每个变量都有一个名称,表示内存中的这个位置,以便通过变量名读取该位置的数据或存储一个新数值。变量的值不是固定的,随时都可以改变,且次数不限。,编写程序时,通常使用变量来存储数据,方便后面使用这个数据或者修改这个数据的值。,变量,程序,存储 fahr,计算5 * (fahr - 32) / 9,将值存储为celsius,100,32,输出fahr和celsius,内存变量用来存储数据,系统需要知道每个变量要存储什么类型的数据,然后为每个变量分配一块足够大的内存空间,用来该类型的数据,2.1.3 数据类型,数据属于不同类别,Africa,The quick brown fox,TRUE
4、,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,Jackie Chan,char,数据类型,非数值,数值,整型,int,short int,long int,double,float,非整型,整型变量类型,short int,2个字节,-2-15至215-1 , -32768 至 +32767,整数变量还分为几种不同的类型,以存储不同范围的整数,int,4个字节,-2-31至231-1,-2147438648 至 + 2147438647,long int,4个字节,-2-31至231-1,-2147438648至+2147438647,_i
5、nt64long long int,8个字节,-2-63 至 263-1,1、数据类型所占字节数,取决于所使用的编译器 2、short int 可以简写为short, long int可以简写为long3、不同编译器对64位的支持不同,在VC中只支持_int64,gcc/g+支持 long long, windows平台的gcc/g+也支持_int64,无符号的整数类型,unsigned short int,2个字节,0至216-1 , 0 至 +65535,unsigned int,4个字节,0至232-1, 0 至 + 4294967295,unsigned long int,4个字节,0
6、至232-1, 0 至 + 4294967295,unsigned _int64unsigned long long int,8个字节,0至264-1,0至18445744073709551615,当处理不能为负的数据时,可以使用无符号类型,所占内存与有符号型相同,但对正数的表示范围比有符号型大一倍,2.1.4 变量的声明和使用,声明变量: int celsius, fahr;定义时初始化变量: int celsius, fahr=100;定义后初始化变量: fahr=100; 。给变量赋值,除了给一个直接的值以外,还可以通过计算获得如: celsius=5*(fahr-32)/9;,变量的命
7、名规则,在 C 语言中,变量命名需要遵循一定的规则,有效名称,principal,cost_price,marks_3,lastname,city,无效名称,123rate,currency$,discount%,zip code,变量的命名规则:变量名可以由字母、数字和 _(下划线)组合而成变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等变量名必须以字母或 _(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名C 语言区分大小写,因此变量 price 与变量
8、PRICE 是两个不同的变量,2.1.5 赋值运算,赋值运算符 =赋值表达式:用 = 将一个变量和一个表达式连接起来的式子 变量 表达式例如:fahr = 100; celsius = 5 * (fahr - 32) / 9; 计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量, 的左边必须是一个变量,分析错误程序,/求两个整数的和#includeint main() int a, b, sum; sum=a+b; a=3; b=5; printf(%dn,sum); return 0;,该程序为何得不到正确结果?错误原因是受数学思维的影响,吴以为sum=a+b;是建立sum
9、和a+b之间的一个等量关系,赋值运算“=”表示的是一个动作:先计算表达式的值,再存入赋值号左边的变量中,既不表示数学中的等量代换,也不表示相等关系,执行sum=a+b;语句是,因为a和b中的值都不确定,是随机的,所以其和也是随机的,然后把这个数赋给了sum,该程序为何得不到正确结果?,2.1.6 格式化输出函数printf,printf( %d , count);,格式:printf(“格式控制串”,输出参数表),输出格式,printf(“fahr=%d , celsius=%dn, fahr, celsius);,普通字符,原样输出,%开头的是转换说明,对应与后面一个输出参数,对应参数将被转
10、换成指定格式后在该位置输出,输出结果:fahr=100, celsius=37,输出参数列表,n是转意字符,用来输出一个回车,转换字符串,printf( %d , count);,%d,转换字符串%d,int visitor_count = 150;printf ( %d , visitor_count);,输出结果:150,转换字符串%md,int salary = 5500;printf ( %10d , salary);,输出结果: 5500,输出结果的左边显示了 6 个空格, %10d,数据以十进制整数格式输出,宽度占m列,数据不足m列左补空格,超过m列按实际位数输出。,转换字符串%-
11、md,int salary = 5500;printf ( %10d , salary);,输出结果:5500,输出结果的右边显示了 6 个空格, %-10d,数据以十进制整数格式输出,宽度占m列,数据不足m列右补空格,超过m列按实际位数输出。,课堂练习:输出整数幂,已知m=11,n=41,输出m和n的2次方、3次方和4次方,要求每个数据占8列,左对齐。效果如下:121 1331 14641 1681 68921 2825761,2.2:使用浮点数进行温度转换,例2.2:例2.1中程序的运行结果并不令人满意,因为华氏温度100,对应的摄氏温度应该为37.7777,而不应该是37。,需要使用浮点
12、型变量来存储带小数点的数,我们需要将 celsius, fahr声明为双精度浮点型,#include int main( ) double celsius, fahr; /声明两个双精度浮点型变量 fahr=100.0; /赋值运算 celsius=5*(fahr-32)/9; /计算摄氏温度,并存入变量celsius printf(fahr=%f, celsius=%fn, fahr, celsius);,2.2.1 浮点变量类型,浮点数在计算机中的表示,基于指数表示法,将分为指数和尾数来存储。浮点变量根据数据表示范围和精确度不同,有一下几种类型,float,4个字节,(+/-)3.4E38
13、 ,6位有效数字,浮点变量用来存储浮点数,浮点数包含的值带小数点,也可以表示分数和整数。,double,8个字节,(+/-)1.7E308 ,15位有效数字,课外作业:查阅资料,了解浮点数是如何存储的,Long double,12个字节,(+/-)1.19E4932 ,18位有效数字,注意有效位数的不同,float,double,213.5671435568967,64位,取值范围:10-308 至 10308,16 位有效数字,flaot f_level = 213.5671435568967;double d_level = 213.5671435568967;,去VC下试试!,转换字符串
14、%f,float circumference = 78.53;printf (%f , circumference);,输出结果:78.530000,默认情况下精确到六位小数,9.4786789;,9.478679,2.2.2 浮点数据的输出,double mercury_level = 168.2251074;printf( %7.2f , mercury_level);,输出结果: 168.23,宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。, %7.2f,精度(精确到小数点后多少位),转换字符串%m.nf,2.2.2 浮点数据的输出,程序,指令,2.2.3 常量,标识符关键字常
15、量运算符分隔符等,常量是在程序中保持不变的量,分为:立即数符号常量(宏常量)const 常量,立即数整型常量:如32、100实型常量: 如1.23 123.567e5字符常量: a 、 2 、 n字符串常量:“c program”,定义常量,为使程序易于阅读和便于修改,可以给程序中经常使用的常量定义一个有一定含义的名字。,常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值防止意外的修改,增强程序的健壮性,定义宏常量,#define PI 3.1415926,编译预处理指令#define将PI定义成一个要被3.1415926取代的符号,此时PI不是一
16、个变量,而是3.1415926的别名。,在编译开始之前,只要在程序的表达式中引用PI,预处理器就会用#define 指令中的值(3.1415926)来取代它。,宏常量的缺点:宏常量被替换成立即数之后,内存中有同一个立即数的多份拷贝。,定义const常量,在定义变量时,加上const修饰,告诉编译器,它的值是固定的,不能被改变。编译器会帮你检查、监督。,const double PI=3.1415926;,const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。,在编译的时候,由于const定义常量只是给出了对应的内存地址,而不是象#define给出的是立即数,所以,
17、const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有 若干个拷贝。,例2.3 求圆柱体的体积,/求圆面积,圆周率用立即数#include “stdio.h”int main() doulbe v, r,h; r=10.0; h=20.0; v=3.1415926 r*r*h; printf (“v=%fn”,v); return 0;,/求圆面积,圆周率用宏常量#include “stdio.h”#define PI 3.1415926int main() double v, r, h; r=10.0; h=20.0; v=PIr*r*h; printf(“v
18、=%fn”,v); return 0;,/求圆面积,圆周率用const宏常量#include “stdio.h”const double PI=3.1415926;int main() double v, r, h; r=10.0; h=20.0; v=PIr*r*h; printf(“v=%fn”,v); return 0;,模仿练习,(1)编程,已知圆的半径radius(实数),输出圆的面积,保留两位小数,2.3:对任意华氏温度进行温度转换,例2.3:例2.2中的程序运行后只能输出华氏温度100F对应的摄氏温度,为提高程序地通用性,要求程序运行后等待键盘输入一个华氏温度(实数),程序输出其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 语言程序设计 ppt 课件
链接地址:https://www.31ppt.com/p-1877745.html