1. 简单输入输出
1.1 问题
编写一个C语言程序,从标准输入读取一个整数,然后输出这个整数的平方。
1.2 解答
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
printf("该整数的平方是: %d\n", num * num);
return 0;
}
1.3 解释
在这个例子中,我们使用了printf函数来输出提示信息,使用scanf函数从标准输入读取一个整数。然后,我们通过简单的乘法计算得到整数的平方,并使用printf输出结果。
2. 控制结构
2.1 问题
编写一个C语言程序,根据用户输入的年龄判断是否成年。
2.2 解答
#include <stdio.h>
int main() {
int age;
printf("请输入你的年龄: ");
scanf("%d", &age);
if (age >= 18) {
printf("你已经成年了。\n");
} else {
printf("你还未成年。\n");
}
return 0;
}
2.3 解释
这里使用了if-else语句来根据年龄判断是否成年。如果年龄大于或等于18,则输出“你已经成年了”,否则输出“你还未成年”。
3. 循环结构
3.1 问题
编写一个C语言程序,计算从1到10的整数之和。
3.2 解答
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("从1到10的整数之和是: %d\n", sum);
return 0;
}
3.3 解释
在这个例子中,我们使用了for循环来遍历从1到10的整数,并将它们累加到变量sum中。循环结束后,输出累加的结果。
4. 函数
4.1 问题
编写一个C语言程序,定义一个函数来计算两个整数的最大公约数。
4.2 解答
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int num1, num2;
printf("请输入两个整数: ");
scanf("%d %d", &num1, &num2);
printf("最大公约数是: %d\n", gcd(num1, num2));
return 0;
}
4.3 解释
在这个例子中,我们定义了一个名为gcd的函数,它使用递归算法来计算两个整数的最大公约数。在main函数中,我们读取两个整数,然后调用gcd函数并输出结果。
5. 数组
5.1 问题
编写一个C语言程序,从标准输入读取10个整数,然后输出它们的平均值。
5.2 解答
#include <stdio.h>
int main() {
int numbers[10];
int sum = 0;
float average;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
sum += numbers[i];
}
average = (float)sum / 10;
printf("平均值是: %.2f\n", average);
return 0;
}
5.3 解释
在这个例子中,我们使用了一个数组numbers来存储10个整数。通过一个循环,我们读取每个整数并累加到sum变量中。计算平均值时,我们将sum转换为float类型以获得小数点后的值。
通过以上习题的练习,可以帮助你更好地掌握C语言编程的基础知识。不断练习,你会逐渐提高编程技能,解决更加复杂的编程难题。
