欢迎来到天天文库
浏览记录
ID:1468864
大小:214.50 KB
页数:38页
时间:2017-11-11
《高级语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、高级语言程序设计陈玉华第4章数据组织4.1数组4.2字符串4.3结构体与共用体数组一维数组二维数组一维数组定义方法:数据类型数组名[数组长度];使用方法:通过使用下标来完成,即:数组名[下标];初始化原则:各数组元素初值依次写在{}中,用逗号“,”隔开。二维数组定义方法:数据类型数组名[行数][列数];使用方法:通过使用二级下标来完成,即数组名[行标][列标]初始化:可以像一维数组一样依次赋值,也可以按行进行赋值。数组和数组元素以及变量的关系一维数组及数组元素和变量的关系二维数组及数组元素和变量的关系一维数组实例斐波那契数列排序逆序
2、杨辉三角二维数组实例杨辉三角求鞍点魔方字符串定义方法:char数组名[数组长度];使用时请注意:1)字符数组能够存储的字符串的长度最长为数组长度-1,因为要留一个位置来存储字符串结束标志’ ’。2)可以对字符数组(字符串)进行整体的输入和输出操作。常用的字符串操作函数字符串的输入、输出函数:charstring[1000];方法1:字符串的整体输入输出(1)用格式输入函数scanf()scanf(“%s”,string);(2)用字符串输入函数gets()gets(string);请注意这两种不同输入方法之间的差别。方法2:依次输
3、入字符(1)用格式输入函数scanf()scanf(“%c”,&ch);while(ch){string[i]=ch;scanf(“%c”,&ch);i++;}(2)用字符输入函数getchar();while(ch=getchar()){string[i]=ch;i++;}字符串的输出函数方法1:整体输出(1)用格式输出函数printf()。printf(“%s”,string);(2)用字符串输出函数puts()。puts(string);方法2:单个字符依次输出:(1)用格式输出函数printf()i=0;while(stri
4、ng[i])printf(“%c”,string[i]);(2)用字符输出函数putchar()i=0;while(string[i]){putchar(string[i]);i++;}以下的这些函数都包含在库文件string.h中求字符串长的函数:strlen()strlen(string);字符串的比较strcmp()strcmp(str1,str2);字符串的联接strcat()strcat(str1,str2);字符串的复制strcpy()strcpy(str1,str2);字符串定位strstr()strstr(str1,
5、str2);字符串指针定义方法:char*字符串指针变量名char*str;使用过程中要注意:(1)指向字符串的指针是一个变量,因此可以让其指向任意一个字符串(字符数组);(2)使用字符指针变量个其他指针变量都必须要注意的一个问题是:使用之前必须初始化,可以在定义的时候对该变量初始化:char*str=“abcde”;(字符串)char*s1=string;(数组名)也可以在定义之后对该变量进行赋值:str=“abcde”;或者s1=string;等都是合法的操作。这种方法不能作用在字符数组中,即不可以执行如下操作:charstri
6、ng[1000];string=“abcde”;(3)利用指针引用字符串第i个字符的过程与字符数组中引用第i个字符的方法一样:如有如下定义:charstring[1000];char*str=string;……则string[i]和str[i]都可以引用数组string的第i个字符,因此为了方便,许多有关字符串的处理函数中的参数都是使用字符串指针,而不是字符数组。详见例:用字符串指针完成对字符数组的输入和输出。二维字符数组定义方法:char数组名[行数][列数];charstr[4][15];使用方法:虽然二维字符数组在定义的时候与
7、一般的二维数组没有什么差别,但是在使用过程中就有很大的差别了,原因就在于我们对于字符数组关注的重点往往不是某个字符,而是字符串。因此在理解上述二维字符数组的定义的时候,我们不是去说该数组能够存放多少个字符,而是说:数组str可以存放4个字符串,每个字符串的长度不超过15-1。例:输入10个姓名,对其按字母顺序排序并输出排序后的结果。通过该例子我们可以感觉到,其实二维字符数组Name[M][N]可以看成是M个字符串,即可以看成长度为M的一维数组,只不过,该一维数组的每个元素都是一个字符串,而不是单个字符。在上例的基础上,我们还可以引入
8、字符串指针数组:定义方法:char*数组名[长度(行数)];char*Name[4];该定义的意思是定义了4个字符串指针,即是说,每个数组元素Name[0]~Name[3]都是一个字符串指针。结构体问题:如果有如下学生的课程分数信息,
此文档下载收益归作者所有