引言
C语言作为一门历史悠久且广泛使用的编程语言,一直是计算机科学和软件开发领域的基石。谭宏强的《C语言程序设计》是众多C语言入门教材中的一部经典之作。本书通过大量的习题来帮助读者巩固和理解C语言的知识点。本篇将汇总一些典型习题的解答,旨在帮助读者更好地学习和掌握C语言。
第一章 基本语法
习题1:打印Hello World
题目要求:编写一个C程序,打印“Hello World”到屏幕上。
解答:
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
习题2:变量声明与初始化
题目要求:声明并初始化一个整型变量num,并将其值打印到屏幕上。
解答:
#include <stdio.h>
int main() {
int num = 10;
printf("The value of num is: %d\n", num);
return 0;
}
第二章 数据类型
习题1:类型转换
题目要求:编写一个程序,将浮点数转换为整数,并打印结果。
解答:
#include <stdio.h>
int main() {
float fnum = 3.14f;
int inum = (int)fnum;
printf("The integer value is: %d\n", inum);
return 0;
}
习题2:字符操作
题目要求:编写一个程序,将用户输入的小写字母转换为大写字母,并打印出来。
解答:
#include <stdio.h>
int main() {
char ch;
printf("Enter a lowercase letter: ");
scanf("%c", &ch);
ch = ch - 'a' + 'A';
printf("Uppercase letter: %c\n", ch);
return 0;
}
第三章 控制结构
习题1:分支结构
题目要求:编写一个程序,根据用户输入的分数,打印“及格”或“不及格”。
解答:
#include <stdio.h>
int main() {
int score;
printf("Enter your score: ");
scanf("%d", &score);
if (score >= 60) {
printf("Pass\n");
} else {
printf("Fail\n");
}
return 0;
}
习题2:循环结构
题目要求:编写一个程序,计算1到100之间所有整数的和。
解答:
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("The sum of numbers from 1 to 100 is: %d\n", sum);
return 0;
}
第四章 函数
习题1:函数定义
题目要求:编写一个函数,计算两个整数的和,并在主函数中调用它。
解答:
#include <stdio.h>
// 函数声明
int add(int a, int b);
int main() {
int a = 10, b = 20, result;
result = add(a, b);
printf("The sum is: %d\n", result);
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
习题2:递归函数
题目要求:编写一个递归函数,计算阶乘。
解答:
#include <stdio.h>
// 函数声明
long long factorial(int n);
int main() {
int n = 5;
printf("Factorial of %d is: %lld\n", n, factorial(n));
return 0;
}
// 函数定义
long long factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
第五章 数组
习题1:数组初始化
题目要求:编写一个程序,初始化一个整型数组,并打印它的元素。
解答:
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < n; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
return 0;
}
习题2:二维数组
题目要求:编写一个程序,初始化一个3x3的二维数组,并打印它。
解答:
#include <stdio.h>
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int n = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
结语
以上是对《C语言程序设计》部分习题的解答汇总。通过这些习题,读者可以巩固和加深对C语言基本概念和知识点的理解。在学习和编程的过程中,不断地实践和思考是非常重要的。希望这份汇总能对读者有所帮助。
