正在学C语言的同学们好啊,下面我将开始分享我学习从语言的过程,虽然之前已经学过一遍了(真没学好),所以决定再来一遍,并且我将持续的更新我的学习历程!!!
1第一个程序 hello world
已经敲了无数遍了,当然这个真真真是最简单的啦
第一行头文件,下面为主函数(一个程序只能有一个)
printf 是输出打印语句,里面需要带一个双引号(英文的!!!),在这种打印方式下,\n前面有什么就输出什么,比如把hello world改成666,他就输出666
return 0 表示返回值为0(这个主函数的类型为int型,也就是整形,需要返回一个整形的数值,习惯使用0)
后面会讲这些数据的类型
还有一点,每个完整的语句的最后都必须带上分号 ; 并且一定要是英文的!!
2
数据类型
基本的数据类型就这些,大家自行观看吧
大体就分为逻辑型,整数类型,long,浮点型,bool型之类的
1 逻辑型就只有true和false,逻辑真和逻辑假,即1和0
2 整数类型,分为char short int long,这里面char为一类,其他三个项为一类
其实这些主要就是字节长度和值域的区别,例如char
关于值域大小和字节长度,大家书上应该有详细的描述,总之就是二进制那点事呗
在使用时也要注意不要超过值域,否则会出现错误(有时候还发现不了)
各种类型的字节长度可以自己这样求证一下
还有ASCII表,见下图
每个数值都有对应的符号,有数字,字母,符号等等这些符号,在使用char需要注意,下面会讲的
3 浮点型,说白了就是带小数的整数型,分为float和double(双精度型),也很好理解
4 bool型,本次学习刚接触,值域只有非零(true)和零(false)两种,
只需要记住使用此种类型必须在程序的最开始地方加上头文件 #include <stdbool.h>
还有个重点,大家一定要把书上的二进制转换成其他进制练熟,以及原码补码反码之间的转换记住
常量
分为浮点常量,指数常量,字符常量,字符串常量,标识常量(宏定义)
浮点常量和指数常量可以相互的转换
字符常量
这里面就可以通过改变字符所对应的ASCII码,从而改变他所对应的符号(如图)
字符串常量(多个字符组成的一串)
需要注意的是,字符串是以 \0 结尾,但是在输出时又不可见,所以在使用时需要注意
标识常量(宏常量)
一般用于大量使用(全局使用)的常量,只需注意一下使用方式即可
变量
首先要介绍的是变量名是由字母,数字,下划线组成,不能以数字开始,不能和C的关键字(一些函数,特殊的字符等)重名,在程序运行时变量占据存储空间的大小由其数据决定变量,在内存空间中的首地址称为变量的地址。
一般来说变量形式都是 存储类型 数据类型 变量名三者组成如果没有存储类型那它就是默认的auto类型
变量的存储类型分为四类,第一类为auto,第二类为register,第三类为ststic ,第4种类型为extern
auto型,
在语句中是一个随机数一般默认省略auto关键字
register型,
此变量必须是能被CPU接受的类型,意味着这个变量必须是一个单个的值并且长度应该小于或等于整型的长度。把数据放在寄存器中大部分情况下可以有效地加快程序的运行速度(距离CPU更近传输效率更高)。
static型,
也称为静态存储型既可以在函数体内也可以在函数体外,它必须放在内存中的固定位置,此类型的数据只要程序没有结束它就不会重随着程序段的约束而消失,下次调用它时还是上次调用的数据。
extern型,
也就是外部变量,它可以引用其他文件中的函数体体外部生说明的变量,需要注意的是static修饰的变量在其他文件中没法使用(这个程序我外部引用一个整形,a=20)