C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.

Slides:



Advertisements
Similar presentations
◎ 標準函數 標準函數庫中,提供了許多不同功能的函數,而這些函數 的原型宣告以及使用函數相關的定義,依照相關函數的分 類,分別定義在不同的標頭檔之中。 標準函數庫中,提供了許多不同功能的函數,而這些函數 的原型宣告以及使用函數相關的定義,依照相關函數的分 類,分別定義在不同的標頭檔之中。 本來呼叫使用標準函數庫裡的函數,也就是使用模組裡的.
Advertisements

电子成绩单项目实现.
第九章 字串 (String).
學習要點 1. 了解人力資源管理的策略重要性 2. 介紹何謂招募與裁員 3. 說明不同工作的最佳甄選工具 4. 解釋績效評估的各種方法
補充: Input from a text file
第六讲 指针与字符串 —— 为什么指针 —— 持久动态内存分配 —— 字符串(字符数组).
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
複習 struct score_Type{ int chinese,english; }; struct my_Type{
第4章 串 串的基本概念和C语言的串函数 串的存储结构 动态数组实现的顺序串 串的模式匹配算法——BF算法 主要知识点.
第六章 数 组 主讲教师 贾月乐 联系电话:
C File System.
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
主讲教师:吴琼 微信群:C语言2016 QQ群: 密码scu2016 昵称:“真名+学号”
函數 授課:ANT 日期:2009/3/24.
程序设计II 第三讲 字符串处理.
C 程式設計— 指標.
函數 授課:ANT 日期:2011/3/28.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
C 程式設計— 指標 台大資訊工程學系 資訊系統訓練班.
目录 第八章 数组 1 简单学生成绩管理系统的开发 2 一维数组 3 多维数组 4 字符数组 5 数组作函数参数.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C常用函数 输入输出 stdio.h 字符串处理 string.h 工具函数 stdlib.h 数学函数 math.h
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
Introduction to the C Programming Language
第4章 字串及資料的輸入/輸出格式.
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
第二章 顺序结构 1 数据类型和标识符、常量与变量 2 运算符和表达式 3 简单的输入输出 4 程序举例.
第四章 C 语言中的输入和输出.
程式設計 博碩文化出版發行.
THE C PROGRAMMING LANGUAGE
字符串和字符数组 字符串的输入和输出 字符串的基本操作
ACM程序员大赛讲座 _____C语言程序设计要点 讲授人:王敬华.
函 数 实验八 第24讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
第4章 顺序程序设计.
数组 梁春燕 华电信息管理教研室.
|09 陣列.
C语言概述 第一章.
第3章 變數、算術運算、 數學函數及輸入輸出.
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
大豆有望继续跨年度牛市行情 各位领导,各位同仁,大家下午好,我是浙商期货的徐文杰,今天下午我们团队将要讲的题目是 大豆有望展开跨年度牛市行情
C语言程序设计 教案 崔武子制作
函式庫補充資料.
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
輸出與輸入(I/O).
字符串 (String) 字符串是 n (  0 ) 个字符的有限序列, 记作 S = “c1c2c3…cn” 其中,S 是串名字
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C程序设计.
第二章 类型、对象、运算符和表达式.
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
Review 1~3.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
第四章 C 语言中的输入和输出.
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
Introduction to the C Programming Language
1.4WIN32中的宽字符.
本节内容 C语言中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
Oop7 字串 String.
Introduction to the C Programming Language
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
字串 第10章 part I 8/30/2019.
陣列與檔案處理 授課:張朝麟 日期:2009/3/11.
第11章 字符和内存处理 一、字符数组、指针和字符串的初始化作用 二、strlen函数确定字符串有效长度 三、strcpy函数拷贝字符串.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班

課程大綱 C語言簡介 基本資料型態, 變數, 基本輸入輸出 控制敘述- 選擇控制與重覆控制 陣列 函式 指標 字元與字串 結構 檔案處理

本次課程大綱 字元函式 函式型態轉換 字串輸入輸出 字串函式

字元與字串 字元 1 byte 字串 字元陣列

字元輸入輸出函式 getch(); getche(); getchar(); 代表由鍵盤輸入一個字元. getche()代表輸入字元時會印在螢幕上, getch()則不會. getchar()則是要按Enter鍵才代表資料輸入完成,並且輸入的字元會顯示在螢幕上 例子 putch() 和 putchar(). 例子:

字元函式 例子

字串的定義 所謂字串就是由一群字元構成的字元陣列, 但為了區別字串與一般字元陣列,因此在字元陣列末端加上一個’\0’字元碼,程式一旦讀到’\0’這個字元時,C語研將認定其為字串,同時也意謂著字串的結束. 下面這三個有啥不同? char str[]=“String”; char str[] = {‘S’,’t’,’r’,’i’,’n’,’g’,’\0’}; char ch_array = {‘S’,’t’,’r’,’i’,’n’,’g’};

字串的宣告 宣告字串就跟宣告字元陣列一樣,必須保留’\0’字元所須的空間. 有兩種宣告字串的方式: 例子:輸出字串中每一元素在記憶體的位址 char str[]=“String”; char str[] = {‘S’,’t’,’r’,’i’,’n’,’g’,’\0’}; 例子:輸出字串中每一元素在記憶體的位址 例子:建立一個存放星期名稱的字串, 並且將之輸出.

字串轉數值 標頭檔 : <stdlib.h> 例子 函式 函式原型 輸入值 回傳值 說明 atof double atof(const char *string); 要被轉型的字串 double資料型態 將字串轉成double資料型態 atoi int atoi(const char *string); int資料型態 將字串轉成int資料型態 atol long atol(const char *string); long資料型態 將字串轉成long資料型態

字串的處理函式 C語言提供字串的輸入出函式, 在使用前,必須在程式之前引入stdio.h這個標頭檔. C語言提供使用者許多字串處理的函式, 在使用前,必須在程式之前引入string.h這個標頭檔.

函式 標頭檔 功能 gets( ) stdio.h fgets( ) puts( ) strlen( ) string.h 從標準輸入裝置讀取一整行字串。 fgets( ) 從指定的檔案中讀取一整行字串(包含換行字元)或讀取指定長度的字串。 puts( ) 輸出字串到標準輸出裝置。輸出字串完畢後,將自動換行。 strlen( ) string.h 計算字串的長度,字串長度即字元個數(不包含字串結尾'\0')。 strcpy( ) 複製字串內容。 strncpy( ) 複製字串的子字串(前n個字元)內容。 strcat 連結字串內容。 strncat( ) 連結字串的子字串(前n個字元)內容。 strcmp( ) 比較兩字串是否相等。 strncmp( ) 比較兩字串的前n個字元是否相等。 strtok( ) 切割字串為一個個的token。

字串的輸入 scanf()跟gets() scanf()一旦讀到空白時,將會結束讀取動作,因此scanf()無法讀取含有空白間隔的字串; gets()在讀取字串時, 只有在碰到跳行字元’\n’時,才會結束停止的動作 例子1: scanf() 例子2: gets()

字串的輸出 printf()跟puts() puts()一次輸出一個字串,並且不具格式化的輸出,此外輸出完字串後,還會在字尾印出跳行字元’\n’. 例子: 以gets()輸入字串, 再以puts()輸出字串.

strlen() #include <string.h> size_t strlen(const char *s); 計算字串的長度,其單位長度以一個byte為單位,但不包括’\0’這個字元. 例子: 輸入一個字串, 計算出該字串的長度.

The length of "abcdefghijklmnopqrstuvwxyz" is 26 The length of "four" is 4 The length of "Boston" is 6 Copyright 1992-2004 by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

strcmp() #include <string.h> int strcmp(const char *s1, const char *s2); 比較兩個字串str1跟str2,比較其內容是否相同,若相同,則傳回0; 若不同,則比較兩個字串第一個不同字元的ASCII碼,若str1>str2,則傳回正數,反之,則傳回負數. 例子:設計一個程式,檢查輸入的字串是否相同.

strncmp( ) #include <string.h> int strncmp(const char *s1, const char *s2, size_t n); 比較s1、s2字串的前n個字元是否相等 練習:改寫上個程式,只比較前3個字元

strcpy() #include <string.h> char *strcpy(char *dest, const char *src); 將src字串內容複製到dest字串中(包含空字元). 例子:使用者輸入一個字串,程式會將該字串覆蓋原程式內定的字串.

strcat() #include <string.h> char *strcat(char *dest, const char *src); 將src字串內容連結到dest字串的結尾,覆蓋src字串的空字元’\0’,並且保留本身的’\0’. 例子:使用strcat()函數,將兩個字串合併為一,並且將之輸出.

strtok( ) #include <string.h> char *strtok(char *s, const char *delim); delim為分隔字元,s為欲切割的字串來源 將s字串中所出現的特殊字元(在delim字串中指定這些字元)當作分隔符號,將字串s切割成許多的token並一一回傳這些token,直到遇見指標字串的NULL為止(通常需配合迴圈將這些token取出)。NULL字元代表字串結尾 例子

字串陣列 一個陣列的元素若為字串,則稱之為字串陣列.由於字串本身即字元陣列,因此字元陣列可以二維陣列表示之. gets(word[4]); char word[30][50]; gets(word[4]); 以上為讀取輸入字串所需的函數,並且將存入字串陣列word[]的第5個元素. 例子: 輸入一個字串, 並比對該字串是否為一年中的某月.

問題: 計算出輸入字串中各字母的個數. 分別輸入姓跟名,然後把姓和名組合成一個名字,並且改寫小寫英文字母為大寫.

今天學到了什麼 如何使用字元函式 如何使用函式轉換型態 如何使用字串函式