1.C语言核心
C语言开发工程师 (服务器)
嵌入式软件开发(C)
Linux C/C++软件工程师
2.什么是程序
程序:为了让计算机执行某些操作或解决某个问题而编写的 一系列有序指令的集合
掌握C语言的人,再学其它编程语言,大多能很快上手,触类旁 通,很多大学将C语言作为计算机教学的入门语言
丹尼斯·里奇(Dennis Ritch C语言之父,UNIX之父
ANSI : American National Standards Institute,简称ANSI,美国国家标准局
ISO : 国际化标准组织
3.C语言的特点
• 代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如
• 使允许直接访问物理地址,对硬件进行操作: 由于C语言允许直接访问物理地址,可以
直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,C
语言可用来写系统软件(比如操作系统, 数据库, 杀毒软件,防火墙, 驱动, 服务器程序)。
• C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的
过程式语言
• C语言传递参数可以是值传递(pass by value,值),也可以传递指针(a pointer
passed by value, 地址)
• C语言中,没有对象,不同的变量类型可以用结构体结构体)(struct)组合在一起
预编译)处理(preprocessor), 生成目标代码质量高,程序执行效率高
4.C程序运行机制
C程序运行机制(过程)简述
1) 编辑:比如编写我们的hello.c 文件, 就是 源代码.
2) 编译:将 hello.c 程序 翻译成 目标文件(hello.obj) // 在计算机底层执行
3) 链接:将目标文件 hello.obj + 库文件 生成可执行文件 (MyProject01.exe) //在计算机底层执行
4) 运行:执行 .exe文件, 得到运行结果
5.编译、链接和运行详解
什么是编译
1) 有了C源文件,通过编译器将其编译成o**bj文件(目标文件)**。
2) 如果程序没有错误,没有任何提示,但在Debug目录下会出现一个Hello.obj文件,该文件称为目标文件。
什么是链接
1) 有了目标文件(.obj文件),通过链接程序将其和运行需要的c库文件链接 成exe文件(可执行文件)。
2) 如果程序没有错误,没有任何提示,但在Debug目录下会出现一个项目名.exe文件,该文件称为可执行文件。
3) 为什么需要链接库文件呢? 因为我们的C程序中会使用 C程序库的内容,比如<stdio.h> <stdlib.h> 中的函数printf() system()等等, 这些函数不是程序员自己写的,而是C程序库中提供的,因此需要链接
4) 你会发现链接后,生成的.exe 文件,比obj 文件大了很多.
什么是运行
1) 有了可执行的exe文件, 也称为可执行程序 (二进制文件)
2) 在控制台下可以直接运行 exe文件
6.C程序开发注意事项
对修改后的hello.c源文件需要重新编译链接,生成新的exe文件后,再执行,才能生 效。
C程序开发注意事项
1) C程序的主体结构说明
#include ...
void /int main()
{ // {} 包括内容, 称为函数体 语句1;语句2;
}
2) C程序源文件以“c”为扩展名。
3) C程序的执行入口是main()函数。
4) C语言严格区分大小写。
5) C程序由一条条语句构成,每个语句以“;”结束
6) 大括号都是成对出现的,缺一不可
7.C常用的转义字符
1) \t :一个制表位,实现对齐的功能
2) \n :换行符
3) | \ | :一个\ | |
---|---|---|---|
4) | \" | :一个" | |
5) | \' | :一个' | |
6) | \r | :一个回车 | printf("张无忌赵敏周\r芷若小昭"); |
8.常见问题和解决方法
1) fatal error LNK1104: 无法打开文件"c:\??.exe"
解决方法: 修改源文件后,需要关闭控制台,才能正确运行
2) 缺少分号
解决方法:编译失败,注意错误出现的行数,再到源代码中指定位置改错。
3) 错误总结
学习编程最容易犯的错是语法错误。C语言要求必须按照语法规则编写代码。如 果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词, 中文;和英文; C编译器都会报语法错误。尝试着去看懂编译器会报告的错误信息。