资源简介 第3章 面向对象(上)模块一 顺序程序设计训练职业本科规划教材《C语言程序设计》教学设计课程名称: C语言程序设计授课年级: 2022年级授课学期: 2022学年第一学期教师姓名: XXX2021年10月22日课题名称 模块一 顺序程序设计训练 计划学时 8学时内容分析 在C语言程序设计中,程序的执行严格按代码的先后依次执行。顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。教学目标及基本要求 (1) 了解结构化程序设计的基本结构;(2) 了解流程控制的基本语句;(3) 熟练掌握数据的输入/输出处理函数和表达式语句;(4) 掌握构建顺序结构程序的基本语句及程序基本构架;(5) 掌握顺序结构程序设计方法。教学重点 数据的输入/输出处理函数和表达式语句、顺序结构的基本语句、顺序结构的设计方法教学难点 顺序程序设计的基本构架、顺序程序设计的设计方法教学方式 教学采用教师课堂讲授与学生操作练习共同进行的一体化教学方式概念性知识点:提出为什么,将抽象具体化,配合教学PPT、案例辅助讲解。操作性知识点:提需求,并上机演示如何操作,重点内容总结经验及注意事项。学生操作练习:完成教材中的引例、做中学以及练中学案例,有能力的学生还可以完成教师额外布置的拓展练习题目。教学过程 第一学时(知识准备)一、引例任务,提出需求(1)通过引力任务,引出本节所需知识内容。【引例任务】判断从键盘输入的整数数据的奇偶性。【程序代码】#include void main( ){int num;do{ printf("请输入一个自然数:"); //提示用户输入一个数值 scanf("%d",&num); //接受用户输入的数值 if (num%2==0) printf("您输入的是一个偶数\n"); else printf("您输入的是一个奇数\n");}while(num!=0);}【程序运行】请输入一个自然数:25↙您输入的是一个奇数请输入一个自然数:26↙您输入的是一个偶数请输入一个自然数:0↙您输入的是一个偶数 (2)明确学习方向。【知识点】引例中出现了输入、处理、输出等操作,这些操作具有特定的流程,流程常称为算法,引例的算法体现了结构化程序设计的基本思想。【能力点】认识判断语句掌握scanf()函数掌握printf()函数明确目标,完成任务完成引例任务:1.当num变量的值不为0时,循环。2.if(num%2==0)是判断语句,当关系表达式num%2==0成立,表示num变量中的数据是偶数。3.scanf()函数接收用户键盘输入的数据到指定变量。4.printf()函数向计算机屏幕输出信息。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业。第二学时(程序和算法)一、引入学习任务(1)回顾上节课的内容,结构化程序的基本结构,流程控制的基本语句。(2)明确学习方向。【知识点】程序算法【能力点】了解程序的定义掌握程序设计掌握算法的概念熟练进行算法描述二、明确目标,完成任务1.程序程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。一个程序应该包括以下两方面的内容。(1) 对数据的描述。(2) 对操作的描述。程序=数据结构+算法2.程序设计程序设计是给出解决特定问题程序的过程。(1) 分析问题。(2) 设计算法。(3) 编写代码。(4) 测试程序。(5) 编写程序文档。3.算法的定义广义地讲,算法是指为解决某个具体问题而采取的方法和步骤。计算机解题算法分为两大类:数值运算算法和非数值运算算法。根据不同的算法控制结构,程序有3种结构:顺序结构、选择结构和循环结构。(1) 顺序结构。(2) 选择结构。(3) 循环结构。4.算法描述(1) 算法的五个特征有穷性确切性输入输出可行性(2) 自然语言 (3) 伪代码(4) 流程图(5) N-S图三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业。第三学时(基本语句)引例任务,提出需求(1)回顾上节课的内容,程序和算法。(2)明确本节课学习方向。【知识点】控制语句操作运算语句【能力点】掌握9种控制语句掌握4种操作运算语句二、明确目标,完成任务C语言程序设计中的基本语句主要分为两大类:控制语句和操作运算语句(也称表达式语句)。控制语句的作用是用于控制程序的执行顺序,使程序的执行流程发生改变。在C语言中,有9种控制语句。1)if-else(条件语句)2)switch(多分支选择语句)3)while(循环语句)4)do-while(循环语句)5)for(循环语句)6)break(中止循环或switch结构语句)7)continue(结束本次循环语句)8)goto(转向语句)9)return(返回语句)在C语言中操作运算语句有赋值语句、函数调用语句、空语句和复合语句。1.赋值语句2.函数调用语句3.空语句4.复合语句【做中学1-1】输出余弦函数图形程序。#include #include void main(){double y;int x,m;for(y=1;y>=-1;y-=0.1) { m=(int)(acos(y)*10); for(x=1;xvoid main( ){ char ch;printf("请输入多个字母:");ch=getchar( );printf("您输入的是:%c",ch);}1) getchar函数是字符输入函数,接收从键盘输入的单个字符数据。他是一个无参函数,其语法格式为:getchar();2) 通常把输入的字符赋予一个字符变量,构成赋值语句。3) getchar( )函数只能接收单个字符。4) 使用getchar前必须包含头文件“stdio.h”。5) getchar函数等待用户输入直到按“回车”键才结束,回车前的所有输入字符都会逐个显示在屏幕上。2.putchar函数【做中学1-3】利用putchar( )函数输出字符。【程序代码】#include void main( ){ char c=’B’; /*定义字符变量c并赋值’B’*/ putchar(c); /*输出该字符*/ putchar(‘\x42’); /*输出字母B */ putchar(0x42); /*用16进制ASCII码值输出字母B */ putchar(66); /*用ASCII码值输出字母B */}1) 语法格式为: putchar(字符表达式);2) 功能:向标准输出设备输出单个字符数据。【练中学1-1】getchar、putchar函数应用。【程序代码】#include "stdio.h" void main( ){ char ch; printf("请输入两个字符:"); ch=getchar( ); putchar(ch);putchar('\n'); putchar(getchar( )); putchar('\n');}三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。(2)扫描二维码查看相应资源,完成课后作业。第五、六、七学时(格式输入、输出)一、引入学习任务(1)回顾上节课的内容,字符输入输出。(2)明确学习方向。【知识点】scanf( )函数printf( )函数【能力点】掌握scanf( )函数的应用掌握printf( )函数的应用二、明确目标,完成任务1. scanf函数scanf函数称为格式输入函数,按用户指定的格式从键盘上把数据输入到指定的变量之中,scanf函数也是一个标准库函数,其函数原型在头文件“stdio.h”中。【做中学1-4】使用scanf( )函数从键盘接收程序用户的输入。【程序代码】#include void main( ){ int a,b,c; printf("请输入三个整数,整数间两个用英文空格分开:"); scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c);}scanf函数语法格式为: scanf(格式控制,地址表列);(1) &a表示变量a的地址,“&”为取地址运算符。(2) “&a,&b,&c”表示将键盘收到的数值存储到a,b,c三个变量对应的存储单元中,相当于对这3个变量进行了赋值。(3) scanf函数的格式必须以%开始,后面跟一个格式符组成。scanf函数常用的格式符格式符含义d,i用于输入有符号的十进制整数u用于输入无符号的十进制整数o用于输入无符号的八进制整数X,x用于输入无符号的十六进制整数c用于输入单个字符s用于输入字符串,将字符串送到一个字符数组中,输入时以非空白字符开始,以空白字符(可以为空格、制表符或换行符)结束,系统将自动在字符串末尾加上’\0’作为结束标志。f用于输入实数,可以以小数或指数形式输入,但不能指定输入宽度。E,e,G,g同格式符fscanf函数附加格式说明符字符说明l用于输入长整型数据(可用%ld,%lo,%lx)以及double型数据(用%lf或%le)h用于输入短整型数据(可用%hd,%ho,%hx)域宽指定输入数据所占宽度,为正整数。如“scanf("%4d%4d",&a,&b);”*带*的输入项在读入后将被跳过【做中学1-5】非格式符的使用。【程序代码】#include void main(){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c);}【做中学1-6】实型数据的输入输出。【程序代码】#include int main(){ float a,b;double x,y; scanf("%f,%e,%lf,%le", &a,&b,&x,&y);printf("%f,%e,%lf,%le \n", a,b,x,y); return 0;}2. printf( )函数【做中学1-7】printf( )函数的使用。【程序代码】#include void main( ){ char a='B'; int b=10; printf("The name is %c,the value is %d\n",a,b);}printf函数为格式输出函数,它是一个标准库函数,其函数原型在头文件“stdio.h”中,它向终端输出若干个任意类型的数据。其语法格式为:printf(格式控制,输出表列)(1) 格式控制由输出格式说明和普通字符两种组成,必须用双引号括起来。(2) 输出表列是需要输出的一组数据(可以为表达式和变量),各参数之间用“,”分开。要求格式说明和各输出项在数量和类型上要一一对应,否则将会出现意想不到的错误。对于不同类型的数据需要用不同的格式字符进行说明。常用格式字符有如下几种。(1) d格式符 【做中学1-8】printf函数按%d格式输出数据。 #include void main(){ int a; long b; a=123; b=655666635L; printf("\n %cd %d\n",'%',a); printf(" %c10d %10d\n",'%',a); printf(" %cld %ld\n",'%',b); printf("%c20ld %20ld\n",'%',b);}(2) o格式符 以八进制形式输出整数。【做中学1-9】 printf函数按%o格式输出数据。#include void main(){ int a; long b; a=-1; b=655666635L; printf(" %co %o\n",'%',a); printf(" %c15o %15o\n",'%',a); printf(" %cLo %Lo\n",'%',b); printf("%c20Lo %20Lo\n",'%',b);}(3) x格式符 以十六进制形式输出整数,用法同o格式符。(4) u格式符 用于输出unsigned型数据,以十进制形输出。(5) c格式符 用来输出一个字符,可以指定宽度。【做中学1-10】printf函数按%c格式输出数据。#include void main(){ char x='a'; int y=98; printf("The value of x is %c,the ASCII is %d.\n",x,x); printf("The value of x is %c,the ASCII is %d.\n",y,y);}(6) s格式符 用来输出一个字符串。(7) f格式符 用小数形式来输出实数(包括单、双精度实数)。(8) e格式符 以指数形式输出实数。(9) g格式符 用于输出实数,根据数值的大小自动选择f格式或e格式中输出宽度较小的格式输出,不输出无意义的零,6位有效数字。【练中学1-2】求一元二次方程的根。【算法设计】一元二次方程一般格式为:ax2+bx+c=0。当b2-4ac=0时,方程有只有一个根;当b2-4ac>0时,方程有两个根。【程序代码】#include #include "math.h" void main( ){ float a,b,c,disc,x1,x2; printf("输入a,b,c的值,必须保证b2-4ac>0,用“,”分隔输入的数据:"); scanf("%f,%f,%f",&a,&b,&c); disc=b*b-4*a*c; x1=(-b+(float)sqrt(disc))/(2*a); x2=(-b-(float)sqrt(disc))/(2*a); printf("x1=%6.2f\nx2=%6.2f",x1,x2);}【练中学1-3】printf函数按%x,%u格式输出数据。#include void main(){ unsigned int a; long b; a=63123; b=655666635L; printf(" %cu %u\n",'%',a); printf(" %c10x %10x\n",'%',a); printf(" %cLx %Lx\n",'%',b); printf("%c20Ld %20Ld\n",'%',b); b= -3;a= -3; printf(" %cu %u\n",'%',a); printf(" %c10x %10x\n",'%',a); printf(" %cLx %Lx\n",'%',b); printf("%c20Ld %20Ld\n",'%',b);}【练中学1-4】*格式符的使用。【程序代码】#include void main( ){ int a,b; printf("请输入三个整数,整数间两个用英文空格分开:"); scanf("%d%*d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}【练中学1-5】域宽格式符的使用。【程序代码】#include void main( ){ int a,b; printf("请连续输入8个以上数字:"); scanf("%4d%4d",&a,&b); printf("a=%d,b=%d\n",a,b);}【练中学1-6】%s格式符的使用。【程序代码】#include void main( ){ char st[40]; int a; printf("请连续输入3个数字3个字母一个空格后再输入若干字母:"); scanf("%d%s",&a,st); printf("你的输入是:%d%s\n",a,st);}【练中学1-7】分别输入一个八进制、一个十进制和一个十六进制数,将这3个数相加,以十进制的形式输出。【程序代码】#include void main(){int a,b,c,d;printf("请输入三个数(第一个8进制,第二个10进制,第三个16进制)\n");scanf("%o,%d,%x",&a,&b,&c); /*提示用户,并接收输入的三个数*/d=a+b+c; /*3个数相加,存入d单元变量*/printf("0%o + %d + 0x%x =%d \n",a,b,c,d); /*以十进制的形式输出结果*/}三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业。第八学时(Visual Studio 2019环境下的程序调试、Dev-C++环境下的程序调试)一、引入学习任务(1)回顾上节课的内容,格式输入和输出。(2)明确学习方向。【知识点】Visual Studio 2019环境下的程序调试Dev-C++环境下的程序调试【能力点】熟练掌握Visual Studio 2019环境下的程序调试熟练掌握Dev-C++环境下的程序调试二、明确目标,完成任务1. Visual Studio 2019环境下的程序调试调试方式有断点调试及单步调试两种。(1)添加断点(2)调试程序(3)单步调试 Dev-C++环境下的程序调试调试方式有断点调试及单步调试两种。(1)打开调试工具(2)通过鼠标查看变量(3)设置断点(4)调试程序(5)单步调试三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成上机作业。教学后记2 展开更多...... 收起↑ 资源预览