C程序语言是计算机编程的基础之一,它以其简洁、高效和灵活性著称。对于初学者来说,掌握C语言需要通过大量的实战练习。本文将精选一些C程序语言的实战习题,帮助读者从入门到精通。
一、基础知识习题
1. 数据类型与变量
题目:编写一个C程序,声明并初始化以下变量:
- 一个整型变量,存储一个学生的年龄。
- 一个浮点型变量,存储学生的平均成绩。
- 一个字符型变量,存储学生的姓名的首字母。
代码示例:
#include <stdio.h>
int main() {
int age = 20;
float average_score = 85.5;
char name_initial = 'Z';
printf("Age: %d\n", age);
printf("Average Score: %.2f\n", average_score);
printf("Name Initial: %c\n", name_initial);
return 0;
}
2. 运算符与表达式
题目:编写一个C程序,计算以下表达式的值,并打印结果:
(5 + 3) * 2 / 1 - 1 % 2
代码示例:
#include <stdio.h>
int main() {
int result = (5 + 3) * 2 / 1 - 1 % 2;
printf("Expression Result: %d\n", result);
return 0;
}
二、控制流习题
1. 条件语句
题目:编写一个C程序,根据用户输入的年龄判断是否成年。
代码示例:
#include <stdio.h>
int main() {
int age;
printf("Enter your age: ");
scanf("%d", &age);
if (age >= 18) {
printf("You are an adult.\n");
} else {
printf("You are not an adult.\n");
}
return 0;
}
2. 循环语句
题目:编写一个C程序,打印从1到10的所有整数。
代码示例:
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 10; i++) {
printf("%d\n", i);
}
return 0;
}
三、函数与数组习题
1. 函数
题目:编写一个C程序,定义一个函数,计算两个整数的和,并在主函数中调用它。
代码示例:
#include <stdio.h>
int sum(int a, int b) {
return a + b;
}
int main() {
int a = 5, b = 10, result;
result = sum(a, b);
printf("The sum is: %d\n", result);
return 0;
}
2. 数组
题目:编写一个C程序,创建一个整型数组,存储10个学生的成绩,并计算平均分。
代码示例:
#include <stdio.h>
int main() {
int scores[10];
int i, sum = 0;
float average;
// 输入学生成绩
for (i = 0; i < 10; i++) {
printf("Enter score for student %d: ", i + 1);
scanf("%d", &scores[i]);
sum += scores[i];
}
// 计算平均分
average = (float)sum / 10;
printf("Average score: %.2f\n", average);
return 0;
}
四、指针与结构体习题
1. 指针
题目:编写一个C程序,使用指针交换两个整数的值。
代码示例:
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, 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;
}
2. 结构体
题目:编写一个C程序,定义一个学生结构体,并创建一个学生数组,存储3个学生的信息。
代码示例:
#include <stdio.h>
typedef struct {
char name[50];
int age;
float score;
} Student;
int main() {
Student students[3] = {
{"Alice", 20, 85.5},
{"Bob", 22, 90.0},
{"Charlie", 21, 78.5}
};
int i;
for (i = 0; i < 3; i++) {
printf("Name: %s, Age: %d, Score: %.2f\n", students[i].name, students[i].age, students[i].score);
}
return 0;
}
五、文件操作习题
题目:编写一个C程序,创建一个文本文件,写入一些内容,然后读取并打印文件内容。
代码示例:
#include <stdio.h>
int main() {
FILE *file;
char filename[] = "example.txt";
char content[] = "Hello, World!";
// 创建文件并写入内容
file = fopen(filename, "w");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(file, "%s\n", content);
fclose(file);
// 打开文件并读取内容
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
char buffer[100];
while (fgets(buffer, sizeof(buffer), file)) {
printf("%s", buffer);
}
fclose(file);
return 0;
}
通过以上实战习题,相信读者对C程序语言的理解会更加深入。在编程过程中,不断实践和总结是提高编程技能的关键。祝大家在编程的道路上越走越远!