掌握C语言,从这些经典设计实例开始入门

日期:

最佳答案

C言语作为一种历史长久且利用广泛的编程言语,是很多现代编程言语的基石。对初学者来说,经由过程经典的计划实例进修C言语,不只可能加深对基本不雅点的懂得,还能进步编程技能。以下是一些合适初学者的经典C言语计划实例:

1. 打算器顺序

目标:进修跟练习基本的C语言语法跟输入输出操纵。

代码示例

#include <stdio.h>

int main() {
    float num1, num2;
    char operator;

    printf("Enter an operator (+, -, *, /): ");
    scanf("%c", &operator);
    printf("Enter two operands: ");
    scanf("%f %f", &num1, &num2);

    switch(operator) {
        case '+':
            printf("%.1f + %.1f = %.1f", num1, num2, num1 + num2);
            break;
        case '-':
            printf("%.1f - %.1f = %.1f", num1, num2, num1 - num2);
            break;
        case '*':
            printf("%.1f * %.1f = %.1f", num1, num2, num1 * num2);
            break;
        case '/':
            if(num2 != 0.0)
                printf("%.1f / %.1f = %.1f", num1, num2, num1 / num2);
            else
                printf("Error! Division by zero.");
            break;
        default:
            printf("Error! Invalid operator.");
    }

    return 0;
}

2. 字符串处理顺序

目标:进修字符串操纵,如复制、连接跟查找。

代码示例

#include <stdio.h>
#include <string.h>

int main() {
    char source[100], destination[100];

    printf("Enter a string: ");
    fgets(source, sizeof(source), stdin);

    strcpy(destination, source); // 复制字符串
    printf("Copied string: %s", destination);

    strcat(destination, " appended"); // 连接字符串
    printf("Concatenated string: %s", destination);

    char search[20] = "appended";
    if(strstr(destination, search) != NULL)
        printf("The string '%s' was found in the destination string.\n", search);
    else
        printf("The string '%s' was not found in the destination string.\n", search);

    return 0;
}

3. 阶乘打算

目标:练习轮回跟递归的利用,懂得递归函数的不雅点。

代码示例

#include <stdio.h>

// 利用递归函数打算阶乘
long long factorial(int n) {
    if (n <= 1)
        return 1;
    else
        return n * factorial(n - 1);
}

int main() {
    int num;
    printf("Enter a positive integer: ");
    scanf("%d", &num);

    printf("Factorial of %d = %lld\n", num, factorial(num));

    return 0;
}

4. 排序算法

目标:懂得并实现基本的排序算法,如冒泡排序。

代码示例

#include <stdio.h>

void bubbleSort(int array[], int size) {
    int i, j, temp;
    for (i = 0; i < size-1; i++)      
        for (j = 0; j < size-i-1; j++)
            if (array[j] > array[j+1]) {
                temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
}

int main() {
    int numbers[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(numbers)/sizeof(numbers[0]);
    bubbleSort(numbers, n);

    printf("Sorted array: \n");
    for (int i=0; i < n; i++)
        printf("%d ", numbers[i]);
    printf("\n");

    return 0;
}

这些实例可能帮助初学者逐步控制C言语的基本知识,并经由过程现实进步编程技能。跟着技能的晋升,可能实验更复杂的项目跟算法,进一步深刻懂得C言语的富强功能。