c语言基础 —— 数据类型与常用运算符

3、C语言数据类型

3.1、整形

C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整形变量经过计算后也只能是整数(整型),不可能出现小数(浮点型).

要求:要学会整形变量的定义,赋值,计算
要学会使用printf函数打印出一些整形变量的值,作为输出和调试。

C语言中整形有三种:
(1)int 			整形
(2)short int,又叫做short,短整形(<=整形)
(3)long int,又叫做long,长整型(>=整形)(很复杂的系统才用)

不同机器表示范围不同。
在这里插入图片描述

整形打印,算出是小数也会装换成整形
![[Pasted image 20220811151802.png]]

3.2、浮点型

C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在于表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度高。(小数点后16位)
范围是说表示的数有多大,精度是指这个数的分辨率有多细

**注意:printf中打印float或double类型,要是用%f,不能用%d。

!

说明整数部分有2位,小数点有20位
![[Pasted image 20220811154520.png]]![[Pasted image 20220811154625.png]]

整数位数超出打印位数,仍然能够打印的
用处:
![在这里插入图片描述

多出来的位数用来做对齐,填充(不常用)

printf()用来调试

f,精度6位
正常打印情况下:
在这里插入图片描述

超过精度情况,再打印相同位数:
在这里插入图片描述

这个值:在一定程度时错的,如果取小数点后6位是对的,超过精度是错的。因为f的精度不够。

d精度16位
在这里插入图片描述

超出精度:
在这里插入图片描述

可以看f与do的不同

3.3、字符型

字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法本质上说,**字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所以叫做字符型**字符型一般用8位二进制表示,无符号字符型范围是0~255.

字符型其实是一种比short还短的整形,所以它可以和int相运算。
char

在这里插入图片描述

所以说字符型能和整形相加减,那么在计算机浮点型也可以

3.4、有符号数和无符号数

数学中数是有符号的,有整数和负数之分。所以计算机中的数据类型也有符号,分为有符号数和无符号数。

有符号数:
整形:signed int(简写为 int)
signed long,也写作signed long int,(简写为long)
signed short,也写作signed short int(简写为short)
signed(表示signed int)
浮点型:
signed float(简写为float)
signed double(简写为double)
字符型:
signed char(简写为char)

无符号数:
整形:**整形有无符号数,用来表示一些编码编号之类的东西。譬如身份证号,房间号
unsigned int(没有简写)
unsigned long int(简写unsigned long)
unsigned short int(简写为unsigned short)

浮点数:**没有无符号浮点数。也就是说,小数一般只用在数学概念中,都是有符号的。

字符型:**字符型有无符号数
unsigned char(没有简写)

注意:对于整形和字符型来说,有符号数和无符号数表示的范围是不同的。
譬如字符型,有符号数范围是-128127,无符号数的范围是0255

无符号数运算效率高于有符号数,能用就用,因为计算机还有处理符号位

4、C语言常用运算符

4.1、数学运算符号

4.1.1、常见数学运算符号,跟数学中理解相同

  • 加号
    - 减号
  • 乘号
    / 除号,相除以后的商
    % 取余符号,相除以后余数是几
    () 括号括起来优先级最高,先计算
    在这里插入图片描述

4.1.2、跟数学中意义不同的运算符

= 赋值运算符,与数学中的等号完全不同。赋值运算符作用是经过运算后符号左边的部分(左值,一般是一个变量),的值就等于右边部分(右值,一般是常数或变量)了。
(将数组与指针时很有用)

+= a = a + b; 等同于 a += b;
-= a = a - b; 等同于 a -= b;
*= a = a * b; 等同于 a *= b;
/= a = a / b; 等同于 a /= b;
%= a = a % b; 等同于 a %= b;

bianliang1 = bianliang1 + bianliang2;
bianliang1 += bianliang2;

4.1.3、判断运算符

== 等于
!= 不等于

大于
< 小于
= 大于等于
<= 小于等于

4.1.4、逗号运算符

, 逗号运算符的主要作用是用来分割

4.1.5、++与–

++ a++; 等同于 ++a; 等同于 a = a + 1; 等同于 a += 1;
– a–; 等同于 --a; 等同于 a = a - 1; 等同于 a -= 1;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更多超全面解析

作业:
1、自己查找资料或写代码测试,总结++放在前面和后面的区别(a++和++a区别)
a = 5;
b = a++; // b = 5,因为++后置,先运算后进行+1

a = 5;
b = ++a; // b = 6,因为++前置,先加1,再进行运算
在这里插入图片描述

注意:强调程序风格。
所谓程序风格,主要是指写代码的格式,譬如空格,空行,缩进,注释,文件头,函数头等。

等号两边有空格,逗号后面空格,等等注释头
海思规范书写:在这里插入图片描述

越是大公司,越看重程序风格。软件界公认的准则:程序风格不良好的程序是垃圾代码,是废品;写出程序风格不良好的代码的人,是垃圾程序员。

运算符

在这里插入图片描述

总结优先度: 特殊运算符(括号、地址类) > 单目运算符 > 算数运算符(乘除>加减) > (移位运算) > 判断运算符(比较>相等) > (位运算) > 逻辑运算符(&&>||) > 三目运算符 > 赋值运算符 > 逗号运算符

针对十进制字面值
<<:左移数据,相当于乘2(右边填0)
》 >>:右移数据,相当于除2(unsigned左填0,signed左边填原来的最高位(因为负数移位还要是负数))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值