C语言基础代码如何快速入门?

99ANYc3cd6
预计阅读时长 30 分钟
位置: 首页 C语言 正文

C 语言基础代码教程

第一个程序:Hello, World!

这是学习任何一门编程语言的经典入门程序,它让我们了解一个 C 程序的基本结构。

c语言编程基础语言代码
(图片来源网络,侵删)

代码:

#include <stdio.h> // 包含标准输入输出库,提供 printf 函数
int main() {
    // printf 函数用于在屏幕上打印文本
    // \n 是一个转义字符,表示换行
    printf("Hello, World!\n");
    // main 函数的返回值,0 表示程序正常结束
    return 0;
}

代码解析:

  • #include <stdio.h>:这是一个预处理指令,告诉编译器在编译前将 stdio.h 文件(标准输入输出头文件)的内容包含进来,这个文件中定义了 printf 函数。
  • int main():这是程序的主函数,C 程序的执行从 main 函数开始。int 表示这个函数会返回一个整数值。
  • 花括号用于定义一个代码块,这里是 main 函数的主体。
  • printf(...):这是一个库函数,用于格式化并输出文本到标准输出(通常是你的终端屏幕)。
  • return 0;:表示程序成功执行并退出,如果程序执行过程中出现错误,可以返回非零值。

变量与数据类型

变量是存储数据的容器,C 语言是强类型语言,使用变量前必须先声明其数据类型。

代码:

c语言编程基础语言代码
(图片来源网络,侵删)
#include <stdio.h>
int main() {
    // 1. 声明变量
    int age; // 声明一个整型变量
    float price; // 声明一个单精度浮点型变量(用于小数)
    double salary; // 声明一个双精度浮点型变量(精度更高)
    char grade; // 声明一个字符型变量
    // 2. 赋值
    age = 25;
    price = 19.99;
    salary = 75000.50;
    grade = 'A'; // 字符必须用单引号括起来
    // 3. 声明并初始化(同时进行)
    int studentCount = 30;
    // 4. 打印变量值
    printf("年龄: %d\n", age); // %d 是整数的占位符
    printf("价格: %.2f\n", price); // %f 是浮点数的占位符, .2 表示保留两位小数
    printf("薪水: %.2lf\n", salary); // %lf 用于 double 类型
    printf("成绩: %c\n", grade); // %c 是字符的占位符
    printf("学生人数: %d\n", studentCount);
    return 0;
}

常见数据类型:

  • int: 整数 (e.g., 10, -5, 0)
  • float: 单精度浮点数 (e.g., 3.14, -0.5)
  • double: 双精度浮点数 (e.g., 3.14159265359)
  • char: 单个字符 (e.g., 'a', 'Z', '7')
  • void: 表示“无类型”,通常用于函数返回值或参数。

运算符

运算符用于执行变量和值之间的运算。

代码:

#include <stdio.h>
int main() {
    int a = 10, b = 3;
    // 算术运算符
    printf("算术运算符:\n");
    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); // 取模 (求余数)
    printf("a++ = %d\n", a++); // 后自增 (先使用a,再a+1)
    printf("a 的值是: %d\n", a); // a 现在是 11
    printf("--b = %d\n", --b); // 前自减 (先b-1,再使用b)
    printf("b 的值是: %d\n", b); // b 现在是 2
    // 关系运算符 (返回 0 或 1,0 为假,1 为真)
    printf("\n关系运算符:\n");
    printf("a > b ? %d\n", a > b); // 1
    printf("a < b ? %d\n", a < b); // 0
    printf("a == b ? %d\n", a == b); // 0 (注意:判断相等用 ==)
    printf("a != b ? %d\n", a != b); // 1
    // 逻辑运算符
    printf("\n逻辑运算符:\n");
    int x = 1, y = 0;
    printf("x && y (与): %d\n", x && y); // 0 (1 && 0 = 0)
    printf("x || y (或): %d\n", x || y); // 1 (1 || 0 = 1)
    printf("!x (非): %d\n", !x); // 0 (!1 = 0)
    // 赋值运算符
    printf("\n赋值运算符:\n");
    a += 5; // 等价于 a = a + 5
    printf("a += 5 后, a = %d\n", a);
    b *= 2; // 等价于 b = b * 2
    printf("b *= 2 后, b = %d\n", b);
    return 0;
}

流程控制

A. 条件语句 (if-else)

c语言编程基础语言代码
(图片来源网络,侵删)

根据条件执行不同的代码块。

代码:

#include <stdio.h>
int main() {
    int score = 85;
    if (score >= 90) {
        printf("成绩优秀!\n");
    } else if (score >= 60) {
        printf("成绩及格,\n");
    } else {
        printf("成绩不及格,\n");
    }
    // 三目运算符 (?:) 的简写形式
    int max;
    int num1 = 10, num2 = 20;
    max = (num1 > num2) ? num1 : num2;
    printf("较大的数是: %d\n", max);
    return 0;
}

B. 循环语句 (for, while, do-while)

重复执行一段代码。

代码:

#include <stdio.h>
int main() {
    // for 循环
    printf("使用 for 循环打印 1 到 5:\n");
    for (int i = 1; i <= 5; i++) {
        printf("%d ", i);
    }
    printf("\n\n");
    // while 循环
    printf("使用 while 循环打印 5 到 1:\n");
    int j = 5;
    while (j >= 1) {
        printf("%d ", j);
        j--;
    }
    printf("\n\n");
    // do-while 循环 (至少执行一次)
    printf("使用 do-while 循环打印 1 到 3:\n");
    int k = 1;
    do {
        printf("%d ", k);
        k++;
    } while (k <= 3);
    printf("\n");
    return 0;
}

C. switch 语句

多分支选择结构,常用于基于一个整型或字符型变量的不同值执行不同操作。

代码:

#include <stdio.h>
int main() {
    char operation;
    double num1, num2;
    printf("请输入一个运算符 (+, -, *, /): ");
    scanf("%c", &operation);
    printf("请输入两个数字: ");
    scanf("%lf %lf", &num1, &num2);
    switch (operation) {
        case '+':
            printf("%.2lf + %.2lf = %.2lf\n", num1, num2, num1 + num2);
            break; // break 语句用于跳出 switch
        case '-':
            printf("%.2lf - %.2lf = %.2lf\n", num1, num2, num1 - num2);
            break;
        case '*':
            printf("%.2lf * %.2lf = %.2lf\n", num1, num2, num1 * num2);
            break;
        case '/':
            if (num2 != 0) {
                printf("%.2lf / %.2lf = %.2lf\n", num1, num2, num1 / num2);
            } else {
                printf("错误:除数不能为零!\n");
            }
            break;
        default:
            printf("无效的运算符!\n");
            break;
    }
    return 0;
}

函数

函数是一段可以重复使用的代码块,用于实现特定功能。

代码:

#include <stdio.h>
// 函数声明 (告诉编译器这个函数存在)
int add(int a, int b);
void printMessage(char message[]);
int main() {
    int sum = add(5, 3); // 调用 add 函数
    printf("5 + 3 = %d\n", sum);
    printMessage("你好,C语言!"); // 调用 printMessage 函数
    return 0;
}
// 函数定义
int add(int a, int b) {
    int result = a + b;
    return result; // 返回计算结果
}
// void 类型函数,不返回值
void printMessage(char message[]) {
    printf("函数打印的信息: %s\n", message);
}

数组

数组是存储相同类型的多个元素的集合。

代码:

#include <stdio.h>
int main() {
    // 1. 声明并初始化一个整型数组
    int numbers[5] = {10, 20, 30, 40, 50};
    // 如果不初始化,数组元素会是未知的垃圾值
    // 2. 访问数组元素 (索引从 0 开始)
    printf("第一个元素: %d\n", numbers[0]);
    printf("第三个元素: %d\n", numbers[2]);
    // 3. 修改数组元素
    numbers[0] = 100;
    printf("修改后的第一个元素: %d\n", numbers[0]);
    // 4. 使用循环遍历数组
    printf("\n遍历数组:\n");
    for (int i = 0; i < 5; i++) {
        printf("numbers[%d] = %d\n", i, numbers[i]);
    }
    // 5. 二维数组
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    printf("\n二维数组元素:\n");
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    return 0;
}

指针 (核心概念)

指针是 C 语言的精髓,它是一个变量,其值为另一个变量的地址。

代码:

#include <stdio.h>
int main() {
    int var = 100;
    int *ptr; // 声明一个整型指针变量
    // 将 var 的地址赋给 ptr
    ptr = &var; // & 是取地址运算符
    printf("var 的值: %d\n", var);
    printf("var 的地址: %p\n", &var);
    printf("ptr 存储的地址: %p\n", ptr);
    printf ptr 指向的值: %d\n", *ptr); // * 是解引用运算符
    // 通过指针修改变量的值
    *ptr = 200;
    printf("\n通过指针修改后,var 的值变为: %d\n", var);
    return 0;
}

指针与数组的关系: 数组名 arr 在表达式中会“退化”为其首元素的地址,指针可以很方便地遍历数组。

代码示例:

#include <stdio.h>
int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int *ptr = arr; // ptr 指向 arr 的第一个元素
    printf("使用指针遍历数组:\n");
    for (int i = 0; i < 5; i++) {
        printf("*(arr + %d) = %d\n", i, *(arr + i)); // arr + i 等价于 &arr[i]
        // 或者使用 ptr
        // printf("*ptr = %d\n", *ptr);
        // ptr++; // ptr 指向下一个元素
    }
    return 0;
}

如何编译和运行

  1. 保存代码:将上面的代码保存为 .c 文件,hello.c
  2. 打开终端/命令行
    • Linux/macOS: 打开 Terminal 或 Terminal.app。
    • Windows: 打开 Command Prompt (cmd) 或 PowerShell。
  3. 编译代码:使用 GCC (GNU Compiler Collection) 编译器,如果你没有安装,需要先安装它。
    gcc hello.c -o hello
    • gcc: 调用编译器。
    • hello.c: 你的源文件。
    • -o hello: 指定输出的可执行文件名为 hello,如果不写 -o,默认会生成一个 a.out (Linux/macOS) 或 a.exe (Windows) 文件。
  4. 运行程序
    • Linux/macOS:
      ./hello
    • Windows:
      hello.exe

      或者直接 hello (.exe 后缀在系统环境变量中)。

运行后,你将在终端看到程序的输出结果。

这份指南涵盖了 C 语言最基础、最重要的部分,掌握这些内容后,你就可以开始编写更复杂的 C 程序了,祝你学习愉快!

-- 展开阅读全文 --
头像
dede站群模板下载哪里有?
« 上一篇 今天
织梦会员注册如何新增自定义字段?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]