《2.变量和数据类型.ppt》由会员分享,可在线阅读,更多相关《2.变量和数据类型.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章变量和数据类型程序是为执行一项任务而编写的有序指令集算法是解决问题的具体方法和步骤流程图是算法的图形化表现形式C语言的特点C程序的编译和运行过程编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序2回顾回顾理解变量和常量的含义熟悉基本数据类型-int、char、float 和 double使用算术运算符理解类型转换熟练使用 scanf()和 printf()函数熟练使用 getchar()和 putchar()函数3目标目标4C C语言中的基本元素语言中的基本元素程序程序指令指令标识符标识符关键字关键字常量常量运算符运算符分隔符分隔符等等常量是在程序中保
2、持不变的量常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值5变量变量程序内存编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。存储 RateRate*5%将值存储为DiscAmtRate-DiscAmt100.5将值存储为Result9.5声明变量:Datatype variablename;定义时初始化变量:Datatype variablename=value;定义后初始化变量:variablename=value
3、;6声明和使用变量声明和使用变量给变量赋值,除了给一个直接的值以外,还可以通过计算获得。变量的命名规则:变量名可以由字母、数字和 _(下划线)组合而成变量名不能包含除 _ 以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或 _(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量变量命名变量命名7在 C 语言中,变量命名需要遵循一定的规则有效名称有效名称principalcost_pricema
4、rks_3lastnamecity无效名称无效名称123ratecurrency$discount%zip code8基本数据类型基本数据类型数据属于不同类别AfricaThe quick brown foxTRUE数据 非数值数值整型非整型9002.129999/12/20032.175123Jackie Chanchar数据类型非数值数值整型intshort intlong intdoublefloat非整型整型整型名称全称类型说明符缩写类型说明符位数 范围整型intint16-32768 至+32767无符号整型unsigned intunsigned160 至 65,535短整型sho
5、rt intshort16-32768 至+32767无符号短整型unsigned short intunsigned short160 至 65,535长整型long intlong32-2,147,483,648 至 2,147,483,647无符号长整型unsigned long intunsigned long320 至 4,294,967,2959声明:int page_number;long int population;unsigned int age;可按如下方式初始化:page_number0;int max_marks=100;10使用整型变量使用整型变量在同一语句中可以声
6、明多个类型相同的变量:int page_number,copies,paper_width;声明:float selling_price;初始化:float selling_price=11.3;selling_price=65.90;11单精度浮点型单精度浮点型 float 在 C 语言中用于存储单精度浮点数float32 位10-38 至 10+38,7位有效数字声明:double pressure_level;初始化:pressure_level=213.5671435568967;double dvalue=35.4;12双精度浮点型双精度浮点型内存内存floatdouble213.5
7、671435568967 64位位取值范围:10-308 至 1030816 位有效数字字符型字符型3-13-1 13在线保险单在线保险单年龄:_保险总额:_性别:_2398340Mint/floatchar字符型字符型3-23-214值符号值符号值符号0空字符44,9132空格45-9233!46.933447/9435#48 570 995-36$58:9637%59;97 122a z38&6012541)63?12642*64127DEL(Delete键)43+65 90A Z 5 p$2 2 正确正确正确正确2+2=4 字符型字符型3-33-315占 8 位内存signed或 uns
8、ignedSigned-128 至+127 unsigned 0 至 255 char gender;gender=m;char gender=m;16输入输入/输出函数输出函数输入/输出函数(printf/scanf)用于接受和显示数据或信息#include void main()int num;printf(请输入一个数:);scanf(%d,&num);printf(n%d 的平方为%d n,num,num*num);转换字符串转义序列printf printf 函数函数5-15-117int visitor_count=150;printf(%d,visitor_count);prin
9、tf将一些信息按照指定的格式送到标准输出(显示器)%d visitor_count将按指定的格式显示该变量的值转换转换字符串字符串说说明明%d将参数按整数形式转换输出,对应参数应是int 类型%ld将参数按长整数形式转换输出,对应参数应是long 类型%c输出一个字符,对应参数应该是一个字符%s输出一个字符串,对应参数应该是一个字符串%f将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数18printf printf 函数函数5-25-2int visitor_count=150;printf(%d,visitor_count);输出结果:15019pri
10、ntf printf 函数函数5-35-3int salary=5500;printf(%10d,salary);输出结果:5500输出结果的左边显示了 6 个空格%10d 20printf printf 函数函数5-45-4float circumference=78.53;printf(%f,circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;9.47867921printf printf 函数函数5-55-5double mercury_level=168.2251074;printf(%7.2f,mercury_level);输出结果:
11、168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。%7.2f 精度(精确到小数点后多少位)转义序列转义序列转义转义序列序列名称名称描述描述a 警告产生一则警告。b 退格将光标回退一格。f 换页将光标移到下一页的第一格。n 换行将光标移到下一行的第一格。r 回车将光标移到当前行的第一格。t 水平制表 将光标移到下一个水平制表位置。v 垂直制表将光标移到下一个垂直制表位置。单引号产生一个单引号。双引号产生一个双引号。?问号产生一个问号。反斜线产生一条反斜线。0 空产生一个空字符。22输出结果:Name:Audrey HepburnMovie:Roman Holiday代码:pri
12、ntf(“Name:Audrey Hepburn n Movie:Roman Holiday”);转义序列允许在输出结果中包括特殊字符23printf printf 函数使用示例函数使用示例#include void main()float radius=1.5,high=2.0;float pi=3.14159,vol;/*计算体积*/vol=pi*radius*radius*high;/*输出体积的值*/printf(vol=%7.2fn,vol);内存radiushighvol1.52.014.14输出:vol=14.14pi3.14159scanf scanf 函数函数转换转换字符串字
13、符串参数参数变变量的量的类类型型要求的要求的实际输实际输入入%dint 十进制数字序列%ld long 十进制数字序列%f float 十进制数,可以有小数点及指数部分%lf double 十进制数,可以有小数点及指数部分24scanf(%d,&num);scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称25scanfscanf内存float tax_rate;scanf(%f,&tax_rate);tax_rate在内存中分配一块 32 位存
14、储空间存储空间使用名称“tax_rate”标识提示用户输入一个值输入的值存储在变量中(因为 scanf 提供此变量的地址)12.23426scanf scanf 函数使用示例函数使用示例#include void main()double radius,high,vol;printf(请输入圆柱体底面积的半径和圆柱体的高:);scanf(%lf%lf,&radius,&high);vol=3.14*radius*radius*high;printf(radius=%7.2f,high=%7.2f,vol=%7.2fn,radius,high,vol);内存内存radiushighvol5107
15、85请输入圆柱体底面积的半径和圆柱体的高高:510radius=5.00,high=10.00,vol=785.00算术运算符算术运算符2-12-127算术 一元一元 二元二元操作数操作数运算符算术运算符算术运算符2-22-2表达式表达式如何如何计计算算结结果果(num1=5)num2=+num1;num1=num1+1;num2=num1;num2=6;num1=6;num2=num1+;num2=num1;num1=num1+1;num2=5;num1=6;num2=-num1;num1=num1-1;num2=num1;num2=4;num1=4;num2=num1-;num2=num1
16、;num1=num1-1;num2=5;num1=4;28算术一元一元-+num+num=num+1num-num=num-1+num-numnum+num-前缀前缀后缀后缀二元二元29算术运算符示例算术运算符示例#include void main()int a=5,b=3,c=25,d=12;float qu;int re,in,de;/*使用算术运算符*/qu=a/b;/除法 re=a%b;/求模 in=+c;de=-d;printf(商为%fn,qu);printf(余数为%dn,re);printf(“加 1 后为%dn,in);printf(减 1 后为%dn,de);输出:商为
17、1.000000余数为 2加 1 后为 26减 1 后为 11自动类型转换原则:把表示范围小的类型的值转换到表示范围大的类型的值 short int long float double强制类型转换语法:(类型名)变量或数值 例如:int a=5,b=3;float qu=float(a)/b;30类型转换类型转换31接受并显示字符接受并显示字符字符型变量字符型数据字符型数据32getchar()getchar()函数函数char variablename;variablename=functionname;语法:例如:char c;c=getchar();33getchar()getchar(
18、)和和putchar()putchar()示例示例#include void main()char a,b;printf(请输入两个字符:n);a=getchar();fflush(stdin);b=getchar();fflush(stdin);putchar(a);putchar(b);putchar(n);内存内存abOK输出:请输入两个字符:OKOKPressanykeytocontinue_常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型34总结总结 2-1 2-1单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多字符型变量可以存储单个字符,其值是该字符的ASCII 码算术运算符提供运算功能,包括+、-、*、/、%、+和-printf()和 scanf()函数属于格式输入输出函数getchar()和 putchar()函数用来输入输出单个字符的函数35总结总结 2-2 2-2