- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
林子雨-C语言程序设计-第2章-C语言基础(2011-2012第2学期)
变量的定义 语法格式: 数据类型 变量名1,变量名2,…,变量名n; 或 数据类型 变量名1=初值1,变量名2=初值2,…,变量名n=初值n; int x=1,y=x-1; float z=1.0; char c=‘A’; double w; 注意: (1) 定义一个变量只是在它的名称和它的值类型之间建立联系。若在定义它时未初始化,此时该变量的值一般是不确定的,不能用来计算。因此,在使用变量之前,一定要给该变量赋值。 (2) 在C程序中使用变量之前,必须对使用的变量进行声明,使得编译器能对变量的操作进行类型检查。先说明,后使用! 声明 (1) 定义性声明:比如变量定义,int a=0; (2) 非定义性声明: extern 数据类型名 变量名;(extern int a;) extern int a=5; //错误,非定义性声明不能对变量初始化 变量的初始化 数据类型 变量名=表达式; 例如: int a=6,b=8; int a,b,c=5; int a=3,b=3,c=3; 不能写成:int a=b=c=3; 2.3.3 举例 例2.3.3 整型数据的溢出。 #include stdio.h main( ) { short int a,b; //定义短整型变量a和b long int c; //定义长整型变量c a=32767; b=a+10; c=32768; printf(a=%d,b=%d,c=%d\n,a,b,c); } 运行结果: a=32767, b=-32759, c=32768 b 的值正确吗?数据溢出 2.3.3 举例 例2.3.4 浮点型数据的存储误差。将一个有效数字超过7位的实 数赋给浮点型变量,然后输出该浮点型变量值。 #includestdio.h main() { float a=12.3, b; double c; b=12345.678; c=12345.678; printf(a=%f,b=%f,c=%lf\n,a,b,c); } 运行结果: a=12.300000, b=12345.677734, c=12345.678000 2.4 运算符和表达式 2.4.1 运算符和表达式概述 2.4.2 算术运算符和算术表达式 2.4.3 类型转换 2.4.4 赋值运算和赋值表达式 2.4.5 逗号运算符和逗号表达式 2.4.1 运算符和表达式概述 运算符一般要携带若干运算对象,运算对象称为操作数。根据操作数的个数,运算符可以分为单目运算符、双目运算符和三目运算符。 表达式由运算符和相应的操作数以及用于描述运算先后次序的括号构成。 注意:单独的常量、变量和函数调用也是表达式。 为了表达式的书写方便(可以少写一些括号),C引进了运算符优先级和结合方向的概念。 运算符的结合方向(结合性)规定了与优先级运算符相遇时候的运算次序。 C运算符有两种结合方向:自左向右结合(左结合性),自右向左结合(右结合性)。 2.4.2 算术运算符和算术表达式 单目算术运算符:-(取负),+(取正) 双目算术运算符:+、-、*、/ 变量的自增++、自减--运算 ++i(或i++),相当于i=i+1,而--i(或i--),相当于i=i-1; 使用自增和自减运算符注意以下几点: (1)只能用于变量,不能用于常量或表达式,如5++或(a+b)++都不合法 (2) ++i和i++的区别:作为表达式参加运算时, ++i先令i加1然后参加运算,而i++则先让i参加运算,然后再令i加1。 例如:int i=5, j; j=++i; // i的值先增加1,然后再参与赋值运算,结果:i=6, j=6 再如:int i=5, j; j=i++; // i的值先参与赋值运算,然后i的值增加1;结果:i=6, j=5 2.4.3 类型转换 操作数的类型转换方式有两种: 隐式类型转换 是指由C编译器按照某种预订的规则进行类型的自动转换。 显示类型转换 是指由程序员在程序中用类型转换运算符明确地指出转换。 隐式类型转换 双目运算符两边操作数的类型必须一致,才能进行运算操作,但C语言允许在一个表达式中,双目运算符两边出现不同数据类型的操作数。 运算时,C编译器会先对其中的一些操作数按约定的规则自动进行类型转换,使得双目运算符两边的操作数的类型一致,然后进行运算。 隐式类型转换的规则: (1)无条件的隐式类型转换:所有的char型和short型数据在运算前都必须转换为int型,所有的float型数据都必须转换成double型。即使双目运算符的两个操作数都是相同类型,也要进
文档评论(0)