第1章 导言

1. C程序的基本结构

(1) 最简单的C程序:Hello World

#include <stdio.h> // 标准输入输出头文件

int main() { // 主函数,程序入口
printf("Hello, World!\n"); // 输出字符串
return 0; // 返回状态码(0表示成功)
}
  • #include <stdio.h>:包含标准库的头文件(如 printf 函数)。
  • main():程序执行的入口函数,必须返回 int 类型。
  • printf:格式化输出函数,\n 表示换行。
  • return 0:表示程序正常退出(非0通常表示错误)。

(2) 程序编译与运行

  • 使用编译器(如 gcc)将源代码转换为可执行文件:
gcc hello.c -o hello # 编译
./hello # 运行

2. 变量与算术运算

(1) 变量声明与赋值

int a = 10; // 整型变量
float b = 3.14; // 浮点变量
char c = 'A'; // 字符变量
  • 基本数据类型
  • int:整数(如 -1, 0, 42)。
  • float / double:浮点数(如 3.14)。
  • char:单个字符(如 'A')。

(2) 算术表达式

int sum = a + b * 2; // 运算符优先级:先乘后加
  • 运算符+, -, *, /, %(取模)。
  • 类型转换:混合类型运算时自动转换(如 int + floatfloat)。

3. 控制流(分支与循环)

(1) 条件语句(if-else)

if (a > 0) {
printf("Positive\n");
} else if (a == 0) {
printf("Zero\n");
} else {
printf("Negative\n");
}

(2) 循环语句

  • while 循环
while (a < 10) {
printf("%d\n", a);
a++;
}
  • for 循环
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}

4. 函数

(1) 自定义函数

// 函数声明:返回类型 + 函数名 + 参数列表
int max(int x, int y) {
return (x > y) ? x : y; // 返回较大值
}

// 调用函数
int result = max(3, 5); // result = 5
  • 函数特点
  • 必须声明返回类型(如 intvoid)。
  • 参数按值传递(修改形参不影响实参)。

5. 数组与字符数组(字符串)

(1) 数组

int arr[3] = {1, 2, 3}; // 声明长度为3的数组
printf("%d\n", arr[0]); // 访问第一个元素(下标从0开始)

(2) 字符数组(字符串)

char s[] = "Hello"; // 字符数组(自动以 '\0' 结尾)
printf("%s\n", s); // 输出字符串
  • 字符串特点
  • '\0'(空字符)结尾。
  • 常用库函数:strlen, strcpy, strcat(需 #include <string.h>)。

6. 输入与输出

(1) 格式化输出(printf

int age = 25;
printf("Age: %d, Pi: %.2f\n", age, 3.14159);
// 输出:Age: 25, Pi: 3.14
  • 格式说明符
  • %d:整数。
  • %f:浮点数。
  • %c:字符。
  • %s:字符串。

(2) 输入(scanf

int num;
scanf("%d", &num); // 从键盘读取整数(注意 & 取地址符)

7. 符号常量(#define

#define PI 3.14159 // 定义常量(预处理阶段替换)
double area = PI * radius * radius;

8. 关键概念总结

主题 核心内容
程序结构 main() 函数、头文件、语句以 ; 结尾
变量与类型 int, float, char,变量声明与赋值
运算符 算术、关系(>, ==)、逻辑(&&, `
控制流 if-else, while, for
函数 定义、调用、参数传递(值传递)
数组与字符串 数组下标从0开始,字符串以 '\0' 结尾
输入/输出 printfscanf 的格式化使用
预处理指令 #include, #define

9. 第一章的核心目标

  • 快速上手:通过简单示例理解C程序的基本结构。
  • 培养直觉:熟悉变量、运算符、控制流等基础语法。
  • 实践导向:强调编译、运行和调试的实际操作。

:本章是入门引导,后续章节会深入讲解指针、结构体、内存管理等高级主题。

posted @ 2025-05-05 16:52  MachineGaming  阅读(6)  评论(0)    收藏  举报