C语言基础
相关定义
软件=程序+文档
程序=函数+函数+。。。 (函数的集合)
函数=数据结构+算法
数据结构:对数据的定义。
算法:方法,整个步骤。
什么是语句? 在程序中,以 分号 ; 作为结束的代码,表示一条语句。
每个语句,就是一个执行的步骤。
文档:帮助用户使用和对软件的说明。
算法五个特性:
1、有穷性: 每条语句,必须在一定的时间内可以执行完。
2、确定性: 每条语句,执行后的结果唯一。
3、输入:需要初始信息。 可以有一个或多个输入,也可以没有输入。
4、输出:执行的结果,是为人所需的,必须要有输出。
5、健壮性(可行性):可行,每个步骤的结果,和预期的要相同。
C语言起源:
Dr.K.T -> UNIX
汇编 -> 与机器硬件一一对应。移植性(兼容性)很差 换个平台需要重新写
Dr.K.T -> BCPL -> 江湖人称 B语言
DR 和 Dr.K.T -> B语言重写 UNIX -> 新的数据结构和语法 -> C语言
DR 和 Dr.K.T -> C语言重写UNIX
C语言的后代:C++、C#、Java、PHP、Objective-C、Swift、VB …
C语言基础:
运算符:34种
+-*/ % ++ – > < = == >= <= != ! || | & &&(逻辑与) ^ ~(按位取反) << >> () { } [ ] \ . , : ; ? “” ”
关键字:32个
字符:char
整型:int
浮点型:float double
空类型:void
long 声明长整型变量
short 声明短整型变量
auto 声明自动变量,缺省时编译器一般默认为auto
signed 声明有符号类型变量
unsigned 声明无符号类型变量
struct 声明结构体变量
union 声明联合数据类型
enum 声明枚举类型
static 声明静态变量
switch 用于开关语句
case 开关语句分支
default 开关语句中“其他”分支
break 跳出当前循环
register 声明寄存器变量
const 声明只读变量
volatile 说明变量在程序执行中可被隐含地改变
typedef 用以给数据类型区别名
extern 声明变量是在其他文件正声明(也可以看做引用变量)
return 子程序返回语句(可以带参数也可以不带参数)
continue 结束当前循环,开始下一轮循环
do 循环语句的循环体
while 循环语句的循环条件
if 条件语句
else 条件语句否定分支
for 一种循环语句
goto 无条件跳转语句
sizeof 计算对象所占内存空间大小
控制语句:9个
选择:2个 if switch
循环:3个 for while do..while
返回:4个 return break continue goto
函数=数据结构+算法
标识符:函数名,变量名等。
规则:
标识符由字母、数字、下划线组成,不能以数字开头,不能和关键字相同,不能重名。
有些变量经常需要用到,可以将其设置为寄存器变量
外存是非易失性存储器,
内存是易失性存储器,掉电易失性
.swp交换文件
计算机的世界是二进制的,一切非二进制文件数据
存储器只能放二进制数
存储单位:
bit 简写 b ,即比特或位,一个二进制数字(0或1)
Byte 简写 B ,即字节,1B=8b
KB 千字节
MB 兆字节
GB 吉字节
TB 太字节
今日小题:
1、为什么printf不加头文件也能显示?
gcc默认情况下制定到/usr/include文件夹
2、printf的f是什么意思?
f formatted 格式化了的
3、”” 和 <> 的区别
<> 直接从编译器自带的函数库中寻找文件
“” 先从自定义的文件中找,如果找不到再从函数库中寻找文件
如果是自己写的头文件,建议使用”“
今日小结
今天主要讲了C语言的入门知识以及标识(shi)符的命名规则:标识符由字母、数字、下划线组成,不能以数字开头,不能和关键字相同,不能重名。还有各个数据的表示范围,与系统位数有关。也通过相关.c文件进行了证明也再次强调了代码的书写格式。