- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[文学]C语言课件
§2.2.3 变量定义的作用 #include stdio.h main() { int a; a=3; int b; b=sizeof(int); printf(%d,%d,a,b); } 2. 变量的赋值 #include stdio.h main() { int a,b,c; a=2;b=5;c=10; printf(“%d,%d,%d”,a,b,c); } #include stdio.h main() { int a,b,c; float x, y,z; a=x=5; b=y=2; c=a/b; z=x/y; printf(c=%d,z=%f\n,c,z); } 3. 赋值类运算符的副作用及限制(略) 分析下面程序的运行结果(练习) 分析下面程序的运行结果(练习) #include stdio.h main() { int i=3; printf(%d,%d\n,++i,i+2); } 【例2-17】 #include stdio.h main() { int x=10,y=10; printf(%d,%d,%d,%d\n,x--,x,--y,y); } 4. 算术表达式的计算 ? *、/、% 赋值类 5 ? sizeof( ) 双目 4 ? (类型名) 双目 3 ? +、-、++、-- 单目 2 ? ( ) 结构类 1 结合性 运算符 类型 优先级 1.圆括号优先级最高,有多层圆括号从内向外运算 2.(类型名)(表达式)为强制类型转换运算; 3.先按运算符的优先级由高到低进行,如5*-2相当于5*(-2),结果为-10;同级的运算符按结合方向进行 p27例2-11:设有变量声明float a=3.0; int b=2; 计算表达式: 2+sqrt(1.0+a)*b++/2 解: 2+sqrt(1.0+a)*b++/2 ?2+sqrt(4.0)*b++/2 ?2+2.0*2/2?2+4.0/2 ?2+2.0?4.0 即表达式的值为4.0,同时b的值变为3,a的值不变。 4. 算术表达式的计算 §2.3.3 逗号运算符与逗号表达式 1.逗号运算符 , 用逗号运算符可以将两个表达式连接起来。如: 2+3,2+5 2.逗号表达式 用逗号运算符连接两个或两个以上表达式所形成的新表达式就是逗号表达式,其一般形式为: (表达式1),(表达式2) ,…, (表达式n) 求值过程:先求表达式1的值,再求表达式2的值,…,最后求表达式n的值。表达式n的值就是整个逗号表达式的值。 一个逗号表达式可以与另一个表达式构成一个新的逗号表达式。例如: (a=2+3,a*5),a+10 优先级: 逗号运算符是所有运算符中级别最低的. 结合性:逗号表达式的结合性为自左向右的。 §2.3.3 逗号运算符与逗号表达式 #include stdio.h main() { int y=3,x=3,z=1; printf(%d %d\n,(++x,y++),z+2); } 【例2-12】 分析下面程序的运行结果(P28) #include stdio.h int main(void) { int a=2,b=8,c; c=a+3,b+2; printf (a=%d,b=%d, c=%d\n, a,b,c); c=(a+3,b+2); printf (a=%d,b=%d, c=%d\n, a,b,c); return 0; } #include stdio.h int main(void) { int a=2; printf (%d %d\n, (a=2+3,a*5),a+10); printf (%d \n, ((a=2+3,a*5),a+10)); return 0; } 高 double float long char,short unsigned 低 自动类型转换规则 int §2.4.2 自动类型转换 §2.4.3 赋值类型转换 赋值运算时,如果赋值运算符两侧的类型(指基本类型)不一致,系统自动将表达式的值转换成变量的类型存到变量的存储单元,转换的结果可能会: (1)当整型数据赋给浮点型变量时,数值上不发生任何变化,但有效位增加。如: float f; f=4; /* 内存中变量f的值为4.000000 */ §2.4.3 赋值类型转换 (2)当单、双精度浮点型数据赋给整型变量时,浮点数的小数部分将被舍弃。如: int x =4.35; /*内存中变量x的值
文档评论(0)