知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

Linux系统下的C语言学习笔记(二)

发表时间:2022-03-26来源:网络

这里写自定义目录标题

C语言部分1.C语言文件后缀名2.C语言的基础语法3.C语言关键字(举个例子)4.数据类型5.C语言编码规范6.编译器7.Linux系统里C语言程序开发的基本步骤8.标准函数9.C语言占位符10内存与存储区11程序

C语言部分

一门面向过程、抽象化的编程语言。

1.C语言文件后缀名

C语言程序的绝大部分内容应该记录在以.c作为扩展名的文件里,这种文件叫做C语言的源文件
C语言里还可以使用以.h作为扩展名的文件,这种文件叫头文件
C语言编译过程中产生的.o文件叫C语言的目标文件

2.C语言的基础语法

C语言程序里可以直接使用数字和加减乘除四则运算符号(*代表乘法,/代表除法)

10 - 1;//减 5 + 6;//加 6 / 3;//除 1 * 6;//乘

注:运算符与数字之间加上空格键是为了增强程序的可读性**

绝大多数语句应该写在大括号中间,大括号外面的内容一般情况下看不到大括号
里面的内容

{ 10 - 1;//减 5 + 6;//加 6 / 3;//除 1 * 6;//乘 }

所有C语言程序必须包含叫做main的函数,整个程序从这个函数的第一条语句开始执行,这个函数的最后一条语句结束后整个程序结束,这个函数叫做主函数

int main() { 10 - 1;//减 5 + 6;//加 6 / 3;//除 1 * 6;//乘 }

函数结束后可以用一个数字表示它的处理结果,这个数字叫做函数的返回值。主函数应该有返回值,如果这个返回值是0表示一切正常,如果返回值不是0表示处理过程出问题了

int main() { return 0; }

3.C语言关键字(举个例子)

C语言里预先保留了几十个英文单词,他们都叫做关键字。关键字都有固定的使用方法,不能随便使用所有关键字都是由小写英文字母构成的。
return是一个关键字,它有两个用途:1、主要用途是结束函数的执行(任何时候一定会
起这个作用)。2、辅助用途是指定返回值(有条件的)。
static关键字,const关键字等。

4.数据类型


注意:
程序里的所有数字都必须有明确的数据类型。程序里所有不带小数点的数字默认都是整数类型的
必须把返回值的类型名称写在函数名称前面。

5.C语言编码规范

5.1 一行里最多包含一条语句

int a = 0; int b = 10;

5.2 同级别语句应该上下对齐

5.3 在合适的地方使用空格和空行
可以在两个函数之间加空行

5.4 语言程序里通常需要包含预处理指令

#include //等等

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

5.6 标准C阶段遇到的预处理指令都可以
把文件里的内容替换成其他内容

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

5.8 采用相对路径表示头文件位置

5.9 把相对路径包含在中间表示以系统中

5.10 预先规定好的一组目录依次作为起点

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

5.12 如果明确知道头文件在哪里通常使用"",否则使用

5.13 程序里可以加入文字信息,这些信息必须加入到注释区域里,计算机会忽略注释区域里的所有内容

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

5.15 多行注释以/做开头,以/做结尾

/* 第一行 第二行· */

5.16 C语言程序里大量使用名称区分不同内容这些名称叫做标识符

5.17 标识符最好采用英文单词

int num = 0; char ch = 'c';

5.18 第一个字符可以是英文字母,下划线但不可以是数字,后面的字符可以是英文字母,下划线也可以是数字

int what;//可以· char ch_1//可以

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

int Chi = 0; int chi = 0;

5.20 关键字不可以作为标识符使用

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

5.22 标识符应该采用驼峰方式或下划线方式

int ZhangSan = 0; int zhang_san = 0;

6.编译器

编译器可以把写好的文件翻译成可以执行的程序

gcc是Linux系统里的C语言编译器

MinGW是Windows里的gcc(这个可以在自己电脑带不起来Linux虚拟机时使用)

7.Linux系统里C语言程序开发的基本步骤

7.1 使用vi编写程序文件

7.2 使用gcc编译器把程序文件编译成可执行的程序(编译)

7.3 通过./a.out命令执行得到的结果文件

gcc编译器的工作步骤
7.4 处理所有预处理指令

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

7.6把第二步的处理结果合并成最终的可执行程序(链接)

gcc选项介绍
-E 只处理预处理指令

-c 只处理预处理指令并且编译得到以.o作为扩展名的目标文件

-o 用来指定得到的结果文件名称

-std=c89/-std=c99决定采用什么版本进行编译,如果没有使用这个选项相当于使用了c89选项

8.标准函数

C语言里提供一组工具,它们叫做标准函数,每个标准函数用来解决一个常见问题。他们都有自己的名字,不同标准函数名称不同。可以随时在程序里编写函数调用语句来使用标准函数。

printf标准函数可以把程序里的数字显示在屏幕上

printf("100");

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

#include

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

printf("%d",1);

双引号后面的数字可以是编写程序的时候还不知道的数字

int a = 0; printf("%d",a);

可以在一条语句里使用多个占位符,这个时候就应该提供多个数字,数字的个数和占位符的个数一样

printf("%d%d%d",1,2,3);

9.C语言占位符

%d 读入十进制整数

%o 读入八进制整数

%x,%X 读入十六进制整数

%c 读入一个字符 (不要将其与%s弄混)

%s 读入一个字符串,遇空格、制表符或换行符结束

%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入

%a,%A 读入一个浮点值(仅C99有效)

%p 读入一个指针

%u 读入一个无符号十进制整数

%n 至此已读入值的等价字符数

%% 读%符号

10内存与存储区

10.1 程序里使用的所有数字都必须存放在内存里。

10.2 计算机的内存由大量的字节构成,每个字节可以单独记录一个数字。

10.3 每个字节有一个编号,不同字节的编号不同,这个编号叫做字节的地址所有字节的地址从0开始向正数方向递增。

10.4 字节之间有前后顺序,地址小的字节在前面,地址大的字节在后面。可以把相邻的几个字节合并成一个整体,用来记录一个数字。

10.5 内存里用来记录一个数字的所有字节 可以叫做一个存储区

10.6 我们的计算机里所有字节被分了组,每组里包含4个字节
假设X为字节
XXXX XXXX XXXX XXXX(这里为了展示4个字节一组所以分开了,实际上是连续的)

10.7 一般情况下只有同组里的字节才可以被合并成存储区。一个存储区只能记录一种类型的数字(一个存储区里包含的字节个数不可以改变),存储区也有地址,它的地址就是它所包含的最前面字节的地址。

10.8 C语言程序里使用变量代表存储区

int a,b,c;//a,b,c为变量

10.9 变量声明语句用来声明变量,只有声明过的变量才能使用

int a = 0; printf("%d,%d",a,b);//a可以用,b会报错

作用:变量声明语句让计算机为程序分配一个存储区。

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

int a,b,c;

10.11 变量有两种主要的使用方法,一种是向变量里放数字,另外一种是从变量里获得数字
参考 10.9,a = 0向向变量里放数字,printf中第一个%d从变量里获得数字。

10.12 赋值语句可以向变量里放一个数字。赋值语句里需要使用赋值操作符(=)。赋值操作符左边的内容必须可以代表存储区,这种内容叫左值(变量是最简单的左值)。赋值操作符右边的内容必须可以代表数字。赋值操作符可以把右边的数字记录到左边的存储区里。

int a = 10;//a:变量、a可以代表存储区,左值。10:可以代表数字。

10.13 存储区里一定有数字,数字的来源不一定明确可以在声明变量的时候立刻对变量进行赋值,这叫做变量的初始化。C语言里所有变量都应该进行初始化

int a;//最好不要这样写 int a = 0;//写成这样的可以

10.14 可以直接在程序里把变量当做数字使用,这样就可以获得变量里的数字。

int val = 1,val1 = 2; printf("%d",val + val1);

10.15 C语言里同样的写法放在不同的地方效果可能完全不同。

val/*存储区*/ = val/*值*/;

10.16 存储区的地址也可以用来代表存储区可以在变量名称前使用&符号得到存储区的地址。这个地址是计算机分配的,我们只能使用,可以使用%p作为占位符把地址数据显示在屏幕上。

printf("%p",&val);

11程序

将两个程序分别用vi编辑器编辑,并放在一个目录(文件夹)中
01demo.c

#include #include “01demo.h” int main() { int huawei = 6000; int xiaomi = 800; int sum = 0; sum = huawei - xiaomi; //计算a-b printf(%d”,sum); return 0; }

01demo.h

int main();
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜