C 语言基础 1

来源:互联网 发布:windows10 mac地址 编辑:程序博客网 时间:2024/05/16 10:23

  c语言程序的绝大部分因该记录在以 .c 作为扩展名的文件里,这种文件叫做c语言的源文件

  c语言里还包含以 .h 作为扩展名的文件,这种文件叫做头文件

  c语言程序里可以直接使用数字和加减乘除四则运算  乘法用 * 表示 除法用 / 表示

  c语言里每个计算步骤最后都必须使用分号结束

  每个使用分号结束的计算步骤叫做一条语句

  c语言里绝大多数语句因该写在大括号里面

  c语言里大括号可以用来代表函数(函数可以看作是一组语句)

  每个函数都有名字,不同函数的名字也不同

  c语言里至少要包含一个叫做 main 的函数,这个函数叫做主函数

  整个程序必须从主函数里的第一条语句开始执行,当主函数里最后一条语句结束后整个程序结束

  c语言允许一个函数在完成所有工作后用一个数字表示它分工作结束,这个数字叫做函数的返回值

  主函数因该有返回值,如果返回值是 0 表示程序希望计算机认为它正常结束里,如果不是0表示程序希望计算机认为   出问题了


 c语言里预先保留几十个英文单词,它们叫做关键字

每个关键字都有特定的用途,不能随便使用,所有关键字一定都是由小写英文字母构成的


return 就是一个关键字,主要用途是结束函数的执行,辅助用途是用来指定作为返回值的数字

计算机根据数字在某个方面的区别把数字分成机组,每组叫做一个数据类型。

每个数据类型都有自己的名字

整数类型是一种数据类型,它的名字是 int 这个类型里几乎包含所有不带小数点的数字

程序中的所有数字必须有整数类型,程序中所有不带小数点的数字默认都是整数类型的


如果函数有返回值就必须把返回值的类型名称写在函数名称前


c语言程序编码规范

1。一行里最多包含一条语句

2。同级别语句最后左边一列应该上下对齐

3。在合适的地方使用空格和空行


c语言程序中通常包含预处理指令

预处理指令都是以 # 做开头,不是以 ; 结尾

标准c 阶段遇到的预处理指令都可以把程序中的内容替换成其他内容

#include 预处理指令可以把一个头文件的内容包含到当前文件里

在这个预处理指令中通常使用相对路径表示被包含头文件的位置

相对路径包含在 <> 中间表示以系统中预先规定好的一组目录依次作为起点查找头文件

把相对路径包含在  " "  中间表示首先以当前文件所在目录作为起点,然后再以系统中预先规定好的一组目录作为起点


可以在c语言程序中加入文字说明信息,这些文字说明信息必须加入到注释区域里

计算机会忽略注释区域里的所有内容

单行注释以 // 做开头, 一直到行尾

多行注释以 /* 做开头 以*/ 做结尾


c语言中大量使用名称区分不同内容

这些名称叫做标识符

最好使用英文单词编写标识符

标识符的编写规则

1。第一个字符因该是英文字母或则下划线

2。后面的每个字符可以是英文字母,下划线或者阿拉伯数字

3。大小写不同的标识符是不同的标识符(大小写敏感)

4。关键字不能当标识符使用

5。标识符的长度没有限制,但计算机只会截取前面一部分使用

6。标识符应该采用驼峰方式或下划线方式书写


编译器可以把程序翻译成计算机认识的格式

gcc 是linux 系统中常用的 c 语言编辑器

MinGW 是 Windows 里的g cc


linux系统中开发c语言程序的基本过程

1。使用 vi 编写程序文件

2。使用gcc 编译器把所有文件翻译成计算机认识的格式(编译)

3。使用命令 ./a.out 执行得到的结果文件


gcc 编译器的工作步骤

1。处理所有预处理指令

2。把第一步的结果翻译成计算机认识的格式(编译)

3。把第二步的结果合同合并成可执行文件(链接)



gcc 选项介绍

-E                   只处理预处理指令

-c                   只完成预处理和编译工作

                      处理结果是以 .o 作为拓展名的文件,这种文件叫做目标文件

-o                   用来决定得到的新文件名称  

-std=c89  /  -std=c99  决定采用什么版本进行编译默认采用c89 规范编译


c语言里提供了一组工具,它们叫做标准函数

每个标准函数有自己的名字,不同标准函数名字不同

可以在程序中编写函数调用语句来使用标准函数


printf 标准函数可以把程序中的数字显示在终端窗口里

为了使用这个标准函数需要包含  stdio.h  头文件

可以在双引号里使用占位符把数字转移到双引号后面

双引号后面的数字可以是一个计算公式的结果

不同类型的数字应该和不同的占位符配合 使用, %d 占位符是和整数类型数字配合使用的

双引号里可以使用多个占位符,这个时候就需要在双引号后面提供多个数字,数字个数和占位符个数一样


程序中的所有数字都必须记录在内存里、

内存有大量的字节构成,每个字节可以单独记录一个数字

每个字节有一个编号,不同字节的编号不同,这个编号叫做字节的地址

所有字节的地址从 0 开始向整数方向递增

可以把几个相邻的字节合并成一个整体用来记录一个数字

我们把内存里用来记录一个数字的所有字节叫做一个存储区

一个存储区只能记录一种类型的数字

存储区也有地址,存储区的地址就是它所包含的字节中地址最小字节的地址


c语言程序中使用变量代表存储区

对变量的操作就是对他所有代表的存储区的操作

变量必须先声明然后才能使用

变量声明语句用来声明变量

变量声明语句可以让计算机为程序分配存储区

可以在一条语句里声明多个同类型变量


赋值语句可以向变量里放一个数字

赋值语句里需要使用赋值操作符(=)

赋值操作符左边的内容必须可以代表一个存储器(左值)

赋值操作符右边的内容必须可以代表一个数字

赋值操作符可以把右边的数字放在左边的存储区里

可以在声明变量时立刻对变量进行赋值,这叫做变量初始化

c语言里所有变量都应该初始化

可以在程序中直接把变量当作数字使用,这个时候计算机会首先从变量代表的存储区里获得数字然后在使用

变量名称既可以代表存储区也可以代表存储器里的数字,有环境决定

存储区的地址也可以用来代表存储区在变量名称前使用符号 & 可以得到变量所代表存储区的地址

在printf 函数里使用 %p 做占位符可把地址数据显示在屏幕上

变量可以用来代表一个未知的固定数字

变量可以用来代表一组相关数字

如果一组数字任何时候只使用其中一个,每个数字的使用方法非常类似,这组数字可以考虑用一个变量来代表