C语言 —— 数据类型、常量、变量及运算符

一、 C语言数据类型 分类如下:

  • short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

    在不同的系统上,这些类型占据的字节长度是不同的:

    在STM32位的单片机中:

    short  占据的内存大小是   2 个byte;
    int  占据的内存大小是       4 个byte;
    long  占据的内存大小是    4 个byte;
    float  占据的内存大小是    4 个byte;
    double  占据的内存大小是8 个byte;
    char  占据的内存大小是    1 个byte。

    具体可以用sizeof测试一下即可.

二、常量  

常量是指在程序运行期间其数值不发生变化的数据。

  • 基本数据类型的常量:

1)整型的常量通常称为整数---可以为十、八、十六进制。

2)浮点型常量 又称为实数,一般含有小数点部分;在C语言中,实数只有十进制的实数,分为单精度和双精度。且有两种表示方法----一般形式(3.898),指数形式(1.176e+10  表示1.176 * 10^10, 1.176e-10  表示1.176 * 10^-10)。

3)字符型常量

字符常量是指一个单一的字符,其表示形式是由两个单引号包括的一个字符。

a = 'F'    ;  //将70送给a

‘ ’    ASCII 是 32.

'a'   ASCII 是 97.

'A'   ASCII 是 65.

'0'   ASCII 是 48.

数字 0   ASCII 是 NULL '\0'.

4)字符串常量

字符串常量是指用双引号括起来的一串字符来表示的。

例如:“9”,“Hello",  "Linux"

思考:‘9’ 与“9” 是一样的吗?“9”中包含两个类容,’9‘ +’\0‘两个类容

5)标识常量:

       所谓的标识常量 是指用 标识符 代替 常量 使用的一种常量,其名称通常是一个标识符。

标识常量也叫符号常量,一般用大写因为字母的标识符;在使用之前必须预先定义。

说明形式为:  #define   <标识常量名称>  <常量>

三、变量

  • 变量通俗来说就是程序在运行过程中临时数据的载体(一段储存空间的映射),有什么类型的数据,就要定义相应类型的变量。

例如:

int a = 0;

       其中 a 指的就是变量,int 指的就是数据类型;这行代码意思:定义了一个整数型(int)变量a,且初始化为0。

       其中还有  储存类型-------局部变量: auto(默认随机)  ;寄存器:register ; 静态变量: static(默认为0,可修饰局部,全局变量);  全局变量:  exter n (默认0)  。

例如:

      static int a = 0;

 static 修饰整型变量a 为静态变量 :若 修饰的 是全局变量,则只有定义的源文件能使用该变量,其他文件不能使用。

                                                             若修饰的是局部变量,则定义该值的函数执行外后不释放该值的空间。

注:变量由 字母 、数字 、 下划线组成。不能以数字开头,不能和C的关键字重名。

        寄存器变量:register 不能用&取地址。

四、运算符

  • 算术运算符 : + 、 - 、 * 、 / (取整)、   %(float与double 之间不能取余)
  • 关系运算符 :>=(大于等于) 、> (大于) 、<(小于)  、 <= (小于等于) 、 == (等于) 、 !=(不等于)
  • 逻辑运算符 : !(非) \    &&(逻辑与)--逢0停止,有些句子没有必要执行    \    ||(逻辑或)--逢1停止,有些句子没有必要执行

 

  • 位运算符   : ~ (按位取反)   、 & (按位与) 、 | (按位或)  、 ^(按位异或:两者相同为假,不同为真)   、  >> (右移)     \   <<(左移)

移位运算  <运算量>  <运算符>  <表达式>       :  <运算量>必须为整型结果数值。

                                                                                     <运算符>为  <<    或者  >>

                                                                                     <表达式> 也必须为整型结果数值。

例如 :b  =  a<< 3;

 

  •  复合  赋值运算符 : +=        -+          *=        /=       %=        &=      |=        ^=       >>=        <<=

count ++ <20  :count 先判断是否小于20 ,在自增。

 

  • 特殊运算符 : 条件运算符 ----三目运算符 

<表达式1> ? <表达式2> : <表达式3>   :表达式1成立时 ,选择表达式2执行,否则执行表达式3.

x =70;

例如:int y =x ++ >70 ? 100:0; -----------------------  x  输出 71 ,y  输出  0   。

  • 逗号运算符 : 例如 ---------z = (x + =5, y = x +0.2);  从左到右执行,取最后一个表达式结果。
  • sizeof 运算符  :它只针对数据类型,而不是针对变量。

 

运算符优先级:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值