内容正文:
课程单元教案
本课编号
22
本课课时
2学时
内容提要
项目7 指针应用
任务4字符串与指针应用
教学目的
1.掌握字符指针定义和使用方法,并理解其含义;
2.掌握字符指针作为函数参数的用法。
知识能力
结构
1.掌握字符指针定义和使用方法,并理解其含义;
2.正确使用字符指针和字符数组,并理解它们的区别;
3.掌握字符指针作为函数参数的用法。
教学重点
难点
重点:1.字符指针定义和使用方法;
2.字符指针和字符数组的区别和用法;
3.字符指针作为函数参数的用法。
难点:字符指针作为函数参数的用法。
教学手段
方法
教学方法:任务驱动教学法、启发式
教学手段:课堂讲授法、多媒体教学
思考题与
习题
1.字符指针和字符数组有什么不同?
2.指向字符串的指针如何作为函数参数?
3.用指向字符串的指针变量作为函数参数实现字符串连接函数、复制函数、比较函数和长度函数。
教学内容进程设计
复习回顾:指向一维数组和二维数组的指针变量的定义和使用方法。
任务导入:综合实践7 学生成绩管理系统指针应用设计
任务描述:学生成绩管理系统文指针应用设计:应用指针实现学生成绩信息(包括学号、姓名、5门成绩、总分、平均分等基本信息)的输入、输出及处理。并用指针作为函数形参实现综合实践6中的各项功能。
任务4 字符串与指针应用
4.1字符指针
定义格式:char *指针变量名;
例如:char *ps;
ps=“C Language”;
说明:ps用于存放字符串常量“C Language”首地址,即和字符串的第一个字符’c’建立指向关系,通常也把ps称为指向字符串的指针变量。
4.2字符指针的应用
(1)单个访问
举例:用指针变量逐个访问字符串中的字符。
#include<stdio.h>
main(){
char *ps;
ps="C Language";
printf("用指针变量逐个访问字符:
");
while(*ps){
printf("%c",*ps);
ps++; }
printf("
"); }
(2)整体访问
举例:用指向字符串的指针变量整体访问字符串并输出。
#include<stdio.h>
main(){
char *ps;
ps="C Language";
printf(“用指针变量整体访问字符串:
");
printf(“%s
”,ps); //等价于puts(ps);}
(3)字符数组和字符指针
举例:用指向字符串的指针变量实现字符数组的整体输入和输出。
#include<stdio.h>
#include<string.h>
main(){
char str[80],*ps;
ps=str;
printf("输入字符串:
");
gets(ps);
printf("输出字符串:
");
puts(ps); }
(4)指向字符串的指针变量作为函数参数
举例:用指向字符串的指针变量作为函数参数实现字符串的复制(不能使用字符串复制函数strcpy())。
#include<stdio.h>
#include<string.h>
void strcopy(char *p1,char *p2){
while(*p1){
*p2=*p1;
p1++;
p2++; }
*p2='\0';}
main(){
char str1[80],str2[80];
printf("输入一个字符串:
");
gets(str1);
strcopy(str1,str2);
printf("输出新字符串:
");
puts(str2);}
形参指针p1和p2接收实参字符数组str和str2的首地址,把p1指向的字符逐个赋值给p2的指向。在本例中,字符指针作为函数参数实现的是地址传递。同样,实参和形参也可以是数组名传递地址符号。
随堂实训:
1.输入两个字符串,用指向字符串的指针变量实现字符串连接功能。
2.输入两个字符串,用指向字符串的指针变量比较两个字符串大小。
3.输入一个字符串,用指向字符串的指针变量统计有效字符的个数并输出。
4.用函数实现以上3个题目。
教学小结
1.字符指针的定义和用法;
2.字符指针与字符数组的区别,并进行正确应用;
3.指向字符串的字符指针作为函数参数。
学科网(北京)股份有限公司
$$