c语言-数算据类型、运算符与表达式

㈠数据类型基本类型:

(1)整形:int /short int/long int
(2)字符型
(3)实型(浮点型):十进制小数/指数形式/单、双、长双精度型构造类型 :

(1)数组类型:是一组有序数据的集合:一维数组/二维数组/多维数组

(2)结构类型:struct 结构体名{成员列表};

(3)共用体类型指针类型:就是存储单元的地址;形式:基类型 指针变量名 &(地址符)*指针运算符(间接访问运算符)例子:\&a=*p=a 空类型:

(1)明确表示一个函数不返回任何值

(2)产生一个空类型指针㈡运算符运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。

一、赋值运算符赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。注意:赋值语句左边的变量在程序的其他地方必须要声明。

二、算术运算符在C语言中有两个单目和五个双目运算符。符号 功能 + 单目正 - 单目负 * 乘法 / 除法 % 取模 + 加法 - 减法

三、逻辑运算符逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。符号 功能 && 逻辑与 || 逻辑或 ! 逻辑非 ~ 求反

四、关系运算符关系运算符是对两个表达式进行比较,返回一个真/假值。符号 功能 > 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于

五、自增自减运算符这是一类特殊的运算符,自增运算符++和自减运算符–对变量的操作结果是增加1和减少。

六、复合赋值运算符复合赋值运算符有下列这些:符号 功能 += 加法赋值 -= 减法赋值 *= 乘法赋值 /= 除法赋值 %= 模运算赋值 <<= 左移赋值 >>= 右移赋值 &= 位逻辑与赋值 |= 位逻辑或赋值 ^= 位逻辑异或赋值

七、条件运算符条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个。 <表达式1>?<表达式2>:<表达式3>

八、逗号运算符在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。

九、优先级和结合性优先级 运算符 结合性 (最高) () [] -> . 自左向右 ! ~ ++ – + - * & sizeof 自右向左 * / % 自左向右 + - 自左向右 << >> 自左向右 < <= > >= 自左向右 == != 自左向右 & 自左向右 ^ 自左向右 | 自左向右 && 自左向右 || 自左向右 ?: 自右向左 = += -= *= /= %= &= ^= |= <<= >>;= 自右向左 (最低) , 自左向右 ㈢表达式 C语言的表达式由运算符、常量及变量构成。

C语言表达式基本遵循一般代数规则,有几点却是与C语言紧密相关的,下面简单介绍一下….

表达式中的类型转换 混合于同一表达式中的不同类型常量及变量,应均变换为同一类型的量。C语言的编译程序将所有操作数变换为与最大类型操作数同类型。变换以一次一操作的方式进行。具体规则如下:

1)所有char及shortint型量转为int型,所有float转换为double。

2)如操作数对中一个为longdouble,另一个转换为longdouble。

①要不然,一个为double,另一个转为double。 ②要不然,一个为long,另一个转为long。 ③要不然,一个为unsigned,另一个转为unsigned。 一旦运用以上规则。每一对操作数均变为同类型。

注意,规则

2)有几种必须依次应用的条件。构成符cast 可以通过称为cast的构成符强迫一表达式变为特定类型。

其一般形式为:
(type)expression(type)是标准C语言中的一个数据类型。

例如,为确保表达式x/2的结果具有类型float,

可写为: (float)x/2通常认为cast是操作符。作为操作符,cast是一元的,并且同其它一元操作符优先级相同。

虽然cast在程序中用得不多,但有时它的使用的确很有价值。例如,假设希望用一整数控制循环,但在执行计算时又要有小数部分。

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2020 翟天野

请我喝杯咖啡吧~