C语言新手知识大全(一)

简介: 教程来源 https://app-aes4wxahovsx.appmiaoda.com/ C语言由Dennis Ritchie于1972年在贝尔实验室创立,兼具高效性与可读性,是操作系统、嵌入式、数据库等底层开发的基石。本文为初学者提供从环境搭建(GCC配置、VS Code调试)到语法核心(变量、指针、运算符)的系统入门指南,助你扎实起步。

C语言由Dennis Ritchie于1972年在贝尔实验室设计开发,至今已有半个世纪的历史。它既是系统编程的基石(操作系统、数据库、编译器都用C编写),也是无数程序员开启编程生涯的第一站。本文将为初学者提供一份全面的C语言入门指南,从环境搭建到基础语法,从控制结构到指针核心,助你构建坚实的编程基础。
13f32e75-a8de-4be2-8800-387ce68cf0e4.png

一、初识C语言:为什么学习C语言?
1.1 C语言是什么?
C语言是一种面向过程的编程语言,设计目标是提供一种能以简易方式编译、处理底层内存、生成高效机器代码的语言。它兼具高级语言的可读性和汇编语言的高效性,因此被称为“中级语言”。

1.2 C语言的核心优势
image.png
1.3 C语言的应用领域
操作系统:Windows、Linux、Unix内核

嵌入式开发:单片机、物联网设备

游戏引擎:Unreal Engine、Unity底层

数据库:MySQL、Redis等

编译器:其他编程语言的编译器

系统工具:网络协议栈、驱动程序

二、环境搭建:工欲善其事,必先利其器
2.1 编译器安装
C语言是编译型语言,需要将源代码编译为可执行文件。推荐使用GCC(GNU Compiler Collection)编译器。

Windows用户:

安装MinGW-w64(Minimalist GNU for Windows)

下载地址:https://www.mingw-w64.org/

配置环境变量,将bin目录添加到PATH

Mac用户:

# 安装Xcode命令行工具
xcode-select --install
# 或通过Homebrew安装GCC
brew install gcc

Linux用户(Ubuntu/Debian):

sudo apt update
sudo apt install build-essential

2.2 验证安装
打开终端(命令提示符),输入:

gcc --version

如果显示版本信息,说明安装成功。

2.3 开发工具选择
image.png
VS Code推荐配置:

安装C/C++扩展(Microsoft)

配置tasks.json用于编译

安装Code Runner插件快速运行

2.4 第一个C程序
创建第一个C程序 hello.c:

#include <stdio.h>

int main() {
    printf("你好,C语言世界!\n");
    return 0;
}

编译和运行:

# 编译
gcc hello.c -o hello

# 运行
./hello     # Linux/Mac
hello.exe   # Windows

看到输出“你好,C语言世界!”,恭喜你——C语言环境已成功搭建!

三、C语言基础语法:构建编程基石
3.1 基本语法规则

#include <stdio.h>

/*
 * 这是一个多行注释
 * 用于说明程序功能
 */

int main() {
    // 单行注释:这是程序入口

    // 语句以分号结束
    printf("Hello, World!\n");

    // 代码块使用花括号{}
    if (1) {
        printf("这是代码块\n");
    }

    return 0;  // 返回0表示程序正常结束
}

3.2 变量与数据类型
C语言是静态类型语言,变量必须先声明后使用。

#include <stdio.h>

int main() {
    // 基本数据类型
    int age = 25;           // 整数(4字节,-2^31 ~ 2^31-1)
    short score = 100;      // 短整数(2字节)
    long bigNum = 100000L;  // 长整数(4或8字节)

    float price = 19.99f;   // 单精度浮点数(4字节)
    double pi = 3.1415926;  // 双精度浮点数(8字节)

    char grade = 'A';       // 字符(1字节,单引号)
    char name[] = "张三";    // 字符串(字符数组,双引号)

    // 无符号类型
    unsigned int uAge = 25;   // 非负整数
    unsigned char uChar = 255; // 0~255

    // 打印变量
    printf("年龄:%d\n", age);
    printf("价格:%.2f\n", price);
    printf("圆周率:%lf\n", pi);
    printf("等级:%c\n", grade);
    printf("姓名:%s\n", name);

    // 查看数据类型大小
    printf("int大小:%zu 字节\n", sizeof(int));
    printf("double大小:%zu 字节\n", sizeof(double));

    return 0;
}

常用格式说明符:
image.png
3.3 变量命名规范

// 有效标识符
int age;           // 小写字母开头
int student_age;   // 下划线分隔
int studentAge;    // 驼峰命名(C语言常用下划线)

// 常量使用大写字母
#define MAX_SIZE 100
const int MAX_COUNT = 100;

// 命名规则:
// 1. 只能包含字母、数字、下划线
// 2. 不能以数字开头
// 3. 不能使用关键字(int、if、return等)
// 4. 区分大小写

3.4 运算符

#include <stdio.h>

int main() {
    int a = 10, b = 3;

    // 算术运算符
    printf("%d + %d = %d\n", a, b, a + b);   // 加法
    printf("%d - %d = %d\n", a, b, a - b);   // 减法
    printf("%d * %d = %d\n", a, b, a * b);   // 乘法
    printf("%d / %d = %d\n", a, b, a / b);   // 整除(结果3)
    printf("%d %% %d = %d\n", a, b, a % b);  // 取余(结果1)

    // 自增自减
    int x = 5;
    printf("x++ = %d\n", x++);  // 先使用后自增:输出5,x变为6
    printf("++x = %d\n", ++x);  // 先自增后使用:x变为7,输出7

    // 关系运算符
    printf("%d > %d = %d\n", a, b, a > b);   // 1(真)
    printf("%d == %d = %d\n", a, b, a == b); // 0(假)

    // 逻辑运算符
    int flag1 = 1, flag2 = 0;
    printf("flag1 && flag2 = %d\n", flag1 && flag2);  // 与:0
    printf("flag1 || flag2 = %d\n", flag1 || flag2);  // 或:1
    printf("!flag1 = %d\n", !flag1);                  // 非:0

    // 位运算符
    unsigned char m = 0b1100;   // 二进制 1100
    unsigned char n = 0b1010;   // 二进制 1010
    printf("m & n = %d\n", m & n);   // 按位与:1000 (8)
    printf("m | n = %d\n", m | n);   // 按位或:1110 (14)
    printf("m ^ n = %d\n", m ^ n);   // 按位异或:0110 (6)
    printf("~m = %d\n", ~m);         // 按位取反
    printf("m << 1 = %d\n", m << 1); // 左移:11000 (24)
    printf("m >> 1 = %d\n", m >> 1); // 右移:0110 (6)

    // 赋值运算符
    int c = 10;
    c += 5;   // c = c + 5
    c -= 3;   // c = c - 3
    c *= 2;   // c = c * 2
    c /= 4;   // c = c / 4

    // 三元运算符
    int max = (a > b) ? a : b;  // 如果a>b取a,否则取b

    return 0;
}

来源:
https://app-aes4wxahovsx.appmiaoda.com/

相关文章
|
1天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
10222 33
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
14天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
5903 14
|
21天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
23113 119
|
7天前
|
人工智能 JavaScript API
解放双手!OpenClaw Agent Browser全攻略(阿里云+本地部署+免费API+网页自动化场景落地)
“让AI聊聊天、写代码不难,难的是让它自己打开网页、填表单、查数据”——2026年,无数OpenClaw用户被这个痛点困扰。参考文章直击核心:当AI只能“纸上谈兵”,无法实际操控浏览器,就永远成不了真正的“数字员工”。而Agent Browser技能的出现,彻底打破了这一壁垒——它给OpenClaw装上“上网的手和眼睛”,让AI能像真人一样打开网页、点击按钮、填写表单、提取数据,24小时不间断完成网页自动化任务。
1883 4

热门文章

最新文章