C++基础总结:C++基本数据类型及流控制语句详解

Posted C语言club

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++基础总结:C++基本数据类型及流控制语句详解相关的知识,希望对你有一定的参考价值。

点击上方蓝字关注我,阅读本文
C++基础总结(二):C++基本数据类型及流控制语句详解

上次分享了hello world, 今天小编分享 C++基本数据类型及流控制语句 ,建议大家收藏慢慢学习,同时希望对大家的C++学习有所帮助。


C++基础总结(二):C++基本数据类型及流控制语句详解

C++ 数组

C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。

声明数组

在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:

type arrayName[arraySize];

这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:

double balance[10];

现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。

初始化数组

在 C++ 中,可以逐个初始化数组,也可以使用一个初始化语句,如下所示:

double balance[5]={1000.0,2.0,3.4,7.0,50.0};

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

如果省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:

double balance[]={1000.0,2.0,3.4,7.0,50.0};

将创建一个数组,它与前一个实例中所创建的数组是完全相同的。


C++基础总结(二):C++基本数据类型及流控制语句详解

下面是一个为数组中某个元素赋值的实例:

balance[4]=50.0;

上述的语句把数组中第五个元素的值赋为 50.0。所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1。以下是上面

所讨论的数组的的图形表示:


C++基础总结(二):C++基本数据类型及流控制语句详解

访问数组元素

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:

double salary=balance[9];

上面的语句将把数组中第 10 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:


  #include<iostream>using namespace std;

  #include<iomanip>using std::setw;

  int main(){

int n[10];

// n 是一个包含 10 个整数的数组

// 初始化数组元素

for ( int i = 0; i < 10; i++ ) {

n[ i ] = i + 100;

// 设置元素 i 为 i + 100 }

cout << "Element" << setw( 13 ) << "Value" << endl;

// 输出数组中每个元素的值

for ( int j = 0; j < 10; j++ ) {

cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl; }

return 0;

}


C++ 字符串

C++ 提供了以下两种类型的字符串表示形式:

C 风格字符串

C++ 引入的 string 类类型

C 风格字符串

C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 '' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。

char greeting[6]={'H','e','l','l','o',''};

依据数组初始化规则,可以把上面的语句写成以下语句:

char greeting[]="Hello";

以下是 C/C++ 中定义的字符串的内存表示:


C++基础总结(二):C++基本数据类型及流控制语句详解


C++基础总结(二):C++基本数据类型及流控制语句详解

其实,不需要把 null 字符放在字符串常量的末尾。C++ 编译器会在初始化数组时,自动把 '' 放在字符串的末尾。让我们尝试输出上面的字符串:

实例

#include<iostream>using namespace std;

intmain(){

char greeting[6]={'H','e','l','l','o',''};

cout<<"Greeting message: ";

cout<<greeting<<endl;

return0;

}

当上面的代码被编译和执行时,它会产生下列结果:

Greeting message:Hello

C++ 中有大量的函数用来操作以 null 结尾的字符串:supports a wide range of functions that manipulate null-terminated strings:


C++基础总结(二):C++基本数据类型及流控制语句详解

下面的实例使用了上述的一些函数:

实例

#include<iostream>#include<cstring>using namespace std;

int main(){

char str1[11]="Hello";

char str2[11]="World";

char str3[11];

int len;

// 复制 str1 到 str3 strcpy( str3, str1);

cout << "strcpy( str3, str1) : " << str3 << endl;

// 连接 str1 和 str2 strcat( str1, str2);

cout << "strcat( str1, str2): " << str1 << endl;

// 连接后,str1 的总长度 len = strlen(str1);

cout << "strlen(str1) : " << len << endl;

return 0;

}

当上面的代码被编译和执行时,它会产生下列结果:

strcpy( str3, str1) : Hellostrcat( str1, str2): HelloWorldstrlen(str1) : 10C++ 中的 String 类



C++基础总结(二):C++基本数据类型及流控制语句详解

C++ 标准库提供了 string 类类型,支持上述所有的操作,另外还增加了其他更多的功能。现在让我们先来看看下面这个实例:

实例

#include<iostream>#include<string>using namespace std;

int main(){

string str1="Hello";

string str2="World";

string str3;int len;

// 复制 str1 到 str3 str3 = str1;

cout << "str3 : " << str3 << endl;

// 连接 str1 和 str2 str3 = str1 + str2;

cout << "str1 + str2 : " << str3 << endl;

// 连接后,str3 的总长度 len = str3.size();

cout << "str3.size() : " << len << endl;

return 0;

}

当上面的代码被编译和执行时,它会产生下列结果:

str3:Hellostr1+str2:HelloWorldstr3.size():10

C++ 循环

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

编程语言提供了允许更为复杂的执行路径的多种控制结构。

循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式:


C++基础总结(二):C++基本数据类型及流控制语句详解

循环类型

C++ 编程语言提供了以下几种循环类型。


C++基础总结(二):C++基本数据类型及流控制语句详解

循环控制语句

循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。

C++ 提供了下列的控制语句。


C++基础总结(二):C++基本数据类型及流控制语句详解

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,可以将某些条件表达式留空来构成一个无限循环。

实例

#include<iostream>using namespace std;

int main(){

for(;;){

printf("This loop will run forever. ");}

return0;

}

当条件表达式不存在时,它被假设为真。也可以设置一个初始值和增量表达式,但是一般情况下,C++ 程序员偏向于使用 for(;;) 结构来表示一个无限循环。

注意:可以按 Ctrl + C 键终止一个无限循环。

C++ 判断

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

下面是大多数编程语言中典型的判断结构的一般形式:


C++基础总结(二):C++基本数据类型及流控制语句详解

判断语句

C++ 编程语言提供了以下类型的判断语句。


C++基础总结(二):C++基本数据类型及流控制语句详解

好了,以上就是对 C++基本数据类型及流控制语句的分享。

如果你喜欢这篇文章的话,动动小指,加个关注哦~


C++基础总结(二):C++基本数据类型及流控制语句详解

如果你也想成为程序员,想要快速掌握编程,欢迎加入学习企鹅圈子

里面有资深专业软件开发工程师,在线解答你的所有疑惑~C++入门“so easy”

编程学习书籍:


C++基础总结(二):C++基本数据类型及流控制语句详解

编程学习视频:


C++基础总结(二):C++基本数据类型及流控制语句详解

C++基础总结(二):C++基本数据类型及流控制语句详解
寻寻觅觅 美好深藏
C++基础总结(二):C++基本数据类型及流控制语句详解
QQ群:686521686
B站:沐歌爱编程



以上是关于C++基础总结:C++基本数据类型及流控制语句详解的主要内容,如果未能解决你的问题,请参考以下文章

C++入门基础知识[4]——循环控制语句

蓝桥ROS机器人之C++基础2总结和测评

蓝桥ROS机器人之C++基础1总结和测评

第四次寒假作业

C++中operator用法

C++基础总结1