C语言数据类型、运算符、表达式

数据类型、运算符、表达式
常量:在程序运行中,其值不能被改变的量就叫常量。
150;   //整型常量
12.3;    //实型常量(浮点型常量),带小数点的
'a';    //用单引号引起来的 一个字符 叫字符常量。
变量
标识符:好像人的名字(张三、李四),由 字母数字下划线三中字符组成,并且第 个字符为 字母或者 下划线。  例如:test,icount,_myclass
保留字:系统保留起来,有特殊的用途,所以 不能将C语言中的保留字作为标识符使用,否则会出现语法错误。
变量名就是一个标识符,且变量名 区分大小写。  例如:int _myclass;   int test;
整型 常量
十进制数字: 123; -436; 0;
八进制数字:(以0开头的数字)012;(八进制的12)
十六进制数字:(以0x开头的数是十六进制数) 0x123;  0x12;
整型变量
基本型:int  占四个字节
短整型:short int (short) 
长整型:long int (long)
无符号型:unsigned int,  unsigned short,  unsigned long      只能保存不带符号的数字,不能存符号。
sizeof ()  这个是一个运算符,作用是:看某种类型变量在计算机内存中占多少个字节。
整型变量的 定义
int a,b,c;
unsigned int d,e,f;
int k = 189;   //这里的 = 是定义变量的时候初始化
k = 678;     //这里的 = 是赋值语句
short m = 189;
在一个常数后面加一个字母U,表示该常数用 无符号整型方式存储,相当于 unsigned int;
加一个字母L,表示该常数用 长整型方式存储,相当于 long;
加一个字母F,表示该常数用 浮点方式存储,相当于 float;
long int test = 189L;
int test2 = 23.12F;  (这里只能把23存进去了)
unsigned abcde = 23U;

2.2、数据类型、运算符、表达式
十进制浮点数的表示形式:
      0.12     3。1415926
指数形式的表达形式:
     168E2  ==>  168 *10^2 (表示168乘以10的2次方)  =16800   [也可以表示为  168E+2]
     168E-2  ==>  168 *10^(-2) (表示168乘以10的-2次方) =1.68
实型变量
float:单精度变量 ,一般提供7位 有效数字(保守估计6位),这个数字是随机器而异。
double:双精度变量 ,一般提供15到16位 有效数字(保守15位),这个数字是随机器而异的。
[有效数字举例分析:12345.678              10000.0 表示只有 一位有效数字导致此结果,这就是精度问题
12000.0 表示只有 两位有效数字导致此结果,这就是精度问题
12300.0 表示只有 三位有效数字导致此结果,这就是精度问题
12345.67x 表示只有 七位有效数字导致此结果 
0.1234                     0.1xxxxx   表示只有 一位有效数字 ,小数点前面为0就不算一位
0.12xxxx   表示 两位有效数字 导致此结果
0.123xxx   表示 三位有效数字 导致此结果  ]
注意:浮点数在内存中的存储是以 指数形式来存储的!!所以浮点数保存的范围相当大。
float af1 = 0.5;
float af2 = 0.51;
这两个变量放在编译器上,在设置断点后,F5运行后,把鼠标放在这两个变量的上面,会发现结果不一样。
变量结果不一样的原因是,十进制赋值给实型变量的时候,计算机是把十进制数转换为二进制数来保存的,在我们鼠标读取的时候又把保存的二进制数转换为十进制数,因为二进制数转换为十进制数要用除法(例如:10/3=0.3333333......,0.3333333...*3到不了10=0.9999999999),所以就会造成精度的丢失,从而导致显示的结果不一样。因此,使用浮点数的时候要注意有效数字。
字符型数据
1、 常规字符:用单引号引起来的 一个 字符。
    'a';    'b';
2、 特殊字符:转义字符,以 \ 开头的字符序列。   \n  换行
     '\n'
3、 字符变量:只能保存一个字符,因为一个字符型变量在内存中只占一个字节。
char c1,c2,c3;
c1 = 'a';    //与 C1=97;等价     实际上是吧字符对应的AscII码(数字)放到变量所代表的内存中。
c2 = 'b';   //与 C 2=98;等价
c3= '\';
4、 字符串常量:用一对双引号引起来的一堆字符(可以使一个字符,也可以是多个字符)“Hello world”,"wangjianwei"
注意:不要混淆了‘a’字符型常量(这个占用一个字节)与 "a"字符串常量(这个占用两个字节,最后有一个字符串结束标记的转义字符 \0 这个标记并不会输出)
在编辑字符串变量时,不用写这个结束标记,系统会自动生成。
5、 变量赋初值
int a = 3;
int a,b,c = 6;    //这里只给c赋了值,对于没赋值的变量,其值是不确定的,不可以随意拿过来用。
注意:C语言中的规则是,先定义后使用。
6、数值型数据之间的混合运算
int a = 500;
double ad = 15.67;
double de = a + ad;   //结果等于一个双精度型,计算前会进行数据类型转换:int类型 转换为 double 类型。
int + double = double;
char + int = int ;
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值