📅  最后修改于: 2023-12-03 15:14:26.732000             🧑  作者: Mango
C语言是一种被广泛应用于系统软件、嵌入式系统、游戏开发等领域的编程语言。本文将介绍C语言的两个不同版本。
ANSI C是公认的C语言标准,由于其广泛使用,本文也将以此为标准进行介绍。
C语言采用C99标准,其中整型、字符型、浮点型、布尔型等基本数据类型被支持。在C语言中,变量需要在使用前被声明,变量的命名遵循以下规范:
函数的声明和定义也是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语言类似,同时还新增了一些数据类型,例如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++语言的基本语法、数据类型、控制结构、指针和数组、内存管理、类以及模板等相关知识点。希望能够对程序员们有所帮助。