d03选择结构(ppt文档)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择结构
退出
关系运算符
运算符:< <= >= > == != 优先级:(< <= >= >) →( == != ) 结合性:自左至右 表达式的值:
若为真,则结果为1; 若为假,则结果为0。 3>5的值为0
3<4>2的值为0 3+(4<3)*4的值为3 3+4<3*4的值为1
“选择结构程序设计”考查分值走势图
选择结构
退出
选择结构
考点1 关系运算和逻辑运算 考点2 if语句 考点3 switch语句
选择结构
退出
关系运算和逻辑运算考点内容
关系运算符和逻辑运算符 关系表达式和逻辑表达式
选择结构
退出
关系运算和逻辑运算考点分析
重点考查关系运算符的优先级别 条件表达式的等价表示法 逻辑表达式的特征 数学关系a<x<b的C语言表示法
C)大于3或等于10的整数
D)小于3的整数
选择结构
退出
真题分析
(2009年3月选择第19题)有以下程序
#include<stdio.h>
main( )
{ int a=1,b=2,c=3,d=0;
if(a==1 && b++==2)
if(b!=2 || c--!=3)
printf(“%d,%d,%d\n”,a,b,c);
A)switch(x)
B)switch((int)x);
{case 1.0:printf(“*\n”); {case 1:printf("*\n");
case 2.0:printf("**\n");} case 2:printf("**\n");}
C)switch(a+b) {case 1:printf(“*\n”); case 2+1:printf("**\n");}
default:
语句n+1; 如果所有比较都不相等,则
}(1) 每个case语句最后都要有b执r行ea语k句; n+1。
选(2择)结多构个常量值可以共用语句
退出
真题分析
(2006年4月选择第19题)若有定义:float x=1.5; int a=1,b=3,
c=2; 则正确的switch语句是__C___。
先计算表达式的值。
{
如果表达式的值等于常量1,
case 常量1: 语句1; case 常量2: 语句2; case 常量3: 语句3;
……
则执行语句1;如果不相等, 则向下继续。
如果表达式的值等于常量2, 则执行语句2;如果不相等, 则向下继续。
case 常量n: 语句n; 依此类推……
(2007年9月填空第7题)以下程序的功能是:输出a、b 、c三个变量中的最小值。请填空。 #include<stdio.h> main() { int a,b,c,t1,t2; scanf("%d%d%d",&a,&b,&c); t1=a<b ?【7】; a : b t2=c<t1 ?【8】; c : t1 printf("%d\n",t2); }
选择结构
退出
条件运算符
一般形式:<表达式1> ? <表达式2> : <表达式3>
运算顺序
求解表达式1

值为真

表达式的值 为表达式2
表达式的值 为表达式3
int max,a=5,b=3;
max=a>b?a:b
//max及赋值表达式的值均为5;
a<b?a:b+1
//条件表达式的值为4。
选择结构
选择结构}
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
退出
选择结构
退出
双分支if语句 Y
语法格式
if(表达式) 语句1;
else
语句2;
语句1
表达式
N 语句2
执行过程 首先判断表达式的值 若表达式值非0,则执行if后面的语句1 若表达式值为0,则执行else后面的语句2
选择结构
退出
真题分析
(2009年3月选择第17题)以下是if语句的基本形式: if(表达式) 语句;
退出
真题分析
(2007年9月选择第21题)设有条件表达式: (EXP)?i++:j--;则以下表达式中(EXP)完全等价的是 ___B__。 A)(EXP==0) B)(EXP!=0) C)(EXP==1) D)(EXP!=1)
if(x!=0)与if(x)等价
选择结构
退出
真题分析
选择结构
退出
if语句考点内容
if语句的基本结构
选择结构
退出
if语句考点分析
重点考查选择结构程序执行的流程 表示条件的写法
选择结构
退出
单分支if语句
语法格式
Y 表达式 N
(1) if(表达式) 语句; (2) if(表达式)
语句
语句;
执行过程 首先判断表达式的值 若表达式值非0(真,Y),则执行表达式后面的语句 若表达式值为0(假,N),则不执行表达式后面的语句
其中“表达式”D_____。
A)必须是逻辑表达式 B)必须是关系表达式 C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式
选择结构
退出
if语句嵌套
语法格式
if(表达式) 语句1
else
语句2
语句1(语句2) 又包含if语句
选择结构
//根据性别和身高定身高标准
#include <stdio.h>
(2009年3月选择第18题)有以下程序
main()
{
int x;
scanf(“%d”,&x);
if(x<=3) ; else
if(x!=10) printf(“%d\n”,x);
}
程序运行时,输入的值在哪个范围才会有输出结果__B___。
A)不等于10的整数
B)大于3且不等于10的整数
#include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:
switch(y) { case 0: a++; break;
case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(“a=%d,b=%d\n”,a,b);
选择结构程序设计考查分值走势图05年4月05年9月06年4月06年9月07年4月07年9月08年4月08年9月09年4月退出选择结构考点1关系运算和逻辑运算考点2if语句考点3switch语句退出选择结构关系表达式和逻辑表达式退出选择结构数学关系axb的c语言表示法退出选择结构退出选择结构运算顺序求解表达式1表达式的值为表达式2表达式的值为表达式3intmaxa5b3
A)2345
B)0235
C)02356
D)2356
case 3: n+=1; break;
default: n=0;k--;
case 2:
case 4: n+=2;k--;break;
}
printf(“%d”,n);
}while(k>0&&n<5);
}
选择结构
退出
真题分析
以下程序程序的运行结果是__D___。
(2) a = 1; b = 1; c=0; d = --a ¦¦b-- ¦¦(c = b+3 ); 结果:a为0,b为0,c为0,d为1。
选择结构
退出
真题分析
(2007年4月填空第11题)已定义 char ch=’$’; int i=1,j;
执行j=!ch&&i++以后,i的值为【11】。 1
D)switch(a+b) {case 1:printf("*\n"); case c:printf("**\n");}
选择结构
退出
真题分析
(2007年4月选择第23题)有以下程序
main()
{int k=5,n=0;
do
{switch(k)
{
case 1:

程序运行后的输出结果是
__A___。
选择结构
退出
逻辑运算符
逻辑运算也被称为布尔(Boolean)运算 与运算&&
a && b,当且仅当两者都为真,则结果为真 ( a > b && b > c):a大于b并且b大于c
或运算||
a || b,只要两者中有一个为真,结果就为真 ( a > b || b > c):a大于b或者b大于c
else printf(“%d,%d,%d\n”,a,b,c);
else printf(“%d,%d,%d\n”,a,b,c);
}
程序运行后的输出结果是__C___。
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
选择结构
退出
switch语句
一般形式
执行过程
switch(表达式)
}
else
{ if(tall>=170) printf(“ A ”);
else
printf(“ B ”);
}
}
退出
else和if的配对原则
else总是和前面最近的未经配对的if配对。 如果忽略了配对关系,就会产生逻辑错误。 为了逻辑清晰,可使用花括号确定对应关系。
选择结构
退出
真题分析
选择结构
本章考查内容为选择结构程序设计方法。
重点要掌握选择结构程序执行的流程。
本章知识是C程序设计的开始,不仅要能够读懂程序更要 能够编写常见的选择结构程序。
8
7
6
6
6
5
5
4
4
3
2
22ຫໍສະໝຸດ 0 05年4月 05年9月 06年4月 06年9月 07年4月 07年9月 08年4月 08年9月 09年4月
非运算!
!a,如果a是0,结果非0;如果a是非0,结果是0 并不改变a的值
选择结构
退出
短路原理
在逻辑表达式的求解中,并不是所有的逻辑运算 符都被执行,只是在必须执行下一个逻辑运算符 才能求出表达式的解时,才执行该运算符。
(1) a = 0; b = 1; c = a++ && ( b = 3 ); 结果:a为1,b为1,c为0。
void main()
{
int tall; char sex;
printf( “input sex and tall :” );
scanf( “%c %d”, &sex, &tall );
if(sex==’F’)
{
if(tall>=150) printf(“ A ”);
else
printf(“ B ”);
相关文档
最新文档