C++ 基礎文法學習(一)

來源:互聯網
上載者:User

(一)using的使用:

   最常見的是:    

#include <iostream>
using namespace std;

  還有更普通的:

#include <string>
#include <iostream>
using std::string;
using std::cin; //這三個是iostream裡的
using std::endl;
using std::cout;
using std::boolalpha; //解釋下這個:輸出bool類型的字串類型的名字true或false
using std::getline; //getline 讀取整行文本
//關於getline :只要 getline 遇到分行符號,即便它是輸入的第一個字元,getline 也將停止讀入並返回。//如果第一個字元就是分行符號,則 string 參數將被置為空白 string。

(二)string 對象的操作:

s.empty()      如果 s 為空白串,則返回 true,否則返回 false。

s.size()       返回 s 中字元的個數

s[n]           返回 s 中位置為 n 的字元,位置從 0 開始計數

s1 + s2        把 s1 和s2 串連成一個新字串,返回新產生的字串

s1 = s2        把 s1 內容替換為 s2 的副本

v1 == v2       比較 v1 與 v2的內容,相等則返回 true,否則返回 false

下面來看個使用上面功能的例子:

 

#include <string>
#include <iostream>
using std::string;
using std::cin;
using std::endl;
using std::cout;
using std::boolalpha;
using std::getline;
int main()
{
string line;
string strtmp;
// read line at time until end-of-file
cout <<"請輸入line:";
while (getline(cin, line))
{
cout << line << endl;
cout << "line的長度:" <<line.size()<<endl;
cout << boolalpha << line.empty();
cout << "字串裡的第六個字元:" <<line[5] << endl; //輸出字串裡的第六個字元(從0開始的)
cout <<"請輸入strtmp:";
cin >> strtmp;
cout << "strtmp + line :" << strtmp + line << endl;
strtmp = line;
cout << strtmp << endl;
cout << "strtmp 和 line相等嗎?" << boolalpha << (strtmp == line) << endl;
cout <<"請輸入line:";
}
return 0;
}

(三)string 對象中字元的處理:

isalnum(c)      如果 c 是字母或數字,則為 True。

isalpha(c)      如果 c 是字母,則為 true。

iscntrl(c)      如果 c 是控制字元,則為 true

isdigit(c)      如果 c 是數字,則為 true。

isgraph(c)      如果 c 不是空格,但可列印,則為 true。

islower(c)      如果 c 是小寫字母,則為 true。

isprint(c)      如果 c 是可列印的字元,則為 true。

ispunct(c)      如果 c 是標點符號,則 true。

isspace(c)      如果 c 是空白字元,則為 true。

isupper(c)      如果 c 是大寫字母,則 true。

isxdigit(c)     如果是 c 十六進位數,則為 true。

tolower(c)      如果 c 大寫字母,返回其小寫字母形式,否則直接返回 c。

toupper(c)      如果 c 是小寫字母,則返回其大寫字母形式,否則直接返回 c。

同樣的,咱們來看個使用上面功能的例子:

 

#include <string>
#include <iostream>
using std::string;
using std::cin;
using std::endl;
using std::cout;
using std::boolalpha;
int main()
{
string line;
cout <<"請輸入line:";
while (cin >> line)
{
bool tmp;
tmp = isalnum(line[0]); //功能都對應著上面的
cout << boolalpha << tmp <<endl;
tmp = isalpha(line[1]);
cout << boolalpha << tmp <<endl;
tmp = iscntrl(line[2]);
cout << boolalpha << tmp <<endl;
tmp = isdigit(line[3]);
cout << boolalpha << tmp <<endl;
tmp = islower(line[4]);
cout << boolalpha << tmp <<endl;
tmp = isprint(line[5]);
cout << boolalpha << tmp <<endl;
tmp = ispunct(line[6]);
cout << boolalpha << tmp <<endl;
tmp = isspace(line[8]);
cout << boolalpha << tmp <<endl;
string strtmp;
for (int i = 0; i < 10; i++)
{
strtmp[i] = toupper(line[i]);
cout << strtmp[i];
}
cout <<endl;
cout <<"請輸入line:";
}
return 0;}

未完待續...................

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.