C++基础语法详解
C是一种通用的编程语言,被广泛应用于各种领域,包括桌面应用程序、操作系统、嵌入式系统、游戏、图形应用程序等等。学习C语言的基础语法是入门的第一步,本文将从各种方面来阐述C基础语法,让初学者能够建立起对C基础的完整认识。
一、变量和数据类型
在C中定义变量时需要指定其数据类型,C支持的数据类型有基本类型和用户自定义类型,如下表所示:
数据类型 关键字 描述
-----------------------------------------------------------
整型 int 存储整数
字符型 char 存储单个字符
布尔型 bool 存储逻辑值true/false
浮点型 float 存储单精度浮点数
双精度浮点型 double 存储双精度浮点数
枚举型 enum 存储一组可能的取值
指针型 * 存储内存地址
引用型 & 存储内存地址且不改变其值
空指针型 nullptr、NULL 存储空指针
自定义类型 class、struct、union 存储自定义类型数据
在C++程序中,定义变量和使用变量的示例代码如下:
//定义变量
int age = 18;
char gender = 'M';
bool isStudent = true;
float score = 88.5;
double money = 1000.5;
enum Color {Red, Green, Blue};
Color color = Blue;
int *p = nullptr;
int &ref = age;
struct Person {
int age;
char name[30];
};
Person tom = {18, "Tom"};
//使用变量
cout << age << endl;
cout << gender << endl;
cout << isStudent << endl;
cout << score << endl;
cout << money << endl;
cout << color << endl;
cout << p << endl;
cout << ref << endl;
cout << tom.age << endl;
cout << tom.name << endl;
二、运算符和表达式
C++语言支持各种运算符和表达式,下面是一些常见的运算符:
算术运算符:+、-、*、/、%、++、--
关系运算符:>、>=、<、<=、==、!=
逻辑运算符:&&、||、!
位运算符:&、|、^、~、<<、>>
赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=
其他运算符:sizeof、?:、&、*
表达式是由运算符和操作数组成的,下面是一些常见的表达式示例:
int a = 10, b = 20;
int c = a + b; //加法
int d = a * b; //乘法
int e = a > b ? a : b; //三目运算符
int f = sizeof(int); //sizeof运算符
int *p = &a; //&运算符取变量地址
int q = *p; //*运算符获取指针所指向的变量值
int g = ~(a & b); //~、&、|、^、<<、>>位运算符
三、控制流
控制流指的是程序按照逻辑顺序执行的流程,主要包括条件语句和循环语句。条件语句的例子代码如下:
int score = 75;
if (score >= 90) {
cout << "A" << endl;
}
else if (score >= 80) {
cout << "B" << endl;
}
else if (score >= 70) {
cout << "C" << endl;
}
else {
cout << "D" << endl;
}
循环语句的例子代码如下:
int i;
for (i = 0; i < 10; i++) {
cout << i << endl;
}
while (i > 0) {
i--;
cout << i << endl;
}
do {
cout << i << endl;
i++;
} while (i < 10);
四、函数和数组
函数是C++程序中独立的子程序,通常被用来完成某个特定的任务,下面是一个函数的例子代码:
int max(int x, int y) {
return x > y ? x : y;
}
//使用函数
int a = 10, b = 20;
int c = max(a, b);
cout << c << endl;
数组是一组相同类型的数据的集合,下面是一个数组的例子代码:
int arr[5] = {1, 2, 3, 4, 5};
//使用数组
for (int i = 0; i < 5; i++) {
cout << arr[i] << endl;
}
五、指针和引用
指针和引用是C++特有的数据类型,它们都是用来处理内存地址的。指针变量存储内存地址,引用变量也存储内存地址,但是它不改变内存地址的值。下面是指针和引用的例子代码:
int a = 10;
int *p = &a; //定义指针变量
int &ref = a; //定义引用变量
cout << *p << endl; //输出指针所指向变量的值
cout << ref << endl;//输出引用所指向变量的值
六、结构体和类
结构体和类是C++中用户自定义类型的两种形式。结构体是用来描述一组相关的数据,而类则是一种用来封装数据和方法的编程方式。下面是结构体和类的例子代码:
//定义结构体
struct Person {
int age;
char name[30];
};
Person tom = {18, "Tom"};
cout << tom.age << endl;
cout << tom.name << endl;
//定义类
class Student {
private:
int age;
string name;
public:
void setAge(int a) { age = a; }
void setName(string n) { name = n; }
int getAge() { return age; }
string getName() { return name; }
};
Student jack;
jack.setAge(20);
jack.setName("Jack");
cout << jack.getAge() << endl;
cout << jack.getName() << endl;
通过以上对C基础语法的阐述,相信读者已经掌握了C语言的基础语法,能够为编写高效程序打下基础。