传智播客C语言学科:01.hello world
1.愉快的开始-hello world
1.1 include 头文件包含
include是要告诉编译器,包含一个头文件,
在C语言当中,任何库函数调用都需要提前包含头文件
<头文件>,代表让C语言编译器去系统目录下寻找相关的头文件
“头文件”,代表让C语言编译器去用户当前目录下寻找相关头文件
如果是使用了一个C语言库函数需要的头文件,那么一定是#include <>
如果使用了一个自定义的h文件,那么一定是#include “”
1.2 函数
main函数是C语言中的主函数,一个C语言的程序必须有一个主函数,也只能有一个主函数
1.3 注释
//,单行注释,代表注释,就是一个文字说明,没有实质的意义,单行注释是C++语言的注释方法
/* */,多行注释,多行注释是标准C语言的注释方法
1.4{ }括号,程序题和代码块
C语言所有的函数的代码都是在{}里包着的
1.5 声明
Int a;
声明一个变量名字叫a,对于c语言,变量的名称是可以子定义的。
1.6C语言自定义名字的要求
可以使用大小写字母,下划线,数字,但第一个字母必须是字母或者下划线
字母区分大小写
不能用C语言的关键字做为变量名称
每一行,必须是;结尾
1.7 printf 函数
printf是向标准输出设备输出字符串的
如果要输出一个字符串:。例如:printf(“hello world”);
如果要输出一个整数,例如:printf(”%d”, 整数)
Printf(“\n”);会输出一个回车换行
1.8 return语句
一个函数遇到return语句就终止了,return是c语言的关键字
1.9 System系统调用
System库函数的功能是执行操作系统的命令或者运行指定的程序,system库函数的调用需要include<stdlib.h>
1.9.1System返回值在windows和unix下的不同,
1.9.2 POSIX
1.10 C语言编译过程,gcc参数简介
1.10.1语言编译过程
1.10.2-E预编译
Gcc –E –o a.e a.c
预编译a.c文件,生成的目标文件名为a.e
预编译是将include包含的头文件内容替换到C文件中中,同时将代码中没用的注释部分删除
1.10.3 -S汇编
-s就是将c语言转化为汇编语言,
1.10.4 -c编译
将代码编译为二进制的机器指令
1.10.5 链接
Gcc没有任何参数,代表就是链接
1.11操作系统结构
1.11.1 用户模式
应用程序都是运行在用户区域
1.11.2 内核模式
操作系统的内核,设备驱动程序,这些都是在内核模式下运行的
1.12 64位,32位系统区别
1.12.1 CPU内部结构与寄存器
1.12.2 RISC与CISC CPU构架
RISC精简指令集
CISC复杂指令,一般来讲x86构架的CPU都是复杂指令的,AMD,intel就x86构架的,linux就是基于x86的操作系统
1.12.3 SPARC,x86与ARM
Sun有自己的CPU,是基于SPARTC,其实就是一款RISC的CPU
1.13汇编语言
1.13.1 I386 汇编简介
Mov eax, 10
Add eax, 10
Sub eax, 20
Call printf
1.13.2 VS反汇编
先f9设置一个断点
F5,用调试方式运行代码
1.14 IDE工具
1.14.1 QT常用快捷键
1.14.2常用快捷键
1.14.3 VS断点,调试