跳到主要内容

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语言的语法,并能够编写更复杂的程序。祝你学习顺利!