C语言:数据类型、变量、操作运算符、赋值操作符

上一篇大概介绍了数据类型,这里是链接:CSDN

目录

一、数据长度

(一)sizeof

1.基本概念

2.sizeof的特殊点

3.sizeof的运算结果——size_t类型

(二)signed和unsigned

1.int的signed和unsigned

      (1)当想要int指标是非负整数时,可以用unsigned int来声明。

        (2)整数变量声明为unsigned的好处是,同样长度的内存能够表示的最大整数值,大了一倍。

2.char的signed和unsigned

(三)数据类型的取值范围

二、变量

(一)创建语法

(二)变量的初始化

(三)变量的分类

        (1)全局变量——在大括号外部定义的变量

        (2)局部变量——在大括号内部定义的变量

        (3)当局部变量和全局变量同名时,局部变量优先。

        (4)全局变量和局部变量存储的地方

(5)提醒

        a.变量名尽量起的有意义

        b.变量名不可和关键字重复

        c.变量名仅能由字幕、下划线、数字组成,且不能由数字开头。

三、算术操作符+、-、*、/、%

(一)+、-

(二)*

(三)/

        1.整数除法——符号两端的操作数是整数——得到的也是整数

        2.浮点数除法——符号两端的操作符至少有一个浮点数——得到浮点数结果

        3.补充点:

                →(1)打印float类型变量时,用%f;打印double类型变量是,用%lf;打印long double 类型的变量时,用%llf。

                →(2)%f 和 %lf 打印的时候小数点后默认打印6位小数

(四)%

        1.这个运算只能用于整数,不能用于浮点数。

        2.负数求模规则:结果的正负号由第一个运算的正负号决定

四、赋值操作符

(一)赋值操作符=

        1.=是一个随时可以给变量赋值的操作符。

        2.赋值操作符可连续赋值

(二)复合赋值

        1.写法

        2.常见的复合操作符


一、数据长度

        每⼀种数据类型都有自己的长度。使用不同的的数据类型,就能创建不同长度的变量,变量的长度不同,所占据的储存空间的大小就不同。

        我们用sizeof操作符来计算它的操作符数的类型长度。

(一)sizeof

1.基本概念

        sizeof既是关键字,也是操作符,专门用来计算sizeof的操作符数的类型长度的。

        计算的对象可以是表达式,可以是类型,也可以是变量。

        sizeof的操作符数是表达式时,可以省略掉后边的括号。

        以下是计算类型长度的例子:

可以从图中,看出int长度为4。

特别的,C语言规定,sizeof(long int)>=   sizeof(int)

2.sizeof的特殊点

        sizeof的操作符数是表达式时,不进行真正意义上的计算。

        直接上图举例子:

        图中,表达式本该等于12。但这里的操作符是sizeof——于是大小就由表达式的类型int的长度来决定。

        不改变b的类型,我可以试着让b等于2试试看:

可以看到,即使b=2,所得到的结果还是4。这个4是由int的长度决定的。

3.sizeof的运算结果——size_t类型

        sizeof的返回值,C语言只规定是无符号整数,并没有规定具体的类型:返回的值,是int,还是long int ,还是long long int?

        C语言把这些留给系统去决定。

        不同的系统中,返回值的类型可能是unsigned int ,也可能是unsigned long int ,也有可能是unsigned long long int。对应的printf()占位符分别是%u、%lu、%llu

        (unsigned short int 可以用别的类型来表示。将创造出类型就是方便人们用的。)

        但这样不利于程序移植。

        C语言则提供了一个解决方法,创造了一个类型别名size_t,用来统一表示sizeof的返回值类型。

        对应的返回值类型可能是unsigned int ,可能是unsigned long int ,也可能是unsigned long long int 。

(二)signed和unsigned

        C语言用signed和unsigned关键字来修饰字符类型和整型类型

        signed关键字,表示一个类型带有正负符号,有负值。

        unsigned关键字,表示一个类型只有0和正整数,没有负值。

1.int的signed和unsigned

        对于int类型,默认带有正负号。

        在写法上,int可等同于signed int

      

      (1)当想要int指标是非负整数时,可以用unsigned int来声明。

                同时,在写法上,想用unsigned int来声明时,可以直接表示成unsigned

        (2)整数变量声明为unsigned的好处是,同样长度的内存能够表示的最大整数值,大了一倍。

                比如16位的signed short int 的取值范围是:-32768~32767,最大是32767;而unsigned short int 的取值范围是:0~65535,最大值增大到了65,535。

2.char的signed和unsigned

        C语言规定,char类型,默认由系统来决定是否带有负号。

        也就是说,char类型有可能时signed char,也有可能是unsigned char。

        这点不同于int。int就等同于signed int。

(三)数据类型的取值范围

        limits.h 文件说明了整型类型的取值范围。

        float.h 这个头文件中说明浮点型类型的取值范围。

        • SCHAR_MIN , SCHAR_MAX :signed char 的最小值和最⼤值。

        • SHRT_MIN , SHRT_MAX :short 的最小值和最大值。

        • INT_MIN , INT_MAX :int的最小值和最大值。

        • LONG_MIN , LONG_MAX :long的最小值和最大值。

        • LLONG_MIN , LLONG_MAX :long long 的最小值和最大值。

        • UCHAR_MAX :unsigned char 的最大值。

        • USHRT_MAX :unsigned short的最大值。

        • UINT_MAX :unsigned int的最大值。

        • ULONG_MAX :unsigned long 的最大值。

        • ULLONG_MAX :unsigned long long 的最大值

二、变量

        我们使用数据类型来创建各种类型的变量。

        C语言中,经常变化的值叫做变量,不变的值称为常量

(一)创建语法

(二)变量的初始化

        给变量一个初始值,就是初始化。

(三)变量的分类

        (1)全局变量——在大括号外部定义的变量

        可使用范围更广,整个工程范围都可以使用

        (2)局部变量——在大括号内部定义的变量

        可使用范围更小,尽在自己所处的局部范围内使用

        (3)当局部变量和全局变量同名时,局部变量优先。

        (4)全局变量和局部变量存储的地方

        在学习C语言的时候,我们通常会关注内存的三个区域:栈区、堆区、静态区

  • 栈区——局部变量存储的地方
  • 堆区——用来动态内存管理
  • 静态区——全局变量存储的地方用来动态内存管理

(5)提醒

        a.变量名尽量起的有意义
        b.变量名不可和关键字重复
        c.变量名仅能由字幕、下划线、数字组成,且不能由数字开头。

三、算术操作符+、-、*、/、%

        写代码的时候,一定会涉及到运算。

        C语言中,为了方便运算,提供了一系列操作符,有一组叫做算术操作符+、-、*、/、%

        因为这些符号都有两个操作数,因此又叫做双目操作符

(一)+、-

        +   完成加法

        -   完成减法

(二)*

        用这个符号完成乘法

(三)/

        这个符号完成除法

        1.整数除法——符号两端的操作数是整数——得到的也是整数

                特别的:下图中,尽管a的类型是浮点数float,但 6 / 4 得到的仍是1而不是1.5,原因就在于,C语言中的整数除法是整除,只会返回整数部分,丢弃小数部分。

        2.浮点数除法——符号两端的操作符至少有一个浮点数——得到浮点数结果

        3.补充点:

                →(1)打印float类型变量时,用%f;打印double类型变量是,用%lf;打印long double 类型的变量时,用%llf。
                →(2)%f 和 %lf 打印的时候小数点后默认打印6位小数

如果想打印出小数点后1位、后2位,则如图下所示:

(四)%

        这个符号表示求模运算,即返回两个整数相除的余值。

        1.这个运算只能用于整数,不能用于浮点数。

        2.负数求模规则:结果的正负号由第一个运算的正负号决定

四、赋值操作符

        在变量创建的时候给一个初始值叫做初始化,在变量创建好后再给一个值,叫做赋值。

(一)赋值操作符=

        1.=是一个随时可以给变量赋值的操作符。

        2.赋值操作符可连续赋值

        但这种赋值方法不太推荐,将它拆开才更方便观察程序的运行

(二)复合赋值

        在写代码的过程中,我们可能会经常对一个数进行自减、自加。

        1.写法

                为了提高效率,C语言提供了更加方便的写法:

        2.常见的复合操作符

先介绍到这里。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值