模型预测控制 索引超出数组元素的数目(0)。_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 字符 '0' 終止的一維字符數組。因此,一個以 null 結尾的字符串,包含了組成字符串的字符。
下面的聲明和初始化創建了一個 "Hello" 字符串。由于在數組的末尾存儲了空字符,所以字符數組的大小比單詞 "Hello" 的字符數多一個。
char greeting[6]={'H','e','l','l','o','0'};依據數組初始化規則,可以把上面的語句寫成以下語句:
char greeting[]="Hello";以下是 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:HelloC++ 中有大量的函數用來操作以 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():10C++ 循環
有的時候,可能需要多次執行同一塊代碼。一般情況下,語句是順序執行的:函數中的第一個語句先執行,接著是第二個語句,依此類推。
編程語言提供了允許更為復雜的執行路徑的多種控制結構。
循環語句允許我們多次執行一個語句或語句組,下面是大多數編程語言中循環語句的一般形式:
循環類型
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++入門“so easy”
編程學習書籍:
編程學習視頻:
總結
以上是生活随笔為你收集整理的模型预测控制 索引超出数组元素的数目(0)。_C++基础总结(二):C++基本数据类型及流控制语句详解...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取视频自动播放_如何在IP
- 下一篇: python程序设计的基本步骤_Pyth