引言

C语言是一种广泛使用的编程语言,以其高效性和灵活性著称。对于想要学习编程的人来说,C语言是一个很好的起点。本文将为您提供一份精选的C语言入门与进阶资料,帮助您轻松掌握这门语言。

第一章:C语言基础

1.1 C语言简介

C语言由Dennis Ritchie于1972年发明,最初用于Unix操作系统的开发。它是一种过程式语言,以其简洁、高效和可移植性而受到青睐。

1.2 环境搭建

要开始学习C语言,您需要安装一个编译器。常用的编译器有GCC(GNU Compiler Collection)和Clang。

# 安装GCC
sudo apt-get install build-essential

# 安装Clang
sudo apt-get install clang

1.3 基本语法

以下是C语言的一个简单示例:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

1.4 变量和数据类型

C语言中有多种数据类型,如整型(int)、浮点型(float)、字符型(char)等。

int age = 25;
float pi = 3.14159;
char grade = 'A';

第二章:C语言进阶

2.1 函数

函数是C语言中的核心概念之一。以下是创建和使用函数的示例:

#include <stdio.h>

// 函数声明
void sayHello();

int main() {
    sayHello(); // 调用函数
    return 0;
}

// 函数定义
void sayHello() {
    printf("Hello, World!\n");
}

2.2 控制结构

C语言提供了多种控制结构,如条件语句(if-else)、循环语句(for、while、do-while)等。

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 5) {
        printf("Number is greater than 5\n");
    } else {
        printf("Number is not greater than 5\n");
    }

    for (int i = 0; i < 5; i++) {
        printf("%d\n", i);
    }

    return 0;
}

2.3 数组

数组是存储多个相同类型数据的一个连续块。以下是创建和使用数组的示例:

#include <stdio.h>

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; i++) {
        printf("%d\n", numbers[i]);
    }

    return 0;
}

第三章:C语言高级特性

3.1 指针

指针是C语言中的一个重要概念,它允许您直接访问内存地址。

#include <stdio.h>

int main() {
    int var = 20;
    int *ptr;

    // 获取变量的地址
    ptr = &var;

    // 输出变量的值
    printf("Value of var: %d\n", *ptr);

    return 0;
}

3.2 结构体

结构体允许您将不同类型的数据组合在一起。

#include <stdio.h>

// 定义结构体
struct person {
    char name[50];
    int age;
};

int main() {
    struct person person1;

    // 初始化结构体
    strcpy(person1.name, "John");
    person1.age = 25;

    // 输出结构体信息
    printf("Name: %s\n", person1.name);
    printf("Age: %d\n", person1.age);

    return 0;
}

3.3 链表

链表是一种常见的数据结构,它允许您动态地存储数据。

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

// 定义链表节点
struct Node {
    int data;
    struct Node* next;
};

// 创建新节点
struct Node* createNode(int data) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

int main() {
    struct Node* head = createNode(1);
    struct Node* second = createNode(2);
    struct Node* third = createNode(3);

    // 连接节点
    head->next = second;
    second->next = third;

    // 输出链表
    struct Node* temp = head;
    while (temp != NULL) {
        printf("%d ", temp->data);
        temp = temp->next;
    }

    return 0;
}

结语

通过以上章节,您应该已经对C语言有了基本的了解。继续实践和学习,您将能够更深入地掌握这门语言。祝您学习愉快!