版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 选择(分支)结构程序设计 C语言中实现选择结构的控制语句有两种:条件分支语句if和开关分支语句switch。一.if语句的三种形式:1、if(表达式)语句;即:条件为真,执行语句12、if(表达式) /* if 和 else是关键字,要小写 */语句1;else语句2;即:条件为真,执行语句1,否则执行语句23、 if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式n)语句n;注意以下几点:if 后面的条件可以是如下类型: 关系表达式,如x>y 逻辑表达式,如x>y&&y>z 算术表达式,如
2、x+y 赋值表达式,如x=y 变量,如x 常量,如-5如果语句1或语句2是一条语句,则一对花括号可以省略 if.else 是一条语句,else 不能单独出现,要注意else 与 if的搭配问题(既:else与其上面最近的且没使用的if搭配)1、形式switch(表达式) case 常量表达式1: 语句1;break;case 常量表达式2: 语句2;break;case 常量表达式3: 语句3;break;case 常量表达式n: 语句n;break;default : 语句n+1;2、执行过程当表达式的值等于 “常量表达式1”时,执行语句1;当表达式的值等于 “常量表达式2” 时,执行语句2
3、;当表达式的值等于 “常量表达式n”时,执行语句n;当表达式的值与“常量表达式1、常量表达式2常量表达式n”谁都不等时,就执行default后的语句.注意以下几点:1、表达式应该有括号,注意大括号一定要有并且注意配对。2、表达式可以是整型常量或变量、字符常量或变量、关系表达式、逻辑表达式、整型的算术表达式,总之是整数,但是通常用整型或字符型。C语言计算表达式的值,然后找常量表达式的值匹配。3、 break 是C语言的一种语句,其作用是跳出switch语句。如果没有break,将会从某个语句组起顺次执行完所有的语句组。有时我们希望这样,有时我们不希望这样。因此可以通过break调整程序的走向。4
4、、switch和case是关键字,要小写5、case要和后面的常量表达式用空格分开,且这个常量表达式必须是整型常量或字符常量,不是变量。6、default可以放在任何位置,不一定在最后,也可以没有练习题一、选择题1假定所有变量均已正确定义,下列程序段运行后y的值是( )。int a=0, y=10;if (a=0) y-; else if(a>0)y+;else y+=y;A. 20 B. 11 C. 9 D. 02假定所有变量均已正确定义,下列程序段运行后x的值是( )。a=b=c=0; x=35;if (!a) x-; else if(b); if(c) x=3; else x=4;
5、A. 34 B. 4 C. 35 D. 33下面的程序片段所表示的数学函数关系是( )。y=-1;if(x!=0) if(x>0) y=1; else y=0;4. 假定i和j为int型变量,则执行以下语句后j的值为( )。int i=1;switch(i+)case 1: for(j=0;j<9;j+) if (i=1) break;case 2: for(j=1;j<10;j+) if (i=2) break;case 3: printf(“i=%dn”,i);A. 0 B. 1 C. 9 D. 105. 在C语言的语句中,用来决定分支流程的表达式是( )。A. 可用任意
6、表达式 B. 只能用逻辑表达式或关系表达式C. 只能用逻辑表达式 D. 只能用关系表达式4为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。A缩排位置相同的ifB在其之前未配对的ifC在其之前未配对的最近的ifD同一行上的if5 逻辑运算符两侧运算对象的数据类型()。A只能是0或1B只能是0或非0正数C只能是整型或字符型数据D可以是任何类型的数据6 以下关于运算符优先顺序的描述中正确的是()。A关系运算符<算术运算符<赋值运算符<逻辑与运算符B逻辑与运算符<关系运算符<算术运算符<赋值运算符C赋值运算符<逻辑与运算符&
7、lt;关系运算符<算术运算符D算术运算符<关系运算符<赋值运算符<逻辑与运算符7 下列运算符中优先级最高的是()。A< B&& C+ D!=8 选择出合法的if语句(设int x,a,b,c;)()。Aif(a=b) c+;Bif(a=<b) c+;Cif(a<>b) c+;Dif(a=>b) c+;9 能正确表示“当x的取值在-58,-40和40,58范围内为真,否则为假”的表达式是()。A(x>= -58) && (x<= -40) && (x>=40) &&am
8、p; (x<=58)B(x>= -58) | (x<= -40) | (x>=40) | (x<=58)C(x>= -58) && (x<= -40) | (x>=40) && (x<=58)D(x>= -58) | |(x<= -40) && (x>=40) | (x<=58)10若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。Ax%2=1 B!(x%2=0)C!(x%2) Dx%211已知 x=45,
9、 y=a, z=0; 则表达式(x>=z && y<z | !y)的值是()。A0 B语法错C1 D“假”12 逻辑运算符两侧运算对象的数据类型()。A只能是0或1B只能是0或非0正数C只能是整型或字符型数据D可以是任何类型的数据二、 填空题1 若从键盘输入58,则输出结果是_。#include ”stdio.h”main()int a;scanf(”%d”, &a);if (a>50) printf(”%d”, a);if (a>40) printf(”%d”,a);if (a>30) printf(”%d”,a);2 设int x=9,
10、y=8;表达式x=y+1的结果是_。3 定义int x,y;执行y=(x=1,+x,x+2);后, y的值是_。4 定义int x=10,y,z; 执行y=z=x; x=y=z;后, x的结果是_。5 设int a=1,b=2,c,d,e; 执行c=(-a+)+(+b);d=(b-)+(+a)-a;e=(a/(+b)-(a/(-a);请问a,b,c,d,e的结果是:_。6 设int a=2,b=3,c,d,e,f; 执行c=(a+>= -b);d=(a=+b);e=(a-!=b);f=(+a>b-);请问a,b,c,d,e,f的结果是:_。7 以下程序的运行结果是_。#includ
11、e ”stdio.h”main()int a,b,c,s,w,t;s=w=t=0;a= -1; b=3; c=3;if (c>0) s=a+b;if (a<=0) if (b>0)if (c<=0) w=a-b;else if (c>0) w=a-b;else t=c;printf(”%d %d %d”, s,w,t);8 以下程序的运行结果是_。#include ”stdio.h”main()int a, b= 250, c;if (c=b)<0) a=4;else if (b=0) a=5;else a=6;printf(”t%dt%dn”,a,c);i
12、f (c=(b=0)a=5;printf(”t%dt%dn”,a,c);if (a=c=b) a=4;printf(”t%dt%dn”,a,c);9以下程序是对用户输入的字母进行大小写转换。请在【】内填入正确内容。 #include ”stdio.h”main()char ch;printf(”please input a letter:”);scanf(”%c”,&ch);ch=ch+32;else if (ch>=a && ch<=z);printf(” the converted letter is: %cn”,ch);10以下程序是对从键盘输入的任何
13、三个整数,求出其中的最小值。请在【】内填入正确内容。#include ”stdio.h”main()int a,b,c,min;printf(”please input three numbers:”);scanf(”%d%d%d”,&a,&b,&c);min=b;elsemin=a;if (min>c) printf(”min=%dn”,min);11以下程序段的运行结果是_。#include ”stdio.h”main()char ch1=a,ch2=A;switch (ch1) case a:switch (ch2)case A: printf(”good!n”); break;case B: printf(”bad!n”); break;case b: printf(”joken”);12以下程序运行后的输出结果是_。 #include ”stdio.h”main()int x=10, y=20, t=0;if (x=y) t=x; x=y; y=t;printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024农村荒山租赁合同
- 2024山林租赁合同范文
- 2024建设工程勘察合同范本怎样写
- 2024订货购销合同范本范文
- 2024的广播电视服务合同
- 2024正式的产品代理合同样书
- 深圳大学《油画基础》2022-2023学年第一学期期末试卷
- 阿姨照顾小孩合同(2篇)
- 鱼池合同范本(2篇)
- 初一下学期新学期计划范文(7篇)
- 秋日私语(完整精确版)克莱德曼(原版)钢琴双手简谱 钢琴谱
- 办公室室内装修工程技术规范
- 盐酸安全知识培训
- 万盛关于成立医疗设备公司组建方案(参考模板)
- 消防安全巡查记录台帐(共2页)
- 科技特派员工作调研报告
- 中波广播发送系统概述
- 县疾控中心中层干部竞聘上岗实施方案
- 急性心肌梗死精美PPt完整版
- 毕业设计(论文)基于三菱PLC的交通灯模拟控制
- 物业日常巡查记录表.doc
评论
0/150
提交评论