前言
操作做系统和基本的工具准备好了,接下来开始为C语言打基础,而学好一门编程语言,数据类型是首先需要了解的,而数据类型又是用来约束变量的,不同类型的数据占内存的空间不同。这里还需要引入变量的概念,变量相当于电脑内存中的一个存储空间的别名,我们通过别名来使用该存储空间。有了变量和数据类型,我们需要用这些变量做一些运算所以这里还会介绍一些运算符。
C语言的数据类型大致可以分类四大类:
- 基本数据类型
- 构造类型
- 指针类型
- 空类型
基本数据类型
取值范围是根据数据所占空间决定的。以char为例,字符型数据占一个字节内存即1Byte=8bit,最高位是符号位,负数符号位为1正数符号位为0,则剩下7位,27=128,则可以表示0~127且计算机存数据以补码形式,正数原反补一样,负数补码为其源码的反码加1,特别的(补码:1000_0000表示-128)所以char的范围是-128 ~ 127。
64位操作系统下
| 数据类型 | 名称 | 占用内存 | 值范围 |
|---|---|---|---|
| char | 字符型 | 1Byte | -128 ~ 127 或 0 ~ 255 |
| short | 短整型 | 2Byte | -32768 ~ 32767 |
| int | 整型 | 4Byte | -2,147,483,648 ~ 2,147,483,647 |
| long | 长整型 | 8Byte | -(264)/2 ~ (264 )/2 - 1 |
| float | 单精度浮点数 | 4Byte | 1.2E-38 ~ 3.4E+38 |
| double | 双精度浮点数 | 8Byte | 2.3E-308 ~ 1.7E+308 |
| unsigned short | 无符号短整型 | 2Byte | 0~65535 |
| unsigned int | 无符号整型 | 4Byte | 0~ 4,294,967,295 |
| unsigned long | 无符号长整形 | 8Byte | 0 ~ (264-1 ) |


参考:https://blog.csdn.net/zhh763984017/article/details/118057831
英文以及一些符号由ASII表对应,这里简单记录一下几个常用的。
A对应的ASII表十进制数是65依次往下是其他字母,且大小写字母之间差了32即65+32=97即为a,’ 空格 ’ 对应的数为32 ,字符‘ 0 ’ 对应48 即数字和其对应字符之间差48。
| 输入 | ASII对十进制数 |
|---|---|
| A | 65 |
| a | 97 |
| ’ 0 ’ | 48 |
| ’ 空格 ’ | 32 |
宏定义
为了增强代码可读性和可维护性通常会将一些常量定义为标识常量。
形式为 #define <表示常量名称> <常量>
例子:
这里需要注意TWO = ONE + ONE是直接展开代入计算,而不是求和之后再带入计算,因此结果为32。

变量
变量形式说明:
<存储类型> <数据类型> <变量名>
存储类型分为四类:auto、register、static、extern
默认情况下不声明存储类型时为auto。(只在一个程序范围内存在,其默认值随机)
说明:在范围内变量存在,出范围变量被销毁
register型则表明对应的变量数据存储在CPU内的寄存器内(我的理解)。
static变量称为静态存储类型的变量,既可以在函数体内,也可以在函数体外说明。(默认值为0)
说明:当循环内部局部定义了一个static局部变量时,其默认值为0,只要程序不结束变量不会被销毁,可以记录下上一次的数据,程序结束时才销毁。
例子

当变量在一个文件中的体外说明时,所有其他文件中的函数或程序都可以调用这个变量,编译时需要读取两个文件。且其他文件使用该变量时候需要声明:extern <数据类型> <变量名>
运算符
| 算数运算符 | 关系运算符 | 逻辑运算符 | 位运算符 |
|---|---|---|---|
| +、-、*、/、++(加1)、–(减1) | >、>=、<、<=、==(等于)、!=(不等) | !(逻辑反)、&&(逻辑与)、(|| )逻辑或 | ~(按位反)、&(按位与)、|(按位或)、^(按位异或)<<(左移)、>>(右移) |
说明:1.逻辑与 && 逢0截止,逻辑或 || 逢1截止
2.移位操作,左移相当于乘2,右移相当于除2
位运算可以用于把无符号数的某位快速清0或置1
例:将x=0000_1000 的倒数第y位置1 那么只需要将x和1移位后按位或即 x | (1<<(y-1)) 即可
若要将x=1110_1101 的倒数第y位清0那么可以将x与1移位之后的反按位与即 x & ~(1<<(y-1)) 即可
其他运算符
1.条件运算符“ <表达式1> ? <表达式2> : <表达式3>”
如果表达式1为真则执行表达式2否则执行表达式3
2.逗号运算符
x = ( 表达式1,表达式2,表达式3 ) 顺序执行 ,最后一个表达式的值赋给x
3.sizeof运算符
形式:sizeof(<类型或变量名>)
注:C语言中运算符有一定的优先级(可自行查表)
以上就是第二天的学习内容。
本文介绍了C语言的基础知识,包括数据类型(如char、short、int、long和浮点数)、宏定义的使用、变量的声明和存储类型(auto、register、static、extern),以及各类运算符(算术、关系、逻辑和位运算)的概念和用法。

824

被折叠的 条评论
为什么被折叠?



