文章目录
C语言基础知识
一、C语言起源
1972年在贝尔实验室的B语言的基础上设计开发C语言;
目的:为了更好的设计开发Unix操作系统
1983年美国国家标准协会成立了专门规范C语言的组织
1989年使用C98或者C90标准规范C语言的使用
1999年使用C99标准规范C语言的使用
二、什么是C语言
2.1语言的功能是作为信息的交互的媒介
为了便于初学者,理解什么是C语言,我常用这样一个例子:
中国人和中国人沟通可以使用汉语;
而中国人和德国人交流,需要一个翻译官,或者一个翻译平台,因为这个只懂普通话的中国人和德国人直接对话是:牛头不搭马嘴!
换言之,那么人和机器如何沟通呢?也需要这个翻译媒介,就是:C语言。
2.2人和计算机如何沟通?
我们要和机器沟通,需要学会C语言!因为机器只认识机器语言。
机器语言就是0和1(二进制),机器识别的语言
C语言就是那个翻译官,又称为高级语言!C语言能转换成机器语言,也能让人类所认识!(前提你是把C语言学会)
学会了C语言就是学会了和机器沟通,也就是对硬件编程。
综述:C语言就是和机器沟通的桥梁。
三、C语言的特点
3.1 C语言可以对位、字节、地址、硬件操作
计算机存储的最小单元是 位(bit)
计算机常用的存储单元是 字节(byte)
1字节=8位
C语言里面的最大boss:指针;
指针即是地址,可以对硬件内存进行操作
3.2 数据类型丰富
什么是数据?
数据不止数字;
数据:生活中一些事物,如名字、身高、年龄;数据表示形式分别是小三、1.83m、22岁
这些数据在C语言里面分为:字符型(小三)、浮点型(1.83)、整型(22)的数据
在C语言的数据类型里面,名字是字符型;身高是浮点型;年龄为整形
3.3 运算符丰富
除了加减乘除,还有取反,按位与或等等…
3.4 结构式语言
顺序结构、选择结构、循环结构、跳转语句
3.5 代码灵活
功能可以多样性,模块化编程,便于移植
3.6 代码生成质量高,执行效率快
3.7 可移植性好
在不同系统下编写的代码,可以经过少量的改动或者不用改动就可以在其他系统上使用。
四、基本程序的框架
# include <stdio.h>
#:预处理命令的符号
include:英文:包含的意思,C语言中是文件包含指令
< >: 优先搜索系统文件目录(即是软件安装目录)
“” : 优先搜索当前工作目录
stdio.h
.h:文件后缀名
文件种类:H文件,头文件
电脑中也有txt文件、docx文件等等,C文件和H文件一般在C语言编程中经常用到。
H文件一般功能:包含函数/变量的声明
C文件一般功能:包含函数/变量的定义
C文件和H文件可以共同组成一个C project的运行。
stdio:分为std和io
stad为standard :标准的意思
io 为input/output:输入输出
所以stdio.h就是标准输入输出文件的文件
为什么包含头文件?
函数使用前必须要声明,main函数除外,所以要调用相应的函数,必须包含相对应头文件,即是对函数进行了声明。
五、int main() 主函数
main() //main函数的名字
int main(void) //整型的关键字 函数的返回值类型为int类型
void main() //没有返回类型的main函数
int main(void) //这里这个void代表这个函数没有形参
程序的入口函数就是main()
完整C语言编程例子:
#include <stdio.h>
int main()
{
printf("主函数执行\n");
return 0;
}
主函数:程序的入口函数
主函数结束,意味着整个程序代码就结束了
主函数名 main 不能改动
在一个文件中只能有一个主函数
在同一个工程中,有且只有一个主函数
六、printf() 输出函数
printf() 输出函数 ,输出双引号里面的内容到终端
#include <stdio.h>
int main()
{
printf("hello world\n"); //输出函数 输出hello world到终端
return 0;
}
七、C语言常见的问题
1、{} () [] “” 最好成对出现
2、对齐
TAB 键 向右对齐
再试试shift+tab键,退格
3、代码中,除了双引号内容,其他地方都要以英文的符号编写
4、不同功能的代码,分块编写
5、编译信息时的处理方式:
先以错误为准,因为错误会导致编译不通过
6、每次改正错误的时候,从第一条语句开始,最好改一条语句,
然后编译一次,再从第一个错误检测!
7、另外,学会百度错误;对于初学者来说,经常犯的错误无非是中文标点符号,缺少括号等,错误的提示千篇一律,我们应该学会百度错误,调试错误,百度中常常有解决办法。
8、目标:尽量做到零错误,零警告
八、嵌入式C语言跟标准C语言的区别
嵌入式C:根据处理器的内部存储结构,资源定义相应的数据类型
相同之处:所定义的数据结构,基本语法都是一样的
九、编写C语言的流程
1、明确程序目标
2、设计程序
在草稿纸上进行
3、编写代码
4、编译 链接
没有错误
5、运行程序
6、代码调试(程序的目标没有显示出来)
7、后期维护