C笔记
C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++。C/C++主要用于PC软件开发、Linux开发、游戏开发、单片机和嵌入式系统。
C语言主要用于较底层的开发,例如:
- Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;
- 开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;
- 单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;
- 开发系统组件或服务,用于支撑上层应用;
- 编写PHP扩展,增强PHP的功能;
- 如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。
C语言也能用于PC软件开发,做出类似 QQ、迅雷、Chrome 等带界面的程序,但是由于C语言开发效率低,第三方库较少,实际项目中已经没有程序员这么做了,大家已经转向了 C++。
第一个程序
#include <stdio.h>
int main()
{
printf("aaaa\n");
return 0;
}
什么是变量
确定目标并提供存放的空间。
C语言关键字
数据类型
- char
- 字符型,占用一个字节
- int
- 整型,通常反映了所用机器中整数的最自然长度
- float
- 单精度浮点型
- double
- 双精度浮点型
声明变量的语法
数据类型 变量名
- int a
- char b
- float c
- double d
函数
在C语言中,有的语句使用时不能带括号,有的语句必须带括号。带括号的称为函数(Function)。
函数就是一段可以重复使用的代码。
函数的一个明显特征就是使用时必须带括号( ),必要的话,括号中还可以包含待处理的数据。
使用函数叫做函数调用(Function Call)。
如果函数需要处理多个数据,那么它们之间使用逗号,分隔:
pow(10, 2);
自定义函数和main函数
C语言自带的函数称为库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一些列函数的集合,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。
除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。自定义函数和库函数在编写和使用方式上完全相同。
函数可以接收待处理的数据,同样可以将处理结果告诉我们;使用return可以告知处理结果。
return 可以翻译为“返回”,所以函数的处理结果被称为返回值(Return Value)。
C语言规定,一个程序必须有且只有一个 main 函数。main 被称为主函数,是程序的入口函数,程序运行时从 main 函数开始,直到 main 函数结束(遇到 return 或者执行到函数末尾时,函数才结束)。
头文件的概念
#include <stdio.h>
C语言开发者们编写了很多常用函数,并分门别类的放在了不同的文件,这些文件就称为头文件(header file)。每个头文件中都包含了若干个功能类似的函数,调用某个函数时,要引入对应的头文件,否则编译器找不到函数。
头文件往往只包含函数的说明,也就是告诉我们函数怎么用,而函数本身保存在其他文件中,在链接时才会找到。
引入头文件使用#include命令,并将文件名放在< >中,#include 和 < > 之间可以有空格,也可以没有。
头文件以.h为后缀,而C语言代码文件以.c为后缀,它们都是文本文件,没有本质上的区别,#include 命令的作用也仅仅是将头文件中的文本复制到当前文件,然后和当前文件一起编译。你可以尝试将头文件中的内容复制到当前文件,那样也可以不引入头文件。
.h中代码的语法规则和.c中是一样的,你也可以#include <xxx.c>,这是完全正确的。不过实际开发中没有人会这样做,这样看起来非常不专业,也不规范。
较早的C语言标准库包含了15个头文件,stdio.h 和 stdlib.h 是最常用的两个:
- stdio 是 standard input output 的缩写,stdio.h 被称为“标准输入输出文件”,包含的函数大都和输入输出有关,puts() 就是其中之一。
- stdlib 是 standard library 的缩写,stdlib.h 被称为“标准库文件”,包含的函数比较杂乱,多是一些通用工具型函数,system() 就是其中之一。