c语言详细 pdf,C语言数组详细讲解.pdf

一、字符数组的 定义

一维字符数组:用于存储和处理 1 个字符串 ,其定义格式与一维数值数组一样。

char str[20];

二维字符数组:用于同时存储和处理多个字符串 ,其定义格式与二维数值数组一样。

char country[10][20];

country: 第 i 个字符串

二.字符数组的 初始化

字符数组的初始化 .

1.可以通过为每个数组元素指定初值字符来实现。

char str[10]={ 'I',' ','a','m',' ', ‘h ’ ,'a','p','p','y'};

char str[ ]={"I am happy"}; 可以省略花括号,如下所示

char str[ ]="I am happy";

char country[10][20]={ “china ” , ”japanese ” , …… };

注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用, 不能用于字符数组的赋

值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的

char str[15];

str="I am happy";

strcpy(str, "I am happy");

不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号 “”而不是单

引号 ‘’括起来的)作为初值。

‘a ’区别“a ”

三、 字符数组的引用

字符数组的逐个字符引用,与引用数值数组元素类似。

(1)字符数组的输入

除了可以通过初始化使字符数组各元素得到初值外,也可以使用 getchar()或 scanf()函数

输入字符。

例如:

char str[10] ;

…… for(i=0; i<10; i++)

{ scanf(\"%c\", &str) ;

fflush(stdin); /* 清除键盘输入缓冲区 */

}

……

(2 )字符数组的输出

字符数组的输出,可以用 putchar() 或 printf() 函数。

例如:

char str[10]=\"c language\";

……

for(i=0; i<10; i++) printf(\"%c\", str) ;

printf(\"\\n\");

……

注意:逐个字符输入、输出时,要指出元素的下标,而且使用 “%c格式符。另外,从键”

盘上输入字符时, 无需输入字符的定界符──单引号; 输出时,系统也不输出字符的定界符。

字符数组的整体操作

[ 案例 ] 字符数组的整体输入与输出。

/* 功能:将 2 维字符数组进行初始化,并在屏幕上输出 */

main()

{ int i;

char name[5][9]={" 张三山 ", " 李四季 ", " 王五魁 ", " 刘六顺 ", " 赵七巧 "};

for(i=0;i<5;i++)

printf("\\n%s\\t",name); /*name 代表该行数组元素的首地址 */

}

1.字符串及其结束标志

所谓字符串,是指若干有效字符的序列。 C 语言中的字符串,可以包括字母、数字、专用字

符、转义字符等。

C 语言规定: 以 ‘0 ’作为字符串结束标志 ( ‘0 ’代表 ASCII 码为 0 的字符,表示一个 “空操作 ”,

只起一个标志作用) 。因此可以对字符数组采用另一种方式进行操作了──字符数组的整体

操作。

注意: 由于系统在存储字符串常量时, 会在串尾自动加上 1 个结束标志, 所以无需人为地再

加 1 个。

另外, 由于结束标志也要在字符数组中占用一个元素的存储空间, 因此在说明字符数组长度

时,至少为字符串所需长度加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一篇 圆梦开篇 迈入程序设计的殿堂 怎样成为一名优秀的程序设计员 程序设计语言发展简史 选择您喜爱的程序设计语言 第二篇 语言基础篇 语法基本概念 C语言的数据输入与输出 C语言程序结构设计 结构化程序设计技巧 第三篇 算法模型篇 实例一 百钱百鸡问题 实例二 分油趣题 实例三 婚礼上的诺言 实例四 黑与白 实例五 歌德巴赫猜想 实例六 回文素数 实例七 中将彩球 实例八 魔术师的秘密 实例九 幸运的基督徒 实例十 汉诺诺 第四篇 数据结构篇 实例一 电子通讯录 实例二 电子通讯的排序 实例三 电话留言箱 实例四 后缀式四则计算器 第五篇 图形音乐篇 计算机作图概述 BGI图形函数作图 实例一 美丽的宝石图案 实例二 用系统定义的线型 实例三 绘制心形图案 实例四 填充图形的使用 实例五 图形方式下的文本输出 实例六 各种实用图表的制作 高级图形设计 实例七 奇怪的人脸 实例八 漫步在Mandelbrot集 实例九 海湾地貌图 实例十 歌曲《雪绒花》 实例十一 自动识谱程序 实例十二 后台演奏程序 第六篇 动画游戏篇 实例一 玩具脚踏车 实例二 星际遨游 实例三 小精灵游戏 实例四 智力九宫格 第七篇 加密解密篇 实例一 数据库文件加密 实例二 还原加密的Fox文件 实例三 伪随机数加解密 实例四 口令加密法 实例五 激光加密法 第八篇 程序界面篇 实例一 小日历 实例二 下拉式菜单 实例三 汉字库的生成与显示 附录一 math.inc 附录二 graphic.inc 附录三 reander.inc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值