程序设计100行代码大全:精选C语言实例与解析

lee007 编程技术

程序设计的学习过程中,理解和实践短小精悍的代码是提高编程能力的有效途径。本文精选了一些C语言的100行代码实例,覆盖了基础语法、算法实现以及常见问题解决方案,适合初学者和有一定基础的程序员参考和学习。

image.png

1. 基础语法与控制结构

Hello World程序

c#include <stdio.h>int main() {
    printf("Hello, World!\n");
    return 0;}

这是每个程序员学习任何编程语言的第一个程序,它简单输出“Hello, World!”到控制台。

计算并输出1到100的和

c#include <stdio.h>int main() {
    int sum = 0, i;
    for(i = 1; i <= 100; i++) {
        sum += i;
    }
    printf("Sum = %d\n", sum);
    return 0;}

这个程序演示了如何使用for循环计算1到100的和。

2. 数组与循环

打印杨辉三角形

c#include <stdio.h>int main() {
    int i, j, arr[10][10] = {0};
    for(i = 0; i < 10; i++) {
        arr[i][0] = arr[i][i] = 1;
        for(j = 1; j < i; j++) {
            arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
        }
    }
    for(i = 0; i < 10; i++) {
        for(j = 0; j <= i; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;}

这个程序输出一个10行的杨辉三角形。

3. 函数与递归

递归计算阶乘

c#include <stdio.h>int fact(int n) {
    if(n == 0)
        return 1;
    else
        return n * fact(n - 1);}int main() {
    int i;
    for(i = 0; i < 10; i++)
        printf("%d! = %d\n", i, fact(i));
    return 0;}

这个程序使用递归函数计算并输出0到9的阶乘。

4. 指针与动态内存分配

动态分配数组并填充

c#include <stdio.h>#include <stdlib.h>int main() {
    int *arr, i, n = 10;
    arr = (int*)malloc(n * sizeof(int));
    for(i = 0; i < n; i++) {
        arr[i] = i * i;
    }
    for(i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    free(arr);
    return 0;}

这个程序演示了如何动态分配一个整数数组,并用其平方填充。

5. 结构体与文件操作

结构体数组的创建和文件写入

c#include <stdio.h>struct Student {
    int id;
    char name[50];};int main() {
    struct Student students[3] = {{1, "Alice"}, {2, "Bob"}, {3, "Charlie"}};
    FILE *fp = fopen("students.txt", "w");
    for(int i = 0; i < 3; i++) {
        fprintf(fp, "ID: %d, Name: %s\n", students[i].id, students[i].name);
    }
    fclose(fp);
    return 0;}

这个程序创建了一个学生结构体数组,并将其写入到文件中。

以上只是程序设计中100行代码的一部分示例,它们涵盖了C语言的多个基础和高级特性。通过学习和实践这些代码,可以加深对C语言的理解,并提高解决实际问题的能力。希望这些示例能够帮助你在程序设计的道路上更进一步。


0 5