【C语言编程实战】精选作业合集,助你高效提升技能

日期:

最佳答案

引言

C言语作为一种历史长久且利用广泛的编程言语,其富强的功能跟高效的机能使其在体系编程、嵌入式开辟等范畴盘踞重要地位。为了帮助读者深刻懂得C言语,控制实在战技能,本文精选了一系列C言语编程功课,涵盖基本语法、数据构造、算法等多个方面,旨在经由过程现实操纵晋升编程才能。

1. 基本语法与数据范例

1.1 变量与数据范例

任务描述:申明并初始化差别数据范例的变量,并展示其利用。

#include <stdio.h>

int main() {
    int a = 10;
    float b = 3.14;
    char c = 'A';
    printf("整型变量a的值为:%d\n", a);
    printf("浮点型变量b的值为:%f\n", b);
    printf("字符型变量c的值为:%c\n", c);
    return 0;
}

1.2 运算符

任务描述:利用运算符停止算术运算、逻辑运算跟位运算。

#include <stdio.h>

int main() {
    int a = 5, b = 3;
    printf("a + b = %d\n", a + b);
    printf("a - b = %d\n", a - b);
    printf("a * b = %d\n", a * b);
    printf("a / b = %d\n", a / b);
    printf("a % b = %d\n", a % b); // 位运算
    return 0;
}

2. 把持构造

2.1 前提语句

任务描述:利用if语句实现简单的前提断定。

#include <stdio.h>

int main() {
    int age = 18;
    if (age >= 18) {
        printf("你曾经成年了。\n");
    } else {
        printf("你还未成年。\n");
    }
    return 0;
}

2.2 轮回构造

任务描述:利用for轮回跟while轮回实现简单的轮回操纵。

#include <stdio.h>

int main() {
    int i;
    // for轮回
    for (i = 0; i < 5; i++) {
        printf("for轮回:%d\n", i);
    }
    // while轮回
    i = 0;
    while (i < 5) {
        printf("while轮回:%d\n", i);
        i++;
    }
    return 0;
}

3. 函数

3.1 函数定义与挪用

任务描述:定义一个函数,并在主函数中挪用它。

#include <stdio.h>

// 函数申明
void printMessage();

int main() {
    // 挪用函数
    printMessage();
    return 0;
}

// 函数定义
void printMessage() {
    printf("这是一个函数。\n");
}

4. 数组

4.1 一维数组

任务描述:申明并初始化一个一维数组,并遍历输出。

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, arr[i]);
    }
    return 0;
}

4.2 二维数组

任务描述:申明并初始化一个二维数组,并遍历输出。

#include <stdio.h>

int main() {
    int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("arr[%d][%d] = %d\n", i, j, arr[i][j]);
        }
    }
    return 0;
}

5. 指针

5.1 指针与数组

任务描述:利用指针拜访数组元素。

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *ptr = arr; // 指针指向数组首地点
    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d, *ptr = %d\n", i, arr[i], *ptr);
        ptr++; // 指针挪动到下一个元素
    }
    return 0;
}

5.2 指针与函数

任务描述:经由过程指针转达数组到函数,并修改数组元素。

#include <stdio.h>

void modifyArray(int *arr, int size) {
    for (int i = 0; i < size; i++) {
        arr[i] *= 2; // 将数组元素值翻倍
    }
}

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    modifyArray(arr, 5);
    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, arr[i]);
    }
    return 0;
}

6. 字符串

6.1 字符串操纵

任务描述:利用字符串函数实现字符串的拼接、查找跟比较。

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

int main() {
    char str1[100] = "Hello";
    char str2[100] = "World";
    char str3[100];
    strcpy(str3, str1); // 拷贝字符串
    strcat(str3, str2); // 拼接字符串
    printf("str3 = %s\n", str3);
    printf("str1跟str2的比较成果:%d\n", strcmp(str1, str2)); // 比较字符串
    return 0;
}

7. 构造体

7.1 构造体定义与利用

任务描述:定义一个构造体,并创建构造体变量停止操纵。

#include <stdio.h>

// 定义构造体
typedef struct {
    int id;
    char name[50];
} Student;

int main() {
    // 创建构造体变量
    Student stu1;
    stu1.id = 1;
    strcpy(stu1.name, "张三");
    printf("老师ID:%d, 姓名:%s\n", stu1.id, stu1.name);
    return 0;
}

8. 位操纵

8.1 位运算符

任务描述:利用位运算符实现位操纵。

#include <stdio.h>

int main() {
    int a = 5; // 二进制:101
    int b = 3; // 二进制:011
    printf("a & b = %d\n", a & b); // 与运算
    printf("a | b = %d\n", a | b); // 或运算
    printf("a ^ b = %d\n", a ^ b); // 异或运算
    printf("a << 1 = %d\n", a << 1); // 左移运算
    printf("a >> 1 = %d\n", a >> 1); // 右移运算
    return 0;
}

9. 预处理器

9.1 宏定义

任务描述:利用宏定义简化代码。

#include <stdio.h>

#define PI 3.14159

int main() {
    printf("PI的值为:%f\n", PI);
    return 0;
}

10. 静态内存分配

10.1 malloc跟free

任务描述:利用malloc跟free进举静态内存分配跟开释。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int *ptr = (int *)malloc(sizeof(int) * 5); // 分配内存
    if (ptr == NULL) {
        printf("内存分配掉败。\n");
        return 1;
    }
    for (int i = 0; i < 5; i++) {
        ptr[i] = i;
    }
    for (int i = 0; i < 5; i++) {
        printf("ptr[%d] = %d\n", i, ptr[i]);
    }
    free(ptr); // 开释内存
    return 0;
}

总结

本文经由过程精选功课合集,帮助读者单方面控制C言语编程技能。在现实编程过程中,一直练习跟总结经验是进步编程程度的关键。盼望读者经由过程这些功课,可能坚固基本知识,晋升实战才能。