???? 很多人出入大學都會學《計算概論》這一門課(因為現在很多專業都要求要掌握編程的基本知識),但對于很多大一新生,特別是很多沒有接觸過變編程的人來說,想要學好一門編程語言是不太容易的,而且如果身邊有信息競賽的大神,那就會產生一種對編程不好的印象。但其實只要對自己有信心,好好學,到以后很多人都會比身邊曾經的大神學得好。為讓初學者能安全的度過適應期下面我總結了一些c++語言中很基本的幾種算法和一些基本語言。
?? 1.cin和cout
? cin和cout在c++中是很基本但最常用的輸入輸出方法,用cin >> 輸入,cout << 輸出,可以接收或輸出字符和字符串(字符可以是數字,也可以是字母)例如:
#include <iostream>
using namespace std;
int main()
{
int a, b;//表示兩個整形變量
cin >> a >> b;
cout << a + b << endl;
cout << a * b << endl;
return 0;
}
上面是一個給定兩個整數算它們的和的小程序,int a, b;代表定義兩個整形變量,endl表示此行結束(即如果下面還有輸出,則下面輸出的結果會和這個結果不在一行),即如果輸入3【空格】5,那么就會輸出
8
15
而如果cout << a + b << endl;改寫成cout << a + b;那么輸出就會變成815;
這里要注意cin在輸入時,遇到空格和回車都會結束。比如下面一個程序:
#include <iostream>
using namespace std;
int main()
{
char a[5];//定義一個字符數組,大小為5
cin >> a;
cout << a;
return 0;
}
如果輸入ab cd,那么輸出就會變成ab.
2.數組
在運用數組時(比如上面那個程序),一定要注意數組的越界問題比如int? a[5];那么這個數組中有五個元素a[0],a[1],a[2], a[3], a[4],而沒有a[5],但我們在很多情況下都會出現越界的問題,這是一個非常嚴重的錯誤,因此我們平時要用數組時,可以將數組適當的開大一點,比如需要1000,你可以開1100甚至更大(當然適當大最好),這樣就可以有效的避免這個問題。另外數組中還會經常遇到一些初始化的問題比如int a[5];你輸出時只需輸出a[0],a[1];但編的時候卻編成了輸出a[0],a[1],a[2],而你又沒有將數組初始化,這時候編譯時不會報錯,但輸出來的值除了a[0],a[1]的值,還會輸出一個不可預知的值
a[3],因此?在定義數組時最好將數組初始化即 int? a[5] = {};(關于數組初始化下面還會講)這時候輸出的a[3]就會是0,這樣輸出結果之后一看多出個0,你就知道自己錯在哪(當然好處不僅僅是這些)。最后定義數組時最好不要這樣定義 int a[n];這樣定義很容易出錯。
以上是我們在運用數組十三個非常好的習慣。數組的初始化是一個很重要的問題,尤其是在一些比較大的程序數組必須初始化,下面就講解一下初始化的幾種方法。
比如int a[5] = {};這里的大括號里可以什么都不寫,那么數組內的所有值都是0,
int a[5] = {0};大括號里只有一個0,那所有值也都是0(如果是int a[5] = {1}, 那數組中除了第一個數是1, 其余都是0)
int a[5] ={1, 1};這樣前兩個值就分別是1和2,其余的值都為0.
3.循環(循環必須熟練掌握)
循環是語言中一個很重要很基本的算法主要有for循環和while循環
for循環格式為for(變量;判斷條件;變量的關系式 )
例如for(int i = 0; i < 3; i++)
{ 。。。。。。。。。}
這里i < 3,即如果i < 3,就執行這個循環。i++是指每執行一次循環都將i的值加1.如果前面已經定義過i這個變量并且已經附過值,那就可以直接寫成for(i; i < 3; i++)
while循環格式為while(判斷條件)
比如while(n? < 3)
{.......................}
do ...........while循環,格式為
do
{。。。。。。。。。。。。}while(判斷條件)
while循環和do。。。。while循環的區別是while循環的次數可能為零,而do。。。while循環必做一次循環。
根據字面意思就很容易理解;循環里經常用到break來打破最近的循環,用continue來打破本次循環,進行下一次循環。
4.條件語句(和循環語句同樣重要)
if條件語句,格式為if(判斷條件)
例如if(n >= 3)
{.......................}
當然如果需要多個if,推薦用
if(判斷條件)
{。。。。。。。}
else if(判斷條件)
{。。。。。。。。。。。。。。。}
else if(判斷條件)
{。。。。。。。。。。。。。。。}
當然此時也可以用switch語句,格式為
switch(表達式)
{
case 常量表達式1:語句;
case 常量表達式2:語句;
default:語句;
}
注意:在循環中可以套用循環,也可以在條件語句中套用條件語句。這一部分不做細講,老師會詳細講解的。
最后,c++語言中有很多小的細節需要注意,例如i++和++i的區分,在寫程序是別把1打成i,別把0打成o,這些小東西不起眼,但一旦出錯卻很難發現,需要新人們從開始就養成好的習慣。以后還會陸續出其他編程的知識。比如各種輸入的區別,代碼的格式,函數等。請繼續關注吧。