初始c语言——————青铜的进阶之路-ag九游会j9官方网站

ag九游会j9官方网站-j9九游会登录入口首页新版
初始c语言——————青铜的进阶之路
2023-06-16
50 浏览
江海入海,知识涌动,这是我参与江海计划的第1篇。
“彗星般的人生可以短暂,但绝不黯淡或沉沦。”
                                                                                —— 纳兰容若
微信图片_20230616101349.jpg


 一、数据类型
1)、数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量储存所占用的空间。
c中的类型有以下几种:
微信图片_20230616101425.jpg

c语言中的整数型和数学中的整数是一样的,基本整型简称整型,用int表示;短整型用short int表示,长整型用long int表示。那为什么要分为long int 和short int呢??这就是要说道内存了,内存和硬盘相比容量是很小的,所以要考虑内存节约的问题。比如数字10存放在4个字节的int就够了,但如果存放在long int(8个字节)就显得浪费空间了。
说到内存,每个数据类型都有它本身占多大的字节数
1byte(字节)=8个bit(位)
1 kb = 1024byte(字节)
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb
微信图片_20230616101433.jpg

 二、常量
c语言中的常量分为以下几种:·
· 字面常量
·const修饰的常变量
·#define 定义的标识符常量
·枚举常量
(1)、字面常量的种类:
1)、整型数值 如  22 33
2)、浮点型  如double类型的33.3
3)、字符串类型
4)、字符型

我们创建char类型的数组ch1和ch2,里面存放这abcdef的字符和字符串,我们输出会发现ch1还有中文乱码
微信图片_20230616101449.jpg
 
我们想一想,这是为什么呢???所以我使用了调试,我们发现ch2中多了一个\0,我们就知道了\0是字符型结束的标志 ,而ch1出现了中文就可以理解为我们向计算机申请了一块内存,而ch1内存的后面我们不确定是什么,而ch2字符串后面是\0,当在不同的编译环境下,ch1就会形成不同的结果。
微信图片_20230616101454.jpg

当然,我们也可以通过使用strlen函数来证明
微信图片_20230616101501.jpg

这时就说明了由于ch1内存后面不知道什么时候遇到\0,所以是随机值,而ch2中有\0,所以打印出来的个数就是6 
(2)、变量的作用域和声明周期
作用域:  所谓作用域(scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在所有代码文件中使用,有些变量只能在当前的文件中使用,有些变量只能在函数内部使用,有些变量只能在 内部使用。
比如我们定义了全局变量a和局部变量a,我们在有效的区域中我们优先使用的是局部变量,{}就是我们的局部变量的作用域,出了{},就是全局变量起了作用

微信图片_20230616101856.jpg

生命周期:即指的是程序在运行过程中,变量在内存中的从创建到销毁的生存期。
三、转义字符
1)、既然提到了字符,就不得不讲转义字符,转义字符就是转变意思。
微信图片_20230616101508.jpg

转义字符(escape character)是指在ascii码和unicode等字符集中的无法被键盘录入的字符被当作特殊用途而需要转换回它原来的意义的字符。而转义字符转义是指字符已经被转换了意义。
比如,当我们输出‘\a’,电脑就有叮的一声,代码如下:
int main(){ printf("\a"); return 0;}
通过这个输出这个例子,我们就可以发现\t  \328是转义字符,算一个字符,所以输出的结果是14
微信图片_20230616101512.jpg

四、操作符
1)、算数操作符
- *  /  %
 在数学中x是乘法的意思,而在计算机中*是乘法的意思,/是除法的意思,得到是除数,%是取余,得到的是余数
比如我们定义了变量a和b,用a/b,和a%b分别得到的就是他们的除数和余数 
微信图片_20230616102831.jpg

2)、位操作符
<<   左移操作符
>>   右移操作符
ps:移动的只能是整数,不能使用浮点数
那么我们就不得不讲一讲原码,补码,反码了
微信图片_20230616103004.jpg

为什么讲这个呢,因为在计算机中,一个整数在内存中存储的是补码!!!

我们定义了一个int类型的a变量,我们使用<<左操作符,就是a向左移动2位,就得到了a=6
微信图片_20230616102835.jpg

 又比如我们定义int类型的a变零,使用右操作符,就是补码向右移动2位,左边补0,就可以得知a>>1就是4
微信图片_20230616102838.jpg

小故事:
程序猿:一般来说,一个寝室的长度应该是1~2个字节,因为里面一般住4~8个2b。
最后的附上一段话:
“选一个方向,定一个时间;剩下的只管努力与坚持,时间会给我们最后的答案”

avatarname
后发表内容
您的社区活跃积分 3,登录后即可领取  
网站地图