switch选择结构作业
switch的例题

}
2.球间断函数。
2*x x<0
Y= 1 0<=x<1
X*x+1 1<=x<10
110<=x
程序\计算间断函数.C
#include<stdio.h>
void main()
{
int x,y;
scanf("%d",&x);
if(x<0)
y=1;
if(x>=0&&x<1)
y=2;
if(x>=1&&x<10)
x=4;
switch(x)
{
case 1:printf("A\n");break;
case 2:printf("B\n");break;
case 3:printf("C\n");break;
case 4:printf("D\n");break;
default :printf("enter dut ervor!\n");
n++;
}
i++;
}
printf("jishu=%d\n",n);
}
5.计算5+7+……+35。
程序\等差数例之和.C
程序\计算所有等差数列键盘输入.C
#include<stdio.h>
void main()
{
int a1,an,d,sum=0;
scanf("%d%d%d",&a1,&an,&d);
实验二--选择结构程序设计方案-实验报告

实验二选择结构程序设计一、实验目的和要求1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验设备PC机Visual C++6.0三、实验内容(一)实验准备1.从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支(选择)结构、循环结构。
2.If-else语句:一般形式为:if(表达式)语句1;else语句2;该语句用于实现分支结构,根据表达式的值选择语句1或语句2中的一条执行。
首先求解表达式,如果表达式的值为“真”,则执行语句1;如果表达式的值为“假”,则执行语句2.2.switch语句switch语句可以处理多分支选择问题,根据其中break语句的使用方法,一般分为三种情况。
(二)实验项目1. 计算a+|b|#include<stdio.h>int main(void){int a,b,z;printf("Please enter a,b:\n");scanf("%d,%d",&a,&b);if (b>=0){b=b;}else{b=-b;}z=a+b;printf("%d+%d=%d\n",a,b,z);return 0 ;}2 判断一个整数是否可以被3和5整除#include<stdio.h>int main(void){int a ;printf("Please enter a:\n");scanf("%d",&a);if (a%3==0){printf("a可以被3整除:\n");}else{if (a%5==0){printf("a可以被5整除:\n");}else {printf("a不可以被5整除,也不可以被3整除:\n");}}3.从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
实验三选择结构程序设计

实验三选择结构程序设计程序设计是计算机科学中的核心技能之一,它涉及到使用编程语言来解决特定问题。
在程序设计中,选择结构是基本的控制流程之一,它允许程序根据不同的条件执行不同的代码块。
本实验旨在通过一系列练习,帮助学生理解和掌握选择结构程序设计的基本方法和技巧。
实验目的1. 理解选择结构在程序设计中的作用和重要性。
2. 掌握基本的选择结构语句,如`if`、`switch`等。
3. 学会使用选择结构解决实际问题。
4. 提高逻辑思维能力和编程实践能力。
实验环境- 编程软件:任意一种支持C/C++/Java等语言的IDE。
- 开发环境:Windows/Linux/MacOS均可。
实验内容1. 基础选择结构- 实验一:使用`if`语句实现一个简单的温度转换程序,将摄氏度转换为华氏度。
```c#include <stdio.h>int main() {float celsius, fahrenheit;printf("请输入摄氏度:");scanf("%f", &celsius);fahrenheit = (celsius * 9 / 5) + 32;printf("%.2f摄氏度等于%.2f华氏度\n", celsius, fahrenheit);return 0;}```- 实验二:使用`if...else`语句设计一个程序,根据输入的分数判断成绩等级。
```c#include <stdio.h>int main() {int score;printf("请输入成绩:");scanf("%d", &score);if (score >= 90) {printf("优秀\n");} else if (score >= 60) {printf("及格\n");} else {printf("不及格\n");}return 0;}```2. 多条件选择结构- 实验三:使用`switch`语句实现一个简单的菜单选择程序。
C语言-switch选择结构

C语⾔-switch选择结构⽬录switch 选择结构/*if(条件表达式){代码块}switch(条件表达式){case 整数:语句;break;case 整数:语句;break;default:语句;break;}// switch 会取出条件表达式的值,如果与 case 后⾯整数相等就会执⾏这个 case 下的语句,break 就会跳出,如果前⾯的都不满⾜,那么就会执⾏ default// 1,拿到的条件表达式的值必须是整数才⾏// 2,利⽤条件表达式的值与 case 后⾯的整数是否相等,如相等,就会执⾏该 case 后⾯的语句,// 3,执⾏完该语句,遇到 break 就会结束整个 switch 语句,也就是说后⾯得有语句都不会执⾏// 4,如果前⾯的 case 后⾯值与条件表达式的值不相等就会继续执⾏后⾯的 case// 5,如果前⾯的条件表达式与 case 的整数都不相等就会执⾏ default 的case*/int age = 1;switch (age) {case 3:printf("还在喝奶的阶段");break; // 执⾏到 break 就会结束 switch 语句case 6:printf("该上⼩学了");break;case 18:printf("该去⽹吧打游戏了");break;default:printf("该好好上班,挣钱养家");break;}switch 的结束执⾏到相等的 case 后⾯的整数,遇到 break执⾏到 switch 语句的⼤括号如果执⾏到对应的 case 时,但是没有写 break,此时后⾯的 case 和 default 语句会失效,但是⾥⾯的代码块不会失效(case 的穿透问题) int age = 6; // age = 6 的时候switch (age) {case 3:printf("还在喝奶的阶段");break;case 6:printf("该上⼩学了"); // 执⾏到这个 case 的代码,但是没有写 break,后⾯的 case 和 default 代码就会失效.但是⾥⾯的代码块像 parinf 不会失效// 没有写 breakcase 18:printf("该去⽹吧打游戏了");// 没有写 breakdefault:printf("该好好上班,挣钱养家");// ,没有写 break}// 相当于执⾏了这个代码int age = 6; // age = 6 的时候switch (age) {case 3:printf("还在喝奶的阶段");break;printf("该上⼩学了"); // 执⾏到这个 case 的代码,但是没有写 break,后⾯的 case 和 default 代码就会失效.但是⾥⾯的代码块像 parinf 不会失效 // 没有写 break// case 18:printf("该去⽹吧打游戏了");// 没有写 break// default:printf("该好好上班,挣钱养家");// ,没有写 break}// 控制台输出:该上⼩学了该去⽹吧打游戏了该好好上班,挣钱养家最后⼀个case 或者 default后⾯的 break 可以省略,因为后⾯就是switch 的⼤括号,也是代表 switch 的结束switch 的注意点Switch的条件表达式必须是返回整数的格式,也就是说()中只能放整数// 只有整数类型才可以哦float num = 10.3f;switch (num) { // 报错case 10:printf("是⼀个⼩数,会打印么?");break;default:break;}// char 类型可以,char 类型可以转换为整数char str = 'a';switch (str) {case 'a':printf("char 类型是可以的,因为 char 类型可以转换为整数,char 类型的底层是阿斯克码 ");break;default:printf(" ");break;}case 的取值必须是整数,或者能够转换为整数的类型case 的取值不能重复int num = 10;switch (num) {case 10:printf("10");break;case 10: // 报错,case 不能重复printf("10");break;default:printf(" ");break;}case 后⾯不能放变量因为系统在编译的时候会对 switch后⾯的 case进⾏优化,会根据后⾯ case 的值⽣成⼀个取值表 int num = 10;switch (10) {case num: // 报错,不能放变量printf("10");break;default:printf(" ");break;}default 的位置⽆论 default 的位置写在哪个位置,都是最后执⾏如果 default 放在前⾯了,那么就⼀定要加上 break,不能省略只要 default 满⾜,那么后⾯的 case 也会失效,所以注意写上 breakswitch 练习/*要求⽤户输⼊⼀个分数,根据⽤户输⼊的分数输出对应的等级*/printf("请您输⼊⼀个分数,已回车结束\n");int garde = 0;scanf("%i",&garde);// 第⼀种⽅法switch (garde / 10) { // 分数除以 10 再利⽤隐式转换为 int 类型就可以得到整数case 10: // 利⽤ case 的穿透case 9:printf("A");break;case 8:printf("B");break;case 7:printf("C");break;case 6:printf("D");break;default:printf("E");break;}// 第⼆种⽅法if (garde >= 90 && garde <= 100){printf("A");}else if (garde >= 80 && garde <= 89){printf("B");}else if (garde >= 70 && garde <= 79){printf("C");}else if (garde >= 60 && garde <= 69){printf("D");}else if (garde >= 0 && garde <= 59){printf("E");}else{printf("输⼊成绩错误");}// 第三种⽅法(巧妙的利⽤ if else if 的结构,从上往下执⾏,第⼀条不满⾜执⾏到第⼆条,执⾏到后⾯的 else if 代表肯定前⾯的条件不符合.所以) if (garde < 0 || garde > 100){printf("您输⼊的分数不对");}else if (garde >= 90 && garde <= 100){printf("A");}else if (garde >= 80){printf("B");}else if (garde >= 70){printf("C");}else if (garde >= 60){printf("D");}else{printf("E");}return 0;}switch 的局限性在开发中中 if ⽐较多,⽐较灵活如果说是对固定的值,进⾏判断,并且这些值的数量不多的时候可以使⽤ switch从理论上来说 switch的性能效率要⽐ if ⾼// 练习 2/*// 从键盘输⼊⼀个数字,判断其是哪个季节printf("请您输⼊⼀个数字,以回车结束");int num = 0;scanf("%i",&num);switch (num) {case 12:case 1:printf("春节");break;case 6:case 7:case 8:printf("夏季");break;case 9:case 10:case 11:printf("秋季");break;default:printf("你输⼊的是啥玩意");break;}*/// 写⼀个计算器,⽤户输⼊⼀个数,操作符,再⼀个数,根据操作符计算结果/*printf("请您输⼊第⼀个数,操作符,和第三个数,以逗号分割,以回车结束\n");printf("操作符:1:+,2:-,3:/,4:*\n");int num1,num2,num3;;scanf("%i,%i,%i",&num1,&num2,&num3);switch (num2) {case 1:printf("两数相加:result = %i\n",num1+num3);break;case 2:printf("两数相减:result = %i\n",num1-num3);break;case 3:printf("两数相除:result = %i\n",num1/num3);break;case 4:printf("两数相乘:result = %i\n",num1*num3);break;default:printf("num2只接受 1-4 的整数");break;}*/printf("请您输⼊第⼀个数,以回车结束\n");int num1,num2;scanf("%i",&num1);printf("请您输⼊操作符,以回车结束\n");// char temp;// scanf("%c",&temp);getchar(); // 使⽤getchar()将前⾯的\n 取出来char op;scanf("%c",&op); // 此时注意前⾯有⼀个scanf 函数,输⼊了回车后此时输⼊缓冲区中还是保留的\n,所以第⼆个 scanfr 让输⼊⼀个%c 类型的字符时就不会让你输⼊了 printf("请您输⼊第⼆个数,以回车结束\n");scanf("%i",&num2);int result = -1;switch (op) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:printf("只接受 '+','-','*','/' 操作符");break;}printf("result = %i\n",result);return 0;}。
选择结构作业解答(3)

选择结构作业解答(3)一、选择题:1.判断char型变量ch是否位数字的表达式的是:a)‘0’ < = ch <= ’9’ b) (ch > ‘0’)&&( ch <’9’)c) (ch >= ‘0’)&&( ch <= ’9’) d) (ch >= ‘0’)||( ch <= ’9’)答案:b)2.能正确表示a和b不同时为0的逻辑表达式的是:a) a*b==0 b) (a==0)||( b==0)c) (a==0&&b!=0)&&( b==0&&a!=0) d)(a! = 0)||( b != 0)答案:d)解答:3.能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是:a) a==-b && a%2==0 b) a!=b && a+b==0 && a%2c) !(a%2)&&a==-b d) a%2==0 a+b==0答案:d)解答:4.有以下程序:#include<stdio.h>void main{ int x=2,y=3,z;char ch=‘a’;z=(x||!y)&&(ch>’A’);}程序运行后z的值是a)true b)false c)0 d)15.关于if后面一对圆括号中的表达式,叙述正确的是a) 只能用关系表达式 b) 只能用逻辑表达式c) 只能用关系表达式或逻辑表达式 d) 可以使用任意合法的表达式6.对switch后面一对圆括号中的表达式,叙述正确的是a) 只能用数字 b) 可以是浮点数c) 只能用整型数据或字符型数据 d)以上叙述都不对7.以下不正确的if语句是a) if (a<b) t=a; b) if (a!=b && b);c) if (a=b) printf(“equal”); c)if (a>b)&&(b>c) printf(“max=%d”, a);8.有以下程序:#include<stdio.h>void main(){ int m=-2;if(m=0) printf(“@@@”);else printf(“%%%”); }程序运行后的输出结果是:a)@@@ b)%%% c)%% d)@@@%%% 9.有以下程序:#include<stdio.h>void main(){ int a=12,b=20,t=18;if(a>b) t=a;a=b;b=t;printf(“a=%d,b=%d,t=%d”,a,b,t); }程序运行后的输出结果是:a)a=12,b=20,t=18 b)a=20,b=18,t=18c) a=20,b=12,t=12 d)a=20,b=18,t=1210.有以下程序:#include<stdio.h>void main(){ int t=65;if(t>45) printf(“%d”,t);else printf(“%d”,t);if(t>35) printf(“%d”,t);else printf(“%d”,t);if(t>25) printf(“%d”,t); }程序运行后的输出结果是:a)65 b)6565 c) 656565 d)不确定的值11.有以下程序:#include<stdio.h>void main(){ int t=8;if(t-->=8) printf(“%d\n”,t--);else printf(“%d\n”,t++); }程序运行后的输出结果是:a)9 b)8 c) 7 d)612.有以下程序:#include<stdio.h>void main(){ int a=2,b=5,c=3,d=2,x;if(a%3>b)if(c>d)if(b<d) x=++b;else x=++d;else x=--c;else x=++b; }程序运行后的x的值是:a )6 b)3 c) 2 d)713. 与“y=(x>0?x:x<0?-x:0)”的功能相同的if 语句是b) if (x>0) y=x; else if(x<0) y=-x; else y=0;14. 若a 、b 、c1、c2均是整型变量,x ,y 是浮点型变量,则以下正确的switch 语句是15. 以下关于switch 和break 语句的说法中正确的是a) break 语句只能用在switch 语句中;b) 在switch 语句中,可以根据需要决定是否使用break 语句; c) 在switch 语句中必须使用break 语句; d) 以上选项都不正确; 16. 有以下程序:#include<stdio.h> void main(){ int c;c=getchar (); switch(c-‘2’) { case 0:case 1: putchar(c+4);case 2: putchar(c+4);break; case 3: putchar(c+3);a) switch (c1+c2){case 1:y=a+b;break ; case 2:y=a-b;break; case 1:y=b-a;break;}b ) switch (x+y){ case 1:case 2:printf(“%d ”,a+b);break; }d )switch (a-b){default: y=a*b;break; case 10:case 9: x=a+b;break; case 7:case 5: y=b-a;break;}c ) switch (c1+c2); {case c1:y=a-b;break ; case c2:x=a*b;break; default:x=a+b;}b )if (x) if(x>0) y=x; else if(x<0) y=-x; else y=0;c) y=-x;if (x) if(x>0) y=x; else if(x==0) y=0; else y=-x; a) if (x) if(x>0) y=x; else if(x<0) y=-x; else y=0; d) y=0; if (x>=0) if(x>0) y=x; else y=-x;case 4: putchar(c+2);break;}}程序运行后,输入2<回车>,输出结果是:a)66 b)6 c)6654 d)没有输出内容二、填空题:1.关系运算符、逻辑运算符、算术运算符和赋值运算符的运算优先级顺序由高到低的排列顺序是算术运算符、关系运算符、逻辑运算符、赋值运算符。
教学内容if语句switch语句选择结构程序举例

case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade=E\n”); break;
default: printf(“The score is out of range!\n”);}
}
程序运行情况如下:
Input a score(0~100): 85↙
例 6.5 输入 + * - / , 输出对应的单词。 #include<stdio.h> main() { char ch ; ch=getchar(); if (ch=='+') printf("plus\n"); else if (ch=='-') printf("minus\n"); else if(ch=='*') printf("multiply\n"); else if (ch=='/') printf("divide\n"); else printf("error\n"); }
printf("input two numbers: "); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",b); }
例6.3从键盘输入两个数,按升序输出两个数 #include <stdio.h> main() {
教学内容if语句switch语句选择结构程序举例
在C语言中,当需要根据选择条件来确定所要做 (执行)哪一项数据处理的情况,这样的程序结构,被 称为选择(分支)结构。
实验5、选择结构程序结构

实验五、选择与循环结构一、实验目的:1、 掌握建立和执行M 文件的方法。
2、 掌握利用if 语句实现选择结构的方法。
3、 掌握利用switch 语句实现多分支选择结构的方法。
4、 掌握try 语句的使用。
5、 掌握利用for 语句实现循环结构的方法。
6、 掌握利用while 语句实现循环结构的方法。
7、 熟悉利用向量运算来代替循环的操作方法。
二、实验内容:1、 列分段函数的值。
⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+=其他且且,632,100,6530,6222x x x x x x x x x x x y要求:(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
提示:x 的值从键盘输入,可以是向量。
clearx=input('请输入x 的值:x=');if x<0&x~=-3y=x^2+x-6;elseif x>=0&x<10&x~=2&x~=3y=x^2-5.*x+6;else y=x^2-x-6;enddisp(y)(2) 用逻辑表达式实现上述函数。
2、 输入一个百分制成绩,要求输出成绩的等级为A ,B ,C ,D ,E 。
其中90~100分为A ,80~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。
要求:(1)分别用if 语句和switch 语句实现。
clearx=input('请输入你的成绩x=');if x<=100&x>90disp('A');elseif x>80&x<=89disp('B');elseif x>70&x<=79disp('C');elseif x>60&x<=69disp('D');else disp('E');endclear;x=input('请输入你的成绩x=');switch fix(x)case num2cell(90:100),disp(char(65));case num2cell(80:89),disp(char(66));case num2cell(70:79),disp(char(67));case num2cell(60:69),disp(char(68));case num2cell(0:59),disp(char(69));otherwise disp('你输入的成绩无效');end(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。
选择结构分段函数switch语句小写字母判断

选择结构分段函数switch语句小写字母判断下面是一个使用switch语句判断小写字母的例子:```cppchar ch;cout << "请输入一个小写字母: ";cin >> ch;switch (ch)case 'a':case 'e':case 'i':case 'o':case 'u':cout << "您输入的是元音字母。
" << endl;break;default:cout << "您输入的是辅音字母。
" << endl;break;```在这个例子中,用户输入一个小写字母,然后根据输入的字母是否是元音字母进行判断。
如果输入的字母是'a'、'e'、'i'、'o'、'u'中的一个,程序会输出"您输入的是元音字母。
",否则输出"您输入的是辅音字母。
"。
每个case表示一个字母,如果用户输入的字母与一些case后面的字母匹配,则执行对应的语句。
在这里,每个元音字母后面的case都没有break语句,这是因为这些元音字母的判断结果是一样的,我们希望它们都执行同一段代码。
而辅音字母的判断结果也是一样的,所以它们也不需要break语句,直接执行默认的case里的语句即可。
最后,根据用户输入的小写字母,程序会输出相应的判断结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、有else if块的选择结构是()C
A.基本if选择结构
B.if-else选择结构
C.多重if选择结构
D.switch选择结构
2、下列关于if选择结构和switch选择结构的说法正确的是()BD
A.if-else选择结构中else语句是必须有的
B.多重if选择结构中else语句可选
C.嵌套if选择结构中不能包含else语句
D.switch选择结构中default语句可选
3、下列代码运行结果是? 很干燥
public static void main(String[] args) {
int shiDu = 45;
if (shiDu >= 80) {
System.out.println("要下雨了");
} else if (shiDu >= 50) {
System.out.println("天很阴");
} else if (shiDu <= 30) {
System.out.println("很舒适");
} else if (shiDu >= 0) {
System.out.println("很干燥");
}
}
4、下面代码运行结果是()学钢琴
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
case 3:
case 5:
System.out.println("学钢琴");
break;
case 2:
System.out.println("学英语");
default:
System.out.println("休息哦");
}
}
5、下列语句序列执行后,k 的值是( )。
54
int x = 6, y = 10, k = 5;
switch (x % y) {
case 0:
k = x * y;
case 6:
k = x / y;
case 12:
k = x - y;
default:
k = x * y - x;
6、使用switch结构实现为小明定制学习计划,星期一、星期三、星期五学习编程,星期二、星期四、星期六学习英语,星期日休息。
7、编程实现迷你计算器功能,支持加、减、乘、除,从控制台输入两个操作数,输出运算结果。