C++基础语法资料
Posted jyssh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++基础语法资料相关的知识,希望对你有一定的参考价值。
一、C++基本语法
- 变量名是由字母、数字和下划线字符组成,并且开头不能是数字。大小写不同的变量是不同的。变量名不能是关键字,如for、if等都是不能作为变量名的
- C++基本的数据类型是整型int、浮点型float/double、字符型char、字符串string、bool布尔型,除此外还有长整型long int、长浮点型long double、const常量
- printf(“%.2f”,a) 对a保留2位小数,printf(“%.nf”,a) 对a保留n位小数
- %.f是取整,大于5向上,小于等于5向下
- bool布尔值的结果只有真/1、假/0 两种结果
- 假设变量 A 的值为 10,变量 B 的值为 20
运算符 |
描述 |
实例 假设变量A的值是10,变量B的值是20 |
+ |
把两个操作数相加 |
A + B 将得到 30 |
- |
从第一个操作数中减去第二个操作数 |
A - B 将得到 -10 |
* |
把两个操作数相乘 |
A * B 将得到 200 |
/ |
分子除以分母 |
B / A 将得到 2 |
% |
取模运算符,整除后的余数 |
B % A 将得到 0 |
++ |
自增运算符,整数值增加 1 |
A++ 将得到 11 |
-- |
自减运算符,整数值减少 1 |
A-- 将得到 9 |
假设变量 A 的值为 10,变量 B 的值为 20
运算符 |
描述 |
实例 |
== |
检查两个操作数的值是否相等,如果相等则条件为真。 |
(A == B) 不为真。 |
!= |
检查两个操作数的值是否相等,如果不相等则条件为真。 |
(A != B) 为真。 |
> |
检查左操作数的值是否大于右操作数的值,如果是则条件为真。 |
(A > B) 不为真。 |
< |
检查左操作数的值是否小于右操作数的值,如果是则条件为真。 |
(A < B) 为真。 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 |
(A >= B) 不为真。 |
<= |
检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 |
(A <= B) 为真。 |
假设变量 A 的值为 1,变量 B 的值为 0
运算符 |
描述 |
实例 |
&& |
称为逻辑与运算符。如果两个操作数都 true,则条件为 true。 |
(A && B) 为 false。 |
|| |
称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。 |
(A || B) 为 true。 |
! |
称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。 |
!(A && B) 为 true。 |
C++ 编程语言提供了以下类型的判断语句。点击链接查看每个语句的细节。
语句 |
描述 |
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
|
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
|
您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
|
一个 switch 语句允许测试一个变量等于多个值时的情况。 |
|
您可以在一个 switch 语句内使用另一个 switch 语句。 |
if(条件表达式)
// 如果条件表达式为真将执行的语句
else
// 如果条件表达式为假将执行的语句
switch(表达式) case 取值1: 执行语句; break; case 取值2: 执行语句; break; …… default: 执行语句; break; 1,switch语句选择的类型有四种:byte,short,int , char。 2,case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。 3,switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号。 4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。 5,switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。 注意:
|
二、循环
1. while循环
C++ 中 while 循环的语法:
while(条件表达式) 语句体1; 语句体2; |
当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。这个就是 while 的执行顺序。
C++ 中 do while 循环的语法:
初始化语句; do 循环体语句; while(条件判断语句); |
执行流程:
①执行初始化语句
②执行循环体语句
③执行条件控制语句
④之间条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,循环继续执行
⑤回到②继续
2. for循环
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3) 语句;
执行过程:表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。- for(表达式1;表达式2;表达式3)的后面千万不要加分号
- 表达式1是初始化循环变量的值;表达式2是循环的范围;表达式3是循环变量的增量或减量
求解表达式1。
求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。
求解表达式3。
转回上面第2步继续执行。
循环结束,执行 for 语句下面的语句。
从这个执行过程中可以看出,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。
求1-100的总和
# include <stdio.h> int main() int i; int sum = 0; //sum的英文意思是“总和” for (i=1; i<=100; i++) //++是自加的意思, i++相当于i = i + 1 sum = sum + i; /*等价于sum += i;但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/ printf("sum = %d\\n", sum); return 0;
输出结果是:sum = 5050
关于循环的两个关键字:
break : 仅终止当前的循环
continue : 跳过主体剩余部分,执行下一轮循环
3. 数组
一维数组的声明形如:a[b],其中a是数组的名字,b是数组的维度(数组中元素的个数)
int arr[10]; //arr是含有10个整型的数组 int arr[10]=; //arr是含有10个整型的数组,进行了初始化,每个元素的值都是0 int *arr[10]; //arr是含有10个整型指针的数组 int arr[] = 1,2,3; //arr是含有3个整型的数组 int arr[5] = 1,2,3; //等价于int arr[5] = 1,2,3,0,0 string arr[3] = "hello","world"; //等价于 string arr[3] = "hello","world",""; char arr[6] = "hello"; //这里不能声明维度为5,因为字符串末尾还有一个空字符(\'\\0\'),所以应该是"hello\\0" char arr[6] = \'h\',\'e\',\'l\',\'l\',\'o\',\'\\0\'; //等价于 char arr[] = "hello"; char arr[6] = \'h\',\'e\',\'l\',\'l\',\'o\'; //这条语句和上面一条语句是一样的。默认字符初始化值是\'\\0\' |
如果在定义了整型类型的数组后,并没有对内存进行初始化的话,那么里面会存放以前的垃圾值。用字符串字面值初始化字符数组时,一定要注意字符串字面值的末尾还有一个空字符
数组的访问:
数组可以通过 数组名[下标] 的方法来访问对应数组的第下标个元素
#include<bits/stdc++.h> using namespace std; int main() int a[20] = ; //定义一个整型数组a,里面有20个元素,并全部初始化为0 for(int i=0;i<20;i++) //循环让i从0到19 cout<<a[i]<<" "; //输出a数组的第i个数 return 0; |
4. 字符串
- 字符串是由双引号引起来的字符构成,如”123”,”abc”,”1”,”a”等都属于字符,它的长度可以是一个或者多个
- 每个字符串在末尾都隐藏了一个字符串结束符’\\0’,它标志着字符串的结束
- 定义字符串可以使用字符数组和字符串数据类型
下面定义和初始化创建了一个abc字符串,由于字符串末尾有结束符’\\0’,所以字符数组的大小要比字符串的长度多1个
int a[4] = \'a\',\'b\',\'c\',\'\\0\';
上面的定义同样等价于下面的定义
int a[4] = "abc";
上面的定义同样等价于下面的定义
int a[] = "abc";
当我们不去事先声明数组的长度时,系统会根据所赋值的内容来定义数组的长度,如上面的程序当”abc”赋值给数组a后,a数组的长度会被定义为4(“abc\\0”)
- 字符串或字符数组想引用某个字符时,操作和普通数组的引用是一样的,都是通过
数组名[下标]
来引用
字符数组应用
strlen(a) 获取指定字符串a的长度
char a[] = “abc”;cout<<strlen(a); 可以输出3
strcat(a,b) 把b拼接到a后面
char a[] = "abc",b[] = "123"; cout<<strcat(a,b); 可以输出abc123
strcmp(a,b) 比较a,b两个字符串,相同返回0,不相同返回1
strcpy(b,a) 将字符串a的内容复制到b中
islower() 当一个字符为小写字母时, 返回真值
isupper() 当一个字符为大写字母时, 返回真值
以上是关于C++基础语法资料的主要内容,如果未能解决你的问题,请参考以下文章