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++语言的基础语法,能够为编写高效程序打下基础。