引言

C语言作为一种广泛使用的编程语言,其在计算机科学教育中占据着重要地位。学习C语言不仅能够帮助我们理解计算机的工作原理,还能提升编程能力。本书第二版的实验题旨在巩固读者对C语言基础知识的掌握。本文将详细解析部分实验题的答案,帮助读者轻松通关。

实验一:C语言基础语法

1.1 变量和常量的声明与初始化

实验题目:声明一个整型变量age并初始化为25。

解答

#include <stdio.h>

int main() {
    int age = 25;
    printf("Age: %d\n", age);
    return 0;
}

1.2 数据类型转换

实验题目:编写一个程序,输入一个浮点数,输出其整数部分。

解答

#include <stdio.h>

int main() {
    float input;
    int output;
    printf("Enter a floating-point number: ");
    scanf("%f", &input);
    output = (int)input;
    printf("Integer part: %d\n", output);
    return 0;
}

实验二:控制结构

2.1 if语句

实验题目:编写一个程序,判断一个整数是否为偶数。

解答

#include <stdio.h>

int main() {
    int number;
    printf("Enter an integer: ");
    scanf("%d", &number);
    if (number % 2 == 0) {
        printf("%d is an even number.\n", number);
    } else {
        printf("%d is an odd number.\n", number);
    }
    return 0;
}

2.2 循环结构

实验题目:编写一个程序,打印1到100之间所有偶数的和。

解答

#include <stdio.h>

int main() {
    int sum = 0;
    for (int i = 2; i <= 100; i += 2) {
        sum += i;
    }
    printf("Sum of even numbers from 1 to 100: %d\n", sum);
    return 0;
}

实验三:函数

3.1 编写一个函数计算两个整数的最大公约数

实验题目:编写一个函数gcd,用于计算两个整数的最大公约数。

解答

#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("Enter two integers: ");
    scanf("%d %d", &num1, &num2);
    printf("GCD of %d and %d is %d\n", num1, num2, gcd(num1, num2));
    return 0;
}

实验四:指针

4.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;
}

总结

通过以上实验题的解析,读者可以更加深入地理解C语言的基础知识和编程技巧。希望这些解析能够帮助读者在学习和实践中更好地掌握C语言。