《计算机程序设计基础C语言》教案总学时36第9学时一第10学时授课内容第3章控制结构一一基本控制结构教学目的了解:C语言的基本结构、基本语句、常用的输入输出函数、第一次上机安排和要求重点:介绍结构化设计的基本方法基本语句重点常用输入输出函数难点顺序结构程序设计实例难点:格式控制项的各种形式教讲授学一、基本控制结构安排二、基本语句1、空语句(EmptyStatement);2、表达式语句(ExpressionStatement)3、赋值语句(assignmentstatement)4、函数调用语句(FunctionInvocationStatement)5、控制语句(ControlFlowStatement)6、复合语句(CompoundStatement)三、常用的输入输出函数格式输出函数printfO格式输入函数scanfO字符输入函数getcho和getcharo同:都是从终端输入一个字符作为函数的值。异:getcho无回显读入,不需要回车确认。getcharo需要回车确认。字符输出函数putchO和putcharo)#include<conio.h>mainOchar c=B';1/将c的值输出至Screenputch(65);//输出ASCII码为65的字母Aputch(In');l/输出转义字符\n,实现换行显示putch(c);//输出字符变量c的值字母Bgetch();1四、字符输入及输出函数示例
《计算机程序设计基础C语言》教案 总学时36第 9学时 — 第 10学时 授课内容 第3章 控制结构——基本控制结构 教学目的 和要求 了解:C语言的基本结构、基本语句、常用的输入输出函数、第一次上机安排 重点 难点 重点: 介绍结构化设计的基本方法 基本语句 常用输入输出函数 顺序结构程序设计实例 难点: 格式控制项的各种形式 教 学 安 排 讲授 一、基本控制结构 二、基本语句 1、 空语句(Empty Statement) ; 2、 表达式语句(Expression Statement) 3、 赋值语句(assignment statement) 4、 函数调用语句(Function Invocation Statement) 5、 控制语句(Control Flow Statement) 6、 复合语句(Compound Statement) 三、常用的输入输出函数 格式输出函数 printf() 格式输入函数 scanf() 字符输入函数 getch() 和 getchar() 同:都是从终端输入一个字符作为函数的值。 异:getch() 无回显读入,不需要回车确认。 getchar() 需要回车确认。 字符输出函数putch()和putchar() #include <conio.h> main(){ char c=’B’; //将c的值输出至Screen putch(65); //输出ASCII码为65的字母A putch(’\n’); //输出转义字符\n,实现换行显示 putch(c); //输出字符变量c的值字母B getch(); } 四、字符输入及输出函数示例
1从键盘输入大写字母,输出对应的小写字母和ASCII码分析:英文字母相应的大写与小写ASCII码相差32(=‘a-A),将大写字母的ASCII码加32(或a-A),即可得出相应的小写字母的ASCII码。五、顺序结构程序设计示例课堂提问讨论C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。小结、作业布置:上机实验1:赋值语句、数据输入输出思考题上机前填写实验一顺序结构的程序设计课后作业主要参考资料课后自我总结分析备注《计算机程序设计基础C语言》教案总学时36第11学时一第12学时授课内容第3章控制结构一程序中的控制运算符理解条件-产生逻辑值的表达式教学目的掌握关系运算符、关系表达式;逻辑运算符、逻辑表达式和要求重点:重点关系运算符、关系表达式难点逻辑运算符、关系表达式教20分钟讲解分组研讨题目(一)学25分钟讲解讲解实验一顺序结构的程序设计,针对上机时出现的一些问题。安讲授排一、关系运算符(relationaloperator)关系运算符:<小于<=小于等于>大于>=大于等于== 等于!=不等于Relational operators take expressions as operands and evaluateto type intTheywillalwaysevaluatetoeither1(true),or0(false)
l 从键盘输入大写字母,输出对应的小写字母和ASCII码 分析:英文字母相应的大写与小写ASCII码相差32(= ‘a’-‘A’),将大写字母的 ASCII码加32(或‘a’-‘A’),即可得出相应的小写字母的ASCII码。 五、顺序结构程序设计示例 课堂提问讨论 C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即 可,其它部分可在需要时随时查阅。 小结、作业布置:上机实验1:赋值语句、数据输入输出 思考题、 课后作业 上机前填写实验一 顺序结构的程序设计 主要 参考资料 课后自我 总结分析 备注 《计算机程序设计基础C语言》教案 总学时36 第 11学时 — 第 12学时 授课内容 第3章 控制结构——程序中的控制运算符 教学目的 和要求 理解条件-产生逻辑值的表达式 掌握关系运算符、关系表达式;逻辑运算符、逻辑表达式 重点 难点 重点: 关系运算符、关系表达式 逻辑运算符、关系表达式 教 学 安 排 20分钟讲解分组研讨题目(一) 25分钟讲解讲解实验一顺序结构的程序设计,针对上机时出现的一些问题。 讲授 一、关系运算符(relational operator) 关系运算符: < 小于 <= 小于等于 >大于 >= 大于等于 == 等于 != 不等于 Relational operators take expressions as operands and evaluate to type int. They will always evaluate to either 1 (true), or 0 (false)
结果是一个逻辑量,即"真"或"假",分别用整数1和0表示。注意:区分"="号和"=="号。避免对实数作相等或不等的判断。正确表示数学上的连续不等式。3>2>1与3>2&&2>1二、逻辑运算符(logicaloperator)逻辑运算符:!逻辑非&&逻辑与Ⅱ逻辑或The logical operator !is called the negation operator. It is a unary operand becauseithasoneoperand.Don't confusenegationwithunaryminus.!l5=?结果是一个逻辑量,即真“或"假,分别用整数1和0表示。短路特性(short-circuitevaluation)三、在C语言中表示条件判断某一字符(变量ch表示)是否英文字母'A'<=ch && ch<='Z' Il'a'<=ch && ch<='z判断某一年份(变量year表示)是否润年。从润年历法规则可知,满足下列条件之一者为润年:(1)year能被4整除,但不能被100整除;(2)year能被400整除。则有:year%4==0&&year%100!=0|lyear%400==0四、条件运算符(ConditionalOperator)语法格式:表达式1?表达式2:表达式3如:max=(a>b)?a:b;等价于if(a>b)max=a;elsemax=b;[例判断键盘输入的一个字符是否为大写字母,如果是则转换为小写字母,否则不转换。输出处理后的字符。#include<stdio.h>mainOkchar ch;scanf("%c",&ch);ch=(ch>='A&&ch<="Z)?(ch+32):ch;/括号可不加printf("%cln",ch);u课堂提问讨论小结,作业布置
结果是一个逻辑量,即"真"或"假",分别用整数1和0表示。 注意: 区分"="号和"=="号。 避免对实数作相等或不等的判断。 正确表示数学上的连续不等式。 3>2>1 与 3>2&&2>1 二、逻辑运算符(logical operator) 逻辑运算符: ! 逻辑非 && 逻辑与 || 逻辑或 The logical operator ! is called the negation operator. It is a unary operand because it has one operand. Don’t confuse negation with unary minus. !!5 = ? 结果是一个逻辑量,即"真"或"假",分别用整数1和0表示。 短路特性(short-circuit evaluation) 三、在C语言中表示条件 判断某一字符(变量ch表示)是否英文字母 ‘A’<=ch && ch<=’Z‘ || ’a‘<=ch && ch<=’z‘ 判断某一年份(变量year表示)是否闰年。 从闰年历法规则可知,满足下列条件之一者为闰年: (1) year能被4整除,但不能被100整除; (2) year能被400整除。 则有: year%4==0&&year%100!=0||year%400==0 四、条件运算符(Conditional Operator) 语法格式:表达式1?表达式2:表达式3 如: max=(a>b)?a:b; 等价于 if(a>b) max=a; else max=b; [例] 判断键盘输入的一个字符是否为大写字母,如果是则转换为小写字母,否则不转 换。输出处理后的字符。 #include <stdio.h> main(){ char ch; scanf("%c",&ch); ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch; //括号可不加 printf("%c\n",ch); ü } 课堂提问讨论 小结,作业布置
分组研讨 (二)1试编写一个算法,实现通过键盘输入1个四位数,分别按如下格式输出其四位数字及这四个数字之和例如:x=1234输出结果:干位:1百位:2+位:3个位:4四位数字之和:10思考题、2.有一个自动售货机,可插入1、5、10、20元的钱币,现在从中买东西,输入购买课后作业货品的价钱、插入的钱数,要求输出应找的钱数及钱币的种类、数量(尽量钱币数量最少)3.试设计一个算法,实现通过键盘输入两个数,然后对它们进行加、减、乘、除运算,并按下面的格式显示输出。例如:x=45,y=90输出结果:45+90=13545-90=-4545*90=405045/90=0.5主要参考资料课后自我总结分析备注《计算机程序设计基础C语言》教案总学时36第13学时一第14学时授课内容第3章控制结构—一程序中的选择结构教学目的选择结构中的if语句和switch语句和要求选择结构中常用的算法思想,以及相关语句的应用
思考题、 课后作业 分组研讨(二) 1 试编写一个算法,实现通过键盘输入1个四位数,分别按如下格式输出其四位数字 及这四个数字之和 例如: x=1234 输出结果: 千位:1 百位:2 十位:3 个位:4 四位数字之和:10 2. 有一个自动售货机,可插入1、5、10、20元的钱币,现在从中买东西,输入购买 货品的价钱、 插入的钱数,要求输出应找的钱数及钱币的种类、数量(尽量钱币数量最少) 3. 试设计一个算法,实现通过键盘输入两个数,然后对它们进行加、减、乘、除运 算,并按下面的格式显示输出。 例如: x=45,y=90 输出结果: 45+90=135 45-90=-45 45*90=4050 45/90=0.5 主要 参考资料 课后自我 总结分析 备注 《计算机程序设计基础C语言》教案 总学时36 第 13学时 — 第 14学时 授课内容 第3章控制结构——程序中的选择结构 教学目的 和要求 选择结构中的if语句和switch语句 选择结构中常用的算法思想,以及相关语句的应用
重点:重点if语句和switch语句难点难点:嵌套if语句教引言学通常计算机按在程序中书写的顺序执行语句。但许多情况下,语句的执行顺序安依赖于输入数据或中间运算结果。排此时,必须根据某个变量或表达式的值作出判定,以决定执行哪些语句和跳过哪些语句不执行。这种程序结构叫做选择结构(或称分支结构)。为实现选择结构程序设计,C语言引入了if语句结构和switch语句结构。讲授一、if语句i语句用来判定所给定的条件是否满足,根据判定的结果(真或假)决定要执行的语句。if语句格式1示例if语句格式2示例1嵌套的if语句在if语句中的"语句处又是if语句,则称为if语句的嵌套。一般格式如下:i(表达式1)if(表达式2)语句1语句2elseelseif(表达式3)语句3else语句4在嵌套的if语句中,习惯写成锯齿形,以增加程序的可读性。从最内层开始,else总是与它上面最近的、未曾配对的i配对。例:if(x<0)y=-1;else if(x==0)y=0;elsey=1;例:输入考试成绩的等级,打印出百分制分数段(A等85分以上,B等70~84,C等60~69,D等60以下)。maino{char grade;scanf("%c",&grade);if(grade=='A) printf("85~100ln");else if(grade==B")printf("70~84In");else if(grade=='C) printf("60~69n");else if(grade=='D") printf("<60in");
重点 难点 重点: if语句和switch语句 难点: 嵌套if语句 教 学 安 排 引言 通常计算机按在程序中书写的顺序执行语句。但许多情况下,语句的执行顺序 依赖于输入数据或中间运算结果。 此时,必须根据某个变量或表达式的值作出判定,以决定执行哪些语句和跳过 哪些语句不执行。 这种程序结构叫做选择结构(或称分支结构)。 为实现选择结构程序设计,C语言引入了if语句结构和switch语句结构。 讲授 一、if语句 if语句用来判定所给定的条件是否满足,根据判定的结果(真或假)决定要执行的 语句。 if语句格式1示例 if语句格式2示例 l 嵌套的if语句 在if语句中的"语句"处又是if语句,则称为if语句的嵌套。一般格式如下: if(表达式1) if(表达式2)语句1 else 语句2 else if(表达式3)语句3 else 语句4 在嵌套的if语句中,习惯写成锯齿形,以增加程序的可读性。 从最内层开始,else总是与它上面最近的、未曾配对的if配对。 例: if(x<0) y=-1; else if(x==0) y=0; else y=1; 例:输入考试成绩的等级,打印出百分制分数段 (A等85分以上,B等70~84,C等60~69,D等60以下)。 main() { char grade; scanf("%c",&grade); if(grade==’A’) printf("85~100\n"); else if(grade==’B’) printf("70~84\n"); else if(grade==’C’) printf("60~69\n"); else if(grade==’D’) printf("<60\n");