实例1:打印“Hello, World!”
学习任何编程语言的第一步通常都是打印出“Hello, World!”。这是一个简单的程序,可以帮助你熟悉C语言的语法和编译过程。
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
在这个例子中,#include <stdio.h> 是一个预处理命令,用于包含标准输入输出库,这样我们就可以使用 printf 函数来打印文本。main 函数是程序的入口点,而 return 0; 表示程序成功执行。
实例2:变量和赋值
变量是编程语言中用来存储数据的容器。在这个例子中,我们将创建一个变量来存储一个数字,并将其打印出来。
#include <stdio.h>
int main() {
int number = 10;
printf("The value of number is: %d\n", number);
return 0;
}
这里,我们定义了一个名为 number 的整型变量,并将其赋值为10。%d 是 printf 函数中的一个格式化占位符,用于打印整数。
实例3:条件语句
条件语句允许程序根据特定的条件执行不同的代码块。以下是一个简单的例子,根据一个数字是否为偶数来打印不同的消息。
#include <stdio.h>
int main() {
int number = 7;
if (number % 2 == 0) {
printf("%d is an even number.\n", number);
} else {
printf("%d is an odd number.\n", number);
}
return 0;
}
这里,我们使用 % 运算符来计算 number 除以2的余数。如果余数为0,则数字是偶数;否则,它是奇数。
实例4:循环结构
循环结构允许程序重复执行一段代码,直到满足特定条件。以下是一个使用 for 循环打印1到10的例子。
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
printf("%d\n", i);
}
return 0;
}
在这个例子中,for 循环初始化变量 i 为1,然后每次迭代都会检查 i 是否小于或等于10。如果是,它会打印 i 的值,并将 i 的值增加1。
实例5:函数
函数是代码块,可以重复使用,以提高代码的可重用性。以下是一个简单的函数,用于计算两个整数的和。
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
printf("The sum is: %d\n", result);
return 0;
}
在这个例子中,我们定义了一个名为 add 的函数,它接受两个整数参数并返回它们的和。然后在 main 函数中调用 add 函数,并将结果打印出来。
实例6:指针
指针是存储变量地址的变量。以下是一个使用指针来交换两个变量值的例子。
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10;
int y = 20;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
在这个例子中,swap 函数接受两个指向整数的指针作为参数,并交换它们指向的值。
实例7:结构体
结构体是一种复合数据类型,可以包含不同类型的数据项。以下是一个简单的结构体例子,用于表示一个学生的信息。
#include <stdio.h>
typedef struct {
char name[50];
int age;
float gpa;
} Student;
int main() {
Student student1;
strcpy(student1.name, "Alice");
student1.age = 20;
student1.gpa = 3.5;
printf("Student's name: %s\n", student1.name);
printf("Student's age: %d\n", student1.age);
printf("Student's GPA: %.2f\n", student1.gpa);
return 0;
}
在这个例子中,我们定义了一个名为 Student 的结构体,它包含三个字段:姓名、年龄和GPA。然后我们创建了一个 Student 类型的变量 student1,并初始化了它的字段。
实例8:文件操作
C语言提供了用于文件操作的函数,如打开、读取、写入和关闭文件。以下是一个简单的例子,用于创建并写入一个文本文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(file, "This is a test file.\n");
fclose(file);
return 0;
}
在这个例子中,我们使用 fopen 函数以写入模式打开一个名为 “example.txt” 的文件。如果文件打开成功,我们使用 fprintf 函数将文本写入文件,然后使用 fclose 函数关闭文件。
实例9:动态内存分配
动态内存分配允许程序在运行时分配内存。以下是一个使用 malloc 和 free 函数的例子。
#include <stdio.h>
#include <stdlib.h>
int main() {
int *numbers = (int *)malloc(5 * sizeof(int));
if (numbers == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
numbers[i] = i * 2;
}
for (int i = 0; i < 5; i++) {
printf("%d\n", numbers[i]);
}
free(numbers);
return 0;
}
在这个例子中,我们使用 malloc 函数动态分配了一个可以存储5个整数的数组。然后我们初始化数组并打印它的内容,最后使用 free 函数释放分配的内存。
实例10:使用库函数
C语言提供了大量的库函数,可以简化编程任务。以下是一个使用 sqrt 函数计算平方根的例子。
#include <stdio.h>
#include <math.h>
int main() {
double number = 16;
double square_root = sqrt(number);
printf("The square root of %f is %f\n", number, square_root);
return 0;
}
在这个例子中,我们使用 sqrt 函数从 <math.h> 库中计算16的平方根,并将其打印出来。
通过这些实例,你可以开始学习C语言编程的基础,并逐步提高你的技能。记住,编程是一个实践的过程,不断编写和测试代码是提高技能的关键。
