1. 掌握关系和逻辑运算符的使用
2. 掌握if-else语句和switch语句的使用
3. 了解条件运算符的使用
1. 理解关系运算符的用法,重点掌握关系运算符在条件判断和分支结构中的应用。
2. 正确理解”==”和”=”的区别,以及使用它们的运算结果对程序的影响。
3. 理解逻辑运算符的用法,掌握运算法则。重点掌握其在条件判断和分支结构中的应用。
4. 掌握短路运算的运算原理和使用方法。
5. 掌握表达式语句,复合语句的使用。
6. 熟练掌握使用if语句的各种语句格式进行编程,建立面向过程的编程思路。
7. 掌握条件运算的使用。
8. 熟练掌握使用switch语句进行分支结构程序的设计。
要求学生自己独立完成
写一个程序,从键盘上接收两个整数,输出这两个整数中值大的一个。
#include
int main(){
int a,b;
printf(“请输入两个整数:\n”);
fflush(stdout);
scanf(“%d,%d”,&a,&b);
if(a>b){
printf(“%d”,a);
}else{
Printf(“%d”,b);
}
return 0;
}
(1) 建立面向过程的编程思路。
(2) 掌握关系运算符的使用。
(3) 掌握条件表达式的使用
(4) 掌握if语句的使用。
(1) 使用if语句条件判断进行实现
(2) 使用条件表达式进行实现。
(3) 在用户输入数据前应给出提示信息,在输出结果时也应给出相应的关于结果的提示信息。
(4) 为程序添加适当的注释信息。
用条件表达式进行实现时,可以将比较结果保存到另一个变量中,输出时直接输出该变量即可。
(1) 分别阅读下面两段程序,分析程序的结果。
// 程序1
#include
using namespace std;
int main()
{
intpassword = 0;
cout << "请输入密码:";
cin >> password;
if( password == 123456 )
{
cout << "输入正确,可以进行下面的操作." <
}
else
{
cout << "输入错误,程序即将退出."<< endl;
}
return 0;
}
(2)
// 程序2
#include
using namespace std;
int main()
{
intpassword = 0;
cout << "请输入密码:";
cin >> password;
if( password = 123456 )
{
cout << "输入正确,可以进行下面的操作." <
}
else
{
cout << "输入错误,程序即将退出."<< endl;
}
return 0;}
(1) 正确理解”= =”和”=”的区别,以及使用它们的运算结果对程序的影响。
(2) 掌握if-else语句在程序中的使用。
(3) 编写面向过程的程序的编程思想。
(1) 分析程序结果,掌握此类程序的编程流程。
(2) 进行相应总结:此类程序的编程思想,以及”= =”和”=”各自的含义、表达式的返回值以及运算规则。
写一个程序,接收两个整数a和b,并判断a是否能被b整除,输出判断结果。
#include
int main(){
int a,b;
printf(“请输入两个整数:\n”);
fflush(stdout);
scanf(“%d,%d”,&a,&b);
if(a%b==0){
printf(“a能被b整除”);
}else{
Printf(“a不能被b整除”);
}
return 0;
}
(1) 复习算数运算符的使用。
(2) 掌握逻辑运算在if-else语句中的使用。
(3) 掌握错误处理在程序中的使用。
(4) 程序要能对输入的错误整数进行错误判断(if(cin.fail()){…})。
(5) 程序各个部分之间要用空行隔开,为程序添加适当的注释信息。
(6) 对输入输出有相应的提示信息。
注意: a是能被b整除的意思是说:b除以a没有余数(即余数为0)。
(1) 写一个程序,接收两个数字,判断这两个数字的乘积是否大于等于5000,如果大于则告诉用户大于5000,如果相等则告诉用户等于5000,否则告诉用户小于5000。
#include
int main(){
int a,b;
printf(“请输入两个整数”);
fflush(stdout);
scanf(“%d,%d”,&a,&b);
if(a*b>5000){
printf(“两个数字的乘积大于5000”);
}else if{
printf(“两个数字的乘积等于5000”);
}else{
printf(“两个数字的乘积小于5000”);
}
return 0;
}
(1) 掌握使用if语句实现多重分支进行流程判断。
(2) 掌握关系运算符的使用。
(1) 要求分别使用简单的if语句和在else中嵌套if-else语句的格式进行实现。
(2) 给出适当的提示信息和注释信息。
(1) 银行的自动取款机大概有如下几种操作:存款、取款、查询余额、转账等几种功能。要求用switch语句进行模拟其操作。
(2) 由于在这里没有具体的按钮,可以使用数字来模拟用户的选择。例如:可以提示用户"存款请按1"、"取款请按2"、"查询余额请按3"、"转账请按4"、"退出请按5"。来让用户进行选择。
(3) 而具体的操作,可以直接在屏幕上输出操作过程即可。例如:当用户选择1后,可以直接在屏幕上打印“正在进行存款操作.”即可,其它操作类似。\
#include
int main(){
int a;
printf(“请选择服务种类 :
存款请按1
取款请按2
查询余额请按3
退出请按4
请您选择 :
”);
fflush(stdout);
scanf(“%d”,&a);
swich(a){
case 1:printf(“您正在存款”);
break;
case 2:printf(“您正在取款”);
break;
case 3:printf(“您正在查询余额”);
break;
case 4:printf(“您正在退出”);
break;
default:
case 4:printf(“你输入的业务号码错误”);
break;
return 0;
}
(1) 使用面向过程的编程思路解决一些实际问题。
(2) 掌握使用switch语句进行多分支的条件判断。
(3) 复习错误处理机制的使用(对cin的出错判断)
(1) 程序开始首先应在屏幕上所有的业务提示信息,提示可以为用户提供的服务:
请选择服务种类 :
存款请按1
取款请按2
查询余额请按3
退出请按4
请您选择 :
(2) 然后让用户选择,并进行相关业务处理。
(3) 要求为程序添加错误处理机制。
注意:
(1) 为switch语句添加default选项。
(2) 每个分支后面不要忘记添加break;
从键盘上接收一个字符,判断它到底是哪种字符:数字,小写字母,大写字母,其他字符。
#include
int main(){
char choice;
printf(“请输入一个字符:\n”);
fflush(stdout);
scanf(“%c”,&choice);
if(choice>’a’&&choice<’z’)
{
printf(“你输入的是小写字母”);
}else if(choice>’A’&&choice<’z’){
printf(“你输入的是大写字母”);
}else if(choice>=0&&choice<=9){
printf(“你输入的是数字”);
}else{
printf(“你输入的是其他字符”);
}
return 0;
}
(1) 使用简单if语句进行实现。
(2) 再使用在else中嵌套if-else语句的语句格式进行实现。
(3) 判断单个字符,是根据字符在ASCII码表中的顺序进行编写的,例如:对是否是小写字母就可以用下面这种判断方式:if( chioce>='a' && chioce<='z' ){…}。其它几种判断类似。
写一个程序,能够判断从键盘上输入的年份是否是一个闰年。
#include
int main(){
int year
printf("请输入一个年份:\n");
fflush(stdout);
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0){
printf("%d闰年\n",year);
}else{
printf("%不是闰年\n",year)
}
Return 0;
(1) 使用逻辑运算符进行运算。
(2) 需要有相关的错误处理机制。
写一个程序,接收一个数字,判断它是否能同时被2和3整除
#include
int main(){
int num;
printf(“请输入一个数字”);
fflush(stdout);
scanf(“%d”,&num);
if(num%3==0&&num%2==0){
printf(“%d同时被2和3整除”,num);
}else{
printf(“%d不能同时被2和3整除”,num);
}
return 0;
}
(1) 能同时被2和3整除的意思是说:让这个数分别去除以2和3,看是否余数全为0。
(2) 要求使用逻辑运算符进行运算。
(3) 添加适当的注释信息。
五、课后作业
5.1作业一(15分钟)
5.1.1作业任务
写出下面各逻辑表达式的值,a=3,b=4,c=5。
(1)a+b>c&&b==c
(2)a||b+c&&b-c
(3)!(a>b)&&!c||1
(4)!(x=a)&&(y=b)&&0
(5)!(a+b)+c-1&&b+c/2
5.1.2任务要求
(1)先计算结果在敲代码验证结果
(2)熟悉运算符的优先级。
(3)掌握逻辑表达式的运算。
5.1.3难点提示
无
5.2作业二(15分钟)
5.2.1作业任务
有3个整数a、b、c,由键盘输入,输出其中最大的数。
#include
void main()
{
printf("请输入三个整数:");
fflush(stdout);
scanf("%d%d%d",&a,&b,&c);*/
//方法一
/*if(a>b && a>c){
printf("最大的数是%d",a);
}else if(b>c &&b>a){
printf("最大的数是%d",b);
}else if(c>a &&c>b){
printf("最大的数是%d",c);
}*/
//方法二
/*d=a>b?a:b;
d=d>c?d:c;
printf("最大数为:%d",d);*/
}
return0;
}
5.2.2任务要求
(1)给出适当的提示信息和注释信息。
(2)用两种方法输出最大数。
5.2.3任务难点提示
(1)方法一利用if语句。
(2)方法二利用条件运算符(?:)。
5.3作业三(20分钟)
5.3.1作业任务
给出一百分制成绩,要求从键盘输入成绩后,输出成绩等级‘A’、‘B’、‘C’、‘D’、'E'。90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分一下为'E'。
给出一百分制成绩,要求从键盘输入成绩后,输出成绩等级‘A’、‘B’、‘C’、‘D’、'E'。90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分一下为'E'。
#include
int main()
{
int a,s;
printf(“请输入分数:\n”);
scanf("%d",&a);
s=a / 10;
switch (s)
{ case 10:
case 9:printf("A");
break;
case 8: printf("B");
break;
case 7:printf("C")
;break;
case 6:printf("D");
break;
default:printf("E");
break;
}
return 0;
}
5.3.2任务要求
(1)给出适当的提示信息和注释信息。
(2)要求用switch case和if else 两种方法)
5.3.3任务难点提示
用switch case时注意break的使用。
5.4作业四(25分钟)
5.4.1作业任务
给你个不多于5位的正整数,要去:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字,例如原数为321,应输出123。
5.4.2任务要求
(1)给出适当的提示信息和注释信息。
(2)从键盘输入不多于5位的数。若大于五位数提示输入错误
#include
int main()
{
int a;//输入一个整数
printf(“请输入一个整数:\n”);
fflush(stdout);
scanf(“%d”,&a);
if(a>1000&&a>9999)
}
5.4.3任务难点提示
(1)利用if语句判断是否大于五位数。
(2)判断几位数方法if(n>9999){五位数}
else if(n>999){ 四位数}
(3)分别利用/和%求每一位数字如324 。324/100=4,324-(4*100)/10=3,324%10=4。
5.5作业五(20分钟)
5.5.1作业任务
从键盘输入三个整数,判断是否能构成三角形,若能构成三角形判断是直角三角形,等腰三角形还是等边三角形还是任意三角形。
#include
int main(){
int a,b,c;
printf(“请输入三个数字”);
fflush(stdout);
scanf(“%d,%d,%d”,&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b){
printf(“这三个数可以构成三角形”);
if(a*a=b*b+c*c,){
printf(“直角三角形”);
}else if(a*a>b*b+c*c){
printf(“直角三角形”);
}else{
printf(“锐角三角形”);
}
}else a*a
printf(“这三个数不可以构成三角形”);
}
return 0;
}
5.5.2任务要求
(1)给出适当的提示信息和注释信息。
(2)要求分别使用简单的if语句和在else中嵌套if-else语句的格式进行实现。
5.5.3任务难点提示
(1)构成三角形条件(两边之和大于第三边)。
(2)直角三角形a*a=b*b+c*c,钝角三角形a*a>b*b+c*c,锐角三角形a*a