C语言中的变量和数据类型.pptx
1目标理解变量和常量的含义熟悉基本数据类型-int、char、float 和 double使用算术运算符理解类型转换熟练使用 scanf()和 printf()函数熟练使用 getchar()和 putchar()函数第1页/共33页2本章结构简介变量和数据类型变量和数据类型类型转换符号常量基本数据类型输入输出函数算术运算符接收并显示字符第2页/共33页3程序程序指令指令2.1 C语言中的基本元素常量标识符标识符关键字关键字运算符运算符分隔符分隔符等等常量是在程序中保持不变的量常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用第3页/共33页42.1.2 变量程序内存编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要来操纵数据。存储 XX*5%将值存储为X-100.5将值存储为9.5第4页/共33页52.1.2 声明变量声明变量:Datatype variablename;变量的命名规则:变量名可以由字母、数字和 _(下划线)组合而成变量名不能包含除 _ 以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或 _(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量第5页/共33页62.1.2 变量命名变量初始化定义时初始化变量Datatype variablename=value;定义后初始化变量variablename=value;通过运算赋值第6页/共33页72.2 基本数据类型char数据类型非数值数值整型long intdoublefloat非整型 short intint第7页/共33页82.2 整型名称全称类型说明符缩写类型说明符位数范围整型intint16-32768 至+32767无符号整型unsigned intunsigned160 至 65,535短整型short 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,295第8页/共33页92.2 使用整型变量声明:int page_number;long int population;unsigned int age;可按如下方式初始化:page_number0;int max_marks=100;在同一语句中可以声明多个类型相同的变量:int page_number,copies,paper_width;第9页/共33页102.2.2 单精度浮点型 float 在 C 语言中用于存储单精度浮点数float32 位10-38 至 10+38,7位有效数字声明:float selling_price;初始化:float selling_price=11.3;selling_price=65.90;第10页/共33页112.2.2 双精度浮点型内存内存floatdouble64位取值范围:10-308 至 1030816 位有效数字声明:double pressure_level;初始化:pressure_level=213.5671435568967;double dvalue=35.4;第11页/共33页12在线保险单在线保险单年龄:_保险总额:_性别:_2.2.4 字符型2398340Mint/floatchar第12页/共33页132.2.4 字符型 5 p$2 2 正确正确正确正确2+2=4 值符号值符号值符号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第13页/共33页142.2.2 字符型占 8 位内存signed或 unsignedSigned-128 至+127 unsigned 0 至 255 char gender;gender=m;char gender=m;第14页/共33页15输入/输出函数(printf/scanf)用于接受和显示数据或信息#include void main()int num;printf(请输入一个数:);scanf(%d,&num);printf(n%d 的平方为%d n,num,num*num);2.4 输入/输出函数转换字符串转义序列第15页/共33页162.4.1 printf 函数int visitor_count=150;printf(%d,visitor_count);printf将一些信息按照指定的格式送到标准输出(显示器)%d visitor_count将按指定的格式显示该变量的值转换字符串转换字符串说说明明%d将参数按整数形式转换输出,对应参数应是int 类型%ld将参数按长整数形式转换输出,对应参数应是long 类型%c输出一个字符,对应参数应该是一个字符%s输出一个字符串,对应参数应该是一个字符串%f将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数第16页/共33页172.4.1 printf 函数int visitor_count=150;printf(%d,visitor_count);输出结果:150第17页/共33页182.4.1 printf 函数int salary=5500;printf(%10d,salary);输出结果:5500输出结果的左边显示了 6 个空格%10d 第18页/共33页192.4.1 printf 函数float circumference=78.53;printf(%f,circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;9.478679第19页/共33页202.4.1 printf 函数double mercury_level=168.2251074;printf(%7.2f,mercury_level);输出结果:168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。%7.2f 精度(精确到小数点后多少位)第20页/共33页212.4.1 转义序列输出结果:Name:Audrey HepburnMovie:Roman Holiday代码:printf(“Name:Audrey Hepburn n Movie:Roman Holiday”);转义序列允许在输出结果中包括特殊字符转义序列转义序列名称名称描述描述a 警告产生一则警告。b 退格将光标回退一格。f 换页将光标移到下一页的第一格。n 换行将光标移到下一行的第一格。r 回车将光标移到当前行的第一格。t 水平制表 将光标移到下一个水平制表位置。v 垂直制表将光标移到下一个垂直制表位置。单引号产生一个单引号。双引号产生一个双引号。?问号产生一个问号。反斜线产生一条反斜线。0 空产生一个空字符。第21页/共33页22scanf(%d,&num);2.4.2 scanf 函数scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称转换字符转换字符串串参数变量的类参数变量的类型型要求的实际输入要求的实际输入%dint 十进制数字序列%ld long 十进制数字序列%f float 十进制数,可以有小数点及指数部分%lf double 十进制数,可以有小数点及指数部分第22页/共33页23内存2.4.2 scanffloat tax_rate;scanf(%f,&tax_rate);tax_rate在内存中分配一块 32 位存储空间存储空间使用名称“tax_rate”标识提示用户输入一个值输入的值存储在变量中(因为 scanf 提供此变量的地址)12.234第23页/共33页242.5 算术运算符算术 一元一元 二元二元操作数操作数运算符第24页/共33页252.5.1 一元算术运算符算术一元一元-+num+num=num+1num-num=num-1+num-numnum+num-前缀前缀后缀后缀二元二元表达式表达式如何计算如何计算结果结果(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;num1=num1-1;num2=5;num1=4;第25页/共33页26#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);2.5.1 算术运算符示例输出:商为 1.000000余数为 2加 1 后为 26减 1 后为 11第26页/共33页272.6 类型转换自动类型转换原则:把表示范围小的类型的值转换到表示范围大的类型的值 short int long float double强制类型转换语法:(类型名)变量或数值 例如:int a=5,b=3;float qu=float(a)/b;第27页/共33页282.7 接受并显示字符字符型变量字符型数据字符型数据第28页/共33页292.7.1 getchar()函数char variablename;variablename=functionname;语法:例如:char c;c=getchar();第29页/共33页30#include void main()char a,b;printf(请输入两个字符:n);a=getchar();fflush(stdin);b=getchar();fflush(stdin);putchar(a);putchar(b);putchar(n);getchar()和putchar()示例内存内存abOK输出:请输入两个字符:OKOKPressanykeytocontinue_第30页/共33页31总结 2-1常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型第31页/共33页32总结 2-2单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多字符型变量可以存储单个字符,其值是该字符的ASCII 码算术运算符提供运算功能,包括+、-、*、/、%、+和-printf()和 scanf()函数属于格式输入输出函数getchar()和 putchar()函数用来输入输出单个字符的函数第32页/共33页33感谢您的欣赏!第33页/共33页