C語言基礎下的C++入門

喜歡的可以收藏轉發加關注

小程序的入門(一)~~!!

VS

#include<iostream>
using namespace std;//命名空間 相當於 #include<iostream.h> -->> C92版本
int addArray(int *addArray,int n);
int main(){
int data[] = {0,1,2,3,4,5,6,7,8,9};
int size =sizeof(data)/sizeof(data[0]);
cout< return 0;
}
int addArray(int *array,int n){
int sum = 0;
int i;
for(i=0;i sum += *array++;
}
return sum;
}
/<iostream.h>/<iostream>


這個小程序展示了C++對象的第一次使用。對象在哪裡?就是“cout”。

C語言裡的printf是一個函數,而C++裡的cout是一個輸出流對象,他是“console out”(控制檯輸出)的縮寫,是屬於basic_ostream類的對象。ostream類在iostream頭文件中定義。

using namespace

這是一個指定,這條指定帶給我們一個全新的概念:名字空間

C++標準庫所使用的所有標識符或叫關鍵字(例如類,函數,對象等的名稱)都是在同一個特殊的名字空間(std)中來定義的(相當於java裡的包)。如果沒有使用這條指令的話,我們將需要使用std::cout這樣的語法來調用輸出流對象。

C語言基礎下的C++入門


在C語言裡這個操作符叫左移操作符,在C++裡並不是說改規則了,不是左移操作符了,而是體現了C++裡的另一個特點:支持重載。重載事實上就是允許我們按照不同的方式使用同一個操作符,在不同的語境裡發揮不同的作用。

小程序入門(二)

VS


要求:編寫一個程序,要求用戶輸入一串整數和恩義數目的空格,這些整數必須位於同一行中,但允許出現在該航中的任何位置,當用戶按下鍵盤上的enter鍵的時候,數據輸入結束。程序自動對所有的整數進行求和並打印出結果。

C語言實現:>>>


#include<stdio.h> 

int main(){
int num,sum=0;
char ch;
while(scanf("%d",&num)==1){//scanf函數如果正常接收了一個指定數據 返回值是1 否則接收不正常
sum += num;
while((ch=getchar())==' ') ;//這個循環的作用是從緩衝區獲取一個字符給ch 用來屏蔽空格
if(ch=='\n') break;//如果獲得的非空字符是回車 就跳出循環 輸出計算結果
ungetc(ch,stdin);
//如果從緩衝區獲得的字符既不是空格 也不是回車 那說明是數字(數字是以某字符的ASC||碼的形式存在ch裡的) 就要把這個數字重新退回到緩衝區否則會影響計算
}
printf("%d",sum);
return 0;
}
//輸入 22 22 33 44
//結果 132
/<stdio.h>


C++實現:>>>


#include<iostream>
using namespace std;
int main(){
int sum = 0;
cout< int i;
while(cin>>i){//從輸入流對象中提取一個i類型的數據
//cin>>i返回輸入流對象本身 也就是cin但是如果到達了文件尾或提取操作符遇到一個非法值 返回false

sum += i;
while(cin.peek()==' ') cin.get();//從緩衝區獲取一個字符下面有關於這個函數的講解
if(cin.peek()=='\n') break;
}
cout< return 0;
}
/<iostream>


cin

C++實現的例子裡使用了流的對象cin。這個對象的類型是istream,他知道如何從用戶終端讀取數據。

cin>>i;cin輸入操作符又稱為提取操作符,他一次從輸入流對象中提取一個i類型的數據,在這個例子裡i是整數,所以就從輸入流裡讀取一個整數類型的數據。

當用戶進行鍵盤輸入的時候,對應的字符將輸入到操作系統的鍵盤緩衝區中。這樣當用戶點擊enter建的時候,操作系統把鍵盤緩衝區的內容傳輸到cin流的內部緩衝區,">>"操作符隨後從這個緩衝區提取需要的信息。

C語言基礎下的C++入門


最初定義為右移操作符,在C++中進行了重載,當他按照這裡所提示的方式使用的時候,他就用於從輸入流對象提取信息。

另外,這個操作符對所有內建的數據類型都進行了重載,所以他可以從輸入流對象中提取字符串,float,double,int等數據

cin>>i返回輸入流對象本身 也就是cin但是如果到達了文件尾或提取操作符遇到一個非法值 返回false。

cin cout對象的多個方法介紹


cin.ignore();:cin.ignore(a,ch)方法是從輸入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每拋棄一個字符,它都要計數和比較字符:如果計數值達到a或者被拋棄的字符是ch,則cin.ignore()函數執行終止;否則,它繼續等待。它的一個常用功能就是用來清除以回車結束的輸入緩衝區的內容,消除上一次輸入對下一次輸入的影響。

C語言基礎下的C++入門


例如:比如可以這麼用:cin.ignore(1024,'\n'),通常把第一個參數設置得足夠大,這樣實際上總是隻有第二個參數'\n'起作用,所以這一句就是把回車(包括回車)之前的所以字符從輸入緩衝(流)中清除出去。

cin.getline();:接收一個字符串,可以接收空格並輸出,需包含“#include<string>”/<string>

#include <iostream> 
using namespace std;
main ()
{
char m[20];
cin.getline(m,5);
cout<}
//輸入:jkljkljkl
//輸出:jklj
//接受5個字符到m中,其中最後一個為'\0',所以只看到4個字符輸出;
/<iostream>

cin.get();:

cin.get(字符變量名)可以用來接收字符;

cin.get(字符數組名,接收字符數目)用來接收一行字符串,可以接收空格;

cin.get(無參數)沒有參數主要是用於捨棄輸入流中的不需要的字符,或者捨棄回車

//用法1
#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get(); //或者cin.get(ch);
cout<}
//輸入:jljkljkl

//輸出:j//用法1
#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get(); //或者cin.get(ch);
cout<}
//輸入:jljkljkl
//輸出:j
/<iostream>
/<iostream>


#include <iostream> 
using namespace std;
main ()
{
char a[20];
cin.get(a,20);
cout</<iostream>

cin.peek();:cin.peek()的返回值是一個char型的字符,其返回值是指針指向的當前字符,但它只是觀測指針停留在當前位置並不後移;如果要訪問的字符是文件結束符,則函數值是EOF(-1)

C語言基礎下的C++入門

cout.precision();:cout.precision()其實是輸出流cout的一個格式控制函數,也就是在iostream中的一個成員函數。precision()返回當前的浮點數的精度值,而cout.precision(val)其實就是在輸出的時候設定輸出值以新的浮點數精度值顯示,即小數點後保留val位

cout.width();:函數的返回值:當前輸出值。

學習C/C++的夥伴可以私信回覆小編“學習”領取全套免費C/C++學習資料及學習視頻

C語言基礎下的C++入門


分享到:


相關文章: