《北大青鸟变量与数据类型.ppt》由会员分享,可在线阅读,更多相关《北大青鸟变量与数据类型.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ACCP V4.0第二章第二章变量和数据类型ACCP V4.0回顾q程序是为执行一项任务而编写的有序指令集q算法是解决问题的具体方法和步骤q流程图是算法的图形化表现形式qC语言的特点qC程序的编译和运行过程q编译器将源程序转换成机器能理解的程序q连接器用于连接相关的目标文件以生成可执行程序2ACCP V4.0目标q理解变量和常量的含义q熟悉基本数据类型-int、char、float 和 doubleq使用算术运算符q理解类型转换q熟练使用 scanf()和 printf()函数q熟练使用 getchar()和 putchar()函数3ACCP V4.0程序程序指令指令C语言中的基本元素标识符标
2、识符关键字关键字常量常量运算符运算符分隔符分隔符等等常量是在程序中保持不变的量常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值4ACCP V4.0变量程序内存编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。存储 RateRate*5%将值存储为DiscAmtRate-DiscAmt100.5将值存储为Result9.55ACCP V4.0声明和使用变量q声明变量:Datatypevariablename;q定义时初始
3、化变量:Datatypevariablename=value;q定义后初始化变量:variablename=value;给变量赋值,除了给一个直接的值以外,还可以通过计算获得。6ACCP V4.0变量命名在 C 语言中,变量命名需要遵循一定的规则有效名称有效名称principalcost_pricemarks_3lastnamecity无效名称无效名称123ratecurrency$discount%zip codeq变量的命名规则:q变量名可以由字母、数字和 _(下划线)组合而成q变量名不能包含除 _ 以外的任何特殊字符,如:%、#、逗号、空格等q变量名必须以字母或 _(下划线)开头q变量名
4、不能包含空白字符(换行符、空格和制表符称为空白字符)qC 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名qC 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量7ACCP V4.0基本数据类型数据属于不同类别AfricaThe quick brown foxTRUE数据 非数值数值整型非整型9002.129999/12/20032.175123Jackie Chanchar数据类型非数值数值整型intshortintlongintdoublefloat非整型8ACCP V4.0整型名称全称类型说明符缩写类型说明符位数 范围整型
5、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,2959ACCP V4.0使用整型变量q声明:intpage_number;longintpopulation;uns
6、ignedintage;q可按如下方式初始化:page_number0;intmax_marks=100;在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;10ACCP V4.0单精度浮点型 float在 C 语言中用于存储单精度浮点数float32位10-38至10+38,7位有效数字q声明:floatselling_price;q初始化:floatselling_price=11.3;selling_price=65.90;11ACCP V4.0双精度浮点型内存内存floatdouble213.567143556896764位位取值
7、范围:10-308 至 1030816 位有效数字q声明:qdouble pressure_level;q初始化:qpressure_level=213.5671435568967;qdouble dvalue=35.4;12ACCP V4.0在线保险单在线保险单年龄:_保险总额:_性别:_字符型3-1 2398340 M int/floatchar13ACCP V4.0字符型3-25p$22正确正确正确正确2+2=4值符号值符号值符号0空字符44,9132空格45-9233!46.933447/9435#48570995-36$58:9637%59;97122az38&6012541)63?
8、12642*64127DEL(Delete键)43+6590AZ14ACCP V4.0字符型3-3占 8 位内存signed或unsignedSigned-128至+127unsigned0至255chargender;gender=m;chargender=m;15ACCP V4.0输入/输出函数(printf/scanf)用于接受和显示数据或信息#include void main()int num;printf(请输入一个数:);scanf(%d,&num);printf(n%d 的平方为%d n,num,num*num);输入/输出函数转换字符串转义序列16ACCP V4.0print
9、f 函数5-1int visitor_count=150;printf(%d,visitor_count);printf将一些信息按照指定的格式送到标准输出(显示器)%dvisitor_count将按指定的格式显示该变量的值转换转换字符串字符串说说 明明%d将参数按整数形式转换输出,对应参数应是int 类型%ld将参数按长整数形式转换输出,对应参数应是long 类型%c输出一个字符,对应参数应该是一个字符%s输出一个字符串,对应参数应该是一个字符串%f将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数17ACCP V4.0printf 函数5-2int v
10、isitor_count=150;printf(%d,visitor_count);输出结果:15018ACCP V4.0printf 函数5-3int salary=5500;printf(%10d,salary);输出结果:5500输出结果的左边显示了 6 个空格%10d19ACCP V4.0printf 函数5-4float circumference=78.53;printf(%f,circumference);输出结果:78.530000默认情况下精确到六位小数9.4786789;9.47867920ACCP V4.0printf 函数5-5double mercury_level=
11、168.2251074;printf(%7.2f,mercury_level);输出结果:168.23宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。%7.2f精度(精确到小数点后多少位)21ACCP V4.0转义序列输出结果:Name:AudreyHepburnMovie:RomanHoliday代码:printf(“Name:AudreyHepburnnMovie:RomanHoliday”);转义序列允许在输出结果中包括特殊字符转义转义序列序列名称名称描述描述a 警告产生一则警告。b 退格将光标回退一格。f 换页将光标移到下一页的第一格。n 换行将光标移到下一行的第一格。r 回车
12、将光标移到当前行的第一格。t 水平制表 将光标移到下一个水平制表位置。v 垂直制表将光标移到下一个垂直制表位置。单引号产生一个单引号。双引号产生一个双引号。?问号产生一个问号。反斜线产生一条反斜线。0 空产生一个空字符。22ACCP V4.0#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);printf 函数使用示例内存radiushighvol1.52.014.14输出:vol
13、=14.14pi3.1415923ACCP V4.0scanf(%d,&num);scanf 函数scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。转换字符串&符号(附在读取的每个变量上)用于指明变量在内存中的位置变量的名称转换转换字符串字符串参数参数变变量的量的类类型型要求的要求的实际输实际输入入%dint 十进制数字序列%ld long 十进制数字序列%f float 十进制数,可以有小数点及指数部分%lf double 十进制数,可以有小数点及指数部分24ACCP V4.0内存scanffloattax_rate
14、;scanf(%f,&tax_rate);tax_rate在内存中分配一块 32 位存储空间存储空间使用名称“tax_rate”标识提示用户输入一个值输入的值存储在变量中(因为 scanf 提供此变量的地址)12.23425ACCP V4.0#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,hig
15、h,vol);scanf 函数使用示例内存内存radiushighvol510785请输入圆柱体底面积的半径和圆柱体的高高:5 10radius=5.00,high=10.00,vol=785.0026ACCP V4.0算术运算符2-1算术一元一元二元二元操作数操作数运算符27ACCP V4.0算术运算符2-2算术一元一元-+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
16、+;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;28ACCP V4.0#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 后
17、为%dn,in);printf(减 1 后为%dn,de);算术运算符示例输出:商为 1.000000余数为 2加 1 后为 26减 1 后为 1129ACCP V4.0类型转换q自动类型转换q原则:把表示范围小的类型的值转换到表示范围大的类型的值q short int long float doubleq强制类型转换q语法:(类型名)变量或数值 q例如:int a=5,b=3;float qu=float(a)/b;30ACCP V4.0接受并显示字符字符型变量字符型数据字符型数据31ACCP V4.0getchar()函数charvariablename;variablename=func
18、tionname;语法:例如:char c;c=getchar();32ACCP V4.0#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输出:请输入两个字符:OKOKPress any key to continue_33ACCP V4.0总结 2-1q常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据qC语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型q整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型34ACCP V4.0总结 2-2q单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多q字符型变量可以存储单个字符,其值是该字符的ASCII 码q算术运算符提供运算功能,包括+、-、*、/、%、+和-qprintf()和 scanf()函数属于格式输入输出函数qgetchar()和 putchar()函数用来输入输出单个字符的函数35