
项目概述
本项目展示了核心概念和基本编程技巧,包括变量声明、常量定义、输入输出、条件语句、循环结构等基础内容,帮助C语言初学者快速掌握基础语法。
文件说明
- 文件名 :
basic.c - 类型: C语言源文件
- 功能: 展示C语言基础语法和编程结构
- 依赖: 标准C库(stdio.h)
核心概念详解
1. 头文件包含
头文件包含是C语言程序的必要部分,用于引入外部函数库。
c
#include <stdio.h>
说明:
#include是预处理指令<stdio.h>是标准输入输出库的头文件- 提供了
printf()、scanf()等I/O函数
2. 主函数
主函数是C程序的入口点,所有C程序都必须包含一个主函数。
c
int main() {
// 程序代码
return 0;
}
说明:
int表示主函数返回整数类型main()是主函数名称return 0;表示程序正常结束
3. 变量与常量
变量用于存储可变数据,常量用于存储不可修改的数据。basic.c 中展示了不同类型的变量和常量声明:
c
// 变量声明与初始化 - basic.c第6-8行
int age = 25;
float height = 1.75;
char initial = 'A';
// 常量定义 - basic.c第11行
const int MAX_AGE = 100;
说明:
- 变量需要先声明类型,然后才能使用
- 可以在声明时直接初始化变量的值
const关键字用于定义常量,一旦定义后其值不能修改- C语言的基本数据类型包括:
int: 整型,用于存储整数float: 浮点型(单精度),用于存储小数char: 字符型,用于存储单个字符
补充示例:
c
// 其他变量类型示例
short smallNumber = 100;
long bigNumber = 1000000;
double preciseNumber = 3.1415926535;
_Bool isTrue = 1; // 布尔型(C99及以上)
// 无初始化的变量声明
int uninitializedVar;
float anotherVar;
4. 输出操作
basic.c 中使用 printf() 函数向控制台输出各种信息:
c
// 输出示例 - basic.c第14-16行
printf("年龄: %d\n", age);
printf("身高: %.2f\n", height);
printf("首字母: %c\n", initial);
说明:
printf()是C语言标准库中的格式化输出函数- 使用格式化说明符来指定不同类型数据的输出格式:
%d: 用于输出整型数据%.2f: 用于输出保留两位小数的浮点型数据%c: 用于输出字符型数据\n: 是转义字符,表示换行
- 格式化说明符的数量必须与后面参数的数量和类型匹配
5. 输入操作
使用 scanf() 函数从控制台读取输入。(basic.c中未包含,补充示例)
c
// 输入示例
int userAge;
printf("请输入您的年龄: ");
scanf("%d", &userAge);
printf("您输入的年龄是: %d\n", userAge);
说明:
scanf()是格式化输入函数- 需要提供变量的地址(使用
&操作符) - 与
printf()使用相同的格式化说明符
6. 条件语句
条件语句用于根据条件执行不同的代码块。basic.c 中使用了if-else条件语句来判断年龄:
c
// 条件语句 - basic.c第19-23行
if (age >= 18) {
printf("成年人\n");
} else {
printf("未成年人\n");
}
说明:
if后面跟条件表达式,用于判断条件是否成立- 条件为真时执行if块中的代码
- 条件为假时执行else块中的代码
- 条件表达式的结果为布尔值(0为假,非0为真)
补充示例:
c
// 多重条件判断
int score = 85;
if (score >= 90) {
printf("优秀\n");
} else if (score >= 80) {
printf("良好\n");
} else if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
// 嵌套条件语句
int number = 10;
if (number > 0) {
if (number % 2 == 0) {
printf("正偶数\n");
} else {
printf("正奇数\n");
}
} else if (number < 0) {
printf("负数\n");
} else {
printf("零\n");
}
7. 循环语句
循环语句用于重复执行一段代码。
7.1 for循环
basic.c 中使用for循环输出0到5的数字:
c
// 循环语句 - for循环 - basic.c第26-30行
printf("0到5的数字: ");
for (int i = 0; i <= 5; i++) {
printf("%d ", i);
}
printf("\n");
说明:
- for循环适合已知循环次数的情况
- 包含三个部分:
- 初始化:
int i = 0,设置循环变量的初始值 - 条件:
i <= 5,判断循环是否继续 - 增量:
i++,更新循环变量的值
- 初始化:
- 语法:
for (初始化; 条件; 增量) { 循环体 }
7.2 while循环
basic.c 中使用while循环输出0到3的数字:
c
// 循环语句 - while循环 - basic.c第33-39行
int count = 0;
printf("0到3的数字: ");
while (count <= 3) {
printf("%d ", count);
count++;
}
printf("\n");
说明:
- while循环适合未知循环次数的情况
- 先判断条件,条件为真时执行循环体
- 需要在循环体内更新循环变量,否则会导致无限循环
- 语法:
while (条件) { 循环体 }
7.3 do-while循环(basic.c中未包含,补充示例)
do-while循环与while循环类似,但它会先执行一次循环体,然后再判断条件:
c
// do-while循环示例
int num = 1;
do {
printf("%d ", num);
num++;
} while (num <= 4);
printf("\n");
说明:
- do-while循环至少执行一次循环体,即使条件一开始就不满足
- 先执行循环体,再判断条件是否成立
- 条件成立时继续执行循环,否则退出循环
- 语法:
do { 循环体 } while (条件);
补充示例:
c
// 使用do-while循环实现的菜单选择
do {
printf("\n菜单:\n");
printf("1. 选项1\n");
printf("2. 选项2\n");
printf("3. 退出\n");
printf("请选择:");
int choice;
scanf("%d", &choice);
switch(choice) {
case 1:
printf("您选择了选项1\n");
break;
case 2:
printf("您选择了选项2\n");
break;
case 3:
printf("感谢使用,再见!\n");
return 0;
default:
printf("无效的选择,请重新输入\n");
}
} while (1); // 无限循环,直到用户选择退出
basic.c完整源代码
以下是 basic.c 的完整源代码:
c
#include <stdio.h>
// 主函数
int main() {
// 变量声明与初始化
int age = 25;
float height = 1.75;
char initial = 'A';
// 常量定义
const int MAX_AGE = 100;
// 输出示例
printf("年龄: %d\n", age);
printf("身高: %.2f\n", height);
printf("首字母: %c\n", initial);
// 条件语句
if (age >= 18) {
printf("成年人\n");
} else {
printf("未成年人\n");
}
// 循环语句 - for循环
printf("0到5的数字: ");
for (int i = 0; i <= 5; i++) {
printf("%d ", i);
}
printf("\n");
// 循环语句 - while循环
int count = 0;
printf("0到3的数字: ");
while (count <= 3) {
printf("%d ", count);
count++;
}
printf("\n");
return 0;
}
编译与运行
Windows系统
-
确保已安装C编译器(如MinGW或Visual Studio)
-
打开命令提示符
-
导航到文件所在目录
-
编译代码:
bashgcc basic.c -o basic -fexec-charset=gbk -
运行程序:
bash.\basic.exe
Linux/macOS系统
-
确保已安装GCC编译器
-
打开终端
-
导航到文件所在目录
-
编译代码:
bashgcc basic.c -o basic -
运行程序:
bash./basic
程序输出
运行程序后,您将看到以下输出:
年龄: 25
身高: 1.75
首字母: A
成年人
0到5的数字: 0 1 2 3 4 5
0到3的数字: 0 1 2 3
扩展学习
1. 数据类型扩展
除了示例中展示的基本数据类型,C语言还支持以下数据类型:
c
// 其他常用数据类型
short s = 1000; // 短整型
long l = 1000000; // 长整型
double d = 3.14159265; // 双精度浮点型
_Bool b = 1; // 布尔型(C99及以上)
2. 运算符
C语言支持多种运算符:
c
// 算术运算符
int a = 10, b = 3;
printf("a + b = %d\n", a + b); // 加法
printf("a - b = %d\n", a - b); // 减法
printf("a * b = %d\n", a * b); // 乘法
printf("a / b = %d\n", a / b); // 除法(整数除法)
printf("a %% b = %d\n", a % b); // 取余
// 关系运算符
printf("a > b: %d\n", a > b); // 大于
printf("a == b: %d\n", a == b); // 等于
printf("a != b: %d\n", a != b); // 不等于
3. 数组
数组用于存储相同类型的多个元素:
c
// 数组示例
int numbers[5] = {1, 2, 3, 4, 5};
printf("数组元素: ");
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
学习资源
注:本示例使用C99标准,部分特性(如for循环中的变量声明)在旧版本C标准中可能不支持。