内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.5 字符数组

内蒙古科技大学 教 案 课程名称:C语言程序设计 编写时间:2014年2月16日 授课章节 第六章 数组6.5字符数组 目的要求 通过对字符数组的学习解决了关于字符型数据在数组中的操作,并且讲述了一些常用的字符 串处理函数。 重点难点 字符数组的定义、初始化及引用,字符串 教学内容 一、字符数组 字符数组是 一种用来存放和处理字符数据的数组变量。 【定义】 char数组名[常量表达式]: char cc[4]: 【注意】 rcc[4]表示定义了一个长度为4的一维字符数组cc: 【初始化】 可以用下列方法对字符数组进行初始化: (①)用字符逐个给字符数组中的元素赋值 如:char cc「51=H'.e,1.1.01: (②)用字符串常量给字符数组赋值。字符串常量用一对双引号括起来,编译系统对有N个字符 成的字符串常量总是分配N+1个字节的存储空间: 如:char cc[6]=“Hello”:也可写成:char cc[]=“Hlel1lo”: cc这个数组总共分配6个字节的存贮空间,在cc[5]中存入的是八0'。 存贮示意图如下: He。o 【引用】 字符数组元素的引用与数值型数组的引用方法相同。 二、字符串 字符串是作为一个整体对待的字符序列。在C语句中无字符串数据类型变量,对字符串变量 的操作是利用字符数组进行的。 在字符数组中的有效字符后面加上八0'这一特殊字符时,可以把这种一维字符型数组看作 “字符串变量”。字符串是字符数组中的一种特殊情况。 八0'是字符串的结束标志符。 如果一个字符数组用来作为字符串使用,在定义该字符数组时,数组的大小应该比是字符串 的有效长度+1。 第1次 第1页
内 蒙 古 科 技 大 学 教 案 课程名称: C 语言程序设计 编写时间:2014 年 2 月 16 日 授课章节 第六章 数组 $6.5 字符数组 目的要求 通过对字符数组的学习解决了关于字符型数据在数组中的操作,并且讲述了一些常用的字符 串处理函数。 重点难点 字符数组的定义、初始化及引用,字符串 教学内容 一、字符数组 字符数组是一种用来存放和处理字符数据的数组变量。 【定义】 char 数组名[常量表达式]; char cc[4]; 【注意】 char cc[4]表示定义了一个长度为 4 的一维字符数组 cc; 【初始化】 可以用下列方法对字符数组进行初始化: ⑴ 用字符逐个给字符数组中的元素赋值 如: char cc[5]={‘H’,’e’,’l’,’l’,’o’}; ⑵ 用字符串常量给字符数组赋值。字符串常量用一对双引号括起来,编译系统对有 N 个字符组 成的字符串常量总是分配 N+1 个字节的存储空间; 如:char cc[6]=“Hello”; 也可写成:char cc[ ]=“Hello”; cc 这个数组总共分配 6 个字节的存贮空间,在 cc[5]中存入的是‘\0’。 存贮示意图如下: 【引用】 字符数组元素的引用与数值型数组的引用方法相同。 二、字符串 字符串是作为一个整体对待的字符序列。在 C 语句中无字符串数据类型变量,对字符串变量 的操作是利用字符数组进行的。 在字符数组中的有效字符后面加上‘\0’这一特殊字符时,可以把这种一维字符型数组看作 “字符串变量”。字符串是字符数组中的一种特殊情况。 ‘\0’是字符串的结束标志符。 如果一个字符数组用来作为字符串使用,在定义该字符数组时,数组的大小应该比是字符串 的有效长度+1。 第 1 次 第 1 页 H e l l o \0

内蒙古科技大学 教案(续页) 三、字符串的输入输出 ①在SCaf中利用 “s”实现对字符串的整体输入 如:static char str[2o]: scanf(“%s”,str): 数组名是数组的起始地址,调用此函数,输入的字符串依次存入以数组名作为起始地 址的存储单元中,用空格或回车符作为字符串输入结束,并字符串结束后自动在末尾加入 (②)在printf中利用“%s”实现对字符串的整体输出 如:printff(“%s”,str): 从字符串的起始地址依次输出存储单元中的字符,直到遇到第一个八0'为止。输出 结束后不自动换行。八0'是结束标志符,不在输出字符之内。 四、常用字符串处理函数 字符串输入函数gets 【格式】gets(字符数组名) 【功能】从键盘上输入一字符串(遇到回车键结束输入)并把它存放在指定的数组中。返 回值是字符数组的起始地址。 (②)字符串输出函数puts 【格式】puts(学符数组名 【功能】将指定的字符数组中的字符串输出到显示器上。无返回值。 (3)字符串连接函数strcat 【格式】strcat(sl,s2) 【功能】把字符由s2的全部内容(句括它的结束标志符·0')连接到之符串s1的后面 并把s1字符串结束标志符 10' 除, 形成新的字符串s1,新的字符串s1后保留一个 10'。 返回值是s1的起始地址。 (④字符串比较函数strc即 【格式】strcmp(sl,s2) 【功能】比较字符串s1和s2的大小。返回值是一个整型值,若s1>s2,返回一个正数: 若s1=s2,返回0:若s1<s2,返回 个负数 字符串比较的方法是: 从左到右依次比较两个字符串中的对应字符,若相等继续比教 直到当前两个字符不相等,或遇到10'结束。比较字符的大小,是比较两个字符的ASCI山 码的大小。 (⑤)字符串复制函数strepy 【格式】strcpy(sL,s2) 【功能】将字符串2的内容复制到s1的字符数组中。必须保证1的字符数组足以容纳字 符串复制后的s1的全部内容。 (6)字符串长度测试函数strlen 【格式】strlen(字符数组名) 【功能】测试字符数组中字符串长度。返回值是字符串中八0'之前的字符串有效长度值。 第1次第2页
内 蒙 古 科 技 大 学 教 案(续页) 三、字符串的输入输出 ⑴ 在 scanf 中利用“%s”实现对字符串的整体输入 如: static char str[20]; scanf(“%s”,str)); 数组名是数组的起始地址,调用此函数,输入的字符串依次存入以数组名作为起始地 址的存储单元中,用空格或回车符作为字符串输入结束,并字符串结束后自动在末尾加入 ‘\0’。 ⑵ 在 printf 中利用“%s”实现对字符串的整体输出 如: printff(“%s”,str); 从字符串的起始地址依次输出存储单元中的字符,直到遇到第一个‘\0’为止。输出 结束后不自动换行。‘\0’是结束标志符,不在输出字符之内。 四、常用字符串处理函数 ⑴ 字符串输入函数 gets 【格式】 gets(字符数组名) 【功能】从键盘上输入一字符串(遇到回车键结束输入)并把它存放在指定的数组中。返 回值是字符数组的起始地址。 ⑵ 字符串输出函数 puts 【格式】puts(字符数组名) 【功能】将指定的字符数组中的字符串输出到显示器上。无返回值。 ⑶ 字符串连接函数 strcat 【格式】strcat(s1,s2) 【功能】把字符串 s2 的全部内容(包括它的结束标志符’\0’)连接到字符串 s1 的后面, 并把 s1 字符串结束标志符’\0’删除,形成新的字符串 s1,新的字符串 s1 后保留一个 ‘\0’。返回值是 s1 的起始地址。 ⑷ 字符串比较函数 strcmp 【格式】strcmp(s1,s2) 【功能】比较字符串 s1 和 s2 的大小。返回值是一个整型值,若 s1>s2,返回一个正数; 若 s1=s2,返回 0;若 s1<s2,返回一个负数。 字符串比较的方法是:从左到右依次比较两个字符串中的对应字符,若相等继续比较, 直到当前两个字符不相等,或遇到‘\0’结束。比较字符的大小,是比较两个字符的 ASCII 码的大小。 ⑸ 字符串复制函数 strcpy 【格式】strcpy(s1,s2) 【功能】将字符串 s2 的内容复制到 s1 的字符数组中。必须保证 s1 的字符数组足以容纳字 符串复制后的 s1 的全部内容。 ⑹ 字符串长度测试函数 strlen 【格式】strlen(字符数组名) 【功能】测试字符数组中字符串长度。返回值是字符串中‘\0’之前的字符串有效长度值。 第 1 次 第 2 页

内蒙古科技大学 教案(续页) 五、综合应用 例1从键盘接收一串字符,将其中的小写字母转换为大写字母,并输出到屏幕上。 参考程序如下: #include〈stdio.h> main() char ch[80]; 举例说明 int i; gets(ch); for(i=0;i=97&ch[i] main() char c,string[81]; int i,num=0,word=0; gets(string); for(i=0;(c=string[i])!=\0;i++) if(c=)word=0; else if(word=0) (word=1; num++; } printf("There are %d words in the line.\n",num); } 程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否为单词的标志, 当输入的字符为空格时,word置0,说明一个单词的结束或新单词还没开始。当输入非 空格字符且word为0时,表示新单词的开始,在word置为1的同时,单词数num累 加1。而当word为1,输入非空格字符时,表示该字符与前面的字符为同一单词中的字 符,此时num不加1。 课堂教学小结: 通过对字符数组的学习解决了关于字符型数据在数组中的操作,尤其是字符串的应用,能够熟练掌握 常用的字符串处理函数。 第1次第3页
内 蒙 古 科 技 大 学 教 案(续页) 五、综合应用 例 1 从键盘接收一串字符,将其中的小写字母转换为大写字母,并输出到屏幕上。 参考程序如下: #include main( ) { char ch[80]; int i; gets(ch); for(i=0;i=97&&ch[i] main() { char c,string[81]; int i,num=0,word=0; gets(string); for(i=0;(c=string[i])!='\0';i++) if(c==' ') word=0; else if(word==0) {word=1; num++; } printf("There are %d words in the line.\n",num); } 程序中变量 i 作为循环变量,num 用来统计单词个数,word 作为判别是否为单词的标志, 当输入的字符为空格时,word 置 0,说明一个单词的结束或新单词还没开始。当输入非 空格字符且 word 为 0 时,表示新单词的开始,在 word 置为 1 的同时,单词数 num 累 加 1。而当 word 为 1,输入非空格字符时,表示该字符与前面的字符为同一单词中的字 符,此时 num 不加 1。 举例说明 课堂教学小结: 通过对字符数组的学习解决了关于字符型数据在数组中的操作,尤其是字符串的应用,能够熟练掌握 常用的字符串处理函数。 第 1 次 第 3 页
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第九章 文件操作.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(四).doc
- 内蒙古科技大学:《C语言程序设计》课程教学大纲 C Language Programming.pdf
- 《计算机组成原理》课程教学课件(PPT讲稿)第1章 计算机组成原理概述 Computer Organization.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第6章 总线系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第3章 指令系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第1节 数据表示(数据与文字表示方法).ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第2节 定点加减运算及实现 第3节 定点乘法运算及实现 第4节 定点除法运算及实现 第5节 定点运算器的组成与结构 第6节 浮点运算方法和浮点运算器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第4章 中央处理器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第7章 输入输出系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第5章 存储系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第8章 外围设备.ppt
- 《计算机组成原理》课程教学资源(实验指导)实验五 模型计算机与指令执行.doc
- 《计算机组成原理》课程教学资源(实验指导)实验四 数据通路.doc
- 《计算机组成原理》课程教学资源(实验指导)实验三 存储器.doc
- 《计算机组成原理》课程教学资源(实验指导)实验二 微程序控制器.doc
- 《计算机组成原理》课程教学资源(实验指导)TEC4模型计算机介绍.doc
- 《计算机组成原理》课程教学资源(实验指导)实验一 运算器.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第五章 函数.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.2.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(四).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第三章 简单的C程序设计.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第一章 C简介.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(一).doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)编程题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)填空题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)改错题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)选择题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 结构体与共用体.ppt