第10章字符串 10.1用一个一维字符数组来存放字符串 102使指针指向一个字符串 10.3字符串的输入和输出 104字符串数组 10.5用于字符串处理的函数 106程序举例
第10章 字符串 10.1 用一个一维字符数组来存放字符串 10.2 使指针指向一个字符串 10.3 字符串的输入和输出 10.4 字符串数组 10.5 用于字符串处理的函数 10.6 程序举例
10.1用一个一维字符数组来存放字符串 、字符串及其存储方法: 1、定义:字符串是指若干有效字符的序列。 ★有效字符:是指系统允许使用的字符,包括 字母、数字、专用字符、转义字符等。 例:“ China”,“a+b=c”,“%dm”; C语言规定:以“0字符作为字符串的结束 标志。“0的ASCI码为0,称为“空值”。 注意:在C语言中,没有字符串变量; 字符串是存放在一个字符型数组中。 字符串常量不需在其末尾加“\0,并被 处理成以‘0结尾的无名字符型一维数组
10.1 用一个一维字符数组来存放字符串 一、字符串及其存储方法: 1、 定义:字符串是指若干有效字符的序列。 ★ 有效字符:是指系统允许使用的字符,包括 字母、数字、专用字符、转义字符等。 例: “China”, “a+b=c”, “%d\n”; C语言规定:以‘\0’字符作为字符串的结束 标志。 ‘\0’的ASCII码为0,称为“空值” 。 注意:在C语言中,没有字符串变量; 字符串是存放在一个字符型数组中。 字符串常量不需在其末尾加‘\0’,并被 处理成以‘\0’结尾的无名字符型一维数组
2、字符串在字符数组中的存储方式: (1)单个元素赋值的方法; (2)字符串的整体处理 3、字符串的存储方式示意图: c[o] C C[O] c[1 C[1] h C[2] C[2] i C[3] C[3]n C[4] C[4] C[5 c5]V0 c[6] C[6] C[7] C[7] 4、字符串与字符数组的关系: ★字符串存放在字符数组中,但字符数组和字符 串可以不等长; ★字符串以“10”作为结束标记
2、字符串在字符数组中的存储方式: (1)单个元素赋值的方法; (2)字符串的整体处理。 3、 字符串的存储方式示意图: 4、 字符串与字符数组的关系: ★ 字符串存放在字符数组中,但字符数组和字符 串可以不等长; ★ 字符串以“\0”作为结束标记。 C h i a n C[1] C[2] C[0] C[4] C[6] C[3] C[5] C[7] C h i a n C[1] C[2] C[0] C[4] C[6] C[3] C[5] C[7] \0
10.1.1通过赋初值的方式给一维字符数组赋字符 串 1、逐个地为数组中各元素指定初值字符。 char c={C,h’,i’,n’,’a,”0}; 2、对一个字符数组指定一个字符串初值。 char cl={“ China”} char c13=“ Computer&C”; 注意:(1)系统会自动在最后一个字符后面加 0作为结束标记 (2)字符数组的长度至少应为字符的个数加1
10.1.1 通过赋初值的方式给一维字符数组赋字符 串 1、 逐个地为数组中各元素指定初值字符。 char c[]={‘C’,’h’,’i’,’n’,’a’,’\0’}; 2、对一个字符数组指定一个字符串初值。 char c[]={“China”}; char c[13]=“Computer & C”; 注意: (1)系统会自动在最后一个字符后面加 一‘\0’作为结束标记。 (2)字符数组的长度至少应为字符的个数加1
10.12在C程序执行过程中给一维字符数 组赋字符串 1、不可以用赋值语句给字符数组整体赋一串字符 因为数组名是一个地址常量,不可重新赋值 2、给数组元素逐个赋字符值,最后人为加入串结 束标志“0°。 例: char mark0; int for(i=0;<9;i++) scant(“%oc”,& marki mark]=0;
10.1.2 在C程序执行过程中给一维字符数 组赋字符串 1、 不可以用赋值语句给字符数组整体赋一串字符 因为数组名是一个地址常量,不可重新赋值。 2、给数组元素逐个赋字符值,最后人为加入串结 束标志‘\0’ 。 例: char mark[10]; int i; for(i=0 ;i<9;i++) scanf(“%c”,&mark[i]); mark[i]=‘\0’;