C语言简单笔记之二

    技术2023-09-08  83

    今天的内容是数据的运算与输入输出,因为这一块教材内容较多,所以先回顾算术、赋值、关系运算符及数据类型的强制转换 一、运算符与表达式

    算数运算符和算数表达式算数运算符分为一目运算符和二目运算符 一目运算符:对单个变量进行操作。如正号运算符(+),负号运算符(—),自增运算符,自减运算符 二目运算符:运算中有两个变量或常量。如加、减、求余(%) 注:当x/y中有实型,运算结果为实型;若两个都是整型,则运算结果为整型;求余地两个操作数必为整型 这里重点提一下自加和自减 ++i和–i:先运算,再使用变量 i++和i–:先使用变量,再运算 看一个教材上的例子: k=10;x=k++;y=++k; 运算过程是这样的:x先引用k,所以x现在是10,然k自加变成11;k自加变为12,y引用k变为12。 先使用,后运算指用变量的原值进行运算,运算后变量自加或自减算数运算符的优先级和结合方向 二目运算符:*,/,%优先级相同,但是高于加减,结合方向先左后右 一目运算符:负,自增,自减优先级相同,高于二目运算符加,减,乘,除,求余;结合方向先右后左算数表达式:按运算符的优先级别:先一目,再二目,注意算数运算符的结合方向 二、赋值运算符和赋值表达式赋值运算符:=,将右边表达式的值赋给左边的变量。复合算数赋值运算符有+=,—=,*=/=,%=,应先进行相应的运算,再将结果付给左边的变量赋值表达式赋值表达式可以嵌套,如x=y=5 若赋值运算符的右边是包含若干项的表达式,则相当于表达式中含括号。如y*=y+z,相当于y=y*(y+z)三、关系运算符和关系表达式关系运算符是用来对两个操作数进行大小或相等的比较,运算结果是真或假。一般用非零表示真,零表示假关系运算符的优先级和结合方向 1).<,<=,>,>=优先级相同,高于==和!=(这两个优先级相同) 2). 优先级:算数运算符>关系运算符>赋值运算符 3).同级关系运算自左向右算 一个例子:int a=3,b=2,c=1,d;d=a>b>c; 运算过程:先算赋值运算符右边的表达式,右边从左向右算,3>2,a>b的运算结果为1,1=c,a>b>c的运算结果为0;0赋给d 四、数据类型的转换自动转换 1). 不同数据类型的数据在赋值时,“=”右边的数据转换成“=”左边的数据类型,再赋值 2).实型赋给整型,舍弃小数部分,将整数部分赋给整型变量,不四舍五入。整型赋给实型,数值不变,有效数字位数增加 3). 自动转换总是由少字节型转向多字节型 9.强制转换强类型转换算符的一般形式:(类型)(表达式) 强制转换可能造成数据丢失。如(int)6.823,“.823”会丢失

    以上内容来自清华大学出版社出版的教材:C语言程序设计

    Processed: 0.009, SQL: 9