- 0
- 0
- 约2.38万字
- 约 86页
- 2017-11-12 发布于广东
- 举报
第7章 数组 字符数组元素的引用 在一个字符数组中,每个元素存放一个字符。引用字符数组元素的方法与引用数值数组元素的方法相同。 引用一维字符数组元素的格式为: 字符数组名[ 下标 ] 引用二维字符数组元素的格式为: 字符数组名[ 下标 ][ 下标 ] 如下的程序输出一个字符串: #include stdio.h void main ( ) { char a[ ] = { A , ㄩ , b , o , y } ; int i ; for ( i = 0 ; i 5 ; i++ ) printf ( %c , a[ i ] ) ; printf ( \n ) ; } 运行结果: Aㄩboy 字符数组元素的引用 例:如下的程序用putchar函数把二维数组中所存的字符数据按行输出到屏幕,以构成字符图形。 #include stdio.h void main ( ) { char a[3][3] = { { * , ㄩ , * } , { ㄩ , * } , { * , ㄩ , * } } ; int i , j ; for ( i = 0 ; i 3 ; i++ ) { for ( j = 0 ; j 3 ; j++ ) putchar ( a[ i ][ j ] ) ; printf ( \n ) ; } } 结果 字符数组与字符串 如何用字符数组存储和处理字符串: 字符串结束标志:‘\0’ 一般在一个字符数组中从下标为0的元素开始,直到第1个\0字符(即字符串结束标志)为止,构成一个字符串,该字符串的长度等于该结束标志之前的有效字符的个数。 例如字符串常量“China”的存储形式如图 \0 a n i h C C语言之所以用\0字符作为字符串结束标志,是由于它是ASCII码为0的空操作字符,即什么也不做。于是,使用它作结束标志,既能达到用它来判断字符串是否结束的目的,又不会带来副作用。 字符数组与字符串 可以用字符串常量对字符数组进行初始化。 一般在一个字符数组中从下标为0的元素开始,直到第1个\0字符(即字符串结束标志)为止,构成一个字符串,该字符串的长度等于该结束标志之前的有效字符的个数。 例如: char a[ ] = { China } ; 等价于: char a[ ] = China ; 定义了含有6个元素的一维字符数组 当然,也可以指定数组的长度 例如:char a[ 10 ] = China ; 初始化效果如图所示: \0 \0 \0 \0 \0 a n i h C \0 a n i h C 系统自动加的字符串结束标记”\0” 字符数组与字符串 定义字符数组时,应保证数组的长度要大于可能处理的最长字符串的长度。 用字符数组存放字符串,可加‘\0’字符,也可以不加。但加上‘\0’字符作为结束标志,就和系统一致了,处理起来就比较方便,因为许多处理字符串的标准函数在判断字符串是否处理完时,都检查‘\0’字符。在对字符数组进行初始化时,可人为加一个‘\0’字符 。 例如:char a[ ] = { B , O , Y , \0 } ; 字符数组的格式输入输出 使用scanf和printf格式输入输出函数实现字符数组的输入和输出有以下两种格式: %c格式,即字符(char)格式,可用于单个字符的输入与输出。 %s格式,即字符串(string)格式,可用于字符串的输入与输出。 字符数组的格式输入输出 使用%s格式输出字符串 : 例如,如下的程序段: char a[ 10 ] = Cat\0Dog ; printf ( %s , a ) ; 结果 Cat 几点说明: 用%s输出a中字符串,遇到第一个‘\0’就结束输出,仅输出该‘\0’前面的3个字符。 用%s输出字符串,输出项一般应给出字符串的首地址,比如字符数组名a。但不是首地址也可以。 用%s输出一维数组中的字符串,直到遇到第一个\0字符才结束,与数组的长度无关。 例如,如下的程序段: char a[ 10 ] = Cat\0Dog ; printf ( %s , a +4) ; 结果 Dog 例如,如有定义: char a[ ] = { A , A , A } ;printf ( %s , a ) ; 输出a数组的3个A字符后,将继续输出a数组后面的字符,直到遇到一个\0字符为止 字符数组的格式输入输出 使用%s格式输入字符串 : 可用scanf函数以%s格式输入一个字符串赋给字符数组 例如: char a[ 10 ] = ********* ; sca
您可能关注的文档
- 人工智能导论课件作者鲍军鹏人工智能-1绪论.ppt
- AutoCAD2011及天正建筑8.2应用教程课件作者刘瑞新课件第10章节建筑图绘制实例.ppt
- 人工智能及其应用课件作者孔月萍周继第3_071101章.ppt
- 人工智能及其应用课件作者孔月萍周继第5_071103章.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第1章节.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第5章节.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第6章节.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第9章节.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第10章节.ppt
- AutoCAD2012+TAr章节8.5建筑制图课件作者莫正波第11章节.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)