程序设计基础 电子教案.doc
程序设计基础 电子教案职业本科规划教材C语言程序设计教学设计课程名称: C语言程序设计授课年级:2022年级 授课学期:2022学年第一学期 教师姓名:XXX2021年10月22日- 1 - / 18课题名称程序设计基础计划学时12学时内容分析随着大数据、人工智能、物联网及5G的应用普及,行业出现了融合趋势,一些岗位及行业标准对信息化提出了更高要求,“C语言程序设计”已成为工程技术类相关专业的专业基础课程或专业课程。不论是什么样的计算机语言,其程序设计的基本方法是相同的,本节以C语言程序设计为主线,介绍程序设计的基本概念和基本方法。教学目标及基本要求(1) 掌握C语言程序的开发过程;(2) 掌握程序结构;(3) 掌握上机环境;(4) 掌握数据类型;(5) 熟练应用运算符与表达式。教学重点C语言程序开发过程、基本数据类型、运算符表达式、Visual Studio 2019应用简介教学难点基本数据类型、运算符表达式教学方式教学采用教师课堂讲授与学生操作练习共同进行的一体化教学方式l 概念性知识点:提出为什么,将抽象具体化,配合教学PPT、案例辅助讲解.l 操作性知识点:提需求,并上机演示如何操作,重点内容总结经验及注意事项。l 学生操作练习:完成教材中的引例、做中学以及练中学案例,有能力的学生还可以完成教师额外布置的拓展练习题目。教学过程第一学时(知识准备)一、引例任务,提出需求(1)谈一谈学习C语言的必要性,引出本节所需知识内容.【引例任务】用C语言编写程序输出“老师,您好!”【程序代码】include <stdio.hvoid main( ) printf(“老师,您好!”); /输出“老师,您好!”*/【程序运行】老师,您好! (2)明确学习方向。【知识点】l C程序结构l 注释l 主函数main.l 输出函数printf【能力点】l 认识完整的C语言程序l 认识C语言程序的运行过程l 练习C程序的编写二、 明确目标,完成任务1. 注释“/”与“/”及其之间的内容是对程序的注释,用以对语句进行说明,输入程序时可以不输入.2. 主函数main是“主函数”。“"与“”之间的语句是 main函数的内容,是程序的主体,也称函数体。所有的C语言程序都必须包含有一个 main函数。程序从main函数的第一行语句开始执行,到最后一条语句结束。3. 库函数printf(“老师,您好!")的功能是在屏幕上显示“老师,您好!”。printf函数是C语言提供的按指定格式进行标准输出的函数,其功能是输出由双引号括起来的字符序列.在其中可以包含控制字符,“n”是换行控制符,表示该符号之前的内容输出完毕后换行显示后续内容.C语言的函数分为两类:系统本身提供的库函数和用户自定义函数,库函数又称标准函数。库函数定义在相应的头文件(头文件的扩展名是.h)中,如果要调用这些库函数,要在源程序最前面使用include语句将相应的头文件包含进来,然后在程序中就可调用这些库函数。printf函数的头文件是stdio.h,在程序中应使用include <stdio.h语句,然后就可以在程序中使用printf函数实现输出功能。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业。第二、三学时(C语言程序概述)一、引入学习任务(1)回顾上节课的内容,C语言的相关知识,引出本节课要讲解的内容C语言的程序构成、特殊字符.(2)明确学习方向.【知识点】l C语言程序特点l C语言程序书写格式l 程序构成l 特殊字符【能力点】l 熟悉C语言程序的特点l 掌握C语言程序书写格式l 掌握程序构成l 了解特殊字符二、明确目标,完成任务1C语言程序特点(1) 每条语句后面都有“;”作为终止符,它是C语句结束符。(2) 每个程序必须有一个且只能有一个主函数,程序从主函数开始执行。一个应用程序可以包含多个源程序文件,每个源程序文件又可以包含多个用户自定义函数。函数之间是相互独立、相互平行的。源程序最基本组成单位是函数。(3) 在C语言中,大、小写字母是有区别的。(4) 程序中可以加注释部分,注释有块注释和行注释两种方式.用“/”提供的注释是块注释,即可以注释多行。用“/”提供的注释是行注释,即只能注释一行,turbo C中没有这种注释方式。2C语言程序书写格式(1) C语言程序中每行可写一条语句,也可写多条语句,一般一行写一条语句。(2) C语言程序的书写要注意适当的缩进,以便使程序更加清晰易读。(3) C语言程序中的花括号必须成对出现。(4) 在书写程序时,要习惯使用注释.本任务的主要内容是学习C语言源程序的构成及开发过程,数据类型、常量及变量定义,运算符及其表达式.3. 程序构成编译预处理行全局变量说明void main( ) 局部变量说明 程序段返回类型 f1(形式参数说明) 局部变量说明 程序段返回类型 f2(形式参数说明) 局部变量说明 程序段返回类型 fn(形式参数说明) 局部变量说明 程序段4. 特殊字符(1)关键字关键字是C语言编译程序本身所规定使用的专用词,它们有特定的含义。如int用来定义整数类型。所有的C语言关键字不能用作标识符,关键字必须用小写字母表示。(2)标识符C语言中,变量、符号常量、函数、数组、类型和文件等都需要有一个名称,这个名称就叫做标识符。【做中学0-1】中的max就是标识符。用户自定义的标识符要符合C语言标识符的命名规则。(3)分隔符分隔符用来使编译器确认代码在何处分隔,C语言中分隔符包括注释符、空白符及普通分隔符。 三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业.第四、五学时(上机练习)首先,学生完成本章【边学边练】的案例任务;【练中学01】编程实现在屏幕上显示如下两行文字: Hello,students! I am students!【算法设计】在屏幕上显示内容,是通过printf( )函数完成的。可以在printf()函数中包含控制符“n"来换行,printf( )函数的头文件是stdio。h,在程序中应使用include <stdio.h语句。【程序代码】include stdio。hvoid main( ) printf(“Hello,students!n”); printf(“I am students!”);【练中学0-2】编程实现两个整型数相加,并显示结果。【算法设计】定义三个整型变量a,b,sum,分别给a和b赋值,通过表达式sum=a+b计算出两个数的和,用printf()函数将结果输出。【程序代码】include <stdio。hvoid main( ) int a=12,b=45,sum; sum=a+b; printf(“sum=%d”,sum);其次,教师发放本章相关资料和素材,学生进行拓展上机练习,以此检查学生对相关知识点的掌握情况。上机练习完成后将作品通过线上平台提交给老师。第六学时(C语言程序开发过程)一、引入学习任务(1)回顾上节课的内容,对于【边学边练】中出现的问题进行简单的具有针对性的讲解。(2)明确学习方向。l C语言程序的开发过程二、明确目标,完成任务C语言程序的开发过程可以分成4个主要步骤:编辑"编译"链接"执行。1编辑C语言程序2编译C语言程序3程序链接4运行程序三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结. (2)扫描二维码查看相应资源,完成课后作业。第七、八学时(基本数据类型)一、引入学习任务(1)回顾上节课的内容,C语言程序开发过程。(2)明确学习方向。【知识点】l 整型数据l 实型数据l 字符型数据l 数据类型转换【能力点】l 熟练掌握C语言中常用的数据类型二、明确目标,完成任务1整型常量C语言中的整型常量有3种表示形式:(1) 十进制整数。如2,983。(2) 八进制整数。(3) 十六进制整数.2整型变量在C语言中,整型类型标识符为int。根据整型变量的取值范围又可以将整型变量定义为以下6种整型类型:有符号基本整型 signed int无符号基本整型 unsigned int有符号短整型 signed short int无符号短整型 unsigned short int有符号长整型 signed long int无符号长整型 unsigned long int3整型常量的类型整型常量不必使用强制类型说明就可以直接使用,当遇到整型常量时,编译器会自动根据其值将该常量认定为相应的类型,保证其按适当的类型参与运算.一个整数,其值在(3276832767)之间时,被认为是int型,可以把它赋值给int型、short型或long型变量;但其值超出了此范围,而在(21474836482147483647)范围之间,则被认为是长整型,可以把它赋值给long型变量。一个整型常量后加U或u后缀则被认为是unsigned类型,在内存中按unsigned规定的方式存放。而一个整型常量后加l或L后缀则被认为是long类型,在内存中按long规定的位数存放。4。 实型变量在C语言中,实型变量分为单精度实型(float)、双精度实型(double)和长双精度实型(long double)3类.定义实型变量的形式如下: float 变量名表;或 long double 变量名表;5实型常量实型常量有两种表示形式:(1) 十进制小数形式:十进制小数形式由数字和小数点组成.(2) 指数形式:指数形式由尾数、e(或E)以及指数3部分组成。6。 字符型常量字符型常量是用单引号引起来的一个字符,如A,x','等。另外还有-种特殊的字符常量称为转义字符,是以一个反斜杠“”开头的字符序列。C语言规定:以反斜杠开头,后跟一个字母代表一个控制字符;后跟13位八进制数字,代表ASCII码为该八进制数的字符;在 “x”后跟12位十六进制数字,代表ASCII码为该十六进制数的字符.7字符型变量字符型类型标识符为char,一个字符型变量的值只能是一单个字符.不同的编译系统,在存储时字符型被处理为带符号整型(如Turbo c)和无符号整型两种.因此字符型数据可以分为有符号字符型( signed char)和无符号字符型(unsigned char)两类。signed char的取值范围足128127,而unsigned char的取值范围是0255。字符型变量的定义形式为:char 变量名表;8字符串常量字符串常量则是由一对双引号引起来的一个字符序列。例如:"How are you!”是一个字符串常量。在程序中,不能把一个字符串常量赋给一个字符型变量.三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结. (2)扫描二维码查看相应资源,完成上机作业。第九、十学时(运算符和运算表达式)一、引入学习任务(1)回顾上节课的内容,C语言中的基本数据类型.(2)明确学习方向.【知识点】l 算术运算符和算术表达式l 赋值运算符和赋值表达式l 关系运算符和关系表达式l 逻辑运算符和逻辑表达式l 逗号运算符和逗号表达式l 条件运算符和条件表达式【能力点】l 熟练掌握C语言中的运算符和运算表达式二、明确目标,完成任务1基本算术运算符+ 加法运算符、正值运算符。如表达式x + y表示求x与y的和,+y表示取y的正值。 减法运算符、负值运算符.如表达式x-y表示求x与y的差,y表示取y的负值.* 乘法运算符。如表达式x*y表示求x与y的积。/ 除法运算符。如表达式x/y表示求x与y的商. 模运算符(求余运算符).如表达式x%y表示求x除以y的余数。2自增、自减运算符自增、自减运算符用来对一个操作数进行加1或减1运算,其结果仍然赋值给该操作数,而且参加运算的操作数必须是变量,而不能是常量或表达式。自增运算符:例如,x+表示在使用x之后,使x的值加1,即x=x+1;+x表示在使用x之前,先使x的值加1,即x=x+1。自减运算符:例如,x-表示在使用x之后,使x的值减1,即x=x1;-x表示在使用x之前、先使x的值减1,即x=x1。3算术表达式、运算符的优先级和结合性算术表达式中运算对象可以是常量、变量或函数等.C语言规定了运算符的优先级和结合性,在算术表达式求值时,按照优先级别的高低和结合方向来依次处理运算。4基本赋值运算符赋值的含义是将赋值运算符右边的表达式的值,存入以左边的变量名为标识的存储单元中.5复合赋值运算符为了使程序精练并提高编译效率,C语言允许将双目运算符加在“=”的前面构成复合赋值运算符。其形式为: <双目运算符>=复合赋值运算符总共有10种.+= , = , = ,/ = ,%= ,>= ,= ,&= , = , =前5种是算术复合赋值运算符,后5种是位复合赋值运算符.6赋值表达式赋值表达式的一般形式为: <变量<赋值运算符>表达式其中,表达式可以是常量、变量、函数或由它们组成的表达式,也可以是赋值表达式,赋值表达式的值为赋值号右边表达式的值.当赋值运算符是复合赋值运算符时,赋值表达式等价于 变量>=<变量>双目运算符<表达式>7。 逻辑运算符和逻辑表达式C语言有三种逻辑运算符,它们是&&(逻辑与),(逻辑或),!(逻辑非)。逻辑运算符名称练中学优先级!逻辑非!(x>9)高低逻辑与(x>2) &&(y9)逻辑或(x2) |(y<9)运算符优先级括号逻辑非算术运算符关系运算符逻辑与逻辑或条件运算符赋值运算符()!+、-、*、/、%、+、- -、=、=、=、!=&|?:=、复合赋值运算符高 低8. 逗号运算符和逗号表达式 “,"为逗号运算符,又称为顺序求值运算符。用逗号运算符可以将若干个表达式连接起来构成一个逗号表达式。逗号表达式的语法格式为: 表达式1,表达式2,,表达式n逗号运算符在所有的运算符中的优先级别最低,其结合性为左结合性,即从左到右顺序求值。先求解表达式1,再求解表达式2,最后求解表达式n,而表达式n的值即为整个逗号表达式的值.9. 条件运算符和条件表达式C语言中的条件运算符由问号“?"和冒号“:”组成。它是C语言中唯一的一个3目运算符。要求3个运算对象同时参加运算.由条件运算符构成的条件表达式的语法格式为 表达式1 ? 表达式2 : 表达式3运算规则:如果表达式1为“真”,则求解表达式2的值,并将其作为整个条件表达式的值;否则就求解表达式3的值,并将其作为整个条件表达式的值。10。 类型转换转换是遵循一定的规则进行。(1) 当运算对象数据类型不相同时,字节短的数据类型自动转换成字节长的数据类型。数据类型转换图(2) 当运算对象类型不同时,如果是int型与unsigned型进行运算,将int型转换成unsigned型。运算结果为 unsigned型;如果是int与double型进行运算, 将int型直接转换成double型,运算结果为double型;同理,如果int型与1ong型进行运算,则将int型转换成1ong型,运算结果为long型。(3) 类型转换也可强制进行。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成上机作业.第十一学时(Visual Studio 2019应用简介、Dev-C+应用简介)一、引例任务,提出需求(1)了解C语言程序运行的环境,引出本节所需知识内容。 (2)明确学习方向。【知识点】l Visual Studio 2019应用简介l Dev-C+应用简介【能力点】l 熟练运用Visual Studio 2019进行C语言程序的编程练习l 能够自主安装DevC+,并在其环境中进行C语言编程二、明确目标,完成任务1. Visual Studio 2019应用简介Visual Studio(简称VS) 是美国微软公司的开发工具包系列产品。VS 2019包含了Visual C+ 2019、Visual Basic 2019、Visual F+ 2019 等软件组件.利用VS 2019提供的向导工具,开发C语言程序步骤如下。(1)创建项目(2)添加源文件(3)编译(4)链接(5)运行2。 DevC+应用简介单击“DevC +"命令,即可启动Dev-C +集成开发工具.(1)编辑源程序(2)保存源程序(3)预处理、编译、链接程序(4)运行程序(5)打开源程序三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 (2)扫描二维码查看相应资源,完成课后作业。第十二学时(上机练习)首先,学生完成本章【边学边练】的案例任务;【练中学0-5】已知圆半径,圆柱高,求圆周长,圆柱体积.【算法设计】从数学公式我们可以知道,圆周长=2*r,圆柱体积=*r2*h,通过变量的定义和表达式,计算出圆周长和圆柱体积.【程序代码】include stdio。hdefine PI 3。14void main() double r=2.0,h=5。0,s,v; /*定义双精度数据类型常量与变量/ s=2.0*PI*r; v=PIr*rh; printf(”圆周长为%7。2fn”,s); printf("圆柱体积为%7.2fn",v);【练中学06】编写程序,读入两个字符数据给ch1、ch2,然后交换它们的值。【算法设计】定义三个字符型变量,其中两个变量为用户输入的字符型数据,另一个变量作为中间变量,进行两个字符数据的交换。【程序代码】#include <stdio。hvoid main( ) char ch1,ch2,m; printf("请输入两个字符:”); scanf(”%c,c”,&ch1,ch2); m=ch1; ch1=ch2; ch2=m; printf("ch1=%cn",ch1); printf("ch2=cn”,ch2);【练中学0-7】找出下列程序的错误或警告,使其运行结果为:a=KKK3。00,b=KKK4。00,c=KKK5.00【程序代码】#include math.h>void main( ) float a=3,b=4,c; c=sqrt(a*a+bb); printf(“a=%7.2f,b=%7.2f,c=7。2f",a,b,c);其次,教师发放本章相关资料和素材,学生进行拓展上机练习,以此检查学生对相关知识点的掌握情况。上机练习完成后将作品通过线上平台提交给老师。教学后记- 17 -