第四章:选择结构(二)
C语言选择结构设计
D
80>score≥70
C
90>score≥80
B
100≥score≥90 A
#include "stdio.h"
void main( ) { int score;
printf("score= " ); scanf( "%d" , &score ); if (score>=0 && score<60 )
printf( "grade is B" ); if (score>=90)
printf( "grade is A" ); }
#include "stdio.h"
void main( ) { int score;
printf("score=" ); scanf( "%d" , &score ); if ( score>=0 && score<60 )
真
P2
假……
真
假
Pn-1
S1
S2
Sn-1
Sn
……
下一语句
注意:else与最近的if相匹配。
【例】根据成绩打印出等级。 (0-59:E 60-69:D 70-79:C 80-89:B 90-100:A)
算法分析:设成绩为score,假设取值在0-100之间, 没有错误的输入。
60>score≥0
E
70>score≥60
如:if(a>0) printf(“a is positive.\n”);
if(x>y) { t=y;
C语言第四章.选择结构程序设计
case 常量表达式n: 语句n; default : 语句n+1; }
语句的执行过程:
先计算表达式的值,并逐个与其后的常量表达式值相 比较; 当表达式的值与某个常量表达式的值相等时,即执行
其后的语句;
然后不再进行判断,继续执行后面所有case后的语句;
如表达式的值与所有case后的常量表达式均不相同时,
a+b>c && x+y<b 等价于 ((a+b)>c) && ((x+y)<b)
2)逻辑运算的值: 逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”
来表示。
反过来在判断一个量是为“真”还是为“假”时,以“0” 的数值代表“假”,以非“0”的数值代表“真”。
3)逻辑运算的规则:
(1)与运算&&
条件运算符和条件表达式
条件表达式通常用于赋值语句之中。 例如条件语句:
if(a>b) max=a;
else max=b; 可用条件表达式写为 max=(a>b)?a:b;
执行该语句的语义是:如a>b为真,则把a 赋予max, 否则把b 赋予max。
注意以下几点:
条件运算符的运算优先级 低于关系运算符和算术运算符,高于赋值符。 因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
注意:
(3) 在if 语句的三种形式中,所有的语句应为单个语句,
如果要想在满足条件时执行一组(多个)语句,则必须
把这一组语句用{ } 括起来组成一个复合语句。 例如:交换两个变量 if (a>b) { t= a; a=b; b=t; }
c语言程序设计教程第二版课后答案
c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。
#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。
C语言程序设计-第四章简单计算器小程序-分支程序设计
P1 逻辑运算符 P2
或
逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】
《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案
《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]100002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
4.1第四章选择结构的程序设计
本章要点
算法和算法的表示 结构化程序设计的方法 语句的概念和种类 选择结构语句的表示
提出问题 根据学生分数判断是否及格? 根据学生分数如何进行分级? 如何解决? 自然语言:如果… 那么… 否则… C语言: 分支语句 二重分支的条件语句 if 多重分支的条件语句 switch
#include <stdio.h> main( ) /* 程序功能:求a和b的最大值 */ { int a,b,max; printf("Input a and b="); scanf("%d%d",&a, &b); /* input number a and b */ if ( a>b ) max=a; /* 如果a>b,则将a=>max */ else max=b; /* 否则, b=>max */ printf("The max of a and b : %d\n", max); }
if (exp_1) statement_1 else if(exp_2) statement_2 …… else if(exp_n-1) statement_n-1 else statement_n
表达式 1 非0
0
0 表达式 2 非0
n个分支需要n-1次比较
0
0
表达式n-1 非0 语句1 语句2 语句n-1 语句n
例:已知银行整存整取存款月息利率分别为:
一年期:0.63% 三年期:0.69% 八年期:0.84% 二年期:0.66% 五年期:0.75% 其它:0
要求输入存钱的本金和期限,求到期时利息与本金 合计。银行到期利息计算公式:
C语言第4章选择结构
第四章选择结构选择:1.以下关于运算符优先级的描述中,正确的是()。
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)2.逻辑运算符的运算对象的数据类型()。
A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)4.判断字符型变量ch为数字的表达式是( ) 。
A) 0<=ch<=9 B)(ch>=0)&&(ch<=9)C)'0'<=ch<='9' D)(ch>='0')&&(ch<='9')5.若有以下函数关系x<0 → y=2xx>0 → y=xx=0 → y=x+1下面程序段能正确表示以上关系的是()。
C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)
2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1
真
假
表达式3
真
假
表达式4
真
语句1 语句2 语句3
假
语句n
真
语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
C语言程序设计第四章
运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }
大一期末C语言程序设计基础题库与总结复习资料
C语言题库第一章计算机语言经历发展阶段:机器语言、符号语言、高级语言程序结构有3种:顺序结构,选择结构,循环结构C语言的特点:允许直接访问物理地址。
【C语言中含有的位和指针运算,能够直接对内存地址进行访问。
】不是C语言的特点的是:能够编制出功能复杂的程序【所有程序都可以,不算特点】Main:主函数,是所有程序运行的入口、起点。
一个C语言程序必须只有一个main函数。
程序总是从main函数开始执行,main函数可以放任何位置,到main函数结束。
函数体由花括号括起来结束标志:returnreturn 0的作用是:当main函数执行结束前将整数0作为函数值返回到调用函数处return(z)的作用是:将z的值作为max的函数值返回给调用max 函数的函数。
只有通过return(z)才能把求出的z值作为函数值并返回调用它的main函数中C语言程序的结构:由一个或多个源程序(C语言编写的程序,也可以叫编译单位)文件组成(源程序文件中包含:预处理指令、全局声明、函数定义)函数是C程序的主要组成部分(也是基本单位),C语言由函数组成。
函数包括两部分:函数首部、函数体C语言本身不提供输入输出语句,输入输出的操作是有库函数scanf 和printf等函数来完成的。
程序应包含注释#define和printf都不是C语句C语言程序的运行经过:编辑(edit)、编译(compile)、连接(link)【C语言中是build】、执行(execute)。
C语言源程序文件的后缀是.cpp,经过编译之后,生成后缀为.obj 的目标文件,经连接生成后缀.exe的可执行文件C语言的储存类型包括register、extern、statis和auto基础知识6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件运算优先级:!(非)>算数(如%)>关系>逻辑>赋值运算符(低)空语句:只有分号组成的语句,即一个分号。
C语言课件 选择结构程序设计
述
4-3 switch语句和break语句
4.3.1 break语句(辅助控制语句)
break语句的格式:break; break语句不能单独使用,只能与switch和循环语句
结合使用。 功能:在循环语句和switch语句中,终止并跳出循环
体或开关体。
4.3.2 switch语句(开关语句)
格式: switch(表达式) { case E1: 语句组1;break;
C
语 言
关系运算注意:
程
序
例 应避免对实数作相等或不等的判断,而只能
设
使用“<”和“>”,原因在于舍入误差可能造
计
成
两个逻辑上应该相等的数不相等。
如 1.0/3.0*3.0==1.0
可改写为:fabs(1.0/3.0*3.0-1.0)<1e-6
例 注意区分“=”与“==”
第 二 章 数 据 描 述
1表示“真”,
描
述
C
语 言
优先级与结合方向:
程
序
设 计
!
高
&& 低
||
! :从右向左
第
二
&& :从左向右
章
数
据
|| :从左向右
描
述
高
!(非) 算术运算符 关系运算符 &&和|| 赋值运算符=
低
C
语
言
程
逻辑表达式的值:
序
设
计
例 a=4;b=5;
!a
值为0
a&&b
值为1
a||b
值为1
!a||b
值为1
C语言第四章选择结构ppt课件
/* 求 x 的绝对值并赋给 y */
/* 输入 x 的值 */
/* 输出 x 的绝对值 */
/* 编译预处理:包含头文件 */
二、if ... else 语句
对这一句话“如果x>=0则y=x,如果x<0则y=-x”,可以写出以下语句:
表达式1 ? 表达式2 :表达式3
表达式1为真,结果为表达式2的值 表达式为假,结果为表达式3的结果; 运算符 “ ?:”的优先级只在逗号和赋值运算 符之前;表达式2和表达式3只可能执行一个;这是C语言中的唯一一个三目运算符;条件运算符的结合方向为“自右自左”。
例:已知a=5,b=6,c=7,d=8,n=2 ; 执行以下语句后表达式的值为多少? n的值为多少? (a < b ) ? ( c + d ) : ( + + n )
if ( 表达式1 ) if ( 表达式2 ) 语句1; else 语句2;else if ( 表达式3 ) 语句3; else 语句4;
实现if ~ else 正确配对方法:加{ }
五、条件运算符
能否把两条语句合成一句,更好地体现这种逻辑关系呢?这就是 if ...... else 语句的功能。
简单的if 语句只能表达“如果 ,那么 ”的含义,而if ...... else 语句却能表达“如果 那么 否则 ”的含义。
If ( x>=0) y=x;if (x<0) y=-x;
a>b?a:c>d?c:d
a>b?a:(c>d?c:d)
表达式值为15,n=2
六、 switch 语句
switch 语句是多分支的选择语句又称开关语句。
4.选择结构
2、if (表达式) 语句1 else 语句2 例如: if (x>y) printf(“%d”, x); else printf(“%d”, y);
例 输入三角形边长,求面积
#include <math.h> #include <stdio.h> main() { double a,b,c,s,area; scanf("%lf,%lf,%lf",&a,&b,&c); s= (a+b+c) /2.0; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f,b=%7.2f,c=%7.2f\narea=%7.2f\n",a,b,c,area); } 输入:9.89,12.65,8.76 输出:a= 9.89, b= 12.65, c= area= 43.17
内嵌if
if (expr1) if (expr2) else else if(expr3) else
statement1 statement2 内嵌if statement3 内嵌if statement4
说明: if ~ else 配对原则:缺省{ }时,else总是和它上面 离它最近的未配对的if配对 if(……) if(……) if(……) else…... else…... else…...
(if语句)练习题
2.以下程序的输出结果是( C )
#include “stdio.h” void main() {int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c++; printf(“%d\n”,c); } (A) 0 (B) 1 (C) 2 (D) 3
第4章 选择结构程序设计
3.多分支选择语句
单分支和双分支if语句一般都用于两个分支的选择 结构。对于多个分支选择,可采用多分支if语句来实现。
-1 (x<0) 例:计算分段函数 y= 0 (x=0) 1 (x>0)
多分支if语句
语句形式:
if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; „ else if (表达式n) 语句n; else 语句n+1;
真
假
真
假
s=s0+200
s=s0+180
s=s0+150
s=s0+120
输出s 结束 图4.11 例4.4流程图
程序如下: #include "stdio.h" main() {float s0,s; int year; printf("Input s0,year:"); scanf("%f,%d",&s0,&year); if(year>=20) {if(s0>=2000) s=s0+200; else s=s0+180; } else {if(s0>=1500) s=s0+150; else s=s0+120; } printf("s=%f\n",s); }
输出 结束 图4.2 例4.1流程图
2.双分支if语句
if (表达式) 语句1; else 语句2;
执行过程:
首先先判断表达式的值 若为非0则执行语句1 若为0则执行语句2 if语句的双分支形式,在语法上视为一条语句。
图4.3 双分支if语句流程图
选择结构课件
N 语句2
在if和else后面可以有多个操作语句,则if语句 的形式变成: if (表达式) {语句序列1} else {语句序列2}
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
if语句的其他形式
当语句2为空时, else可以省 略,if语句的形式变换为: if (条件) 语句 任务2:由键盘输入x、y两个数,要求从大到小排序并输出。 分析: 关键技术:两个变量互换的算法是:t=x;x=y;y=t; 定义x、y、t用于存放输入的两个数和中间变量; 输入x、y if(x<y) {t=x;x=y;y=t;} 输出x、y
引例
计算函数值
sin( x) y x 1
需考虑:① 输入x ② 判断x值
x0 x0
③ 根据x值,计算y值
④ 输出y值 显然②③顺序程序不能够实现,须引入选择结构程序。
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
引例:计算函数值
sin( x) y x 1 x0 x0
通过这几个例子,我们可以发现,计算机编程的核心是算法,算法通用于各种语 言。算法可以通过不同的编程语言来实现。 教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
任务3: 任给a、b、c三个数,按从大到小的顺序输出。
分析: 1)对于任意两个数a,b:若a>b, 则输出a,b,否则交换a和b 2)对于三个数,有6种可能: a>b>c a>c>b b>a>c b>c>a c>a>b c>b>a 3) 使用判断-交换法: ① 若a<b,则交换a和b ② 若a<c,则交换a和c 结果a最大 ③ 若b<c,则交换b和c 结果a>b>c 交换方法: 设a=5,b=8 a=b;b=a; 结果a=8,b=8(错误)
C语言程序设计教程:选择结构程序设计
4.2 switch语句
(5) case后面的语句块可以是一条语句或多条语句,也可 是空语句,但不需要用大括号括起来。
(6) 当case后面常量表达式与switch后面的表达式均不匹 配时,则执行default后面的语句块,default可以放在程序的 任何位置,不一定要位于最后。
(7) 多个case可以共用一个语句块。 例如: switch(n)
注意:当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。 因此要注意对多分支中条件表达式的书写次序,防止某些值被过滤掉。
15
4.1.1 if语句的三种形式
思考:若将例4.4中程序改为以下两种写法,结果分别会如何?
程序段一如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=90)
4.1.1 if语句的三种形式
程序段二如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=60)
printf("及格!\n "); else if(score>=70)
9
4.1.1 if语句的三种形式
2. 双分支选择结构
双分支结构语法的一般格式为:
if(表达式)
{
语句块1;
}
VB第4章 选择结构
教案讲稿第四章选择结构程序设计[旧课复习]:复习内容:1.已学过的几个常用的控件2.控件中输入输出语句的使用复习目的:让学生掌握基本控件的使用复习时长:大约10分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是选择结构导入目的:增强学生的理解能力导入时长:大约5分钟[新课讲授]:重点:各种分支结构语句的使用难点:选择结构的嵌套方法:运用多媒体辅助教学,采用讲授法和案例教学法4.1算法介绍4.1.1算法介绍一、算法概述所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。
算法有以下特征:(1)有穷性(2)确定性(3)可行性(4)输入(5)输出4.1.2算法的表示常用的表示算法的方法有:自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。
流程图用一些图框、流程线以及文字说明来表示算法。
用图来表示算法,直观、形象、容易理解。
包括:传统流程图、结构化流程图。
因传统流程图中流程线的使用无限制可能导致流程图毫无规律。
结构化流程图使用3中基本结构,即:顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。
图4-1(a)顺序结构流程图图4-1(b)选择结构流程图图4-1(c)循环结构流程图4.2条件语句VB中选择结构通过条件语句来完成,包括:单分支、双分支和多分支等。
4.2.1单分支结构语句单分支结构语句包括单行结构和块结构。
1.“单行结构”格式为:If <条件表达式> Then <语句序列>2. “块结构”格式为:If <条件表达式> Then<语句序列>说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。
如果是数值表达式,则非0值为真,0为假。
(2)当条件表达式的值为真时执行语句序列。
【例4-1】已知两个数x和y,比较它们的大小,使得x>y。
分析:对任意的两个数x、y,其中x若为大的数,直接输出即可,若 y为大的数,则交换两数即可。
C语言程序设计教程(第2版)课后习题答案(完美版)
C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章:选择结构(二)
一、本章目标:
1、掌握switch选择结构
2、能够综合运用if选择结构和switch选择结构
二、switch选择结构语法
switch(表达式){ //表达式的值可以是: int\byte\shot\char\String\枚举case常量1:
//代码1;只有在表达式的值与常量1的值相等时才会执行。
break;
case常量2:
//代码2;
break;
case常量3:
//代码3;
break;
default :
//代码;
break;
}
三、switch和if选择结构的区别
1、都是用来处理多分支选择结构的;
2、switch只能用来做等值判断;
3、if通常用来做范围判断,也可以做等值判断(结构繁琐);
四、已学的三个方法:main()、equals()、hasNextInt()
1、main():程序的主入口
2、equals():做字符串的等值判断
3、hasNextInt():判断用户输入的是否是整数。