二维数组的学习

二维数组

1.二维数组定义的一般形式为:
类型说明符 数组名[常量表达式][常量表达式];
例如:定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。
如下:float a[3][4],b[5][10];

2.四种方法对二维数组初始化:
分行给二维数组赋初值。
例如:int a[3][4]={{1,2,3,4},{5,6,7,8}, {9,10,11,12}};
可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。
例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

3.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
例如:int a[3][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};等价于:int a[ ][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

字符数组

1.对字符数组初始化,可逐个字符赋给数组中各元素。
例如:char c[10]={‘I’, ‘’,‘a’,‘m’,‘’,‘h’,‘a’,‘p’, ‘p’,‘y’}
为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”——‘\0’。

2.字符数组的输入输出可以有两种方法:
逐个字符输入输出。用格式符“%c”输入或输出一个字符。
将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。
用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。
如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。
输出字符不包括结束符′\0′。
如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。
可以用scanf函数输入一个字符串。
3.1. puts函数
其一般形式为: puts (字符数组)
其作用是将一个字符串(以′\0′结束的字符序列)输出到终端。
假如已定义str是一个字符数组名,且该数组已被初始化为"China"。则执行puts(str);其结果是在终端上输出China。
用puts函数输出的字符串中可以包含转义字符。
例如:
char str[]={″China\nBeijing″};
puts(str);
输出结果:
China
Beijing
4.gets函数
其一般形式为:gets(字符数组)
其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。
如执行下面的函数: gets(str)
从键盘输入:
Computer↙将输入的字符串"Computer"送给字符数组str
5.strcat函数
其一般形式为:strcat(字符数组1,字符数组2)
Strcat的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。
6. strcpy函数
其一般形式为:strcpy(字符数组1,字符串2)
strcpy是“字符串复制函数”。
作用:是将字符串2复制到字符数组1中去。例如:
char str1[10],str2[]={″China″};
strcpy(str1,”china”);
7.strcmp函数
其一般形式为:strcmp(字符串1,字符串2)
strcmp的作用是比较字符串1和字符串2。
例如:strcmp(str1,str2);
strcmp(″China″,″Korea″);
strcmp(str1,″Beijing″);
比较的结果由函数值带回
(1) 如果字符串1=字符串2,函数值为0。
(2) 如果字符串1>字符串2,函数值为一正整数。
(3) 如果字符串1<字符串2,函数值为一负整数。
注意:对两个字符串比较,不能用以下形式:
if(str1>str2)
printf(″yes″);
而只能用
if(strcmp(str1,str2)>0)
printf(″yes″);
8.strlen函数
其一般形式为: strlen (字符数组)
strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括′\0′在内)。
例如:char str[10]={″China″};
printf(″%d″,strlen(str));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值