C基础2--数据类型,变量,常量运算符

这写的还有问题,还需要深入的修整,

  1. 存储类型没有介绍
  2. 变量的强制转换没有介绍

一:数据类型

1.基本数据类型

1字符类型
   			char   1 字节
			unsigned char  无符号数据 整数
			signed char    有符号数据 整数,负数
			char           有符号数据 整数,负数	
					
2整型(unsigned signed)
			短整形 short 或 short int 2字节
			整形   int  4字节
			长整形 long 或者long int  4字节
			长整形 long long 或者 long long int 8字节
			
3实型(浮点类型)
			float  (单精度的浮点类型) 4字节
			double (双精度的浮点类型) 8字节
			long double (多精度的浮点类型) 12字节
4枚举
			enum
			

2.构造数据类型

	数组(同类型,多个数据单元组合而成的数据类型)	
	结构体 struct 
	共用体类型 union

3.指针类型

  char *p;

4.空类型

	void

二:变量

2.1 变量的定义:

<存储类型> <数据类型> <变量名>;
存储类型: auto 、static 、 volatile 、const 、extern、 register
数据类型:在一数据类型中的所有类型
变量名

		1.变量名由 数字、字母、下划线组成,但是不能以数字开头
		2.定义变量的时候不能和关键字重复(32)
			数据类型12:
				char short int  long float double signed unsigned
				void enum  struct  union 
			求数据类型占用的字节的大小1: sizeof
			类型重定义1:typedef
			存储类型:6
				auto static volatile const extern register 
			分支语句:12
				if else do while switch case for break continue 
				goto default  return 
		3.变量要书写的见名知意:
			比如你要定义ADC的数值-->   ADC_Val;
		4.大小写是区分的,
			如上定义的ADC_Val和ADC_VAL是两个不同的变量。

2.2 数据类型的大小:

  
    char  -128--127
    unsigned char  	(0-255) 数值的范围  
   // 一个字节8位(Byte)-->(2^8)==256;
    在有符号的时候,通常是bit7位符号标志位!
    0111 1111  -->127
    1111 1111  -->-128
    						  
	short 类型 -32768-32767
	unsigned short 0-65535
	int  类型 -2147483648-2147483647
	unsigned int 范围0-(4G-1)
	//int 是四个Byte  1bit表示正负,剩余2^31 表示数值。
	
	long 或long int 类型 -2147483648-2147483647(2^31)
	unsigned long  范围0-(4G-1)
	long long 范围  (-2^63-1 - 2^63)
	unsigned long long (0-(2^64-1))
	1K = 2^10
	1M = 2^20
	1G = 2^30
	4G = 2^32

2.3 强制类型转换

//以后记得详细补充。

三:常量

整数常量:12345
浮点类型常量:3.14  
字符类型的常量:‘a’  'b'
字符串类型的常量:“hello world !”
标识常量: 使用 #define 定义的标识常量
	#define (后面是没有 ; 的!!!)
	define 的格式:
	#define <宏的名字>  <>
	1.#define N 30+1  (如这样,你要记住,他只是进行了替换,并没有进行任何计算。)
	2.#define MAX(a.b)  ({ int ret ;if(a>b)ret=a;else ret=b;return ret ;}3.#define S(a) #a  ====>#表示字符串化。
	4.#define TT(A,B)  A##B  --->表示拼接。

四:运算符

4.1单目运算符
        +  正数
		-  负数
		++ 自加1  ++i (先加上1在执行下面的运算) i++(先运算在自加1)
		-- 自减1
		* =>和指针相关
		& =>和指针相关
		!   取反  (!10)--->--->0 
		~   按照位取反

4.2算数运算符
		+ - * /(分子小于分母结果为0)  %(不能有浮点数)
		1/2 = 0
		1/2.0 = 0.5 //int和float运算,结果是float类型的

4.3移位运算符
        <<  左移动 (相当于乘以2^n) (被移动的数)<< (移动的位数)
		>>  右移动 (相当于除以2^n) (被移动的数)>> (移动的位数)

4.4关系运算符
        <  (小于) 
		>  (大于)
		!= (不等于)
		<= (小于等于)
		>= (大于等于)
		== (等于)

4.5位运算符
        &     (只要有0与完之后就是0)  0 & 1 = 0      1 & 1 = 1
			例如:给定一个整型变量a,除a的bit 5位。-->   a &= (~(1<<5));

		|     (只要有1或完之后就是1)  0 | 1 = 1      1 | 1 = 1
            例如:给定一个整型变量a,设置a的bit 3.-->  a |=  (1<<3);

		^   异或 (相异为真)
				1001 1100
				^
				0101 0010
				-------------
				1100 1110

4.6逻辑运算符
		&&  逻辑与     //更加习惯的一种叫法是    并且
			表达式1&&表达式2
			1.如果表达式1为真,接着判断表达式2是否为真,如果都为真表示式成立
			2.如果表达式1为假,表达式2不会被运算,整个表达式都为假
			
		||  逻辑或    // 常见的喊法是 或者
			表达式1||表达式2
			1.如果表达式1为真,表达式2不会被运算,整个表达式是直接成立的
			2.如果表达式1为假,运算表达式2,整个表达式的结果取决于表达式2

4.7条件运算符
         a>b?a:b  如果a>b执行a,如果a<=b执行b;


4.8赋值运算符
      =  
      += 
      -= 
      *= 
      /=  
      %= 
      <<= 
      >>= 
      &= 
      |= 
      ^= 

4.9逗号
   ,   (一般用来起分割的作用)

运算符的优先级:
单算移关与  异或逻条赋
单条赋右左  其余左向右
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值