资源描述
第二章,变量和数据类型,回顾,程序是为执行一项任务而编写的有序指令集算法是解决问题的具体方法和步骤流程图是算法的图形化表现形式C语言的特点C程序的编译和运行过程编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序,目标,理解变量和常量的含义熟悉基本数据类型-int、char、float和double使用算术运算符理解类型转换熟练使用scanf()和printf()函数熟练使用getchar()和putchar()函数,本章结构,简介,变量和数据类型,类型转换,符号常量,基本数据类型,输入输出函数,算术运算符,接收并显示字符,程序,指令,2.1C语言中的基本元素,常量标识符关键字运算符分隔符等,常量是在程序中保持不变的量,常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用,2.1.2变量,程序,编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要来操纵数据。,存储X,X*5%,将值存储为,X-,10,0.5,将值存储为,9.5,2.1.2声明变量,声明变量:Datatypevariablename;,变量的命名规则:变量名可以由字母、数字和_(下划线)组合而成变量名不能包含除_以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或_(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C语言中的某些词(例如int和float等)称为保留字,具有特殊意义,不能用作变量名C语言区分大小写,因此变量price与变量PRICE是两个不同的变量,2.1.2变量命名,变量初始化定义时初始化变量Datatypevariablename=value;定义后初始化变量variablename=value;通过运算赋值,2.2基本数据类型,char,数据类型,非数值,数值,整型,longint,double,float,非整型,shortint,int,2.2整型,2.2使用整型变量,声明:intpage_number;longintpopulation;unsignedintage;可按如下方式初始化:page_number0;intmax_marks=100;,在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;,2.2.2单精度浮点型,float在C语言中用于存储单精度浮点数,float,32位,10-38至10+38,7位有效数字,声明:floatselling_price;初始化:floatselling_price=11.3;selling_price=65.90;,2.2.2双精度浮点型,64位,取值范围:10-308至10308,16位有效数字,声明:doublepressure_level;初始化:pressure_level=213.5671435568967;doubledvalue=35.4;,在线保险单年龄:_保险总额:_性别:_,2.2.4字符型,23,98340,M,数值型,字符型,int/float,char,2.2.4字符型,5p$,有效的字符型值,2,2,正确,2+2=4,X,2.2.2字符型,占8位内存,signed或unsigned,Signed-128至+127,unsigned0至255,示例:,chargender;gender=m;,chargender=m;,输入/输出函数(printf/scanf)用于接受和显示数据或信息,#includevoidmain()intnum;printf(请输入一个数:);scanf(%d,2.4输入/输出函数,转换字符串,转义序列,2.4.1printf函数,intvisitor_count=150;printf(%d,visitor_count);,printf,将一些信息按照指定的格式送到标准输出(显示器),%d,visitor_count,将按指定的格式显示该变量的值,2.4.1printf函数,intvisitor_count=150;printf(%d,visitor_count);,输出结果:150,2.4.1printf函数,intsalary=5500;printf(%10d,salary);,输出结果:5500,输出结果的左边显示了6个空格,%10d,2.4.1printf函数,floatcircumference=78.53;printf(%f,circumference);,输出结果:78.530000,默认情况下精确到六位小数,9.4786789;,9.478679,2.4.1printf函数,doublemercury_level=168.2251074;printf(%7.2f,mercury_level);,输出结果:168.23,宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。,%7.2f,精度(精确到小数点后多少位),2.4.1转义序列,输出结果:,Name:AudreyHepburnMovie:RomanHoliday,代码:,printf(“Name:AudreyHepburnnMovie:RomanHoliday”);,转义序列允许在输出结果中包括特殊字符,scanf(%d,2.4.2scanf函数,scanf函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。,转换字符串,scanf(%f,tax_rate,在内存中分配一块32位存储空间存储空间使用名称“tax_rate”标识,提示用户输入一个值输入的值存储在变量中(因为scanf提供此变量的地址),12.234,2.5算术运算符,算术,一元,二元,操作数,操作数,运算符,二元运算符,+,-,*,/,%,2.5.1一元算术运算符,算术,一元,-,+,num+,num=num+1,num-,num=num-1,+num-num,num+num-,前缀,后缀,二元,#includevoidmain()inta=5,b=3,c=25,d=12;floatqu;intre,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,2.6类型转换,自动类型转换原则:把表示范围小的类型的值转换到表示范围大的类型的值shortintlongfloatdouble强制类型转换语法:(类型名)变量或数值例如:inta=5,b=3;floatqu=(float)(a)/b;,2.7接受并显示字符,getchar(),字符型数据,字符型数据,putchar(),2.7.1getchar()函数,charvariablename;variablename=functionname;,getchar(),语法:,例如:charc;c=getchar();,#includevoidmain()chara,b;printf(请输入两个字符:n);a=getchar();fflush(stdin);b=getchar();fflush(stdin);putchar(a);putchar(b);putchar(n);,getchar()和putchar()示例,O,K,输出:请输入两个字符:OKOKPressanykeytocontinue_,总结2-1,常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型,总结2-2,单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多字符型变量可以存储单个字符,其值是该字符的ASCII码算术运算符提供运算功能,包括+、-、*、/、%、+和-printf()和scanf()函数属于格式输入输出函数getchar()和putchar()函数用来输入输出单个字符的函数,
展开阅读全文