字串 第10章 part I 8/30/2019.

Slides:



Advertisements
Similar presentations
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
Advertisements

电子成绩单项目实现.
元宵猜燈謎.
新建本科院校 应用型人才培养若干问题探析 张德江.
第九章 字串 (String).
怪物城市中的怪物居民,電力來源是人類世界孩童 的尖叫聲。怪物公司的「驚嚇專員」利用衣櫃門, 在夜裡潛入人類孩子的臥室中嚇唬他們並收集他們 的尖叫聲。怪物們相信,人類孩童周身都有劇毒, 只要輕輕一下接觸就致其死命,所以驚嚇專員的工 作也被認為非常危險。不過人類孩子們膽子變得越 來越大,這樣的電力生產方式開始衰退。
年度校樹選拔秀 主辦單位:楊梅國小.
第九章日治時期的台灣(下).
補充: Input from a text file
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
簡易送審動態案件網 路報送作業操作訓練 資料來源 銓敘部製作 報告人 饒瑞恭 日 期: 101 年 6 月 15 日.
高级语言程序设计 C++程序设计教程(下) 2006年春季学期 与一些教材的区别 偏重理论,不去讨论某个系统的具体使用方法,但会涉及实现技术
放鬆心情, 請閉上雙眼, 打開耳朵聽聽。 您聽見了什麼? 水晶音樂 讀書會即將開始唷~.
天 地 会.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
複習 struct score_Type{ int chinese,english; }; struct my_Type{
第一章 程序设计入门.
第六章 数 组 主讲教师 贾月乐 联系电话:
C File System.
函數 授課:ANT 日期:2009/3/24.
计算概论 第二十一讲 文件操作 北京大学信息学院.
程序设计II 第三讲 字符串处理.
函數 授課:ANT 日期:2011/3/28.
Introduction to the C Programming Language
Introduction to the C Programming Language
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
Introduction to the C Programming Language
第4章 字串及資料的輸入/輸出格式.
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
程式設計 博碩文化出版發行.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
第四章 C 语言中的输入和输出.
C++程序设计 string(字符串类) vector(容器类).
字符串和字符数组 字符串的输入和输出 字符串的基本操作
第八章 使用指针.
第十章 指针.
数组 梁春燕 华电信息管理教研室.
Struct結構 迴圈
創意與創新管理 上課記實 創意行銷 石怡芬老師.
東部海岸 馬蘭國小 五年己班 閔芳頤 Enter
中國的祭祀上帝 中國自夏朝 (2205 B.C.) 到清末 (1911 A.D.) 每年都由皇帝主持 "祭天" 之禮,
自我參考結構 (self-reference – 1)
|09 陣列.
C语言概述 第一章.
屏東縣海豐國小 六年乙班 二十六號 游怡靜.
注音輸入法教學 大華技術學院資管系 指導老師:陳信如老師 學生:王麗嵐.
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
函式庫補充資料.
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
輸出與輸入(I/O).
字符串 (String) 字符串是 n (  0 ) 个字符的有限序列, 记作 S = “c1c2c3…cn” 其中,S 是串名字
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C程序设计.
合歡山 馬蘭國小 五年己班 何宜倞 ENTER.
智慧財產權宣導 ● 仿冒品篇 ●.
My life.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
第四章 C 语言中的输入和输出.
第 9 章 建構函式與解構函式.
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
Introduction to the C Programming Language
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
變數與資料型態  綠園.
第11章 字符和内存处理 一、字符数组、指针和字符串的初始化作用 二、strlen函数确定字符串有效长度 三、strcpy函数拷贝字符串.
Q6. 某學校將學生的電話號碼存貯在一個文字檔'telist.txt'。 在這交字檔中,每行有14個字符,代表學生班別、班號和電話號碼,
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

字串 第10章 part I 8/30/2019

大綱 宣告與初始化方 式 字串的長度 字串拷貝, 連結與 複製 8/30/2019

10.1 宣告與初始化方式 字串(string)定義 字串表示方法 宣告字串的方法 字串指標 gets()---取得字串 puts()--字串的輸出 8/30/2019

字串(string)定義 char string [100]; char *string; 字元串列 (character list)—由字元(char) 組成的一連 串資料 字串是個字元陣列, 陣列的基本性質都能運用在 字串 例子: char string [100]; char *string; 8/30/2019

字串表示方法 字串的結尾是 ″\0″ , 這表示字串到此停止 所以, 下列字串 ″Hello World″ 表示 \0 H e l l o 字串的結尾是 ″\0″ , 這表示字串到此停止 所以, 下列字串 ″Hello World″ 表示 H e l l o W o r l d \0 8/30/2019

宣告字串的方法 char str1[10]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’}; char str1[80]; 字串初始化 char str1[10]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’}; char str1[80]; char str1[]= ″hello″; char *str1 = ″hello″; 8/30/2019

字串指標 P o i n t e r v w \0 msg3 msg2 N u l a r y s i z e \0 * 字串名稱亦是一個指標 P o i n t e r v w \0 msg2 N u l a r y s i z e \0 8/30/2019

字串指標 char msg2[] = "Null array size"; char *msg3 = "Pointer view"; ……………….. …………………. msg3 = msg2; 執行這行後指標有何改變? 8/30/2019

gets()---取得字串 gets(msg4); char msg4[80]; 定義在 stdio.h 標頭檔的函式, 用來讀取來自鍵盤的 字串 使用前須先宣告一個足夠的字串空間 char msg4[80]; …………. ………….. printf("\n\n Enter a string : "); gets(msg4); printf(" msg4 : %s\n",msg4); 8/30/2019

puts()--字串的輸出 puts("Your name is: "); char lastname[20]; char firstname[20]; ………………. printf("please input your first name: "); gets(firstname); puts("Your name is: "); printf("%s ", firstname); 8/30/2019

上機練習 p10-1.c: 宣告幾種字串及初值, 再將其輸出(%s格式) P10-2.c: 以學過的 sizeof() 檢查以下字串的長度. "Hello Kitty" P10-3.c: 運用 gets() 函數讓users 可以輸入至少30個 字元的字串, 再以 puts() 將其結果輸出 8/30/2019

上機練習 P10-4..c:字串搜尋. 搜尋下表某一個字串,並找到 出現這些字串所有位置與次數 At the first God made the heaven and the earth. And the earth was waste and without form; and it was dark on the face of the deep: and the Spirit of God was moving on the face of the waters. 8/30/2019

上機練習 演算法 設定字串 str[] 輸出字串 str[] 輸入欲搜尋之字串 find[] 計算欲搜尋之字串長度 利用迴圈取出原字串的每個字元 自str[] 字串取出的字元與搜尋字串的第一個字元 比對,若字元相等, 則可與搜尋字串繼續比對, 否則 跳到原字串的下一個字元比對 8/30/2019

10.2 字串的長度 字串長度如何計算? 8/30/2019

size_t strlen(const char*); 字串長度如何計算? size_t strlen(const char*); 函式 strlen() 原型 我們解釋一下上面的函式: 當函式 strlen() 接收到字 串參數時, 它會從該參數所指的位址開始, 一直遇到 空字元(\0)為止, 計算其間共有多少字元, 這值即是 字串的長度 此一函式定義於 string.h 標頭檔中 8/30/2019

舉例 s t r i n g 2 \0 以下的字串, 如以strlen() 處理後其長度各為? str1 s t r i n g 1 L e 8/30/2019

上機練習 演算法 設定一個函式名稱為myStrlen() 呼叫將要計算的字串的函式 myStrlen() (P10-5..c)是否可以自己寫一個程式計算字串長度? 演算法 設定一個函式名稱為myStrlen() 呼叫將要計算的字串的函式 myStrlen() 當函式 myStrlen() 接收到字串參數時, 它會從該 參數所指的位址開始, 一直遇到空字元(\0)為止, 計算其間共有多少字元(以一for 迴圈處理) 8/30/2019

10.3 字串拷貝, 連結與複製 字串拷貝—strcpy() 8/30/2019

字串拷貝—strcpy() char *strcpy(char *dest, const char *source); 字串拷貝主要的目的是想要形成另外一個完整的字 串 有一個指令,叫做strcpy(string copy),在複製字串 之前,我們要先準備一個陣列 char *strcpy(char *dest, const char *source); 8/30/2019

字串拷貝 下面的例子(strcpy.c)說明msg[] 字串拷貝至 dest[] 字串 char msg[] = "String copy"; char dest[30] = "garbage"; ……………. strcpy(dest,msg); 8/30/2019

字串拷貝—strncpy() char *strncpy(char *dest, const char *source,size_t n); 8/30/2019

字串拷貝 下面的例子(strcpy.c)說明將 msg[] 字串的前面9個字 元拷貝至 dest[] 字串 char msg[] = "String copy"; char dest[30] = "garbage"; ………………………… ……………………….. strncpy(dest, msg, 9); 8/30/2019

上機練習 演算法 字元陣列宣告 字元指標宣告 顯示字串內容 字串複製的迴圈 (P10-6..c)宣告2個指標變數分別指向字元陣列的字串和 字串常數, 然後使用指標運算來複製字串內容 演算法 字元陣列宣告 字元指標宣告 顯示字串內容 字串複製的迴圈 8/30/2019