📜  C语言 | 2套(1)

📅  最后修改于: 2023-12-03 15:14:26.732000             🧑  作者: Mango

C语言 | 2套

C语言是一种被广泛应用于系统软件、嵌入式系统、游戏开发等领域的编程语言。本文将介绍C语言的两个不同版本。

ANSI C

ANSI C是公认的C语言标准,由于其广泛使用,本文也将以此为标准进行介绍。

基本语法和数据类型

C语言采用C99标准,其中整型、字符型、浮点型、布尔型等基本数据类型被支持。在C语言中,变量需要在使用前被声明,变量的命名遵循以下规范:

  • 变量名只能由字母、数字、下划线组成;
  • 第一个字符必须是字母或下划线;
  • 变量名长度不能超过32个字符。

函数的声明和定义也是C语言的基本语法之一,如下是一个简单的函数声明和定义例子:

#include <stdio.h>

int max(int a, int b); // 函数声明

int main() {
    int a = 1, b = 2;
    int c = max(a, b);
    printf("%d\n", c);
    return 0;
}

int max(int a, int b) { // 函数定义
    return a > b ? a : b;
}
控制结构

C语言的控制结构包括if语句、for循环、while循环等。下面是一个简单的if语句判断例子:

#include <stdio.h>

int main() {
    int score = 80;
    if (score >= 60 && score < 90) {
        printf("及格\n");
    } else if (score >= 90) {
        printf("优秀\n");
    } else {
        printf("不及格\n");
    }
    return 0;
}
指针和数组

指针和数组是C语言的重要部分。指针是用于存储其他值的地址,数组则是由相同数据类型的元素组成的集合。下面是指针和数组的示例程序:

#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int *ptr = arr; // ptr指向arr的第一个元素
    printf("%d\n", *ptr); // 输出1
    printf("%d\n", *(ptr + 2)); // 输出3
    return 0;
}
内存管理

在C语言中,程序员需要手动进行内存管理,包括分配内存和释放内存。下面是一个使用malloc函数动态分配内存的例子:

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

int main() {
    int *p = malloc(sizeof(int));
    if (p == NULL) {
        printf("内存分配失败\n");
        exit(1);
    }
    *p = 123;
    printf("%d\n", *p);
    free(p);
    return 0;
}
C++语言

C++是C语言的扩展,具有类、继承、多态、模板等特性。本节将介绍C++的基本语法和类的用法。

基本语法和数据类型

C++中支持的数据类型与C语言类似,同时还新增了一些数据类型,例如bool、string等。变量名和函数的命名规范也基本与C语言一致。

#include <iostream>

using namespace std;

int main() {
    int a = 1;
    string str = "hello";
    float f = 3.14;
    cout << a << endl; // 输出1
    cout << str << endl; // 输出hello
    cout << f << endl; // 输出3.14
    return 0;
}

类是C++中的重要特性之一,它将数据和函数封装为一个整体,并支持继承、派生等特性。下面是一个简单的类的例子:

#include <iostream>

using namespace std;

class Animal {
public:
    string name;
    int age;

    void eat() {
        cout << "吃东西" << endl;
    }
};

int main() {
    Animal cat;
    cat.name = "Tom";
    cat.age = 2;
    cat.eat(); // 输出吃东西
    return 0;
}
模板

C++中的模板是用于实现泛型编程的重要特性,可以使函数和类支持不同的数据类型。下面是一个使用模板实现通用加法运算的例子:

#include <iostream>

using namespace std;

template<class T>
T add(T a, T b) {
    return a + b;
}

int main() {
    int x = 1, y = 2;
    float m = 3.14, n = 2.71;
    cout << add(x, y) << endl; // 输出3
    cout << add(m, n) << endl; // 输出5.85
    return 0;
}
总结

本文介绍了C语言和C++语言的基本语法、数据类型、控制结构、指针和数组、内存管理、类以及模板等相关知识点。希望能够对程序员们有所帮助。