数据类型与运算符

目录

一、数据类型

1.基本数据类型

2.常量与变量

常量

变量 

二、运算符

1.算数运算符

2.关系运算符

3.逻辑运算符

4.赋值运算符

5.条件运算符

6.逗号运算符

7.强制类型转换


一、数据类型

1.基本数据类型

类型符号关键字
整型(signed)int
(signed)short
(signed)long

unsigned int

unsigned short
unsigned long
实型float
double
字符型char
unsigned char

数据类型的所占位(1位=8字节)可以用代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("int =%ld\n",sizeof(int));
    printf("short int =%ld\n",sizeof(short int));
    printf("long int =%ld\n",sizeof(long int));
    printf("unsigned int =%ld\n",sizeof(unsigned int));
    printf("unsigned short int =%ld\n",sizeof(unsigned short int));
    printf("unsigned long int =%ld\n",sizeof(unsigned long int));
    printf("float =%ld\n",sizeof(float));
    printf("double =%ld\n",sizeof(double));
    printf("char =%ld\n",sizeof(char));
    printf("unsigned char =%ld\n",sizeof(unsigned char));
    exit(0);
}

:数据类型所占字节数随机器硬件不同而不同

2.常量与变量

常量

整形常量, 实型常量,字符常量,字符串常量,标识常量

字符常量:单引号引起来的单个字符和转译字符。

例        'a'        '\n'

字符串常量:双引号引起来的0个或多个字符和转译字符。

例        ""        "abc"        "a\n"

变量 

[存储类型]  数据类型  标识符 = 值

[存储类型]:(可省)在哪个位置给变量分配其存储空间

auto          static         register         extern

数据类型:基本类型  构造类型  指针类型  void 

标识符:由数字,字母,下划线组成,不能以数字开头,尽量见名生义。

值:与其数据类型相匹配。

1)局部变量默认为auto型。

2)局部static变量具有全局寿命,作用域仅限于局部区域。

3)局部static变量具有可继承性,编译时赋初值,只赋一次。而auto无可继承性,每次函数调用都会赋值。

4)extern不是定义变量,而是对变量进行声明。

注:全局变量不是作用与程序从头到尾,而是作用于定义的位置到程序结束

二、运算符

1.算数运算符

+        -        *        /        %        ++        --

1)/        整型   /    整型        结果向下取整

        例   5 / 2= 2

               浮点型   /   整型        结果为浮点型

        例 5.0 / 2 = 2.5

2)%        两边必须是整型

3)++自增        --自减

原则:变量名在前:先使用变量值,再进行自增/减
           符号在前,先自增/减,再使用变量值

例        int i = 3 , j = 5 , t;          

t = i++ ; => t = i;i = i+1     =>  t = 3    i = 4

t = --j;   => j = j-1;t = j;     =>  t = 4    j = 4

t = i++ + --j ;  => --j; t=i+j; i++; =>j=4;t=7;i=4

2.关系运算符

<        <=        >        >=         ==         !=

结果:0(假)       !0(真)  

例        以下例子用1表示真

        int i = 3 , j = 5 , t;

        i < j   1                i = j   0                ++i != --j   0

3.逻辑运算符

!        &&        ||

&&        一假全假,全真为真

例        int i = 3 , j = 5;        

                i < j && j > 2         ->1

                i > j && j < 2        ->0

||        一真为真,全假为假

例         int i = 3 , j = 5;        

                i = j && j < 2         ->0

                i > j && j < 2        ->1

&&   ||具有短路特性

例        int a=1,b =2,c=3,d=4,m=1,n=1;

                (m = a > b) && (n = c > d);

                m = 0            n = 1

                由于m=a>b为0(假),所以&&后面不执行,因此n的值依然为1

4.赋值运算符

=        +=         -=        *=        /=

例        a += b        ->a = a + b

int a = 4;

a += a -= a *= a /= 4;

过程:a /= 4        ->a = a / 4        a=1

          a *= a        ->a = a * a        a=1

          a -= 4        ->a = a- a        a=0

          a += a        ->a = a + a        a=0

结果:a = 0

5.条件运算符

op1 ? op2 : op3

op1成立执行op2    不成立执行op3

例         int i = 3 , j = 5 , t;

                t = i > j ? i : j;

            结果:t = 5

6.逗号运算符

, 并列

例        int i = 3 , j = 5 , t;

                t = i + j , j + 10;

结果:t = 15

7.强制类型转换

(TYPE)

例        int i ;         float j = 5.9 ;         i = (int)f;

        结果 i =  5

        数据类型强转时本身的数据类型不变  只是暂时用一下

                

注:本文是通过听李慧芹老师上课记的笔记,如有理解不到位请多多包涵,也请多多指教。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RLC214

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值