挑戰C++程式語言 ──第8章 進一步談字元與字串

Slides:



Advertisements
Similar presentations
猜谜语 有个小娃娃,真是没 礼貌。 见到小树摇一摇,吓 得树叶哇哇叫。 见到小花逗一逗,摘 去她的太阳帽。 没人和它交朋友,只 好自已到外处跑。
Advertisements

資料坐火車 …… 談陣列 (Array) 綠園 2008/12/15. Array 的宣告 整數陣列的宣告  int student[5]; 意義:宣告了 5 個 int 大小的連續空間,名稱 為 student ,沒有預設值,則為系統殘值。 student student[0] student[1]
綠園 2012/11/06. Array 的宣告 整數陣列的宣告 int student[5]; 意義:宣告了 5 個 int 大小的連續空間,名稱 為 student ,沒有預設值,則為系統殘值。 student student[0] student[1] student[4] student[2]
綠園 2012/11/06. Array 的宣告 整數陣列的宣告 int student[5]; 意義:宣告了 5 個 int 大小的連續空間,名稱 為 student ,沒有預設值,則為系統殘值。 student student[0] student[1] student[4] student[2]
第一單元 建立java 程式.
黄帝内经 内经教研室 王黎.
第4章 VB.NET程式與 網頁製作的應用 主講人: 姚奉緒 M
大洋洲.
职官与科举 职官:在国家机构中担任一定职务的官吏,这里面有职官的名称、职权范围和品级地位等方面的内容。
花开有日 芬芳天下 “国培计划(2012)” ——幼儿园骨干教师远程培训项目 山东幼儿园教师8班第4期简报 主办人:张瑞美     
《卖火柴的小女孩》 《海的女儿》 你 认 识 这 些 图 片 的 故 事 吗 《丑小鸭》 《拇指姑娘》 它们都来自于哪位作家笔下?
当代 国 际 关 系(案例6) 冷战时期美苏关系的演变.
民主國家的政府體制 我國的中央政府體制 我國中央政府的功能 地方政府組織與功能
手太阳小肠经.
銷售與顧客關係管理 巫立宇.邱志聖 著.
游泳四式技術分析暨初級教法.
99年成語200題庫(21-40).
20、豆花庄的小家伙们.
第九章 字串 (String).
CH11 心理疾病 李志鴻.
华 夏 之 祖 第 3 课.
法學緒論第六單元:法律適用 設計課程︰ 財經法律系 --楊東連 法學緒論-6.
第四章 陣列、字串與排序.
CH1 . 集 合 与 命 题.
Ch19 創業精神 管理學:整合觀點與創新思維3/e.中山大學企管系 著.前程文化 出版.
以考试说明带动二轮复习 福州第三中学 张璐.
File Access 井民全製作.
跨越海峡的生命桥.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
第4章 串 串的基本概念和C语言的串函数 串的存储结构 动态数组实现的顺序串 串的模式匹配算法——BF算法 主要知识点.
13 C++字串 字串與數值轉換函數 13.1 C++字串類別 建立C++字串 13-2
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
複習 int count=8; int* pt=&count; //等於 pt=&count, //不等於*pt=&count
Visual C++ introduction
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 指定字串的初值 8-3 指標與字串 8-4 字串處理 8-5 C語言的字串函數.
程序设计II 第三讲 字符串处理.
String C語言-字串.
Introduction to the C Programming Language
C語言簡介 日期 : 2018/12/2.
生物資訊程式語言應用 Part 3 Perl Language.
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
Introduction to the C Programming Language
C++程序设计 string(字符串类) vector(容器类).
Introduction to the C Programming Language
第3章 指標與字串 (Pointers and Strings)
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
10298: Power Strings ★★☆☆☆ 題組:Problem Set Archive with Online Judge
Chap3 Linked List 鏈結串列.
第一單元 建立java 程式.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
第九章 字串.
深度學習C++ Chapter 7 簡易字串 深度學習 C++ 簡易字串.
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
字符串 (String) 字符串是 n (  0 ) 个字符的有限序列, 记作 S = “c1c2c3…cn” 其中,S 是串名字
挑戰C++程式語言 ──第7章 輸入與輸出.
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
函數應用(二)與自定函數.
1.4WIN32中的宽字符.
本节内容 C语言中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Oop7 字串 String.
Introduction to the C Programming Language
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
Unix指令4-文字編輯與程式撰寫.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
Presentation transcript:

挑戰C++程式語言 ──第8章 進一步談字元與字串

本章主題 字元的應用 字串的應用

字元的應用 字元的宣告與初值設定 字元的運算 char c ='1'; char c = 49; char c('1'); char c = 'a'; c++ ;

字元的應用 控制字元 cout << "\f"; cout << "\n\f\f"; cout << '\n' << '\f' << '\f';

字元的應用 測試字元

字元陣列 【正確的語法】 char s2[6] = {'o','b','j','e','c','t'}; 【錯誤的語法】 char s8[6] = {'o','b','j','e','c','t',' ','o','r','i','e','n','t','e','d'}; char s9[8] = "object oriented";

字元陣列 【正確的語法】 char s8[15] = {'o','b','j','e','c','t',' ','o','r','i','e','n','t','e','d'}; char s9[15] = "object oriented"; 【錯誤的語法】 char s10[8],s11[8]; // 正確 s10 = "object"; // 錯誤 s11[] = "object"; // 錯誤  

字串的應用 字串的宣告與初值設定 【strcpy()函數語法】 string name1; // 宣告空字串name1 string address = (“住址”); // 也可以用函數方式設定其值 name1 = “姓名”; // 用雙引號設定name1的初值 char s1[size], s2[size]; strcpy(s1,s2) // 將s2複製到s1。 strncpy(s1,s2,n) // 將s2的前n個字元取代s1的前n個字元

字串的應用 字串的連結 : + 【strcat()函數語法】 string s1 = "object"; char s2[] = "oriented"; string s3 = "analysis"; s1 = s1 + " " + s2 + " " + s3; char s1[size],s2[size]; strcat(s1,s2); // 將s2加到s1之後 strncat(s1,s2,n); // 將s2的前n個字元加到s1之後

字串的應用 字串的長度 【length語法】 s1 = "object"; cout << "s1.length = " << s1.length() << endl; 則印出 s1.length = 6 string s1; s1.length; // 傳回s1的長度

字串的應用 字串的長度 【length語法】 【strlen()函數語法】 s1 = "object"; cout << "s1.length = " << s1.length() << endl; 則印出 s1.length = 6 string s1; s1.length; // 傳回s1的長度 char s1[size]; strlen(s1); // 傳回s1的長度

字串的應用 子字串 【substr()函數語法】 string s1; s1.substr(a); // 擷取string s1的第a個字元至最後一個字元。 s1.substr(a,b); // 從string s1的第a個字元開始擷取b個字元。

【compare( )函數如何判定string的大小】 字串的應用 比較字串大小 【compare( )函數如何判定string的大小】 string s1 = "object oriented analysis"; string s2 = "object oriented design"; if (s1 > s2) 若s1 大於 s2 則s1.compare(s2) 的結果大於0。 若s1 等於 s2 則s1.compare(s2) 的結果等於0。 若s1 小於 s2 則s1.compare(s2) 的結果小於0。

比較字串大小 【compare( )函數語法】 string s1, s2; s1.compare(s2); // 比較s1 與 s2 s1.compare(i1,len1,s2); // 比較s1.substr(i1,len1) 與 s2 s1.compare(i1,len1,s2,i2,len2); // 比較s1.substr(i1,len1) 與 // s2.substr(i2,len2)   s1.compare("test string"); // 比較s1 與 "test string" s1.compare(i1,len1,"test string"); // 比較s1.substr(i1,len1) 與 "test string" s1.compare(i1,len1," test string",len2); // 比較s1.substr(i1,len1) 與 "test string"兩者的前len個字元

比較字串大小 【strcmp()函數語法】 char s1[size], s2[size]; // 也可以宣告為char *s1, *s2; strcmp(s1,s2); // 比較s1與s2,若 // s1 > s2 則傳回值 > 0 // s1 == s2 則傳回值 == 0 // s1 < s2 則傳回值 < 0 strcmp(s1,s2,n); // 比較s1與s2兩者的前n個字元

尋找某字串 【find( )函數語法】 【find( )函數進階語法】 string s1, s2; s1.find(s2); // 在字串s1中尋找子字串s2 // s2可以是單一字元 if(s1.find(s2)==string::npos)  Not Found s1.find(s2,i1); // 從s1[i1]開始搜尋s2 s1.find(s2,i1,len2); // 從s1[i1]開始搜尋s2.substr(0,len2) s1.find("find string",i1); // 從s1[i1]開始搜尋 "find string" s1.find("find string",i1,len2); // 從s1[i1]開始搜尋"find string"的前len2個字元

【find_first_of( )函數語法】 尋找特定字元 【find_first_of( )函數語法】 string s1, s2; s1.find_first_of(s2); // 從s1[0]開始找屬於s2中的元素 s1.find_first_not_of(s2); // 從s1[0]開始找不屬於s2中的元素 s1.find_last_of(s2); // 從s1尾端開始找屬於s2中的元素 s1.find_last_not_of(s2); // 從s1尾端開始找不屬於s2中的元素

插入字串 【insert()函數語法】 string s1, s2; s1.insert(i1,s2); // 將s2插入到s1[i1]之前 s1.insert(i1,"insert string"); // 將 "insert string" 插入到 // s1[i1]之前 s1.insert(i1,s2,i2,len2); // 將s2.substr(i2,len2)插入到 s1.insert(i1,"insert string",len2); // 將 "insert string" 的前len2個字元插入到 s1[i1]之前 s1.insert(i1,len2,ch); // 將連續len2個字元ch插入到s1[i1]之前

替換字串內容 【replace( )函數語法】 string s1, s2; s1.replace(i1,len1,s2); // 將s1.substr(i1,len1)替換為s2 s1.replace(i1,len1,len2,ch); // 將s1.substr(i1,len1)替換為 // 連續len2個ch字元 s1.replace(i1,len1,s2,i2,len2); // 將s1.substr(i1,len1)替換為 // s2[i2,len2]

刪除子字串 【erase( )函數語法】 string s1; s1.erase(i1,len1); // 將s1.substr(i1,en2)刪除

結論 初值設定 字串的連結 字串的長度 子字串 比較字串大小 尋找某字串 尋找特定字元 插入字串 替換字串內容 刪除子字串