Introduction to the C Programming Language

Slides:



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

电子成绩单项目实现.
翻开近代第一家族兴衰史: 宋氏家族私密生活相册 【单击切换】.
手太阳小肠经.
游泳四式技術分析暨初級教法.
四資二甲 第三週作業 物件導向程式設計.
第九章 字串 (String).
第六篇 借你一双慧眼——社交安全.
補充: Input from a text file
第六讲 指针与字符串 —— 为什么指针 —— 持久动态内存分配 —— 字符串(字符数组).
浅析广告语言的特性.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
第六章 数 组 主讲教师 贾月乐 联系电话:
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
函數 授課:ANT 日期:2009/3/24.
Introduction to the C Programming Language
程序设计II 第三讲 字符串处理.
函數 授課:ANT 日期:2011/3/28.
String C語言-字串.
项目六 用指针优化学生成绩排名 项目要求 项目分析
Introduction to the C Programming Language
Introduction to the C Programming Language
目录 第八章 数组 1 简单学生成绩管理系统的开发 2 一维数组 3 多维数组 4 字符数组 5 数组作函数参数.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
Introduction to the C Programming Language
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
第7章 编译预处理 本章要求: 本章重点: 本章难点: 掌握用#define定义无参数宏和带有参数宏定义和调用方法;
Introduction to the C Programming Language
Introduction to the C Programming Language
字符串和字符数组 字符串的输入和输出 字符串的基本操作
Instructor:Po-Yu Kuo 教師:郭柏佑
第八章 使用指针.
函 数 实验八 第24讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
Introduction to the C Programming Language
第十章 指针.
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
数组 梁春燕 华电信息管理教研室.
Struct結構 迴圈
C++大学基础教程 第5章 数组 北京科技大学 信息基础科学系.
第五章 串和数组 5.1 串的定义和操作 5.2 串的表示和实现 5.3 字符串应用 5.4 字符串匹配算法 5.5 数组
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
深度學習C++ Chapter 7 簡易字串 深度學習 C++ 簡易字串.
C语言复习3----指针.
第五章 串和数组 5.1 串的定义和操作 5.2 串的表示和实现 5.3 字符串应用 5.4 字符串匹配算法 5.5 数组
C语言大学实用教程 第6章 数组 西南财经大学经济信息工程学院 刘家芬
Introduction to the C Programming Language
函式庫補充資料.
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
字符串 (String) 字符串是 n (  0 ) 个字符的有限序列, 记作 S = “c1c2c3…cn” 其中,S 是串名字
C程序设计.
第4章 数 组.
第九章 指针.
第 9 章 建構函式與解構函式.
挑戰C++程式語言 ──第9章 函數.
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
Introduction to the C Programming Language
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
字串 第10章 part I 8/30/2019.
陣列與檔案處理 授課:張朝麟 日期:2009/3/11.
30 歲前 一定要做的21件事.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
Introduction to the C Programming Language
C语言基础学习 从外行到入门.
Presentation transcript:

Introduction to the C Programming Language 字串 (String)

字串 (String) 字串是一個結構性的資料型態,它的實施方式有兩種,一種是使用陣列結構,另一種是使用指標. 字串以空字元‘\0’來當作字串的結束值,它是函數處理字串所認定字串結尾的唯一方法. 字串的結構與一維的字元陣列是一樣的, 兩者的差別在於字串是以空字元‘\0’結束.

字串 (String) 字串的宣告 char 字串變數名稱 [字元個數] ; 例: char s2[13]; /* 宣告字串變數 s2 ,最多13個字元*/ char 字串變數名稱 [字元個數] = “字串常數” ; 例: char s2[ ]=“I like C.”; /*宣告字串變數 s2 ,不指定長度 ,初值為字串常數“I like C.” */ char *字串指標變數名稱 ; 例: char *s2; /* 宣告字串指標變數 s2*/ char *字串指標變數名稱 = “字串常數” ; 例: char *s2=“I like C.”; /*宣告字串指標變數 s2 ,最多13個字元,初值為字串常數“I like C.” */ s2 I l i k e C . \0 I l i k e C . \0

字串 (String) 範例一: 以字元陣列及字元指標變數表示字串 #include<stdio.h> main( ) { int i; char s1[13]; char s2[13]="I like C."; char *s3; char *s4="Thank you!"; printf("s2=%s\n",s2); printf(“s4=%s\n”,s4); /*印出字串指標變數s4所指的字串*/ for(i=0;i<13;i++) s1[i]=s2[i]; /*將s2 copy至s1*/ printf("s2=s1,then s1=%s\n",s1); s3=s4; printf(“s3=s4,then s3=%s\n”,s3); /*印出印出字串指標變數s3所指的字串*/ s3=s2; printf("s3=s2,then s3=%s\n",s3); }

字串 (String) 範例二: 示範字串資料的輸入與輸出 #include<stdio.h> main( ) { char *s1="I love C"; char *s2="\0"; char s3[20]; char s4[]="I like C"; printf("The s1 are:%s\n",s1); printf("The s2 are:"); gets(s2); puts(s2); printf("Enter s3 string: "); scanf("%s",&s3); printf("The s3 are:%s\n",s3); printf("The s4 are:%s\n",&s4); }

字串 (String) 範例三: 示範字串參數以call by address傳遞 #include<stdio.h> main( ) { void change(char *); char s[ ]="abcdefg"; char *t="ijklmnop"; change(s); change(t); puts(s); puts(t) } void change(char *x) *(x+2)='$'; *(x+5)='+';

常用的String Library Function C語言提供很多字串庫存函數,這些都存在string.h標頭檔裡 名稱 寫法 用途 strcat ( ) strcat(str1,str2) 將str2串接在str1之後 strncat ( ) strncat(str1,str2,n) 將str2的前面n個字元,串接在str1之後 strcpy ( ) strcpy(str1,str2) 將一個str2 複製到另一str1中 strncpy strncpy(str1,str2,n) 將str2前面 n個字元複製至str1字串 strcmp( ) strcmp(str1,str2) 將str1和str2由左至右依序比較其字元(根據ASCII值), 傳回一個函數值: 函數值<0str1<str2 函數值=0str1=str2 函數值>0str1>str2 strlen( ) strlen(str1) 傳回str1的長度 strchr( ) strchr(str1,ch) 根據ch的ASCII值,與str1比對,若無相同的ASCII值,則傳回空指標;若比對相同,則將出次出現的位址傳回 strstr( ) strstr(str1,str2) 從str2開始與str1比對,若無一樣的子字串,則傳回空指標;若一樣,則傳回str1比對一樣的位址

常用的String Library Function 範例四: strcat( ) #include<stdio.h> #include<string.h> main( ) { int i; char s1[40]="abcde"; char s2[40]="fghijk"; strcat(s1,s2,); printf("The new string are=%s\n",s1); }

常用的String Library Function 範例五: strncat( ) #include<stdio.h> #include<string.h> main( ) { int i; char s1[40]="abcde"; char s2[40]="fghijk"; strncat(s1,s2,3); printf("The new string are=%s\n",s1); }

常用的String Library Function 範例六: strcpy( ) #include<stdio.h> #include<string.h> main( ) { int i; char s1[40]="abcde"; char s2[40]="fghijk"; strcpy(s1,s2); printf("The new string are=%s\n",s1); }

常用的String Library Function 範例七: strncpy( ) #include<stdio.h> #include<string.h> main( ) { int i; char s1[40]="abcde"; char s2[40]="fghijk"; strncpy(s1,s2,3); printf("The new string are=%s\n",s1); }

常用的String Library Function 範例八: strcmp( ) #include<stdio.h> #include<string.h> main( ) { int i,p; char s1[40]="abcde"; char s2[40]="fghijk"; p=strcmp(s1,s2); printf("strcmp(s1,s2)=%d\n",p); }

常用的String Library Function 範例九: strlen( ) #include<stdio.h> #include<string.h> main( ) { int i,p,q; char s1[40]="abcde"; char s2[40]="fghijk"; p=strlen(s1); q=strlen(s2); printf("s1=%d;s2=%d\n",p,q); }

常用的String Library Function 範例十: strchr( )及strstr #include<stdio.h> #include<string.h> main( ) { char *p,*q,*ch2="am"; int ch1='a'; char *s1="I am OK"; char *s2="I am OK"; p=strchr(s1,ch1); q=strstr(s2,ch2); printf("s1 serach 'a'=%s ; s2 search 'am'=%s\n",p,q); }