C语言简介:
BCPL->newB->C->UNIX->Minix->Linux->gcc
C语言诞生于1970-1973年,在肯.汤姆逊和丹尼斯.里奇的主导编写下完成,归属于美国贝尔实验室。
C语言专门为了编写操作系统而诞生的语言,所以天生适合硬件编程,以运行速度快而著称,也非常适合实现数据结构与算法。
由于C语言出现时间过早,C语言是存在非常多的缺陷的,存在陷阱,但是前辈们总结了一些避免的经验《C语言的陷阱与缺陷》(C语言三剑客:《C陷阱与缺陷》、《C和指针》、《C专家编程》)
C语言的语法很自由,但也意味着危险
C89语法标准,gcc默认的语法标准
C99语法标准,对C89标准的扩展和增强 编译时需要使用 gcc -std=gnu99 进行编译
C11语法标准,全新的升级,但是很少公司会采用
第一个C程序
编译执行命令:
gcc xxx.c 编译后无反应,但已生成a.out文件
./a.out 执行当前文件夹下文件
gcc xxx.c && ./a.out 编译并且运行
基础内容解释:
#include <stdio.h>
int main()
{
printf("hello,world\n");
return 0;
}
#include <stdio.h>
程序员所编写的代码并不是标准的C代码,需要一段程序把它翻译成标准的C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理器,翻译的过程叫做预处理,被翻译的代码叫做预处理指令。以#开头的代码都是预处理指令
#include 的功能是把一个头文件导入到当前文件中
#include <> 从系统指定的路径下加载头文件 linux的stdio.h在/usr/include下
#include "" 先从当前路径下加载头文件,如果找不到,再从系统指定路径下加载头文件
操作系统通过设置环境变量来指定加载头文件的路径
stdio.h
头文件:以.h结尾,里面存储的是一些辅助性的代码,绝大部分是函数的声明
源文件:以.c结尾,里面存储的是功能性的代码
C语言标准委员会为C语言以函数的形式提供了一些基础功能,这些功能被封装成一个标准库文件,这个库的名字是libc.so
用很多头文件负责对库中的函数进行分类说明,stdio.h就是其中的一个头文件,常用的还有stdlib.h string.h 等
stdio.h 负责对输入输出功能的函数进行说明
main函数:
C语言以函数为单位来管理代码,函数是管理代码的最小单位,一个函数就是一段具有某项功能的代码段
main函数是程序的执行入口,有且只有一个
int 是一种数据类型,它表示main函数的执行结果是一个整数
return 功能有两个,1、结束函数的执行 2、返回一个数据给函数的调用者
main函数是由操作系统调用的,它的返回值是给操作系统的,反映了程序是怎么样结束的,通常有三种情况:
正数: 出现异常 (别人的错误)
0: 一切正常
负数: 出现错误 (自己的错误)
可以通过 echo $? 来查看上一个程序的返回值
printf/scanf 是标准库中的函数,负责输入、输出数据,用来调试代码(例:可以通过插入printf("-----------\n");可以查看程序运行进度)
转义字符:
键盘上的一些特殊的按键是没有符号的,用一些特殊的字符组合来表示,这些特殊的字符组合就是转义字符,\n就是其中一个
\n 换行
\b 退一个字符
\r 回到行首
\t 制表符,用于对齐数据
\a 铃响
\\ 表示一个\
%% 表示一个%
C语言以;作为一行代码的结束,使用{}划分代码区域