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;intmain(){

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 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

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

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

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

char greeting[]="Hello";

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

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

 

 

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

 

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

实例

#include<iostream>using namespace std;intmain(){

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

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;intmain(){

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;intmain(){

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;intmain(){

for(;;){

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

return0;}

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

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

C++ 判断

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

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

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

 


判断语句

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

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

 

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

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

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

 

如果你也想成为程序员,想要快速掌握编程,这里为你分享一个学习企鹅圈子!

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

编程学习书籍:

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

 

编程学习视频:

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