版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
职业本科规划教材
《C语言程序设计》
教学设讨
课程名称:C语言程序设计
授课年级:2022年级______________
授课学期:2022学年第一学期
教哪发名:_________XXX____________
课题计划
模块一顺序程序设计训练8学时
名称学时
在C语言程序设计中,程序的执行严格按代码的先后依次执行。顺序结构是最简单的程序结
内容
构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序
分析
是自上而下,依次执行。
(1)了解结构化程序设计的基本结构;
教学目(2)了解流程控制的基本语句;
标及基
(3)熟练掌握数据的输入/输出处理函数和表达式语句;
本要求
(4)掌握构建顺序结构程序的基本语句及程序基本构架;
(5)掌握顺序结构程序设计方法。
教学
数据的输入/输出处理函数和表达式语句、顺序结构的基本语句、顺序结构的设计方法
重点
教学
顺序程序设计的基本构架、顺序程序设计的设计方法
难点
教学采用教师课堂讲授与学生操作练习共同进行的一体化教学方式
教学•概念性知识点:提出为什么,将抽象具体化,配合教学PPT、案例辅助讲解。
方式
•操作性知识点:提需求,并上机演示如何操作,重点内容总结经验及注意事项。
•学生操作练习:完成教材中的引例、做中学以及练中学案例,有能力的学生还可以完成
教师额外布置的拓展练习题目。
第一学时
(知识准备)
一、引例任务,提出需求
(1)通过引力任务,引出本节所需知识内容。
【引例任务】判断从缝盘输入的整数数据的奇偶性。
教
【程序代码】
学
#include<stdio.h>
过
voidmain(){
程
intnum;
do(
prinlf(“请输入一个自然数:");〃提示用户输入一个数值
scanf("%d",&nuni);〃接受用户输入的数值
if(num%2==0)
priniff您输入的是一个偶数\n");
else
printf("您输入的是一个奇数\n”);
}while(num!=O);
)
【程序运行】
请输入一个自然数:25/
您输入的是一个奇数
请输入一个自然数:26/
您输入的是一个偶数
请输入一个自然数:0/
您输入的是一个偶数
(2)明确学习方向。
【知识点】
引例中出现了输入、处理、输出等操作,这些操作具有特定的流程,流程常称为算法,
引例的算法体现了结构化程序设计的基本思想。
【能力点】
•认识判断语句
•掌握scanf()函数
•掌握printf()函数
二、明确目标,完成任务
完成引例任务:
1.当num变量的值不为0时,循环。
2.if(num%2==0)是判断语句,当关系表达式num%2==0成立,表示num变量中的数据
是偶数。
3.scanf()函数接收用户键盘输入的数据到指定变量。
4.prinlf()函数向计算机屏幕输出信息。
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成课后作业。
第二学时
(程序和算法)
一、引入学习任务
(1)回顾上节课的内容,结构化程序的基本结构,流程控制的基本语句。
(2)明确学习方向。
【知识点】
•程序
•算法
【能力点】
•了解程序的定义
•掌握程序设计
•掌握算法的概念
•熟练进行算法描述
二、明确目标,完成任务
1.程序
程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
一个程序应该包括以下两方面的内容。
(1)对数据的描述。
(2)对操作的描述。
程序=数据结构+算法
2.程序设计
程序设计是给出解决恃定问题程序的过程。
(1)分析问题。
(2)设计算法。
(3)编写代码。
(4)测试程序。
(5)编写程序文档。
3.算法的定义
广义地讲,算法是指为解决某个具体问题向采取的方法和步骤。
计算机解题算法分为两大类:数值运算算法和非数值运算算法。
根据不同的算法控制结构,程序有3种结构:顺序结构、选择结构和循环结构。
(1)顺序结构。
(2)选择结构。
(3)循环结构。
4.算法描述
(1)算法的五个特征
•有穷性
•确切性
•输入
•输出
•可行性
⑵自然语言
(3)伪代码
(4)
A顺序结构
(5)
当p
b)选择结构C)当型循环结构d)直到型循环结构
三、归纳总结,布置课后作业
(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<stdio.h>
#include<math.h>
voidmain(){
doubley;
intx,m;
for(y=1;y>=-l;y-=0.1){
m=(int)(acos(y)*10);
for(x=l;x<m;x++)printf("");
printf("*");
for(;x<62-m;x++)printf("*');
printf("*\n");
)
I
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结.
(2)扫描二维码查看相应资源,完成课后作业。
第四学时
(字符输入、输出)
一、引例任务,提出需求
C语言中没有提供专门的输入输出语句,所有的输入输出都是调用标准库函数中的输入
输出函数来实现的。字符数据的输入输出是最基本的数据输入输出,由C语言标准函数库提
供的函数getchar()和puichar()实现。
【知识点】
•getchar()函数
・pulchar()函数
【能力点】
•掌握getchar()函数的应用
•掌握putchar()函数的应用
二、明确目标,完成任务
1.getchar函数
【做中学1-2]利用getchar()函数接收键盘输入。
【程序代码】
#include<stdio.h>
voidmain(){
charch;
primf(”请输入多个字母:”);
ch=getchar();
printf("您输入的是:%c”,ch);
}
Dgeichar函数是字符输入函数,接收从键盘输入的单个字符数据。他是一个无参函数,
其语法格式为:getchar();
2)通常把输入的字符赋予一个字符变量,构成赋值语句。
3)getchar()函数只能接收单个字符。
4)使用getchar前必须包含头文件“stdio.h”.
5)getchar函数等待用户输入直到按“回车”键才结束,回车前的所有输入字符都会逐个
显示在屏幕上。
2.putchar函数
【做中学1-3】利用putchar()函数输出।字符。
【程序代码】
#include<stdio.h>
voidmain(){
charc=,B';/*定义字符变量c并赋值'B'*/
putchar(c);/*输出该字符*/
putchar('\x42');/*输出字母B*/
putchar(0x42);/*用16进制ASCII码值输出字母B*/
puichai(66);/*用ASCII码值输出宇母B叼
1)语法格式为:
putchar(字符表达式);
2)功能:向标准输出设备输出单个字符数据。
【练中学1-1]getchar、putchar函数应用。
【程序代码】
#include"stdio.h"
voidmain(){
charch;
printf("请输入两个字符:");
ch=getchar();
putchaKchjiputcharC'Xn');
putchar(getchar());
putchar('\n');
}
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成课后作业。
第五、六、七学时
(格式输入、输出)
一、引入学习任务
(1)回顾上节课的内容,字符输入输出。
(2)明确学习方向。
【知识点】
•scanf()函数
•printf()函数
【能力点】
•掌握scanf()函数的应用
•掌握prinlf()函数的应用
二、明确目标,完成任务
1.scanf函数
scanf函数称为格式输入函数,按用户指定的格式从键盘上把数据输入到指定的变量之
中,scanf函数也是一个标准库函数,其函数原型在头文件“stdio.h”中。
【做中学1~4】使用scanf()函数从键盘接收程序用户的输入。
【程序代码】
#include<stdio.h>
voidmain(){
inta,b,c;
printf(”请输入三个整数,整数间两个用英文空格分开:”);
scanf("%d%d%d",&a,&b,&c);
printf(,,a=%d,b=%d,c=%d\n",a,b,c);
1
scanf函数语法格式为:
scanf(格式控制,地址表列):
(1)&a表示变量a的地址,为取地址运算符。
(2)表示将键盘收到的数值存储到a,b,c三个变量对应的存储单元中,相当
于对这3个变量进行了赋值。
(3)scanf函数的格式必须以%开始,后面跟一个格式符组成。
scanf函数常用的格式符
格式符含义
d,i用于输入有符号的十进制整数
u用于输入无符号的十进制整数
o用于输入无符号的八进制整数
X,x用于输入无符号的十六进制整数
c用于输入单个字符
用于输入字符串,将字符串送到一个字符数组中,输入时以非空白字符
s开始,以空白字符(可以为空格、制表符或换行符)结束,系统将自动在字符串末尾
加上、(T作为结束标志。
f用于输入实数,可以以小数或指数形式输入,但不能指定输入宽度。
E,e,Gg同格式符f
scanf函数附加格式说明符
字符说明
1用于输入长整型数据(可用%Id.%lo.%lx)以及double型数据(用%If
或%le)
h用于输入短整型数据(可用%hd,%ho.%hx)
域宽指定输入数据所占宽度,为正整数。如“scanfV%4d%4<r,&a,&b);”
*带*的输入项在读入后将被跳过
【做中学1-5】非格式符的使用。
【程序代码】
#include<stdio.h>
voidmain(){
inta,b,c;
scanf(”%d,%d,%d",&a,&b,&c);
printf("a=%d.b=%d.c=%d",a.b.c);
}
【做中学1-6]实型数据的输入输出。
【程序代码】
#include<stdio.h>
intmain(){
floata,b;
doublex,y;
scanf("%f,%e,%lf,%le",&a,&b,&x,&y);
printf("%f,%e,%lf,%le\n",a,b,x,y);
return0;
2.printf()函数
【做中学1-7】printf()函数的使用。
【程序代码】
#include<stdio.h>
voidmain(){
chara="B';
intb=10;
printf("Thenameis%c,thevalueis%d\n",a,b);
}
printf函数为格式输出函数,它是一个标准库函数,其函数原型在头文件“stdio.h”中,
它向终端输出若干个任意类型的数据。其语法格式为:
printf(格式控制,输出表列)
(I)格式控制由输出格式说明和普通字符两种组成,必须用双引号括起来。
(2)输出表列是需要输出的一组数据(可以为表达式和变量),各参数之间用分开。
要求格式说明和各输出项在数量和类型上要一一对应,否则将会出现意想不到的错误。
对于不同类型的数据需要用不同的格式字符进行说明。常用格式字符有如下几种。
(l)d格式符
【做中学1-8】prinlf函数按%(1格式输出数据。
#include<stdio.h>
voidmain(){
inta;
longb;
a=123;
b=655666635L;
printf("\n%c(i%d\n";%;a);
printf("%clOd%10d\n,','%',a);
printfC%cld%ld\n";%;b);
printf("%c201d%201d\n";%',b);
(2)o格式符以八进制形式输出整数。
【做中学1-9】printf函数按%。格式输出数据。
#include<stdio.h>
voidmain(){
inta;
longb;
a=-l;
b=655666635L;
printfC%co%o\n,';%',a);
printf(H%cl5o%15o\n";%',a);
printfC%cLo%Lo\n";%',b);
printf("%c20Lo%20Lo\n";%;b);
)
(3)x格式符以十六进制形式输出整数,用法同。格式符。
(4)u格式符用于输出unsigned型数据,以十进制形输出。
(5)c格式符用来输出一个字符,可以指定宽度。
【做中学1-10]prinlf函数按%0格式输出数据。
#include<stdio.h>
voidmain(){
charx='a*;
inty=98;
printfC'Thevalueofxis%c,theASCIIis%d.\n",x,x);
printf(oThevalueofxis%c,theASCIIis%d.\n",y,y);
1
(6)s格式符用来输出一个字符串。
(7)f格式符用小数形式来输出实数(包括单、双精度实数)。
(8)e格式符以指数形式输出实数。
(9)g格式符用于输出实数,根据数值的大小自动选择f格式或e格式中输出宽度较小
的格式输出,不输出无意义的零,6位有效数字。
【练中学1-2]求一元二次方程的根。
【算法设计】
一元二次方程一般格式为:ax2+bx+c=0o当b2-4ac=0时,方程有只有一个根;当b2-4ac>0
时,方程有两个根。
【程序代码】
#include<stdio.h>
#include"math.h"
voidmain()(
floata,b,c,disc,xl,x2;
printf("输入a,b,c的值,必须保证b2dac>0,用“,”分隔输入的数据:");
scanf("%f,%f,%r,&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',xl,x2);
)
【练中学1-3】printf函数按%x,%11格式输出数据。
#includc<stdio.h>
voidmain()(
unsignedinta;
longb;
a=63123;
b=655666635L;
printf("%cu%u\n";%',a);
printfC%clOx%10x\n";%',a);
printf("%cLx%Lx\n";%',b);
printf("%c20Ld%20Ld\n";%;b);
b=-3;a=-3;
printf("%cu%u\n,';%',a);
printf("%clOx%10x\n,';%',a);
printf("%cLx%Lx\n";%',b);
printf("%c20Ld%20Ld\n",1%\b);
)
【练中学1~4],格式符的使用。
【程序代码】
#include<stdio.h>
voidmain(){
inta,b;
printf(”请输入三个整数,整数间两个用英文空格分开:");
scanf("%d%*d%d';&a,&b);
printf("a=%d,b=%d\n",a,b);
)
【练中学1-5】域宽格式符的使用。
【程序代码】
#include<stdio.h>
voidmain(){
inta,b;
printf("请连续输入8个以上数字:”);
scanf("%4d%4d';&a,&b);
printf("a=%d,b=%d\n",a,b);
)
【练中学1-6】%$格式符的使用。
【程序代码】
#include<stdio.h>
voidmain()(
charst[40];
inta;
prinif("请连续输入3个数字3个字母一个空格后再输入若干字母:”);
scanf("%d%s",&a,st);
printf(“你的输入是:%d%s\n';a,st);
(
【练中学1-7】分别输入一个八进制、一个十进制和一个十六进制数,将这3个数相加,
以十进制的形式输出。
【程序代码】
#include<stdio.h>
voidmain(){
inta,b,c,d;
printf(”请输入三个数(第一个8进制,第二个10进制,第三个16进制)\n");
scanf(n%o,%d,%x",&a,&b,&c);/*提示用户,并接收输入的三个数*/
d=a+b+c;/*3个数相加,存入d单元变量*/
printf("0%o+%d+Ox%x=%d\n",a,b,c,d);/*以十进制的形式输出结果*/
I
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成课后作业。
第八学时
(VisualStudio2019环境下的程序调试、Dev-C++环境下的程序调试)
一、引入学习任务
(1)回顾上节课的内容,格式输入和输出。
(2)明确学习方向。
【知识点】
•VisualStudio2019环境下的程序调试
•Dev-C++环境下的程序调试
【能力点】
•熟练掌握VisualStudio2019环境下的程序调试
•熟练掌握Dev-C++环境下的程序调试
二、明确目标,完成任务
1.VisualStudio2019环境下的程序调试
调试方式有断点调试及单步调试两种。
(1)添加断点
(2)调试程序
(3)单步调试
2.Dev-C++环境下的程序调试
调试方式有断点调试及单步调试两种。
(1)打开调试工具
(2)通过鼠标查看变量
(3)设置断点
(4)调试程序
(5)单步调试
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成上机作业。
教
学
后
记
职业本科规划教材
《C语言程序设计》
教学设讨
课程名称:C语言程序设计
授课年级:2022年级_____________
授课学期:2022学年第一学期
教师发名:_______XXX
2021年10月22日
模块三循环程序设计训练
计划
课题
时
模块二分支程序设计训练学8学时
名称
根据某种条件的成立与否采用不同的程序段进行处理的程序结构称为选择结构。通常选择结
内容
构有两个分支,条件为“真”,执行甲程序段,否则执行乙程序段。有时,两个分支还是不
分析
能完全描述实际问题,这样的程序结构称为多分支选择结构。
教学目(1)掌握关系表达式和逻辑表达式的应用。
标及基
(2)掌握利用if语句实现的单分支和双分支选择结构。
本要求
(3)掌握利用switch语句实现多分支选择结构。
教学
if语句、switch语句
重点
教学
难点多分支选择结构
教学采用教师课堂讲授与学生操作练习共同进行的一体化教学方式
•概念性知识点:提出为什么,将抽象具体化,配合教学PPT、案例辅助讲解。
教学
方式•操作性知识点:提需求,并上机演示如何操作,重点内容总结经验及注意事项。
•学生操作练习:完成教材中的引例、做中学以及练中学案例,有能力的学生还可以完成
教师额外布置的拓展练习题目。
第一、二学时
(if-else语句)
一、引例任务,提出需求
(1)通过引力任务,引出本节所需知识内容。
教【引例任务】比较两个数的大小。
【程序代码】
学
过#include<stdio.h>
程voidmain(){
floata,b;
printf("请您输入两个实数:\n");
scanf(H%f,%f,,&a,&b);
if(a>b)
printf("第一个数较大。\nM);
elseif(a==b)
printf(“两个数相等。\n");
模块三循环程序设计训练
else
printf("第二个数较大。\nH);
1
【程序运行】
请您输入两个实数:
4,8/
第二个数较大。
(2)明确学习方向。
【知识点】
引例程序中3条输出语句用if-else语句连接,根据关系表达式的值执行其中一条输出语
句,是一个典型的分支结构。
C语言有两种实现分支结构的语句:if-else和switch-case语句。
本节课的主要内容是学习利用if语句实现分支结构。
【能力点】
•掌握单分支if语句
•掌握双分支if-else语句
三、明确目标,完成任务
在C语言中,if语句是常用的条件判断语句,用来判定是否满足指定的条件(条件式),
并根据条件式的运算结果来执行给定的操作。C语言提供了3种形式的if语句,在使用时可
根据具体问题的复杂程度来选择合适的形式。
1.单分支结构的if语句
【做中学2-1】两个数的升序排序。
【程序代码】
#include<stdio.h>
voidmain(){
floata,b,t;
printf("请输入两个实数:”);
scanf("%f,%r,&a,&b);
if(a>b){/*判断a>b的值,如果为真,则执行下面的语句*/
t=a;
a=b;
b=t;
)
printf("%5.2f%5.2f\n",a,b);
)
1)语法格式:
模块三循环程序设计训练
if(条件表达式)
语句;
2)单分支结构执行过程:
首先对表达式求解,当结果为真(非0)时,则执行指定的语句;否则跳过指定语句,
接着执行该语句下面的语句。
3)语法特征为:一个条件表达式,一个可选执行。
2.双分支结构的if语句
【做中学2-2】求绝对值。
【程序代码】
#includc<stdio.h>
voidmain(){
intx,y;
prinlf("输入一个整数:");
scanf("%d",&x);
if(x<0)/*判断x<0是否成立*/
y=-x;
else/*若x<0的值为假*/
y=x;
printf("这个数的绝对值是:%d\n",y);
)
1)语法格式:
if(条件表达式)
语句1;
else
语句2;
2)双分支结构执行过程:
先对表达式求解,当结果为“真”(非0)时,执行语句1;当计算结果为假(0)时,执行语
句2。然后执行if语句下面的语句。所以利用if-else形式的if语句可以实现双向分支选择。
实际运用中,语句1、语句2常为复合语句。
3.语法特征为:一个条件表达式,两个可选执行。
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成课后实训题。
第三学时
模块三循环程序设计训练
(switch-case语句)
一、引入学习任务
(1)回顾上节课的内容,if-else语句。
(2)明确学习方向。
【知识点】
•switch-case语法
•switch-case语句流程
【能力点】
•熟练掌握switch-case语句
二、明确目标,完成任务
【做中学2-3]某运输公司对用户收取运费的规定如下(s表示里程数km):
S<2500(没有折扣)
250<s<5002%
500^s<10005%
1000^s<20008%
2000^s<300010%
3000Ws15%
设基本运费为每公里每吨p元,货物重为w吨,折扣为d,总运费f的计算公式为
f=pXwXsX(l-d)
距离s折扣率d距离6折扣率d
s<25001750^s<20008%
250WsV5002%2000MV225010%
500WsV7505%2250WsV250010%
750«s<10005%2500«s<275010%
1000^s<12508%2750<sV300010%
1250WsV15008%3000Ws15%
1500^s<17508%
通过分析,可以用多分支选择结构处理这种多种选择的情况。f是因变量,s、p、w的
值从键盘输入。
【程序代码】
#includc<stdio.h>
voidmain(){
intc,s;
floatp,w,d,f;
printf("请输入每公里运价(元/吨*公里),货物重量(吨),运输里程(公里):
模块三循环程序设计训练
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000)
c=12;
else
c=s/250;
switch(c){
case0:d=0;
break;
case1:d=2;
break;
case2:
case3:d=5;
break;
case4:
case5:
case6:
case7:d=8;
break;
case8:
case9:
case10:
case1l:d=10;
break;
case12:d=15;
break;
default:printff输入里程有错!\n");
)
f=p*w*s*(1-d/1OO.Of);
printf("应缴运费:%15.4f\n\f);
1
1.语法格式:
switch(表达式){
case常量1:语句1;
case常量2:语句2;
1
•a
case常量n:语句n;
模块三循环程序设计训练
[default:语句n+1;]
)
2.switch-case语句使用说明
(I)表达式可以为任何整数类型(包括字符型,也包括无符号的整数类型)。
(2)各个常量取不同的值。
(3)当表达式的值与某个case后的常量的值相等时,就执行此常量后面的语句,如果表
达式的值没有和任何常量相匹配,就执行default后面的语句,如果省略了default语句,那
么将不作任何处理,接着次行switch结构后面的语句。
(4)如果在相匹配case的语句块中没有break语句,那么程序将从此开始顺序执行,直
到遇到某个case子句中的break语句,才跳出switch结构。否则,一直执行到switch语句结
束。因而多个case可以共用同一组执行语句。如:
case8:
case9:
case10:
case1l:d=10;
break;
(5)case后面必须是常量表达式,表达式中不能包含变量,例如,不能写成casebo
(6)default出现的位置不影响程序执行结果。所以可先出现default子句,再出现各case
子句。
3.语法特征为:一个表达式的值,对应n个常量表达式的值。
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结。
(2)扫描二维码查看相应资源,完成课后作业。
第四、五学时
(多分支结构的if-else语句)
二、引例任务,提出需求
(1)回顾上节课的内容,switch-case语句。
(2)明确本节课学习方向。
【知识点】
•多分支结构的if~else语句
【能力点】
•熟练掌握多分支结构的if-else语句
二、明确目标,完成任务
对于双分支结构的if语句,若它的子句(语句1或语句2)也是if语句,就出现了if语
模块三循环程序设计训练
句的嵌套。
【做中学2-41分段函数计算。
x(0<x<10)
(10<x<20)
编程实现y=<2x多值函数的功能。
3x(20<x<100)
0("100或工40)
【程序代码】
#include<stdio.h>
voidmain(){
intx,y;
prinlfC请输入一个整数:");
scanf("%d",&x);
if(x>0&&x<=10){/*如果满足条件(Kx<=10*/
y=x;
printf("xe(0,10],y=%d\n*',y);
)
elseif(x>10&&x<20){/*如果满足条件10<x<20*/
y=2*x;
printf("xe(l0,20),y=%d\n",y);
)
elseif(x>=20&&x<100){/*如果满足条件20<=x<100*/
y=3*x;
printf("xe[20,1OO),y=%d\n",y);
}
else{
y=0:
printf("x的值太大或太小!y=%d\n",y);
)
)
1.语法格式:
if(条件式1)
语句1;
模块三循环程序设计训练
elseif(条件式2)
语句2;
elseif条件式3)
语句3
I
I
elseif(条件式n)
语句n;
else
语句n+1;
2.执行过程:
执行时,程序首先求解表达式1的值,当计算结果为“真”时,执行语句1;否则求解
表达式2的值,当计算结果为“真”时,执行语句2;否则再继续求解表达式3,当计算结
果为“真”时,执行语句3;否则接着进行判断,依此类推,直到找到结果为“真”的表达
式,并执行与之相关的语句。如果经过求解,所有的表达式都为“假”,那么就执行最后一
个else后面的语句。
三、归纳总结,布置课后作业
(1)回顾上课前的学习目标,对本节课知识点进行总结.
(2)扫描二维码查看相应资源,完成课后作业。
第六、七、八学时
(边学边练、实训题)
一、上机练习
【能力点】
•熟练掌握条件表达式和逻辑表达式的使用。
•熟练掌握if语句的使用。
•熟练掌握switch语句的使用。
【练中学2-1】实现英寸与厘米的换算。
【程序代码】
#include<stdio.h>
voidmain()(
floaty,r=2.54;
intflag;
printf("输入数据,标志(1.英寸一厘米,2.厘米一英寸):");
模块三循环程序设计训练
scanf(-%f,%d”,&y成lfag);
if(flag==2||flag==1)
if(flag==1)
printf(H%10.2f英寸=%10.2f厘米”,y,y*r);
else
primf("%10.2f厘米=%10.2f英寸”,y,y/r);
else
printf("输入数据有错!\nH);
)
【练中学2-2】求方程ax2+bx+c=0的解。
【程序代码】
#include<stdio.h>
#include<math.h>
voidmain()(
floata,b,c,xl,x2,d;
printf("输入一元二次方程的三个系数(a,b,c):");
H
scanf(%f,%ft%f;&a,&b,&c);
if(a—0)
if(b==0)
printf("不是方程。\n");
else
printf("是一次方程只有一个根:x=%10.2f\n",-c/b);
else{
d=b*b-4*a*c;
if(d<0)
printf("方程没有实根。\n");
elseif(d>0){
xl=(-b-(float)sqrt(d))/(2*a);
x2=(-b-(float)sqrt(d))/(2*a);
primf("方程有两不等根:\nxl=%10.2f,x2=%10.2f\nH,xl,x2);
)
else
printf("方程有两相等根:\nx1=x2=%10.2f\n",-b/(2*a));
)
1
【练中学2-3】输入年份,判断是否为润年。
【程序代码】
模块三循环程序设计训练
#include<stdio.h>
voidmain(){
intyear,leap=O;
printf("程序用于判断闰年。请输入年份:”);
scanf("%d",&year);
if(year%4==0){
if(year%100!=0)leap=l;
if(year%400==0)leap=1;
}
if(leap)
printf("%d年是润年。\n",year);
else
printf("%d年不是闰年。\n'\year);
1
【练中学2-4】三个数按升序排序。
【程序代码】
#include<stdio.h>
voidmain()(
intal,a2,a3,temp;
printf(”请输入3个整数:");
scanf("%d,%d,%dH,&aI,&a2,&a3);
if(al>a2){temp=a1;a1=a2;a2=temp;}
if(a2>a3){temp=a2;a2=a3;a3=temp;}
if(al>a2){temp=a1;a1=a2;a2=temp;}
printf("三个数排序后:%d,%d,%d\n”,al,a2,a3);
)
【练中学2-5]根据利润计算工资。
【程序代码】
#include<stdio.h>
voidmain(){
intprofit;
intgrade;/*利润级别*/
doublesalary=500;/*基本工资*/
printf("输入利润:”);
scanf("%ld",&profit);
grade=profit/100;
switch(grade){
模块三循环程序设计训练
case0:break;
case1:salary+=profit*。.1;break;/*提成算式*/
case2:case3:
case4:salary+=profit*。.15;break;
case5:
case6:case7:case8:
case9:salary+=profit*0.2;break;
default:salary+=profit*0.25;
)
printf("salary=%.2f\n,'»salary);
1
二、归纳总结,完成课后实训题
(1)回顾本节课的学习目标,对知识点进行总结。
(2)完成课后实训作业。
教
学
后
记
职业本科规划教材
《C语言程序设计》
教学设计
模块三循环程序设计训练
课程名称:C语言程序设计
授课年级:2022年级______________
授课学期:2022学年第一学期
教师妞名:_________XXX____________
2021年10月22日
模块四数组应用训练
课题计划
模块三循环程序设计训练8学时
名称学时
重更做某件事的现象称为“循环”0C程序的循环结构就是在满足循环条件时,重复执行
内容
某程序段,直到循环条件不满足为止,重复执行的程序段称为循环体。循环结构有两种
分析
形式:“当型”循环和“直到型”循环。
(1)掌握循环结构的构成及特点;
教学目(2)掌握循环控制变量的使用;
标及基
(3)熟练掌握三种基本的循环控制语句;
本要求
(4)熟练掌握一重循环的构建方法,学会构建二重循环;
(5)了解goto语句构成的循环;
教学
循环结构的构成、循环控制变量、循环控制语句
重点
教学
难点循环控制变量的使用、构建二重循环
教学采用教师课堂讲授与学生操作练习共同进行的一体化教学方式
•概念性知识点:提出为什么,将抽象具体化,配合教学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年规范版离职员工协议条款版
- 2024年股权让与及反担保合同
- 2024年美军装备采购合同管理策略
- 2024年高标准仓储租赁合同
- 2024年虚拟现实体验馆建设与运营合同
- 2024年网络安全技术服务履约保证金合同模板3篇
- 2024数据录入及体育赛事信息录入与直播服务合同范本3篇
- 2024招商合同范文集锦:智慧城市项目招商引资协议3篇
- 2024年航空物流中心运营协议
- 2024年诚信与合规供货合同3篇
- 2024年辽宁装备制造职业技术学院单招职业适应性测试题库带答案
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
- 江西省南昌市东湖区2023-2024学年三年级上学期期末语文试卷
- python程序设计-说课
- ISO15614-1 2017 金属材料焊接工艺规程及评定(中文版)
- 《单片机技术》课件-2-3实现电子门铃 -实操
- 《中国溃疡性结肠炎诊治指南(2023年)》解读
- 县级临床重点专科建设项目申报书
- 山东省济南市2023-2024学年高一上学期1月期末英语试题
- 物业设施设备巡查与维护
- 2024年中电投内蒙古西部新能源有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论