c语言 第二章类型 运算符与表达式

2.2  常见的数据类型及长度

 

Char 字符型 占用一个字节

Int  整形 通常反应了所用机器中整数的最自然长度 还可以扩展 short long

Float 单精度浮点数

Double 双精度浮点数

 

类型限定符 signed(有符号) 与 unsigned (无符号 正数或者)可用于限定char类型或任何整数

 

2.3 常量

 

浮点数常量包含一个小数点。 

Double 使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的1516位有效数字。

Float  32单精度浮点型 float类型的精度比double型的低,由位数可知,float类型的范围比double类型小。

 

一个字符常量是一个整数  例如 ‘x‘ 的数字就是字符常量的值 ’\0‘表示值为0的字符

x‘ “x”表示的是不同的, 前者是一个整数  后者是一个包含一个字符以及一个结束符’\0‘的字符数组。

 

特别区别 char *a =”abc”  char a[]=”abc”, 

Char a[] 声明了一个字符型数组,并赋初值。

Char *a 声明一个字符指针  也可以这样表示 

char *a;
char b[]="abc";
a=&b[0];

2.4 声明

所有变量都是必须先声明后使用

Int lower;

Int upper;

Int step;

 

Const double e = 3.1415926 该限定符指定变量的值不能被修改 对于数组而言 const限定符指定数组所有元素的值不能被修改

 

2.5 算术运算符

二元算术运算符包括: + .- *  / %(取模运算符)  整数除法会截断结果中的小数部分。 表达式  x % y。

取模运算符 % 不能应用在float double 

 

2.6 关系运算符与逻辑运算符

关系运算符:

> >=  < <=

相等性运算符:

== != 

逻辑运算符

&&(与) ||(或)

 

优先级  相等性运算符>关系运算符> 逻辑运算符

 

2.7 类型转换

当运算符的几个操作数类型不同时,需要转化为共同的类型 

一般是把“比较窄的” 操作数转换为“比较宽的”操作数 并且不丢失信息的转换

 

如果没有unsigned类型的操作数:

   如果其中一个操作数类型为long double 则将另一个操作数转换为long double

   如果其中一个操作数的类型为double  则将另一个操作数转换为doule

   如果其中一个操作数的类型为float, 则将我另外一个操作数转化为float

   将char 和short 类型的操作数 转化为Int

   同long->long;

赋值时也要进行类型转换。 赋值运算符右边的值需要转换为左边变量的类型。

 

2.8自增运算符与自减运算符

例子1

   Int n = 5;

   X = n++ // x 的值为 5

   X = ++n  // x 的值为6

例子2

// 从字符串中删除字符C

   Void squeeze (char s[], int c)

   {

     Int i , j ;

     For( i = j = 0; s[i] != ‘\0’: i++)

          If(s[i] != c)

          S[j++] = s[i];

         S[j] = ‘\0’;

 

}

}

 

2.10 赋值运算符与表达式

 I = i + 2 等同 i +=2;

 

2.11 条件表达式

Expr1 ? Expr2 : expr3 

如果表达式1为真 则为选择exp2 反之选择expr3

例子:

For(int i = 0; i < n; i++)

Print(“%6d%c”,a[i], (i%10 == 9 || i = n-1) ? ’\n‘:’ ’); 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值