MOOS ivp 實驗二 C 程式設計練習(1)

2021-10-09 16:42:14 字數 2813 閱讀 1952

在moos-ivp的第二個實驗中,主要任務是在linux系統中進行c++的程式設計練習。 總結

主要記錄一些關於vim的相關操作以及linux中c++的相關程式實驗。

基本上所有c++實驗的第一步都是構建乙個hello world檔案,此次實驗當然也不例外。

1.先建立乙個文件用來編輯,使用

vim hello.cpp
即可建立乙個程式設計文件

輸入以下內容進行測試:

0 // code example from: 

1 // my first program in c++

2 #include

34 using namespace std;

56 int main (

)7

2.對內容進行編譯,生成執行檔案:

g++ -o hello hello.cpp
此命令含義為使用g++對hello.cpp檔案進行編譯,生成的執行檔案命名為hello

3.使用執行檔案

./hello
./的意思是在當前目錄下,命令的意思即為查詢當前目錄下的hello檔案並執行。將會輸出一下結果:

接下來,我們對以上**進行一下公升級,使得命令列可以對此進行引數傳遞。

1.編輯乙個新的cpp檔案,命名為hello_arg.cpp

vim hello_arg.cpp
2.輸入以下參考**

1 // handling command line arguments

23 #include

4 using namespace std;

56 int main (int argc, char **ar**)

7

3.編譯執行

g++ -o hello arg hello arg.cpp
4.測試**正常會輸出以下結果

the first argument is:./hello_arg
5.對**進行修改使得有以下返回結果

./hello_arg greetings!

greetings!

6.將程式更改為以下內容即可實現`

#include

using namespace std;

int main (int argc,char ** ar**)

7.解析

要搞清楚如何實現,搞清楚main的引數是什麼意義即可。

argc、ar**的具體含義 :

argc和ar**引數在用命令列編譯程式時有用。main( int argc, char* ar**) 中

第乙個引數,int型的argc,為整型,用來統計程式執行時傳送給main函式的命令列引數的個數,在vs中預設值為1。

第二個引數,char型的ar**,為字串陣列,用來存放指向的字串引數的指標陣列,每乙個元素指向乙個引數。char**ar**和char ar**含義相同。各成員含義如下:

ar**[0]指向程式執行的全路徑名

ar**[1]指向在dos命令列中執行程式名後的第乙個字串

ar**[2]指向執行程式名後的第二個字串

ar**[3]指向執行程式名後的第三個字串

ar**[argc]為null

所以很簡單,根據以上解釋只要把輸出的內容修改為ar**[1]即可。

1.編輯乙個新的cpp檔案,命名為hello_arg.cpp

vim var_types.cpp
2.輸入以下參考**

3 #include 

4 using namespace std;

56 int main (

)7

3.編譯執行

root@ubuntu:~# vim var_types.cpp

root@ubuntu:~# g++ -o var_types var_types.cpp

root@ubuntu:~# ./var_types

4

4.根據實驗要求進行修改

要求:從命令列輸入兩個數值,返回結果為兩個數值相加的結果

#include

#include

using namespace std;

int main(int argc,char **ar**)

可以得到結果:

root@ubuntu:~# ./var_types 12 44

56

5.解析

主要涉及的是atoi函式的使用,如果想要在linux系統中查詢該函式的具體資訊,可以通過

man atoi
atoi包含在標頭檔案cstdlib中,所以需要先新增標頭檔案在進行使用。該函式具體作用為:

atoi (表示 ascii to integer)是把字串轉換成整型數的乙個函式,應用在電腦程式和辦公軟體中。int atoi(const char *nptr) 函式會掃瞄引數 nptr字串,會跳過前面的空白字元(例如空格,tab縮排)等。如果 nptr不能轉換成 int 或者 nptr為空字串,那麼將返回 0 [1] 。特別注意,該函式要求被轉換的字串是按十進位制數理解的。atoi輸入的字串對應數字存在大小限制(與int型別大小有關),若其過大可能報錯-1。

C 實驗二簡單的C程式設計(二)

1.整數s四則運算。輸入兩個正整數,計算並輸出他們的和 差 積 商。include intmain void 2.階梯電價。為了提倡居民節約用電,某省電力公司執行 階梯電價 的計費模式。即安裝一戶一表的使用者電價分為兩個 階梯 月用電量在50kw h 含50kw h 以內的,電價為0.53元 kw ...

程式設計練習(二)

題目 字串 aa bb cc dd ee ff hh ii 每個元素以空格隔開,從這個字串中隨機選擇5個輸出,要求輸出的元素必須符合元素在字串先後位置,例如輸出aa bb cc dd ee aa bb dd ff ii 等等.解決思路 遞迴實現排序組合 實現 public class another...

《C語言程式設計》實驗報告(二)

1.掌握自增 自減 運算子的正確使用 2.掌握基本輸入 輸出函式的基本功能 呼叫方法 輸入 輸出格式 3.掌握結構化程式的演算法描述方法 4.熟悉掌握c語言的運算子,即運算子的優先順序和結合性 運算規則 運算物件型別等。實驗 includemain 出現問題 最開始的輸入後無法繼續執行 解決方法 將...