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


    上次分享了hello world, 今天小编分享 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};

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


     

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

    balance[4]=50.0;

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

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


     

    访问数组元素

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

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

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

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

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

    char greeting[]="Hello";

    以下是 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:


     

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

    实例

    #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++ 标准库提供了 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++ 提供了下列的控制语句。


     


    无限循环

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

    实例

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

    for(;;){

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

    return0;}

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

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

    C++ 判断

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

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


     


    判断语句

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


     

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

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


     

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

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

    编程学习书籍:


     

    编程学习视频:


     
  • 相关阅读:
    javascript深入理解js闭包
    【STL源码学习】STL算法学习之一
    【STL源码学习】细品vector
    【C++深入浅出】智能指针之auto_ptr学习
    【字典树应用】联想用户最想输入的词汇
    【数据结构】非常有用的hash表
    【WIN32进阶之路】:内存映射文件
    【WIN32进阶之路】:线程同步技术纲要
    win32进阶必备:多线程同步之互斥锁
    【C++深入浅出】设计模式学习之单例模式
  • 原文地址:https://www.cnblogs.com/mu-ge/p/13963619.html
Copyright © 2020-2023  润新知