c语言-2.C语言的数据与运算

来源:互联网 发布:oracle sql declare 编辑:程序博客网 时间:2024/05/01 09:15
C语言的数据与运算

1. C语言的数据类型

分为:
1 .基本数据类型 (整型[int], 字符型[char], 实型(单精度[float],双精度[double]), 枚举[enum])
2. 构造类型 (数组, 结构体[struct], 共用体类型[union])
3. 指针类型[*]
4. 空类型[void]

2. 整型

1. 整型又分为基本整型(int), 短整型(short int) 和 长整型(long int)
2. 在32位的机器上(现在的标配都是)。int 和 long int都占4个字节, short int 占2个字节
3. 整型又分 十进制、八进制、十六进制

十进制:0~9
八进制:0~7,0为前缀
十六进制:0~9 + A~F 或a~f。
长整型一般以L后缀。

3. 实型(浮点型)
c语言中实型也叫浮点型,分为:单精度浮点型float, 双精度浮点型double, 长双精度浮点型long double
float 占 4个字节,double 占 8个字节,long double 占16个字节

写法:
1. 必须带小数:12.33,0.34
2. 指数形式,加入E或者e, aEn = A x 10[^n](10的n次方) :2.1E5 (2.1 X 10[^5])

4. 字符型
字符型用char 表示,占1个字节,一般用英文单引号('')引起来,比如:'a', 'B','\n'

5. 标识符

5.1 标准符是指程序中常量、变量、数组、函数、文件等对象的名字,只能由字母,数字,和下划线(_)组成,并且
第一个字符必须为字母或者下划线(_)

5.2 大小写是区分的。Name 和 name 是两个不同的标识符

5.3 标识符不能用系统保留的关键字(if,while,int,case等)

5.4 C语言中关键字,ANSI 定义的有 32 个。

6. 常量
常量又成为常数,一般固定不变的,所以在程序运行过程中,预先定好的常量是不能被修改的。

7. 变量
变量是指可以被改变的量,变量必须要先定义,然后被使用。

7.1 定义个变量:
int n,m  /* 定义了2个整型变量n和m*/
char c1,c2; /* 定义了2个字符变量c1,c2 */
float x,y /* 定义个2个浮点型变量 */

7.2 变量的赋值
int x; x = 10 /* 先定义再赋值*/
int x = 10; /* 定义的同时也赋上值*/
int x=10,y=20,z=30 /*多个一起*/

8. 运算符

8.1 算术运算符: + - * /(整除) % (取余数)
8.2 关系运算符: > >= < <= == !=
8.3 逻辑运算符: ! && ||
8.4 位元算符: << >> ~ | ^ &
8.5 赋值运算符: =
8.6 条件运算符(三元) ? :
8.7 逗号运算符: ,
8.8 指针运算符: * &
8.9 求字节数运算符: sizeof
8.10 类型转换运算符: (类型)
8.11 分量运算符: . ->
8.12 下标运算符 []
8.13 其他: 如函数调用运算符号()

c语言的运算符优先级分为15级,1最高,15最低,赋值远算的优先级高于逗号运算符。

8.14 逗号表达式形式为:
表达式1,表达式2
先算表达式1的值,再算表达式2的值,表达式2的值就是整个表达式的值。
逗号表达式的运算优先级是最低的。

8.15 关系运算符
c语言中用1表示真,0表示假,没有true和false

9 .数据类型转换
数据运算时候,先把不同的数据类型转换成一样的,再开始运算

9.1 自动转换
总是安装精度不降低的原则,从低级向高级进行装换
char w; int x; float y; double z;   -> w+x+z/y 值得数据类型是double
9.2 复制转换
int x; x = 3.45 /*内存中的变量x的值是3*/

9.3 强制转换
(int)a;
(float) (a+b)


几个例子:

#include <stdio.h>void main () {printf("******运行结果**********\n");printf("char: %d字节\n", sizeof(char));printf("unsigned char: %d字节\n", sizeof( unsigned char));printf("short: %d字节\n", sizeof(short));printf("unsigned short: %d字节\n", sizeof(unsigned short));printf("unsigned int: %d字节\n", sizeof(unsigned int));printf("long int: %d字节\n", sizeof(long));printf("float: %d字节\n", sizeof(float));printf("double: %d字节\n", sizeof(double));}******运行结果**********char: 1字节unsigned char: 1字节short: 2字节unsigned short: 2字节unsigned int: 4字节long int: 4字节float: 4字节double: 8字节Press any key to continue





0 0