1. 习题一:基础语法
题目:编写一个C语言程序,实现计算两个整数相加的功能。
解析:
#include <stdio.h>
int main() {
int a, b, sum;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
sum = a + b;
printf("两个整数相加的结果是:%d\n", sum);
return 0;
}
解题思路:
- 包含标准输入输出头文件
stdio.h。 - 定义三个整型变量
a、b和sum。 - 使用
printf函数提示用户输入两个整数。 - 使用
scanf函数读取用户输入的两个整数。 - 计算两个整数的和,并存储在变量
sum中。 - 使用
printf函数输出两个整数相加的结果。
2. 习题二:循环结构
题目:编写一个C语言程序,实现计算1到100之间所有整数的和。
解析:
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("1到100之间所有整数的和是:%d\n", sum);
return 0;
}
解题思路:
- 包含标准输入输出头文件
stdio.h。 - 定义一个整型变量
sum,用于存储累加的结果,初始值为0。 - 使用
for循环,从1遍历到100。 - 在循环体内,将当前遍历到的整数
i累加到变量sum中。 - 循环结束后,使用
printf函数输出1到100之间所有整数的和。
3. 习题三:数组
题目:编写一个C语言程序,实现将一个整数数组中的元素逆序输出。
解析:
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
for (int i = length - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
解题思路:
- 包含标准输入输出头文件
stdio.h。 - 定义一个整型数组
arr,并初始化为{1, 2, 3, 4, 5}。 - 计算数组
arr的长度,存储在变量length中。 - 使用
for循环,从数组的最后一个元素开始遍历到第一个元素。 - 在循环体内,使用
printf函数输出当前遍历到的元素。 - 循环结束后,输出一个换行符。
4. 习题四:函数
题目:编写一个C语言程序,实现计算两个整数最大公约数的函数,并在主函数中调用该函数。
解析:
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int a, b, result;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
result = gcd(a, b);
printf("两个整数的最大公约数是:%d\n", result);
return 0;
}
解题思路:
- 包含标准输入输出头文件
stdio.h。 - 定义一个名为
gcd的函数,用于计算两个整数的最大公约数。 - 在
gcd函数中,使用递归调用自身,直到b为0,此时返回a。 - 在主函数中,定义两个整型变量
a和b,以及一个整型变量result。 - 使用
printf函数提示用户输入两个整数。 - 使用
scanf函数读取用户输入的两个整数。 - 调用
gcd函数计算两个整数的最大公约数,并将结果存储在变量result中。 - 使用
printf函数输出两个整数的最大公约数。
