数组

一维数组

定义

长度

内容

备注

int a[5]={0,1,2,3,4}

5

{0,1,2,3,4}

定义全部元素

int a[5]={0}

5

{0,0,0,0,0}

只用于元素全为0

int a[]={0,1,2,3,4}

5

{0,1,2,3,4}

自动确定数组长度

int a[5]={0,1,2}

5

{0,1,2,0,0}

定义部分元素

二维数组

定义全部元素:

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};

int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

这三种方法是等价的,但第一种方法可读性高。

定义部分元素:

int a[3][4]={{1},{5},{9}};第一列三个元素为1,5,9;

int a[3][4]={{1},{0,6}};第一行第一个元素为1第二行前两个元素为0和6;

int a[3][4]={{1},{},{6}};第一行第一个元素为1第三行第一元素为6;

int a[][4]={{0,0,3},{},{0,10}};数组各元素为:0  0  3  0

                                            0  0  0  0

                                            0  10 0  0

字符数组

char c[]={‘I’,‘ ’,‘a’,‘m’,‘ ’,‘h’,‘a’,‘p’,‘p’,‘y’};自动确定数组长度为10;

char c[]=“I am happy”;或char c[]={“I am happy”};

自动确定数组长度为11,添加了空字符\0;

在输出字符%c时空格和‘\0’都是空格,在输出字符串%s时两者不同。

字符串函数

puts(字符数组);

将一个字符串(以‘\0’为结束的字符序列)输出到终端并换行。

gets(字符数组);

从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址,一般用于输入字符串不太关心函数值。

gets函数与scanf函数:

gets函数可输入空格,scanf不行,但连续输入空格会输入到第二个字符串使第二个字符串无法输入,不过两个函数输入回车键都不影响输入。

注意:puts和gets函数一次只能输出和输入一个字符串不能写成puts(a,b);或gets(a,b);

 

 

string.h中的函数:

strcat(字符数组1,字符数组2);

strcat是string catenate的缩写。

作用是把字符数组2连接到字符数组1后面,结果放在字符数组1中,返回函数值为字符数组1的地址。

eg:char str[30]={“People’s Republic of”};

   printf(“%s”,strcat(str,“China”));

输出结果:People’s Republic China

注意:字符数组1必须足够大容纳新字符串。

strcmp(字符串1,字符串2);

strcmp是string compare的缩写。

作用是比较两个字符串。

若字符串1与字符串2相同则返回0;

若字符串1>字符串2则返回一个正数;

若字符串1<字符串2则返回一个负数。

strcpy(字符串数组1,字符串2);

strcpy是string copy的缩写。

作用是将字符串2复制到字符数组1中去。

注意:

(1)其中“字符串数组1”必须写成数组名形式,“字符串2”可以是字符数组名,也可以是一个字符串常量。

(2)如果在复制前未对str1数组初始化或赋值,则str1各字节中的内容无法预知,复制时将字符串2中的字符串和其后的‘\0’一起复制到字符数组1中,而后面的字符不一定是‘\0’,而是字符数组1原有的内容。

strncpy(字符串数组1,字符串2,复制长度n);

作用是将字符串2中前n个字符复制到字符数组1中取代最前面n个字符。复制个数n不应多于字符串数组1长度(不包括‘\0’)。

strlen(字符数组);

strlen是string length的缩写

作用是返回字符数组长度(不包括‘\0’在内)。

strlwr(字符串);

strlwr是string lowercase的缩写

作用是将字符串中大写字母换成小写字母。

strupr(字符串);

strupr是string uppercase的缩写

作用是将字符串中小写字母换成大写字母。

posted @ 2018-01-30 21:23  Limulus  阅读(263)  评论(0)    收藏  举报