9-教案设计单-C语言程序设计-第6章数组(二)_第1页
9-教案设计单-C语言程序设计-第6章数组(二)_第2页
9-教案设计单-C语言程序设计-第6章数组(二)_第3页
9-教案设计单-C语言程序设计-第6章数组(二)_第4页
9-教案设计单-C语言程序设计-第6章数组(二)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计及工程案例分析》教案(BOPPPS教学模式)第第页教案设计单授课教师XXX授课顺序9授课时长2学时(90分钟)课题内容第6章数组(二)学情分析学生在学习“二维数组和字符串”前,已掌握一维数组和基本函数用法,但对二维结构和字符序列的特殊性理解不足。二维数组方面,学生易将其等同于“一维数组的简单叠加”,对行与列的逻辑关系、内存连续存储特性认知模糊,常出现下标混淆、嵌套循环操作失误等问题,尤其在处理矩阵运算等场景时,难以对应代码与实际数据结构。字符串作为特殊的字符数组,学生易忽略其“以'\0'结尾”的规则,混淆字符数组初始化与字符串赋值的差异,对strlen、strcpy等库函数的底层逻辑理解片面,常因未正确处理结束符导致输出异常。学生将二维场景转化为代码的抽象能力较弱,需结合表格、文本段落等生活实例,通过内存存储图示和对比代码强化认知,逐步建立二维数据与字符串的逻辑模型。学习目标会熟练定义和使用多维数组了解字符数组与字符串的关系,熟悉字符串的基本操作教学环境教学用具多媒体教学设备、手机、黑板或白板、便利贴、大幅白纸、彩色粉笔或白板笔板书设计核心库函数(需#include<string.h>)长度:strlen(str)

→返回有效字符数(不含'\0')复制:strcpy(dest,src)

→复制src到dest(含'\0')连接:strcat(dest,src)

→拼接src到dest后比较:strcmp(s1,s2)

→相等返回0,s1>s2返回正输入输出输出:printf("%s",str);(遇'\0'停止)输入:scanf("%s",str);(空格/回车终止,自动加'\0')课前预习清单预习教材第6章二维数组和字符串的内容。课后复习清单复习本章教材及PPT知识点。消化、理解、运行、改写老师在课堂上演示的代码。完成本章作业和实验。

教学流程时长教学内容及教学活动导入Bridge-in2同学们,我们已经学过一维数组,比如用score[30]存30名同学的成绩很方便。但如果要记录一个班30名同学的3门成绩——数学、语文、英语,用一维数组的话,是不是得定义score_math[30]、score_chinese[30]、score_english[30]三个数组?想查第15名同学的语文成绩,还得在第二个数组里找,不够直观。就像我们看课程表,行是星期几,列是第几节课,表格形式一目了然。编程里,这种“行+列”的二维结构就是二维数组。它能像表格一样存储数据,比如score[30][3],既方便管理,又容易定位。今天我们就来学习二维数组的用法。学习目标Objective1让学生明晰本次课学习目标:1.会熟练定义和使用多维数组2.了解字符数组与字符串的关系,熟悉字符串的基本操作前测Pre-assessment2【雨课堂前测/单选题】若有定义:inta[5]={1,3,5,7,9};则语句a[2]=a[1]+a[2+2]-a[4-1];运行后a[2]的值为()。6537参与式学习ParticipatoryLearning参与式学习ParticipatoryLearning参与式学习ParticipatoryLearning参与式学习ParticipatoryLearning参与式学习ParticipatoryLearning参与式学习ParticipatoryLearning206.2二维数组6.2.1二维数组的定义、初始化和使用C数组可以有多个下标。有多个下标的数组称为多维数组。inta[3][4]初始化初始值用大括号按行分组如果给定的行没有足够的初始值,则那行剩余的元素被初始化为0数组元素的引用必须指明行号、列号。问题:输出一个二维数组所有元素。问题:已知两个3×3的矩阵,求这两个矩阵的和。问题:矩阵转置:从键盘输入一个3行4列的矩阵,把它转置为一个4行3列的矩阵并输出。206.2.3二维数组本质上是一维数组的数组二维数组本质上是一维数组的数组,而一维数组的名称就是数组在内存中的位置。【雨课堂阶段测/单选题】若有语句inta[][3]={1,2,3,4,5,6,7};,则a数组高维的大小是()。【雨课堂阶段测/单选题】按如下方式定义二维数组并初始化:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};则元素a[1][3]和a[2][1]的值分别为(

)。【雨课堂阶段测/单选题】以下程序的输出结果是()。intmain(void){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf("%d\n",s);return0;}106.3字符串6.3.1字符数组和字符串用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。字符数组的使用与本书前面介绍的整型数组或浮点型数组完全相同。字符数组可以用与整型数组相同的方式初始化。字符数组还可以用一种更简洁的方式初始化。字符串(string),是由零个或多个字符组成的有限串行。字符串是实际应用中非常重要的一种数据类型。【雨课堂阶段测/单选题】假定char类型变量占用1个字节,且数组定义如下,则数组str在内存中所占字节数是()。charstr[81];【雨课堂阶段测/单选题】按如下方式定义字符数组并初始化:chars1[]=“Hello!”;chars2[10]=“Hello!”;则数组s1和s2所占用的存储空间分别为(

)。6.3.2字符串的输入和输出在C语言中,字符串是以‘\0’结束的一串字符,它通常存储在字符数组中。字符串最大的特点就是它有结束符‘\0’。字符串的格式控制符%s【例6.15】字符串的输入和输出【雨课堂阶段测/单选题】以下不正确的赋值或赋初值的方式是()。【雨课堂阶段测/单选题】下述对C语言字符数组的描述中错误的是()。106.3.3字符串处理【例6.16】从键盘输入一个字符串,求该字符串的长度。字符串的长度,指字符串中除’\0’之外的字符个数。【例6.17】编写一个程序,将存储在字符数组s2中的字符串复制到字符数组s1中。【雨课堂阶段测/单选题】假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是()。126.3.4字符串处理的库函数在C语言中,并没有定义字符串这种类型,字符串是存放在字符数组中的。为了使用方便,在C语言函数库中,提供了一些专门处理字符串的函数,下面介绍常用的几个函数。求字符串长度(strlen)(2)字符串复制(strcpy)(3)字符串连接(strcat)(4)字符串比较(strcmp)程序6.21strcmp的使用56.4综合应用实例——筛法求素数素数是仅仅能被它本身和1整除的任何整数。

本实例要求写程序求出给定区间中所有的素数。程序6.22筛法求素数56.5工程案例分析——利用数组存储传感器特性数据工程上会有很多地方用到传感器,这类传感器一般都是测量温度或者压力等目标量,这些目标量和输出的电阻等存在一一对应的转换关系。工程上通常会选择对于测量物理量有单调对应关系的材料来进行设计,以方便运用。工程中的处理一般采用把这个转换关系填在一个数组中,这样就可以根据输入量得出测量目标的值。后测Post-assessment1【雨课堂后测/单选题】以下错误的字符数组的赋值方式是()。charstring[]=“Iamastudent.”;constchar*p=“I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论