【免费下载】实验4 选择结构程序设计
- 格式:pdf
- 大小:225.93 KB
- 文档页数:5
实验四选择结构程序设计在程序设计的世界里,选择结构就像是一个智能的决策者,根据不同的条件来决定程序的走向。
这一结构在解决各种实际问题中发挥着至关重要的作用,让程序变得更加灵活和高效。
选择结构,简单来说,就是让程序在运行时能够根据某些条件的判断结果,选择执行不同的代码块。
想象一下,你正在编写一个程序,要根据用户输入的成绩来判断他是否及格。
如果成绩大于等于 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 语句。
实验4选择结构程序设计答案一、实验目的1.掌握关系运算符和关系表达式的使用方法。
2.掌握逻辑运算符和逻辑表达式的使用方法。
3.掌握if语句、witch语句、条件运算符(?:)的使用方法。
4.掌握选择结构程序的设计技巧。
二、实验内容1.改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。
纠正程序中存在的错误,以实现其功能。
程序以文件名y4_1.c保存。
#includemain(){charch,c1,c2;printf(\ch=getchar();if((ch>='a')||(ch<='z'))//if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch='A')c1=ch+25;//if(ch=='A')eleif(ch='Z')c2=ch-25;//eleif(ch=='Z')putchar(c1);putchar(ch);putchar(c2);putchar('\\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。
纠正程序中存在的错误,以实现其功能。
程序以文件名y4_2.c保存。
#includemain(){inta,b,c,ma某;printf(\请输入3个整数:\\n\canf(\ma某=a;if(c>b){if(b>a)ma某=c;}if(c>a)ma某=c;ele{if(c>a)ma某=b;}if(b>a)ma某=b;printf(\3个数中最大者为:%d\\n\}(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。
实验四选择结构程序设计实验目的与要求: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学时)实验前必须做的操作.........——..新建文件夹:......首先在各自对应的计算机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 的前面少了&。
四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
实验四、选择结构程序设计实验目的:1、了解选择结构的结构特点2、掌握IF条件语句的使用方法3、掌握Case语句的使用方法实验内容:例1、税务部门征收所得税,规定如下(用IF语句实现):①当收入为200 元以内(含200元)时,免征;②当收入为200 ~ 400 元(含400元)时,将超过200 元的部分纳税3% ;③当收入为400 ~ 5000元(不含5000元)时,将超过400 元的部分纳税4% ;④当收入为5000 元或5000元以上时,将超过400元的部分纳税5% 。
程序运行后,单击窗体,在输人对话框中输入收入数,程序将输出纳税金额,运行情况如图4.1 所示。
图4.1提示:因为该程序的条件分支较多,故可采用多分支的条件语句进行编写。
多分支条件语句格式如下:If 条件1 Then语句块1【ElseIf 条件2 Then语句块2 】【ElseIf 条件3 Then语句块3】……【Else语句块n+1】End If例2 将上题用SELECT CASE 多分支结构设计。
提示:Case语句的一般格式为Select Case 测试表达式Case 表达式列表1【语句块1】【Case 表达式列表1【语句块1】】……【Case Else【语句块1】】End Select【上机参考练习题】要求:利用空余时间设计调试出来,并将设计方法及代码写入试验报告。
1.(基本设计题)在购买某物品时,若所花的的钱x 在下述范围内,所付钱Y 按对应折扣支付:提示:此例可以多分支结构或者选择结构实现,注意计算公式和条件表达式的正确书写。
图4.22.(基本设计题)编一程序根据上网时间计算上网费用,同时为了鼓励多上网,每月收费最多不超过150 元。
计算的方法如下:图 4.3提示:此题用可以用多分支结构或者选择结构实现,但请特别注意有个条件“每月收费最多不超过150 元”3.(基本设计题)输入一个数字(1-7) ,用英文显示对应的星期一到星期日。
实验4:选择结构程序设计实验名称:选择结构结构程序设计实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系、逻辑运算符及其表达式的正确使用。
2、掌握if语句和switch语句的使用。
二、实验环境Vc++6.0三、实验内容在v C下完成程序题:1、有如下函数,要求输入x的值,求y的值。
|X|,X<0Y= X2,0≤X<10LogX,X≥102、输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。
3、某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。
工龄和现工资从键盘输入,编程求加工资后的员工工资。
四、实验要求1、实验前绘制程序框图,编制源程序、准备测试数据。
2、在vc下完成程序的编辑、编译、运行,获得程序结果。
3、实验中可以采用vc程序调试基本方法协助查找程序中的逻辑问题。
五、实验步骤、过程1、编辑、编译、运行程序题1,分别使用数据-5,0,5,10,100做测试。
人工计算结果分别是。
2、编辑、编译、运行程序题2,分别使用数据1,7,8做测试。
3、编辑、编译、运行程序题3,测试数据见下表:工龄y(年)现工资S0(元)调整后工资S(元)-人工计算结果25 220022 190018 170016 14004、尝试跟踪程序题1运行。
用F7或F8键单步跟踪程序,用^F7检查变量值,用F4可以将程序运行到光标当前位置。
实验四选择结构程序设计(1)【实验目的】:(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”);(2)学会正确使用逻辑表达式表示条件的方法;(3)掌握switch、break语句的用法;(4)熟悉选择结构程序段中语句的执行过程;(5)学会设计有实际价值的分支结构程序。
【实验时数】:2学时【实验内容】:一、新建文件夹首先在各自对应的计算机K盘对应文件中新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如食品1071班、学号后两位是02的、姓名为“张三”的同学,则其对应的文件夹名字是:食品107102张三。
然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“第5次”以下实验内容的运行结果需保存在所建的“第5次”文件夹内,并按题目的要求完成。
希望同学们在做以下实验之前,先认真分析程序的运行结果,后再上机验证。
全部完成后请删除多余文件,只留.c或.cpp的源程序文件。
二、实验内容:[程序一]:编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能,则输出相应的信息,若能则判断组成的是等边、等腰、直角还是普通三角形。
将编写好的程序以文件名triangle.c保存在你刚才新建好的文件夹里。
【要求】:①输入一组数据3,4,8,观察程序运行结果;②另外再输入几组数据进行测试: 3,4,53,3,33,3,5【提示】:①能够以三个数a,b,c为边长构成一个三角形的逻辑表达式是:(a+b>c) && (a+c>b) && (b+c>a)这也就是说三角形的三条边必须满足条件:两边之和大于第三边。
②为了让运行程序的人能够一目了然的看懂你编写的程序,建议用printf()函数输出结果时用相应的英文说明,例如,如果输出的结果为等边三角形,则可用如下语句:printf("the triangle being made up of a, b and c isequilateral triangle.\n");③相应的中英文对应单词如下所示:等边三角形equilateral triangle;等腰三角形isosceles spherical triangle;直角三角形right angled triangle普通三角形ordinary triangle[程序二]:用if语句实现程序:从键盘输入一个四位正整数,首先分离出该整数中的每一位数字,然后用分离出的数字组成一个四位最大数和一个最小数(位数没有限定),并显示输出。
实验四选择结构程序设计一、实验目的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 选择结构程序设计一、实验目的:1、熟悉C语言逻辑值“真”、“假”的表示;2、掌握关系运算符的种类、运算优先级、运算结果的类型,清楚一个关系表达式对应的相反式;3、掌握逻辑运算符的种类、运算优先级、结合性、操作数与运算结果的类型,能根据要求构建相应的逻辑表达式,理解逻辑运算中“短路”现象;4、掌握if语句的用法,能够根据要求熟练使用单分支、双分支、多分支(嵌套)结构;5、掌握switch语句的格式、功能及注意事项;6、熟悉条件运算符和条件表达式的基本用法;7、初步学习随机函数rand()的使用。
二、实验内容1、(基础题)分析、运行下列程序,验证逻辑值、关系运算相关内容,并回答相关问题:#include<stdio.h>int main(){int x=15,y=5,z=50;printf("x=%d, y=%d, z=%d\n",x,y,z);printf("x>y? %d\n",x>y);printf("x<=y? %d\n",x<=y);printf("x+y<z? %d\n",x+y<z);printf("z-30>=x+y? %d\n",z-30>=x+y);printf("y==z-30>x? %d\n",y==z-30>x);return 0;}问题:(1)C语言逻辑值“真”、“假”如何表示?输入、输出时有什么不同?(2)关系运算符包含哪几个? 它们的优先级如何?(3)关系表达式的运算结果是什么?(4)哪些关系运算符互为相反式?它们的运算结果有什么关联?2、(基础题分析、运行下列程序,验证逻辑运算的相关内容,并回答相关问题:#include<stdio.h>int main(){int a=3, b=4, c=5;int x,y,z;printf("a=%d, b=%d, c=%d\n",a,b,c);printf("a+b>c&&b==c ? %d\n",a+b>c&&b==c);printf("!a||!c||b ? %d\n",!a||!c||b);printf("a||b+c&&b>c ? %d\n",a||b+c&&b>c);printf("a*b&&c+a ? %d\n\n",a*b&&c+a);printf("执行x=a<b||c++后,x=%d,a=%d,b=%d,c=%d\n",x=a<b||c++,a,b,c);printf("执行y=a>b&&c++后,y=%d,a=%d,b=%d,c=%d\n",y=a>b&&c++,a,b,c);printf("执行z=a||b++||c++后,z=%d,a=%d,b=%d,c=%d\n",z=a||b++||c++,a,b,c);return 0;}问题:(1)逻辑运算符包含哪几个? 它们的优先级如何?它的运算级别高于算术运算符、赋值运算符吗?(2)逻辑表达式的操作数、运算结果是什么?(3)什么是逻辑运算中“短路”现象?这会带来什么影响?3、(基础题以下程序的功能是:输入学生四门课程的成绩,然后根据要求构建相应的逻辑表达式,之后计算这些表达式的值并输出。
实验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:p rintf(\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++;case3:d++;break;case4:k++;default:a++;}printf(\}(2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。
#include#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(\if(‘a’<=c&&c>=‘z’)c=c-32;elseif(‘a’<=c&&c>=‘z’)c=c+32;elseprintf(\printf(\}(2)某单位马上必须加工资,减少金额依赖于工龄和现工资两个因素:对于工龄大于等同于20年的,如果现工资低于2000,提200元,否则提180元;对于工龄大于20年的,如果现工资低于1500,提150元,否则提120元。
实验四选择结构程序设计(1)一、实验目的和要求1. 理解C语言的逻辑量2.掌握关系运算符和关系表达式的应用3. 掌握逻辑运算符和逻辑表达式的使用4.掌握if语句构成的选择结构5.掌握选择结构程序设计的方法二、实验环境(实验设备)硬件: 微型计算机软件: Microsoft Visual C++6.0三、实验过程新建一个文件夹,命名为:学号后两位+姓名(如05王魏)。
将以下运行正确的程序文件保存到该文件夹中(只保存.C文件),并上交文件夹到作业区自己班级的实验4文件夹中。
将实验题目3\4\5写在实验报告本上,参照作业区中的实验报告样板。
一定要写实验小结,可以写出实验中的收获和不懂的问题。
实验题目1:阅读程序,分析程序中各语句的作用及程序的执行结果,并上机运行验证结果。
问题:将if (a<b) {t=a;a=b;b=t;}中的花括号去掉后,程序的功能改变了吗?为什么?实验题目2:阅读并分析程序,记录程序的执行结果,并上机运行验证结果。
问题1:用一句话简述程序功能.问题2:模仿程序中的相关语句,请写出表示a为数字字符的表达式。
实验题目3:数学中有许多有趣的数,如水仙花数、完数等。
水仙花数是一个三位数,其各位数字的立方和恰等于这个数。
例如153,13+53+33=153。
编写程序,从键盘上输入一个三位的整数,判断其是否为水仙花数。
实验题目4:编写程序,判断从键盘上输入的一个整数是否为闰年年份,是则输出“yes”,否则输出“no” 。
实验题目5:日常生活中有许多问题可以用分段函数表示,例如邮局邮资付费等。
编写程序,求解以下数学分段函数。
实验题目6:编写程序,用假设思想(打擂台算法)求出三个数中的最大数。
提示:使用单分支if语句。
拓展题目1:现有三人,要求按年龄从大到小(也叫降序)排列。
程序代码如下,请将程序补充完整并上机调试。
#include <stdio.h>void main( ){ int a,b,c,t;printf(“请输入三个人的年龄:a b c:\n”);scanf("%d%d%d",&a,&b,&c);if (a<b) {t=a;a=b;b=t;}①;②;printf("%d,%d,%d ",a,b,c);}拓展题目2:应用if-else-if多分支选择语句编写程序,判断学生成绩等级。
实验4 选择结构程序设计【实验目的】(1) 能够准确书写关系表达式和逻辑表达式。
(2) 熟练掌握选择控制结构if~else和switch 的基本语法,并能够灵活应用。
(3) 加深理解选择控制结构的嵌套及执行过程。
【实验内容】重要提醒:一定要提供各类必要测试数据(包括能够处理的正常数据和不正常数据),以检验所编写的程序功能是否完善!!!程序设计(1) 成绩等级表示从键盘输入某学生的考试成绩,根据成绩给出相应的等级表示。
若成绩>=90分用字符A表示等级,60-89分之间的用字符B表示等级,60分以下的用字符C 表示等级。
【要求】题中的选择控制条件用嵌套的条件表达式表示。
(a>b)? a:b是条件表达式的基本格式。
【提示】0-100之间的合法数据和非法数据都要能够处理。
【测试数据举例】:第一种情况:100~90段的数据。
比如,输入98,检验输出是否正确第二种情况:89~60段的数据。
比如,输入68,检验输出是否正确第三种情况:0~60段的数据。
比如,输入48,检验输出是否正确第四种情况:100以上数据。
比如,输入198,检验输出是否正确第五种情况:0以下的数据。
比如,输入-98,检验输出是否正确(2) 字符加密输入一个字符,根据输入的字符类型进行不同的变换。
如果是小写字母则改成大写字母,如果是大写字母则向后移动 5 位(26 字母循环变化,Z 的下一位为A,例如:输入为A ,输出为F;输入为Y,输出为D),如果是数字字符则不变。
【要求】为验证程序的正确性,要求从键盘输入的字符包括以下几类:大写字母、小写字母、数字字符及其它字符。
【分析】主要考查输入字符的类型,判断是否是小写字母(ch>='a'&&ch<='z') ,若为小写,则将条件中对应的字母改成大写即可。
小写字母比对应的大写字母的ASCII 码值大32。
后移是将字母进行相应的相加,并考虑超过'Z' 的情况。
实验4:选择结构程序设计实验名称:选择结构结构程序设计成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系运算符、逻辑运算符及其表达式的正确使用。
2、掌握if语句和switch语句的使用。
3、了解程序调试的基本方法。
二、实验环境安装了Visual C++ 6.0的计算机系统三、实验内容(或实验任务)在Visual C++ 6.0下完成程序题:1、从键盘输入一个整数,如果该数是奇数,则输出“您输入的是一个奇数!”;否则,输出“您输入的是一个偶数!”。
程序正确编写后,参照实验1内容2中介绍的单步调试的方法,对本程序进行单步调试,仔细观察程序的执行过程,理解二分支的程序结构。
提示:这是一个典型的二分支结构,用if…else语句实现。
2、新建设一个工程,名字为4_2,在工程中创建一个文件,名为myerror1.c。
在文件中输入以下内容,并进行编译,尝试解释编译后显示的结果信息,找到出错的原因,并记录在下面。
void main(){int x, flag;scanf("%d", &x );if(x>0)flag=1;printf("这是一个正数\n");elseflag=0;printf("这不是一个正数\n");}请记录出错信息与出错原因。
3、从键盘输入一个表示年份的数值(十进制数),判断其是否为闰年(闰年的条件是:能被4整除但不能被100整除,或者能被400整除)提示:(1)定义变量(2)从键盘输入年份(3)如果该年份是闰年输出“这是一个闰年”否则输出“这不是一个闰年”4、编写程序,求解如下所示的分段函数。
从键盘输入一个x,求解y并在屏幕上输出结果。
3x+5,x>0y= 0,x=02x-1,x<05、编写程序,求解如下所示的分段函数。
从键盘输入一个x,求解y并在屏幕上输出结果。
|x|,x<0y= x2,0≤x<10logx,x≥106、编写一个简易的计算器程序,在屏幕上输出如图4-1所示字符界面菜单,由用户从键盘输入“+”、“-”、“*”、“/”4种字符之一。
实验4 选择结构程序设计班级姓名学号一、实验目的1.掌握关系运算符、逻辑运算符和条件运算符的使用;2.学会正确书写关系表达式、逻辑表达式和和条件表达式;3.熟练掌握三种if语句和if语句的嵌套;4.熟练掌握switch语句。
二、实验学时数3学时三、实验步骤(一)阅读程序1.输入并运行以下程序,观察运行结果。
public class Ch41 {public static void main(String []args){int a,b,c;a=10;b=60;c=30;if(a>b) a=b;b=c;c=a;System.out.println("a="+a+",b="+b+",c="+c);}2. 输入并运行以下程序,观察运行结果。
public class Ch42 {public static void main(String []args){ int x=60,a=30,b=20;int v1=3,v2=8;if(a<b)if(b!=15) x=1;else x=10;x=-2;System.out.println("x="+x); }3. 输入并运行以下程序,观察运行结果。
public class Ch43{public static void main(String []args){int i=1;switch(i){ case 1: System.out.printf("%d\t",i++);case 2:System.out.printf("%d\t",i++);case 3:System.out.printf("%d\t",i++);case 4:System.out.printf("%d\t",i++);}System.out.println("i="+i);}4.若x=12,则以下程序运行的结果是import java.util.*;public class Ch44{public static void main(String []args){int x,y;System.out.print("请输入一个整数:");Scanner in=new Scanner(System.in);x=in.nextInt();y=x>12?x+10:x-12;System.out.println("y="+y);(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。
实验四 选择结构程序设计
(设计型 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程序运行界面。
实验四答案选择结构程序设计实验四选择结构程序设计答案实验时间:年⽉⽇【实验步骤】⼀、程序调试练习1、写出下列程序的运⾏结果:(1)ex4_1.c#includevoid main(){char ch;printf("input a character:");ch=getchar();if(ch>='A' && ch<='Z')ch=ch+32;printf("%c\n",ch);}具体要求:①从键盘上输⼊a,分析程序运⾏的结果。
②从键盘上输⼊A,分析程序运⾏的结果。
③从键盘上输⼊5,分析程序运⾏的结果。
程序运⾏结果:①a ②a ③5(2)ex4_2.c#includevoid main(){int x,y,z;printf("input x,y,z");scanf("%d,%d,%d",&x,&y,&z);if(xif(y<0)z=0;elsez++;printf("z=%d\n",z);}具体要求:①从键盘上给x、y、z分别输⼊2,-1,2,分析程序运⾏的结果。
②从键盘上给x、y、z分别输⼊3,5,2,分析程序运⾏的结果。
③从键盘上给x、y、z分别输⼊-5,-3,2,分析程序运⾏的结果。
程序运⾏结果:①z=2 ②z=3 ③z=0(3)ex4_3.c#includemain(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序运⾏结果:a=2,b=1(4)ex4_4.c#includevoid 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);}具体要求:①分析程序运⾏结果。
实验四 选择结构程序设计一、实验目的1.掌握关系、逻辑表达式的正确书写形式。
2.学习结构化程序的控制流程。
3.掌握单分支与双分支条件语句的使用。
4.掌握多分支条件语句(If … Then … ElseIf )的使用。
5.掌握Select Case 语句的使用及与多分支条件语句的区别。
6.熟悉选择结构程序设计,灵活使用各种分支语句。
7.学习掌握程序调试方法。
二、实验内容1.将实验三的“计算器3”另存为“计算器4”,按图4.7修改成“计算器4”的界面。
运行时单击“=”按钮,执行所选算术运算符按钮的运算,运算结果显示在文本框中。
编写事件过程及代码实现“计算器4”各运算符的运算功能。
(1)用If ……ElseIf ……End If 结构编写“=”按钮的事件过程及代码。
(2)用Select Case ……End Select 结构编写“=”按钮的事件过程及代码。
图4.7 实验1界面设计 图4.8 实验2界面设计 2.在文本框中输入三角形的三个边a 、b 、c ,计算三角形的面积并保留三位小数。
界面设计如图4.8所示。
三角形面积计算公式如下:P =( a + b + c )/ 2 S = )(*)(*)(*c p b p a p p ---要求:(1)用IsNumeric 函数对文本框输入的内容进行判断,若为非数字字符,显示“输入错误!重新输入”,清空该文本框,该文本框获得焦点。
(2)判断输入的三边是否能构成三角形,能构成三角形,计算三角形的面积。
否则用MsgBox 显示“不能构成三角形”的信息。
提示:对多个文本框输入数据的合法性用(LostFocus )进行判断,应防止文本框出现争夺焦点,可以在(LostFocus )事件过程中使用如下判断语句。
If Not IsNumeric(Text2) And Text2 <> "" Then3.编一模拟袖珍计算器的完整程序,运行界面如图4.9所示。
0实验4 选择结构程序设计一、实验目的1.了解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2.熟练掌握if 语句和switch 语句。
3.结合程序掌握一些简单的算法。
4.学会程序调试的一般方法。
二、实验内容 1.程序调试示例(1)改正下列程序中的错误,输入x ,计算并输出下列分段函数f (x )的值(保留一位小数)。
(以10 和0为例)⎪⎩⎪⎨⎧=≠==)0(0)0(1)(x x x x f y源程序(有错误的程序): #include<stdio.h> main() { double x,y; printf(“Enter x=”); scanf(“%lf ”,x);/*************found********************/if(x!=0) { y=1/x }/*************found********************/else { y=0; }printf(“f(%.2f)=%.1f\n ”,x,y); } 调试步骤:①打开源程序,单击工具栏上的编译按钮,出现的第1条错误是:双击错误信息,箭头指向第一个“}”所在的行,错误信息指出在“}”前缺少分号。
在y=1/x后补上分号。
②重新编译,出现新的错误提示:双击错误信息,箭头指向“scanf(%lf”,x)”所在的行,错误原因是“x”前少了“&”,将之补上。
重新编译并连接,都正确。
③选择菜单栏上的“Tools”——“Customize”命令,在“Customize”对话框中单击“Toolbars”选项卡,在其中勾选“Debug”显示调试工具条。
④单步调试程序。
单击调试工具条中按钮(Step Over),每次执行一行语句,编辑窗口的箭头指向某一行,表示程序将要执行该行。
在上图的下半部分列出了变量窗口和观察窗口,在观察窗口中可以改变变量的值。
⑤再单击3次(若调试工具条未出现,则利用第三步将之调出),程序执行到输入语句这一行,同时运行窗口显示:表示程序将要执行该行。