实验4 选择结构程序设计
实验4 选择结构程序设计

实验4 选择结构程序设计实验4选择结构程序设计实验4结构选择与程序设计一、实验目的1.掌握C语言中逻辑量的表示和使用。
2.掌握if语句和switch语句的使用。
3.熟悉各种表达式作为if语句及switch语句的条件。
4.了解turboc程序的基本调试方法。
二、实验内容1.验证性实验(1)分析程序的运行结果。
① 运行以下程序,输入1-7之间的任意数字,并观察程序#includevoidmain(){intweek的运行结果;printf(\scanf(\switch(week){case1:printf(\case2:printf(\case3:printf(\case4:printf(\case5:printf (\case6:printf(\case7:printf(\default:printf(\}}② 运行以下程序5次,输入数据分别为1、2、3、4和5。
请观察每次的操作结果,并根据结果分析原因。
#includevoidmain(){intn,a=0,b=0,c=0,d=0,k=0;scanf(\switch(n){case1:b++;break;case2:c++;案例3:d++;打破case4:k++;default:a++;}printf(\}(2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。
#包括#includevoidmain(){floatx,y;scanf(\if(x<0)y=fabs(x);elseif(x<10)y=x*x;elsey=log10(x);printf(\}2.填写程序的空格(1)以下程序的功能是将用户输入的字母进行大小写转换,即若输入小写字母则将其转换为大写字母,如输入大写字母则将其转为小写字母,若输入非字母字符则输出提示信息。
#includevoidmain(){charc;scanf(\如果('a'<=c&&c>='z')c=c-32;elseif(‘a’<=c&&c>=‘z’)c=c+32;elseprintf(\printf(\}(2)公司将立即增加工资。
实验四选择结构程序设计

实验四选择结构程序设计在程序设计的世界里,选择结构就像是一个智能的决策者,根据不同的条件来决定程序的走向。
这一结构在解决各种实际问题中发挥着至关重要的作用,让程序变得更加灵活和高效。
选择结构,简单来说,就是让程序在运行时能够根据某些条件的判断结果,选择执行不同的代码块。
想象一下,你正在编写一个程序,要根据用户输入的成绩来判断他是否及格。
如果成绩大于等于 60 分,就输出“及格”;否则,输出“不及格”。
这就是一个典型的选择结构应用场景。
在大多数编程语言中,实现选择结构主要有两种方式:if 语句和switch 语句。
先来说说 if 语句。
它的基本形式是“if (条件) {代码块}”。
如果条件为真,就执行花括号里的代码块;如果条件为假,就跳过这个代码块,继续执行后面的代码。
比如说,我们要判断一个数是否为正数,可以这样写:```javaint num = 5;if (num > 0) {Systemoutprintln("这是一个正数");}```除了简单的 if 语句,还有 ifelse 语句。
它的形式是“if (条件) {代码块 1 } else {代码块 2 }”。
如果条件为真,执行代码块 1;如果条件为假,执行代码块 2。
例如,判断一个数是奇数还是偶数:```javaint num = 6;if (num % 2 == 0) {Systemoutprintln("这是一个偶数");} else {Systemoutprintln("这是一个奇数");}```另外,还有 ifelse ifelse 语句,可以处理多个条件的情况。
比如,根据学生的成绩划分等级:```javaint score = 85;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}```接下来,再讲讲 switch 语句。
实验四_选择结构程序设计

实验四选择结构程序设计实验目的与要求:1、学会正确使用逻辑运算符和逻辑表达式的方法。
2、掌握程序的书写风格。
3、熟练掌握if语句的使用。
4、熟练掌握switch语句的使用。
实验内容:1、程序填空。
以下程序功能:有一函数:x (x<1)y= 2x-1 (1≤x≤10)3x-11 (x≥10)用scanf函数输入x的值,求y值。
运行程序,输入x的值(分别为x<1、1≤x<10、x≥10三种情况),检查输出的y值是否正确。
#include "stdio.h"void main(){float x,y;printf("请输入x的值:");scanf("___1___",&x);if(___2___)printf("y的值为:%f\n",y=x);else if(___3___&&___4___)printf("y的值为:%f\n",_____5____);elseprintf("y的值为:%f\n",y=3*x-11);}程序改错。
程序功能:计算器程序。
用户输入两个运算数和四则运算符,输出计算结果。
#include "stdio.h"void main(){double x,y;char ch;printf("请输入两个运算数和四则运算符(例4+5):");/***************found******************/scanf("%d%c%lf",&x,&ch,&y);switch(ch){/***************found******************/case '+':printf("结果为:%f\n",x+y);case '-':printf("结果为:%f\n",x-y);break;case '*':printf("结果为:%f\n",x*y);break;/***************found******************/case '/':printf("结果为:%f\n",x\y);break;}}3、程序设计题。
实验4 选择结构程序设计

实验四 选择结构程序设计(4学时)实验前必须做的操作.........——..新建文件夹:......首先在各自对应的计算机ncre(k:)盘上对应座位号文件夹内新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如座位号为K02,航海1111班、学号后两位是02的、姓名为“张强”的同学,则其对应的文件夹名字是:航海111102张强。
然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“实验4”。
【实验目的】1、 理解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
2、 进一步巩固printf()和scanf()函数的使用方法。
3、 学会正确使用关系运算符和关系表达式、逻辑运算符和逻辑表达式。
4、 掌握if 语句三种形式的用法。
5、 掌握switch 、break 语句的用法。
6、 熟悉选择结构程序段中语句的执行过程。
7、 学会设计分支结构的程序,结合程序掌握一些基本的算法。
8、 巩固利用VC++对C 程序的查错方法,进一步提高修改程序错误的能力。
9、 学习跟踪调试程序,掌握简单的单步调试方法。
【实验内容】[实验任务一]:程序的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法) 程序跟踪调试实例4-1:程序跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):输入x ,计算并输出下列分段函数 f(x) 的值(保留1位小数)。
(需要存盘)⎪⎩⎪⎨⎧=≠=0001)(x x x x f10.0f(10.00) = 0.1【操作步骤】:(1)输入源程序,并以error4_1.c 文件名最终保存在实验4文件夹里,然后执行“编译/Build ”—>“编译/Compile ”,出现第一个编译错误是:双击该出错信息,箭头指向else 所在行,出错信息指出在else 前缺少分号。
在y = 1 / x 后面补上分号后,重新编译,新出现的第一个出错信息(警告信息):双击该错误信息,箭头指向scanf("%f", x);所在行,出错原因是x 的前面少了&。
实验四 选择结构程序设计

实验四 选择结构程序设计
(设计型 4学时)
一、实验目的
1.掌握逻辑表达式的正确使用方法。
2.掌握单分支、双分支和多分支条件语句结构的使用方法。
二、实验内容
1 有函数:
⎪⎩⎪⎨⎧≥-<≤-<=)
10(124)101(2
3)1(x x x x x x
y 写一个程序,输入x 值后,则输出相应y 值。
要求
用“If …ElseIf …EndIf ”和用“Select Case ”两种方法完
成该题目。
【提示】
注意区分1≤x<10和1<=x And x<10有什么不同。
2编写一个判断给定坐标在第几象限的程序,界面
如图3-1所示。
3 编写一个简易学生成绩管理系统,要求输入姓名
和成绩,点击“添加”按钮后,在文本框中追加并换行显示“姓名”、“成绩”和“合格”或
“不合格”信息,如图3-2所示。
【提示】
换行追加并且显示时,可用Text1.Text = Text1.Text & vbCrLf & (待追加并显示的字符串),同时应该将Text1的MultiLine 属性设置为True ,ScrollBars 属性设置为Both 。
进一步要求:按照≥90为“优”,≥80为“良”,≥70为“中”,≥60为“及格”,<60为“不及格”来划分并显示上述信息。
图3-1 实验3-2程序运行界面 图3-2 实验3-3程序运行界面。
实验4 编写选择结构程序

实验4 编写选择结构程序一、实验目的1.了解C语言表示逻辑值的方法。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if语句和switch语句。
4.结合程序掌握一些简单的算法。
5.学习调试程序的方法。
二、实验内容本实验要求编程解决以下问题,然后上机调试运行程序。
1.编程实现:输入3个整数,要求按由小到大的顺序输出。
得到正确结果后,修改程序使之按由大到小的顺序输出。
main函数结构如下:int a,b,c,t;输入3个整数:赋给a,b,c;if(a>b) 交换a,bif(a>c) 交换a,cif(b>c) 交换b,c输出a,b,c2.给出一个百分制的成绩,要求输出成绩等级A,B,C,D,E。
90分及以上为A,80-89为B,70-79为C,60-69为D,60分以下为E。
要求从键盘输入成绩,然后输出相应等级,分别用if语句和switch语句实现。
程序提示:(1)使用if语句的main函数结构如下:定义float型变量score,char型变量grade输入百分制成绩赋给scoreif score>=90grade='A'else if score>=80grade='B'else if score>=70grade='C'else if score>=60grade='D'else grade='E'输出百分制成绩和等级。
(2)使用switch语句的main函数结构如下:定义float型变量score,char型变量grade输入百分制成绩赋给scoreswitch(int(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;default: grade='E';break;}输出百分制成绩和等级3.实验总结。
实验四 选择结构程序设计

实验四选择结构程序设计一、实验目的1.正确使用关系表达式和逻辑表达式表达条件。
2.学习分支语句if和switch的使用方法。
3.进一步熟悉TC集成环境的使用方法,学习TC环境提供的调试工具。
二、实验内容1.调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。
写出调试过程。
main(){ int a,b,c;scanf("%d%d%d",a,b,c);if((a>b)&&(a>c))if(b<c)printf("min=%d\n",b);elseprintf("min=%d\n",c);if((a<b)&&(a<c))printf("min=%d\n",a);}程序中包含有一些错误,按下述步骤进行调试。
⑴设置观测变量。
按<Alt+B>键,屏幕弹出"Add watch"窗口,在窗口中可输入要观察的变量或表达式,此处输入a,重复以上操作并分别输入b、c,在屏幕下方的"message"窗口显示变量名a、b、c,且变量名的后面有提示,如a的后面是undefined symbol 'a',这是因为程序没有运行,变量没有登记,所以TC环境不知道a是什么。
⑵单步执行程序。
按<F8>键,屏幕上半部"Edit"窗口中的程序第一行程序的文字背景色变为兰色,表示此语句将被执行。
连续按<F8>键,兰色条一句句下移。
⑶通过单步执行发现程序中的错误。
当单步执行到scanf()函数一句时,屏幕自动切换到DOS窗口,等待用户的输入,假定我们输入"1 2 3",变量a、b、c接受后应在屏幕信息窗口显示出来,但是此时我们看到的却不是我们输入的数据。
这时我们就要检查程序。
实验4 选择结构程序设计

实验4 选择结构程序设计1.实验目的(1)熟练掌握if语句的三种形式,在实际中能根据具体情况灵活选择某种形式的if语句(2)进一步熟悉关系表达式和逻辑表达式(3)熟练掌握switch语句的功能、格式和执行过程(4)能用switch语句实现简单的选择功能2.实验内容2.1基础知识(1)在横线上填上适当的标点符号。
该程序的功能是输出a、b中的最大值。
#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___b>a_______ t=a;a=b;b=t;____ptintf("\nmax=%d",a);}(2)在横线上填上适当的标点符号。
将题(1)改写成if—else的形式:#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___a>b_______ptintf("\nmax=%d",a);____ /* 思考:此处的符号是否可以省略?什么情况下不能省略?*/else____ptintf("\nmax=%d",b);____}(3)在横线上填上适当的标点符号。
switch (表达式){ case_____常量表达式1____ 语句1____case_____常量表达式2____ 语句2____……default____ 语句n____ }(4)对于if—else语句,如果分支较多,有时用swtich语句更加合适,swtich语句是多分支选择结构,其执行过程:首先比较___________与___________是否相等,如果相等,则执行case后面的语句,如果都不相等,则执行__________。
2.2阅读程序(1)#include “stdio.h”void main(){ int number;printf(“number=“);scanf(“%d”,&number);if (number%10==0) printf(“%d是10的倍数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4 选择结构程序设计
一、实验目的
1.掌握C语言中逻辑量的表示和使用方法。
2.掌握if语句及switch语句的使用。
3.熟悉各种表达式作为if语句及switch语句的条件。
4.了解Turbo C程序的基本调试方法。
二、实验内容
1.验证性实验
(1)分析程序的运行结果。
①运行下列程序,输入1-7之间的任意数字,观察程序的运行结果。
#include <stdio.h>
void main()
{ int week;
printf("Input(1-7):");
scanf("%d",&week);
switch(week)
{ case 1:printf("Mon.\n"); break;
case 2:printf("Tue.\n"); break;
case 3:printf("Wed.\n"); break;
case 4:printf("Tur.\n"); break;
case 5:printf("Fri.\n"); break;
case 6:printf("Sat.\n"); break;
case 7:printf("Sun.\n"); break;
default:printf("The input is wrong!\n");
}
}
②运行5次下列程序,输入的数据分别是1,2,3,4,5,请观察每次的运行结果,并根据结果分析原因。
#include <stdio.h>
void main()
{ int n,a=0,b=0,c=0,d=0,k=0;
scanf("%d",&n);
switch(n)
{ case 1:b++;break;
case 2:c++;
case 3:d++;break;
case 4:k++;
default:a++;
}
printf("%d,%d,%d,%d",a,b,c,d,n);
}
(2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。
#include <stdio.h>
#include <math.h>
void main()
{ float x,y;
scanf("%f",&x);
if(x<0) y=fabs(x);
else if(x<10) y=x*x;
else y=log10(x);
printf("%f\n",y);
}
2.程序填空
(1)以下程序的功能是将用户输入的字母进行大小写转换,即若输入小写字母则将其转换为大写字母,如输入大写字母则将其转为小写字母,若输入非字母字符则输出提示信息。
#include<stdio.h>
void main()
{char c;
scanf("%c",&c);
if(‘A’<=c&&c>=‘Z’)c=c-32;
else if(‘a’<=c&&c>=‘z’) c=c+32;
else printf("input error\n");
printf("%c\n",c);
}
(2) 某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。
工龄和现工资从键盘输入,以下程序完成此工资计算。
#include<stdio.h>
void main()
{ float s0,s; /*s0为现工资,s为增加后的工资*/
int y; /*y为工龄*/
printf("Input s0,y:");
scanf("%f%d",&s0,&y);
if(y>=20)
{ if(s0>=2000) s=so+200;
else s=s0+180;
}
else
{ if(s0>=1500)s=s0+150;
else s=so+120;
}
printf("s=%f\n",s);
}
3.程序改错
(1)以下程序的功能是求解一个一元二次方程的实根。
#include <stdio.h>
#include <math.h>
void main( )
{float x1,x2;
int a,b,c,d;
printf("请输入一元二次方程的三个系数:");
scanf("%d%d%d",&a,&b,&c);
d=b*b-4ac; ★
if(d=0) x1=x2=-b-sqrt(d)/2*a; ★ /*sqrt(d)的作用是求d 的平方根*/
if(d>0) x1=-b-sqrt(d)/(2*a); ★
x2=-b+sqrt(d)/(2*a); ★
printf("%f,%f",x1,x2);
}
(2)下列程序的功能是求解函数22(110)(110)
x x x y x x <>⎧=⎨≤≤⎩或。
#include <stdio.h>
void main( )
{float x,y;
printf("请输入x 的值: ");
scanf("%f",x);
if(x<1||x>10) y=2*x;
if(1<=x<=10) y=x*x; ★
printf("y=%f",y);
}
4.设计性实验
(1)由键盘输入3个实型数据,代表三角形的三条边,判断它们能否组成三角形,若构成三角形则计算其面积并输出,否则输出相应提示信息(如“不能构成三角形”)。
提示:三角形的三边A,B,C 要满足:A>0,B>0,C>0并且A+B>C,B+C>A,C+A>B 的条件。
面积=SQRT(L*(L-A)*(L-B)*(L-C))(其中 L=(A+B+C)/2)
(2)编程实现对任意一个3位正整数,判断它是不是回文数。
所谓回文数是指其各位数字左右对称的正整数。
例如121,个位与百位相同。
(3) 键盘输入自己的腰围和体重,根据以下身体脂肪含量的计算公式编程计算出自己的脂肪含量,看看自己的脂肪含量是否在正常值范围内,并输出相应的信息如“正常、完美身材等”。
A=腰围(英寸)*4.15 (1英寸=2.54cm )
B=体重(磅)*0.082 (1公斤=2.2磅)
脂肪含量=(A-B-76.76)*1%
(男性正常脂肪含量是12%-20%;女性正常脂肪含量是20%-30%,23%是公认的完美身材脂肪比例。
)
(4)输入一个整数,输出它是奇数还是偶数。
提示:利用模运算符%2得到的余数去判断一个整数的奇偶性。