C语言从入门到实战——初级代码分析

初级代码分析

1.include头文件包含

#include的意思是头文件包含,#include <stdio.h>代表包含stdio.h这个头文件
使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,需要包含stdio.h头文件。可以通过man 3 printf查看printf所需的头文件
#include< > 与 #include ""的区别:
< > 表示系统直接按系统指定的目录检索
""表示系统先在 ‘’ ''指定的路径(没写路径代表当前路径)查找头文件,如果找不到,再按系统指定的目录检索

2. main函数

一个完整的C语言程序,是由一个、且只能有一个main()函数(又称主函数,必须有)和若干个其他函数结合而成(可选)。
main函数是C语言程序的入口,程序是从main函数开始执行。

3.{} 括号,程序体和代码块

{}叫代码块,一个代码块内部可以有一条或者多条语句
C语言每句可执行代码都是" ; "分号结尾
所有的#开头的行,都代表预编译指令,预编译指令行结尾是没有分号的
所有的可执行语句必须是在代码块里面

4. 注释

//叫行注释,注释的内容编译器是忽略的,注释主要的作用是在代码中加一些说明和解释,这样有利于代码的阅读
/**/叫块注释
块注释是C语言标准的注释方法
行注释是从C++语言借鉴过来的

5.printf函数

printf是C语言库函数,功能是向标准输出设备输出一个字符串
printf(“hello world\n”);//\n的意思是回车换行

6.return语句

return代表函数执行完毕,返回return代表函数的终止
如果main定义的时候前面是int,那么return后面就需要写一个整数;如果main定义的时候前面是void,那么return后面什么也不需要写
在main函数中return 0代表程序执行成功,return -1代表程序执行失败
int main()和void main()在C语言中是一样的,但C++只接受int main这种定义方式

7.system函数的使用

#include <stdlib.h>
int system(const char *command);
功能:在已经运行的程序中执行另外一个外部程序
参数:外部可执行程序名字
返回值:
成功:不同系统返回值不一样
失败:通常是 - 1
示例代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
	//system("calc"); //windows平台
	system("ls"); //Linux平台, 需要头文件#include <stdlib.h>

	return 0;
}

8.CPU内部结构与寄存器(了解)

8.1 64位和32位系统区别

寄存器是CPU内部最基本的存储单元
CPU对外是通过总线(地址、控制、数据)来和外部设备交互的,总线的宽度是8位,同时CPU的寄存器也是8位,那么这个CPU就叫8位CPU
如果总线是32位,寄存器也是32位的,那么这个CPU就是32位CPU
有一种CPU内部的寄存器是32位的,但总线是16位,准32位CPU
所有的64位CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以识别32位的指令
在64位的CPU构架上运行了64位的软件操作系统,那么这个系统是64位
在64位的CPU构架上,运行了32位的软件操作系统,那么这个系统就是32位
64位的软件不能运行在32位的CPU之上

8.2 寄存器、缓存、内存三者关系

按与CPU远近来分,离得最近的是寄存器,然后缓存(CPU缓存),最后内存。

CPU计算时,先预先把要用的数据从硬盘读到内存,然后再把即将要用的数据读到寄存器。于是 CPU<—>寄存器<—>内存,这就是它们之间的信息交换。

那为什么有缓存呢?因为如果老是操作内存中的同一址地的数据,就会影响速度。于是就在寄存器与内存之间设置一个缓存。

因为从缓存提取的速度远高于内存。当然缓存的价格肯定远远高于内存,不然的话,机器里就没有内存的存在。

由此可以看出,从远近来看:CPU<—>寄存器<—> 缓存 <—> 内存。

8.3数据转换

1KB (Kilobyte 千字节) = 1024B,
1MB (Megabyte 兆字节 简称“兆”) = 1024KB,
1GB (Gigabyte 吉字节 又称“千兆”) = 1024MB,
1TB (Trillionbyte太字节) = 1024GB
1PB(Petabyte拍字节) = 1024TB,
1EB(Exabyte 艾字节) = 1024PB,
1ZB (Zettabyte 泽字节) = 1024EB,
1YB (Jottabyte 尧字节) = 1024ZB,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值