内容提要
- C语言概述
- 数据类型
- 常量
一、C语言概述
计算机基础
(一)、计算机组成
- 计算机:能进行计算以及逻辑处理的设备
- 硬件:组成计算机的物理部件(内存条,CPU,硬盘等)
开发中对于硬件的认知:
硬件包括:电子设备、单片机、嵌入式系统。
- 软件:计算机中运行的程序和数据
开发中对于软件的认知:
软件分为系统软件(OS)、应用软件、编译工具
计算机的六大部件:控制器、运算器、存储器、输入输出设备、**总线 **
-
运算器(Arithmetic and Logic Unit, ALU)
核心功能是执行算术运算(加减乘除、浮点运算等)和逻辑运算(与、或、非、比较、移位等),是计算机处理数据的核心执行单元。
-
控制器(Control Unit, CU)
计算机的 “指挥中枢”,负责从存储器中读取指令、解析指令,然后向其他部件发送控制信号,协调运算器、存储器、输入输出设备的工作时序,确保指令按顺序执行。
现代计算机中,运算器 + 控制器 集成为 CPU(中央处理器)。
-
存储器(Memory)
用于存储程序和数据,分为两个层级:
- 内存储器(内存):速度快、断电易失,临时存储运行中的程序和数据;
- 外存储器(外存):容量大、断电不失,长期存储文件和程序(如硬盘、SSD、U 盘)。
-
输入设备(Input Device)
负责将外部的信息(数据、指令)输入到计算机中,常见设备:键盘、鼠标、扫描仪、麦克风、摄像头等。
-
输出设备(Output Device)
负责将计算机处理后的结果以人类可识别的形式输出,常见设备:显示器、打印机、音箱、投影仪等。
-
总线(Bus)
计算机各部件之间传输数据、地址和控制信号的公共 “通道”,相当于硬件系统的 “神经中枢”。
按功能分为:数据总线(传数据)、地址总线(传内存地址)、控制总线(传控制信号)。
(二)、计算机工作原理:
存储程序:程序和数据预先存储在内存中
程序控制:CPU按照指令顺序逐条执行操作
(三)、计算机语言
机器语言:二进制代码,直接控制硬件,执行效率高
汇编语言:用助记符表示机器指令,需通过汇编器翻译为机器语言
高级语言:
(四)、C语言特点
简洁高效,支持底层硬件操作(可直接访问内存地址、操作寄存器);
可移植性强,符合标准的C程序可在不同平台间轻松移植
适合结构化编程,代码模块化程度高、易维护、易调试
生成代码质量高,执行速度快(接近汇编语言)
二、C语言程序的开发过程
(一)、开发的三个步骤
①编辑:程序员编写源程序(.c文件)
②编译:编译器将源代码转换成可执行的二进制文件
③运行:操作系统加载并执行可执行程序(二进制指令文件) 
(二)、C语言程序的编译过程
编译实际上分为四个过程:
① 预处理:处理宏定义(#define)、头文件(#include)、注释(将注释删掉)等,将头文件的内容直接拷贝到当前文件。
预处理是由 预处理器 完成的
② 编译:对预处理后的代码进行语法分析,语义检查,生成汇编语言代码。
编译需要用到 编译器
③ 汇编:将汇编代码转换为二进制代码,生成目标文件
汇编需要用到 汇编器
④ 链接:将目标文件与系统库文件、其他目标文件合并、生成可执行文件。(就是将自己的东西和别人的东西结合起来)
链接需要用到 连接器

三、C语言程序的基本结构
一个简单的C语言程序
功能:在工作台输出hello word
#include <stdio.h> //引入输入输出标准库
//主函数有且仅有一个,作为程序的执行入口,这个函数会自动执行
int main()
{
//向控制台输出 hello world! 需要引入 stdio.h 头文件 \\n为换行符
printf("hello world!\\n");
return 0;
}
结构分析:
-
注释:用于解释代码逻辑,仅给程序员阅读,预处理阶段会被删掉
-
预处理指令:以#开头,用于包含头文件、宏定义等(如:#include <stdio.h>,#define PI 3.14)
-
主函数(main函数):程序的唯一入口,由操作系统通过程序启动机制自动调用,不能被用户自定义函数调用
-
函数组成:
- 函数头:说明函数的返回值类型、函数名和形参列表(若无形参则括号内留空或写void,举例:main() ,main(void)
- 函数体:用{}括起来,包含变量声明和语句执行的部分(语句已;结尾)

-
函数调用语句:调用已定义函数(如:printf()标准库中的输出函数

四、C语言编程的规范要求
C语言编程需要遵循一下规范,提升代码可读性和维护性:
- 缩进格式:推荐缩进4个字符,统一代码层级;
- 足够注释:对于关键代码(如:函数功能、复杂逻辑、变量含义)添加注释;
- 合适空行:预处理指令与函数、函数与函数之间、全局变量与函数之间添加空格,区分代码模块;
- {}对齐:C/C++中{和}各占一行,避免与Java风格混淆;
不推荐(Java风格)
int fun(){
...
}
推荐(C/C++风格)
int fun()
{
if (..)
{
for (;;)
{
}
}
if (..)
{
for (;;)
{
}
}
}
-
单句单行:不将多条语句写在同一行(for(;;)除外,因其语法要求连续分号);
int main()
{
//不推荐的写法
printf("hell0\\n");printf("word\\n");
int a = 10 ; int b = 20;//推荐写法
for (;;)
{
...
}int a = 20;
int b = 30;printf("hello\\n");
} -
标识符命名:函数名、变量名等都叫标识符,命名要见名之意,使用英文单词或短语,避免无意义字母(如:a,b)
int main()
{
//不推荐的写法
int a = 10;
int b = 11;
int c = 12;//推荐写法
int age = 10;
int height = 188;
int weight = 190;
}
网硕互联帮助中心



评论前必须登录!
注册