




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C C 程程 序序 设设 计计问问 题题如果需要处理如果需要处理1名学生的名学生的10门课程的成绩,用什么来门课程的成绩,用什么来存储这些数据?存储这些数据? 方法一:定义方法一:定义10个变量,每个变量中存放个变量,每个变量中存放1门成绩。门成绩。方法二:定义一个可以存储方法二:定义一个可以存储10门成绩一维数组。门成绩一维数组。 课程课程1课程课程2课程课程3课程课程4课程课程5课程课程6课程课程7课程课程8课程课程9课程课程1090819377926879839470变量:杯子,一个变量只能存放一个数据变量:杯子,一个变量只能存放一个数据数组:带多个杯子的数组:带多个杯子的托盘,一个数组
2、托盘,一个数组可以存放多个数据可以存放多个数据数轴上的一维向量数轴上的一维向量x = 1,2,-2,1,0,3; 就相当于一维数组就相当于一维数组 直角坐标系中的矩阵就相当于二维数组直角坐标系中的矩阵就相当于二维数组 E4.1 一维数组一维数组 4.2 二二维数组维数组 4.3 字符数组字符数组一维数组定义格式一维数组定义格式: : 类型说明符类型说明符 数组名数组名 整型常量表达式整型常量表达式;例如:例如: int a10; 就定义了一个包含就定义了一个包含10个整型元素的数组个整型元素的数组a, 它的内存大小可以存放它的内存大小可以存放10个整型数据。个整型数据。 4.1.1 一一 维数
3、组的定义维数组的定义类型说明符类型说明符 数组名数组名 整型常量表达式整型常量表达式;int,charint,char等都可以,等都可以, 说明此数组中每个说明此数组中每个 元素都属于此类型元素都属于此类型命名规则与变量一致命名规则与变量一致不能和其他变量重名不能和其他变量重名指定元素的个指定元素的个数,最小为数,最小为0 0,不能是变量不能是变量#define N 3int aN;int a3+5;int a1.5;int n;scanf(“%d”,&n);int an;int a;int a3;int a,b3;int n = 3;int an;【例【例 4.1】 判断以下数组定义
4、是否合法,判断以下数组定义是否合法,并说明原因。并说明原因。(1)int a2.5; (2) int a-3; (3)int i = 3; (4) int i; int ai; scanf(“%d”, &i); int ai;(5)#define N 3 (6)int a; int a N; int a3;(7)int a2 + 3; (8)int i, a3, b0; 4.1.2一维数组元素的引用一维数组元素的引用一维数组引用格式一维数组引用格式: : 数组名数组名 下标下标 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9注意:注意:1. 1. 数组必须先定义,再使用。数
5、组必须先定义,再使用。 2. 2. 只能逐个引用数组元素,不能一次引用整个数组。只能逐个引用数组元素,不能一次引用整个数组。例如:例如:int a10; 可以使用可以使用a0、a1.a9 。若有。若有 a=1; 或者或者a10 = 1; 出错。出错。a10不代表整个数组,它是不代表整个数组,它是下标为下标为10的元素,越界!的元素,越界!13. 3. 下标可以是下标可以是常量常量或或变量变量,它表示元素的序号,它表示元素的序号。例如:例如:int i=3, a10; ai=1; 表示给下标为表示给下标为3的元素赋值为的元素赋值为1。 4.4.一维数组在内存中连续存放,一维数组在内存中连续存放,
6、先存放下标为先存放下标为0的元素,的元素,再存放下标为再存放下标为1的元素,的元素,依次直至存放完所有元素。依次直至存放完所有元素。【例【例 4.2】定义一个包含】定义一个包含3个整型元素的数组个整型元素的数组a,输出其元素值。,输出其元素值。只定义数组,不给数组元素赋值,只定义数组,不给数组元素赋值,数组元素中存放的是随机值。数组元素中存放的是随机值。一般要先给数组元素赋值,再使用。一般要先给数组元素赋值,再使用。数组名数组名a中存放的是数组起始元素的地址中存放的是数组起始元素的地址【例【例 4.3】定义一个包含】定义一个包含3个整型元素的数组个整型元素的数组a,从键盘给数组元素输入值,然后
7、输出。,从键盘给数组元素输入值,然后输出。【例【例 4.4】定义一个包含】定义一个包含10个整型元素的数组个整型元素的数组a, 从键盘给数组元素输入值,然后输出。从键盘给数组元素输入值,然后输出。4.1.3一维数组的初始化一维数组的初始化定义一维数组的同时给数组元素赋初值称为一维数定义一维数组的同时给数组元素赋初值称为一维数组的初始化。组的初始化。 其一般格式为:其一般格式为:类型说明符类型说明符 数组名数组名N = 初值初值1, 初值初值2, 初值初值N;其中,其中,N是表示数组元素个数的常量。是表示数组元素个数的常量。一维数组的初始化方式有以下几种:一维数组的初始化方式有以下几种:(1)全
8、部元素初始化:)全部元素初始化: char a3 = 1, 2, n; int b5 = 2,11,3,14,5; int b = 2,11,3,14,5; int b4 = 2,11,3,14,5;在对数组的所有元素在对数组的所有元素赋初值时,可以不指赋初值时,可以不指定数组长度。系统自定数组长度。系统自动定义其长度为动定义其长度为5初值个数不能超过初值个数不能超过数组长度。否则,数组长度。否则,会出现语法错误。会出现语法错误。(2)全部元素初始化:)全部元素初始化: int a10 = 0,1,2; char a10=1, 2; (3)全部元素初始化为)全部元素初始化为0: int a10
9、=0; 将将a0a2依次初始依次初始化为化为0、1、2。未赋值。未赋值的元素的元素a3a9值全值全部被初始化为部被初始化为int中表中表示假的值示假的值0。 将元素将元素a0a9 全全部初始化为部初始化为0将将a0a1依次初始依次初始化为化为0、1。未赋。未赋值的元素值的元素a2a9值值全部被初始化为全部被初始化为char中表示假的值中表示假的值0 。若想全部初始化为若想全部初始化为1int a10=1; 错误错误【例【例 4.5】定义一个含有】定义一个含有10个元素的整型一维数组个元素的整型一维数组并全部初始化,将数组中所有元素逆序输出。并全部初始化,将数组中所有元素逆序输出。【例【例4.6
10、4.6】 :用冒泡法对:用冒泡法对5个数排序。个数排序。解:冒泡排序过程如后面图所示,其中,红圈以解:冒泡排序过程如后面图所示,其中,红圈以内为已排好序的记录。内为已排好序的记录。 规则:令相邻位置的数依次比较,若上面规则:令相邻位置的数依次比较,若上面的数大,则交换。的数大,则交换。414135241 交换交换43 交换交换342 交换交换1 13 不交换不交换34 32 交换交换513245 12 交换交换12345 12不交换不交换结果结果 12345R 第第0趟趟 第第1趟趟 第第2趟趟 第第3趟趟第第0次次第第1次次第第2次次第第3次次for(i=0;iRj+1 的值)则交换 j增1
11、 for(j=0;j4i;j+) / 内循环 如果( Rj的值R2的值的值) temp R1; R1 R2; R2 temp; j增加增加1,比较,比较Rj 和和 Rj+1的大小的大小 如果如果(Rj的值的值Rj+1的值的值) j增加增加1,比较,比较Rj 和和 Rj+1 的大小的大小实现实现交换交换43 交换交换R1R243 不交换不交换4R25R32R4temp 2. 交交 换换 过过 程程 与与 核核 心心 程程 序序434 int i; int j; for(i=0;i=3;i+)for(j=0;jRj+1的大小的大小)temp Rj;Rj Rj+1;Rj+1 temp;3. 循循 环
12、环 与与 核核 心心 程程 序序 的的 组组 合合 int i, j;类型一样,类型一样,合并在一起合并在一起外循环,将处外循环,将处理理5个数推广个数推广到处理到处理n个数个数 for(i=0;i=n-2;i+)内循环内循环for(j=0;jRj+1)满足交换条件,满足交换条件,则交换;在程序则交换;在程序中将赋值箭头转中将赋值箭头转换为赋值等号换为赋值等号temp=Rj;Rj=Rj+1;Rj+1=temp;标出交换的起标出交换的起始位置始位置标出内循环的标出内循环的起始位置起始位置标出外循环的标出外循环的起始位置起始位置4. 冒冒 泡泡 算法整理算法整理 int i, j ; / 定义in
13、t 类型的变量i , j int temp; / 定义新的存储单元 tempfor(i=0;i=n-2;i+) / 外循环 for1 / 外循环for1开始 for(j=0;jRj+1) / 比较数组R 中相邻元素值的大小 / 开始交换 temp=Rj; / 先将Rj中的值赋给 temp Rj=Rj+1; / 再将Rj+1中的值赋给Rj Rj+1=temp; / 最后又把temp中的值赋给Rj+1 / 结束交换 / 内循环for2结束 / 外循环for1结束 / 经过n1=4 次循环,完成排序功能5. 冒泡算法真实程序冒泡算法真实程序6. 优化推广程序优化推广程序改进的冒泡排序算法改进的冒泡排
14、序算法例如:待排序的数组元素为:例如:待排序的数组元素为:3,1,2,5,4313124531 交换交换32 交换交换224 不交换不交换451 13 不交换不交换23 34 不交换不交换45 45 不交换不交换 12不交换不交换结果结果 12345R i=0 i=1j=0j=1j=2j=3排好排好设置一个标识量,若某趟中一次交换也没有设置一个标识量,若某趟中一次交换也没有进行,设置标识量的值,代表数据已完全排进行,设置标识量的值,代表数据已完全排好,不需要进行后面的排序。好,不需要进行后面的排序。【例【例 4.7】改进冒泡排序算法。】改进冒泡排序算法。【例【例 4.8】从键盘输入】从键盘输入
15、10个学生成绩,计算出个学生成绩,计算出 平均成绩,并输出高于平均分的学生成绩。平均成绩,并输出高于平均分的学生成绩。【例】求【例】求fibonacci数列的前数列的前20项,并输出。项,并输出。fibonacci: 1,1,2,3,5,8,13,21 4.1 一维数组一维数组E4.2 二二维数组维数组 4.3 字符数组字符数组问问 题题如果需要处理如果需要处理3 3名学生的期末成绩,每名学生有名学生的期末成绩,每名学生有4 4门课门课程的成绩,用什么来存储这些数据?程的成绩,用什么来存储这些数据?方法一:定义方法一:定义12个变量,每个变量存储个变量,每个变量存储1个学生的个学生的1门课程成
16、绩。门课程成绩。方法二:为方法二:为3名学生各定义名学生各定义3个数组,每个数组可以存个数组,每个数组可以存放放4门成绩。门成绩。方法三:用一个方法三:用一个3行行4列的二维数组来存储。列的二维数组来存储。 成绩表成绩表数学数学英语英语计算机计算机C语言语言学生学生1928996.580学生学生288.5679070学生学生3719088604.2.1 二维数组的定义二维数组的定义 类型说明符类型说明符 数组名数组名 常量表达式常量表达式MM 常量表达式常量表达式N N ; 例例: float a34; 0120 1 2 3M和和N只能是正整数只能是正整数例:例:float a343. 二二维
17、数组在内存中连续存维数组在内存中连续存放,先顺序存放第一行的元放,先顺序存放第一行的元素,再存放第二行的元素,素,再存放第二行的元素,依次直至存放完所有元素。依次直至存放完所有元素。4.2.2 二维数组的引用二维数组的引用 数组名数组名 行下标行下标 列下标列下标 ;例例: int a23; a00、a01、a02 a10、a11、 a1212 15 365 8 13常出现的错误:常出现的错误:下标越界!下标越界!a23=3; /*应应为为a12=3;*/4.2.3 二维数组的初始化二维数组的初始化1 1、分行赋初值、分行赋初值: : 例:例:int a34 = 1,2,3,4,5,6,7,8
18、, 9,10,11,12; 1 2 3 4 5 6 7 8 9 10 11 122 2、全部数据写在一个花括号内,按数组排列的顺序对、全部数据写在一个花括号内,按数组排列的顺序对各元素赋初值:各元素赋初值:例:例:int a34 = 1,2,3,4,5,6,7,8,9,10,11,12;赋初值时,数组的行下标可赋初值时,数组的行下标可以省略,例如:以省略,例如:int a 4 = .。3、对部分元素赋初值、对部分元素赋初值: (1) int a34 = 0,1,2; 0 1 2 0 0 0 0 0 0 0 0 0 功能:功能: 仅对仅对a00a00、a01a01、a02a02赋值,其赋值,其余
19、为余为0 0(2 2)int a34 = 1,5,6,9; 1 0 0 0 5 6 0 0 9 0 0 0 功能:功能:仅对仅对a00、a10、a11、a20赋值,其余为赋值,其余为0【例【例4.9】求一个】求一个3*4矩阵的最大值及其所在矩阵的最大值及其所在 行列下标。行列下标。【例【例4.10】3名学生各有名学生各有4门课程的成绩,计门课程的成绩,计算每个学生的平均成绩。算每个学生的平均成绩。【例【例4.11】打印输出杨辉三角形(输出前】打印输出杨辉三角形(输出前10行)行)定义格式:定义格式: 类型类型 数组名数组名 常量表达式常量表达式1 1 常量表达式常量表达式2 2 ;例例:int
20、 a333;注意:多维数组的元素在内存中的排列顺序是按行存注意:多维数组的元素在内存中的排列顺序是按行存放。放。引用格式:引用格式: 数组名数组名下标下标下标下标例例: a000=100; a012=20; a222=50;一个一个n维数组可以看成由多个维数组可以看成由多个n-1维数组构成。维数组构成。 4.1 一维数组一维数组 4.2 二维数组二维数组E4.3 字符数组字符数组在程序中如果要存储姓名、地址等类型的数据,例在程序中如果要存储姓名、地址等类型的数据,例如:如: “小明小明”、 “成都市高新西区西园大道成都市高新西区西园大道1号号”等需等需要使用什么样的类型呢?这些是字符串,要使用
21、什么样的类型呢?这些是字符串,C语言中语言中没有专门的字符串变量,没有专门的字符串变量,如果要存储字符串,需要如果要存储字符串,需要用到字符数组。用到字符数组。字符数组是专门用来存放字符数据字符数组是专门用来存放字符数据的。字符数组中的一个元素存放一个字符。的。字符数组中的一个元素存放一个字符。 4.3.1 字符数组字符数组字符数组中可以存储普通字符序列,也字符数组中可以存储普通字符序列,也可以存储字符串,两者依据字符数组末可以存储字符串,两者依据字符数组末尾是否有字符串结束符尾是否有字符串结束符0来区分。来区分。例如:例如:(1) char c11 = “I am happy”; 或或 ch
22、ar c = “I am happy”;(2)char c11 = “I am happy”; 或或 char c = “I am happy”;(3)char c11 = I, , a, m, , h, a, p, p, y, 0; 或或 char c = I, , a, m, , h, a, p, p, y, 0;(4)char c11 = I, , a, m, , h, a, p, p, y ;这四种方式,字符数组这四种方式,字符数组c存储的是字符串存储的是字符串(5)char c10 = I, , a, m, , h, a, p, p, y ; 或或 char c = I, , a,
23、m, , h, a, p, p, y ;这种方式,字符数组这种方式,字符数组c存储的是普通字符序列存储的是普通字符序列若要重新给字符数组(字符串变量)赋值,使它改若要重新给字符数组(字符串变量)赋值,使它改而存放别的字符串,应注意以下几点:而存放别的字符串,应注意以下几点: (1)应充分估计新字符串所需的最大空间,不要出)应充分估计新字符串所需的最大空间,不要出现越界情况。现越界情况。例如:例如:char c = “fish”;数组;数组c的长度是的长度是5。若要将若要将“chicken”赋给赋给c,新字符串需要,新字符串需要8个字节的个字节的内存空间,就会出错。为了防止这类的错误发生,内存空
24、间,就会出错。为了防止这类的错误发生,习惯上将字符数组长度设置大一些。例如:习惯上将字符数组长度设置大一些。例如:char c20 = “fish”;(2)不能使用赋值语句对字符串变量集体赋值,而)不能使用赋值语句对字符串变量集体赋值,而应该使用赋值语句为每个字符数组元素单独赋值。应该使用赋值语句为每个字符数组元素单独赋值。例如:例如: char c = “fish”;若要将数组;若要将数组c的内容修改为的内容修改为“cat”, 直接写为:直接写为:c = “cat”; 或者或者c = “cat”; 都是都是错错误的。误的。可以对可以对c中的元素逐个重新赋值:中的元素逐个重新赋值:c0= c;
25、 c1= a; c2= t; c3= 0; 注意:不要省略给注意:不要省略给c3赋值为赋值为 0,否则,否则c中新的字中新的字符符串内容为串内容为“cath”。4.3.2字符数组的输入输出字符数组的输入输出一、一、 使用使用 scanf 函数输入字符串到字符数组中。函数输入字符串到字符数组中。(1)以单个字符的格式逐个输入。)以单个字符的格式逐个输入。 例如:例如:char c5; scanf(“%c%c%c%c%c”,&s0,&s1, &s2,&s3, &s4);数组元素跟普通变量一样,前面要加取地址符数组元素跟普通变量一样,前面要加取地址符(2)以字
26、符串的格式输入。)以字符串的格式输入。 例如:例如:char c5; scanf(“%s”, c);说明:说明:1. %s是字符串的格式字符,数组名代表数组的起始是字符串的格式字符,数组名代表数组的起始地址,因此输入表列中只需要给出数组名即可。若写地址,因此输入表列中只需要给出数组名即可。若写为为&c,程序出错。,程序出错。2. 输入字符串时,空格或者回车键是输入结束符,不输入字符串时,空格或者回车键是输入结束符,不能作为有效的字符输入。能作为有效的字符输入。 假如从键盘输入假如从键盘输入cat 或者或者cat 。数组。数组c中存入中存入cat后,后,C编译编译系统会自动在后面补上一个
27、系统会自动在后面补上一个 0。3. 输入的字符串长度应该比字符数组的长度短。输入的字符串长度应该比字符数组的长度短。例如:从键盘输入例如:从键盘输入catcat ,数组,数组c中存入中存入catca,没有,没有 0的位的位置,容易出现内存错误。置,容易出现内存错误。4. 可以用可以用scanf 输入多个字符串,输入时以空格键或输入多个字符串,输入时以空格键或回车键隔开。回车键隔开。例如:例如:char c15, c25, c35; scanf(“%s%s%s”, c1, c2, c3); 从键盘输入从键盘输入Catordog? 二、使用二、使用 printf 函数将字符数组中的字符串输出。函数
28、将字符数组中的字符串输出。(1)以单个字符的格式逐个输出。)以单个字符的格式逐个输出。 例如:例如:char c5; printf(“%c%c%c%c%c”,c0,c1, c2,c3, c4);(2)以字符串的格式输出,将数组名写在输出表列中。)以字符串的格式输出,将数组名写在输出表列中。 例如:例如:char c5; printf(“%s”, c); 注意:注意:(1) 若数组长度大于字符串的实际长度,也只输出到若数组长度大于字符串的实际长度,也只输出到遇到遇到0结束。结束。例如:例如:char c10=“China”; printf(“%s”,c);(2) 如果一个字符数组中包含一个以上如
29、果一个字符数组中包含一个以上0,则遇第,则遇第一个一个0时输出就结束。时输出就结束。【例【例4.12】删除字符串中的空格,并输出。】删除字符串中的空格,并输出。三、使用三、使用scanf和和 printf 为二维数组输入输出字符串为二维数组输入输出字符串二维数组可看作由一维数组组成。如果将一维字符数二维数组可看作由一维数组组成。如果将一维字符数组看作是存放字符串的变量,那么二维字符数组就可组看作是存放字符串的变量,那么二维字符数组就可以看作是存放字符串的一维字符串数组。以看作是存放字符串的一维字符串数组。例如:例如:定义定义char c35 ; 相当于定义了相当于定义了3个字符串变量。个字符串
30、变量。c0、 c1、 c2分别是分别是3个字符串的起始地址。可以使个字符串的起始地址。可以使用用scanf 和和 printf 函数为其输入、输出字符串。函数为其输入、输出字符串。【例【例4.13】利用二维字符数组输入、输出字符串。】利用二维字符数组输入、输出字符串。【例】【例】 输出一个菱形图。输出一个菱形图。4.3.3 字符串处理函数字符串处理函数C语言提供了多个常用的字符串处理函数。语言提供了多个常用的字符串处理函数。字符串输入函数、输出函数、比较函数、连接字符串输入函数、输出函数、比较函数、连接函数及求字符串长度等函数。函数及求字符串长度等函数。注意:注意:字符串函数均在头文件字符串函
31、数均在头文件 string.h 中定义,中定义,要使用这些函数,需将此文件包含进来。要使用这些函数,需将此文件包含进来。有的编译器会自动包含。有的编译器会自动包含。格格 式:式:puts(puts(字符串字符串) ) 功功 能:能:将字符串结束符将字符串结束符0转换成转换成n后输出字符串。后输出字符串。 例如:例如:char c6=“China”; 执行函数:执行函数:puts(c); 等价于:等价于: printf(%sn,c); puts函数也可以直接输出字符串常量。函数也可以直接输出字符串常量。例如:例如:puts(“China”);格格 式:式:gets(gets(字符数组字符数组)
32、) 功功 能:能:从键盘输入一个字符串到字符数组中。从键盘输入一个字符串到字符数组中。例如:例如:char s10; 执行函数执行函数 : gets(s); 从键盘输入:从键盘输入:China 将包括将包括0在内的在内的6个字符送到字符数组个字符送到字符数组s中。中。gets、puts与与scanf、printf函数的使用区别:函数的使用区别:(1) gets()、puts()函数一次只能输入输出一个字符串;函数一次只能输入输出一个字符串; scanf( )、printf( )则可以输入输出多个字符串。则可以输入输出多个字符串。 例如:例如:char s110, s210;1. gets(s1
33、); gets(s2); puts(s1); puts(s2); 2. scanf(“%s%s”,s1,s2); printf(“%sn%sn”,s1,s2); (2)使用)使用gets函数输入的字符串以回车符结束;而函数输入的字符串以回车符结束;而 scanf函数以空格或回车符结束字符串的输入。函数以空格或回车符结束字符串的输入。例如:例如:char s130, s230;从键盘输入从键盘输入HELLO WORLD! ,1. 执行执行gets(s1); gets(s2); 执行结果:执行结果:s1中存入字符串中存入字符串“HELLO WORLD!”,光标,光标等待用户再次输入字符串,从键盘输
34、入等待用户再次输入字符串,从键盘输入hello world! s2中获得字符串中获得字符串“hello world!”。例如:例如:char s130, s230;从键盘输入从键盘输入HELLO WORLD! ,2. 执行执行scanf(“%s%s”,s1,s2);执行结果:执行结果:s1中存入字符串中存入字符串“HELLO”,s2中存入字符中存入字符串串“WORLD!”。格格 式:式:strcat(strcat(字符数组字符数组1,1,字符数组字符数组2 2或字符串或字符串) )功功 能:能:把把字符数组字符数组2 2中的字符串中的字符串连接到连接到字符数组字符数组1 1中的中的字符串字符串
35、的后面,结果放到的后面,结果放到字符数组字符数组1 1中。中。注注 意:意:1)数组数组1必须足够大,以容纳连接后的新字符串。必须足够大,以容纳连接后的新字符串。2)连接时串连接时串1后面的后面的0被覆盖,只在新串后保留被覆盖,只在新串后保留1个个0字符数组字符数组2可为字可为字符串常量,符串常量,1呢?呢?例如:例如:char s10 = “te”; strcat(s, “st!”); 执行过程中数执行过程中数组组s的存储情况:的存储情况:【例【例4.14】使用】使用strcat函数实现两个字符串连函数实现两个字符串连接的功能。接的功能。【例【例4.15】不使用】不使用strcat函数实现两
36、个字符串函数实现两个字符串连接的功能。连接的功能。 格格 式:式:strcpy(strcpy(字符数组字符数组1,1,字符数组字符数组2 2或字符串或字符串) ) 功功 能:能:将将字符串字符串2 2复制到复制到字符数组字符数组1 1中,该字符数组中,该字符数组1 1 中原有内容被覆盖。中原有内容被覆盖。说明:说明:(1)字符数组)字符数组1必须足够大,能容纳复制过来的字符串必须足够大,能容纳复制过来的字符串(2)复制时连同)复制时连同0一起复制到字符数组一起复制到字符数组1中。中。(3)不能用赋值语句将一个字符串常量或字符数组)不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。直
37、接赋给一个字符数组。例如:例如:char str130 = “China”,str230; str2 = str1;(4)可以用)可以用strncpy函数将字符串函数将字符串2中的前中的前n个字符个字符复制到字符数组中。字符数组其他位置的元素不发复制到字符数组中。字符数组其他位置的元素不发生变换。生变换。例如:例如: char str130 = Chengdu; char str230 = Beijing; strncpy(str1,str2,2); 执行结果:执行结果:str1为为Beengdu。【例【例4.16】使用】使用strcpy函数实现字符串的拷贝。函数实现字符串的拷贝。【例【例4.17】不使用】不使用strcpy函数实现字符串的拷贝。函数实现字符串的拷贝。格格 式:式:strcmp(strcmp(字符串字符串1,1,字符串字符串2)2)功功 能:能:比较比较“字符串字符串1”1”和和“字符串字符串2”2”。比较规则:自左至右比较规则:自左至右逐个字符比较逐个字符比较ASCII码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 6877:2025 EN Dentistry - Endodontic obturating materials
- 【正版授权】 ISO 22504:2025 EN Oil and gas industries including lower carbon energy - Pipeline transportation systems - Onshore and offshore pipelines pig traps design requirements
- 液温考试试题及答案
- 莆田哲理考试题及答案
- 机车制动试题及答案
- 校园安全知识培训课件图片
- 神经阻滞考试题及答案
- 安永税务面试题及答案
- 高一语文期末考试题及答案
- 押运员实体考试试题及答案
- GB/T 45411.1-2025光学和光子学瞄准望远镜规范第1部分:普通性能仪器
- 外销出口流程培训
- 房屋建筑工程竣工验收技术资料统一用表(2024 版)
- 《企业研发费用税前加计扣除政策解读与应用课件》
- 《马斯克英文介绍》课件
- OptiStruct结构分析与工程应用
- GA/T 1280-2024银行自助设备安全性规范
- 带状疱疹后神经痛的诊治课件
- 火灾地震逃生演练课件
- 广东省深圳市2024-2025学年高一上学期期中考试数学试卷(含答案)
- 第6讲立体几何(2022-2023年高考真题)(原卷版)
评论
0/150
提交评论