C 语言语法
C语言是一种通用的、过程式的编程语言,广泛应用于系统编程、嵌入式开发等领域。掌握C语言的基础语法是学习编程的第一步。本文将逐步讲解C语言的核心语法,并通过代码示例和实际案例帮助你更好地理解。
1. 变量与数据类型
在C语言中,变量用于存储数据。每个变量都有一个特定的数据类型,决定了变量可以存储的数据种类和大小。
1.1 基本数据类型
C语言中的基本数据类型包括:
int
:整数类型,通常占用4个字节。float
:单精度浮点数,通常占用4个字节。double
:双精度浮点数,通常占用8个字节。char
:字符类型,通常占用1个字节。
c
#include <stdio.h>
int main() {
int age = 25;
float height = 1.75;
double weight = 68.5;
char initial = 'J';
printf("Age: %d\n", age);
printf("Height: %.2f\n", height);
printf("Weight: %.2f\n", weight);
printf("Initial: %c\n", initial);
return 0;
}
输出:
Age: 25
Height: 1.75
Weight: 68.50
Initial: J
1.2 变量声明与初始化
在C语言中,变量需要先声明后使用。声明变量时,可以同时进行初始化。
c
int count = 10; // 声明并初始化一个整数变量
float pi = 3.14; // 声明并初始化一个浮点数变量
备注
变量名必须以字母或下划线开头,不能以数字开头。变量名区分大小写。
2. 运算符
C语言提供了多种运算符,用于执行算术、比较、逻辑等操作。
2.1 算术运算符
+
:加法-
:减法*
:乘法/
:除法%
:取模(求余数)
c
int a = 10;
int b = 3;
int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1
2.2 比较运算符
==
:等于!=
:不等于>
:大于<
:小于>=
:大于等于<=
:小于等于
c
int x = 5;
int y = 10;
if (x < y) {
printf("x is less than y\n");
} else {
printf("x is not less than y\n");
}
输出:
x is less than y
2.3 逻辑运算符
&&
:逻辑与||
:逻辑或!
:逻辑非
c
int age = 20;
int hasLicense = 1;
if (age >= 18 && hasLicense) {
printf("You can drive.\n");
} else {
printf("You cannot drive.\n");
}
输出:
You can drive.
3. 控制结构
控制结构用于控制程序的执行流程。C语言中常见的控制结构包括条件语句和循环语句。
3.1 条件语句
if 语句
c
int score = 85;
if (score >= 90) {
printf("Grade: A\n");
} else if (score >= 80) {
printf("Grade: B\n");
} else {
printf("Grade: C\n");
}
输出:
Grade: B
switch 语句
c
int day = 3;
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
default:
printf("Invalid day\n");
}
输出:
Wednesday
3.2 循环语句
for 循环
c
for (int i = 0; i < 5; i++) {
printf("i = %d\n", i);
}
输出:
i = 0
i = 1
i = 2
i = 3
i = 4
while 循环
c
int i = 0;
while (i < 5) {
printf("i = %d\n", i);
i++;
}
输出:
i = 0
i = 1
i = 2
i = 3
i = 4
do-while 循环
c
int i = 0;
do {
printf("i = %d\n", i);
i++;
} while (i < 5);
输出:
i = 0
i = 1
i = 2
i = 3
i = 4
4. 实际案例
4.1 计算阶乘
阶乘是一个常见的数学问题,可以用循环结构来实现。
c
#include <stdio.h>
int main() {
int n = 5;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
printf("Factorial of %d is %d\n", n, factorial);
return 0;
}
输出:
Factorial of 5 is 120
4.2 判断素数
素数是指只能被1和它本身整除的数。我们可以通过循环和条件语句来判断一个数是否为素数。
c
#include <stdio.h>
int main() {
int num = 29;
int isPrime = 1;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
isPrime = 0;
break;
}
}
if (isPrime) {
printf("%d is a prime number.\n", num);
} else {
printf("%d is not a prime number.\n", num);
}
return 0;
}
输出:
29 is a prime number.
5. 总结
本文介绍了C语言的基础语法,包括变量与数据类型、运算符、控制结构等。通过这些基础知识,你可以开始编写简单的C语言程序。接下来,你可以尝试编写更多的程序来巩固所学知识。
提示
建议你尝试编写一些小程序,例如计算两个数的和、判断一个数是否为偶数等,以加深对C语言语法的理解。
6. 附加资源与练习
- 练习1:编写一个程序,计算并输出1到100之间所有整数的和。
- 练习2:编写一个程序,判断用户输入的数是否为素数。
- 练习3:编写一个程序,使用
switch
语句实现一个简单的计算器,支持加、减、乘、除操作。
通过不断练习,你将逐步掌握C语言的语法,并能够编写更复杂的程序。祝你学习顺利!