每个初学者都必须知道的 C 语言编程示例 – 下("初学者必学的C语言编程实例(下篇)")
原创
一、数组的操作
数组是C语言中一种非常常用的数据结构。以下是一些涉及数组操作的实例。
1.1 数组元素的输入和输出
以下是一个简洁的示例,演示怎样输入和输出一个数组的元素。
#include
int main() {
int arr[5];
int i;
// 输入数组元素
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个元素的值: ", i + 1);
scanf("%d", &arr[i]);
}
// 输出数组元素
printf("输入的数组元素为: ");
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf(" ");
return 0;
}
1.2 数组排序
冒泡排序是排序算法中最简洁的一种,以下是一个使用冒泡排序算法对数组进行排序的示例。
#include
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原始数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf(" ");
bubbleSort(arr, n);
printf("排序后的数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf(" ");
return 0;
}
二、字符串操作
字符串是字符数组的一种特殊形式,以下是一些涉及字符串操作的实例。
2.1 字符串的输入和输出
以下是一个简洁的示例,演示怎样输入和输出一个字符串。
#include
int main() {
char str[100];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 使用fgets读取字符串
printf("输入的字符串为: %s ", str);
return 0;
}
2.2 字符串长度计算
以下是一个计算字符串长度的示例。
#include
#include
// 包含strlen函数 int main() {
char str[] = "Hello, World!";
int len = strlen(str); // 计算字符串长度
printf("字符串 '%s' 的长度为: %d ", str, len);
return 0;
}
三、函数的使用
函数是C语言中实现代码复用的基本单元,以下是一些涉及函数使用的实例。
3.1 函数定义和调用
以下是一个简洁的示例,演示怎样定义和调用一个函数。
#include
// 函数声明
int add(int a, int b);
int main() {
int result = add(5, 10); // 调用函数
printf("5 + 10 = %d ", result);
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
3.2 递归函数
以下是一个使用递归计算阶乘的示例。
#include
// 函数声明
unsigned long long factorial(unsigned int n);
int main() {
unsigned int n;
printf("请输入一个正整数: ");
scanf("%u", &n);
printf("%u 的阶乘为: %llu ", n, factorial(n));
return 0;
}
// 函数定义
unsigned long long factorial(unsigned int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1); // 递归调用
}
}
四、结构体和指针
结构体和指针是C语言中高级特性,以下是一些涉及结构体和指针的实例。
4.1 结构体定义和使用
以下是一个定义和使用结构体的示例。
#include
// 定义一个结构体
struct Student {
char name[50];
int age;
float score;
};
int main() {
struct Student stu1; // 创建结构体变量
// 输入结构体成员的值
printf("请输入学生的姓名: ");
scanf("%s", stu1.name);
printf("请输入学生的年龄: ");
scanf("%d", &stu1.age);
printf("请输入学生的成绩: ");
scanf("%f", &stu1.score);
// 输出结构体成员的值
printf("学生的姓名: %s ", stu1.name);
printf("学生的年龄: %d ", stu1.age);
printf("学生的成绩: %.2f ", stu1.score);
return 0;
}
4.2 指针的基本使用
以下是一个演示指针基本使用的示例。
#include
int main() {
int var = 5;
int *ptr; // 声明一个指针变量
ptr = &var; // 指针指向var的地址
printf("Value of var: %d ", var);
printf("Address stored in ptr: %p ", (void *)ptr);
printf("Value of *ptr: %d ", *ptr); // 通过指针访问var的值
return 0;
}
五、文件操作
文件操作是C语言中常见的一种I/O操作,以下是一些涉及文件操作的实例。
5.1 文件的打开和关闭
以下是一个简洁的示例,演示怎样打开和关闭一个文件。
#include
int main() {
FILE *file;
file = fopen("example.txt", "r"); // 打开文件
if (file == NULL) {
printf("无法打开文件。 ");
return 1;
}
printf("文件打开成就。 ");
fclose(file); // 关闭文件
return 0;
}
5.2 文件的读写操作
以下是一个示例,演示怎样读写文件内容。
#include
int main() {
FILE *file;
char buffer[100];
// 打开文件进行读写
file = fopen("example.txt", "r+");
if (file == NULL) {
printf("无法打开文件。 ");
return 1;
}
// 读取文件内容
while (fgets(buffer, sizeof(buffer), file)) {
printf("%s", buffer);
}
// 移动文件指针到文件开头
rewind(file);
// 写入内容到文件
fprintf(file, "这是写入文件的内容。 ");
// 关闭文件
fclose(file);
return 0;
}
以上这些实例都是初学者在C语言编程中必须掌握的基础知识。通过这些实例的学习,可以帮助初学者更好地懂得C语言的特性和用法,为以后更深入的学习打下坚实的基础。