13 选择结构程序设计 小结
选择结构程序设计实验报告

嘉应学院计算机学院实验报告课程名称程序设计基础实验名称实验地点指导老师实验时间提交时间班级姓名座号一、实验目的和要求(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句的使用(包括if语句的嵌套)。
(4)熟练掌握多分支选择语句—switch语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
二、实验环境和方法实验方法:(一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。
(二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。
(三)根据实验内容,编译程序。
实验环境:Windows xp Visual C++6.0三、实验内容及过程描述实验步骤:①进入Visual C++ 6.0集成环境。
②输入自己编好的程序。
③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。
④进行编译和连接。
如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。
再进行编译,如此反复直到不出错为止。
⑤运行程序并分析运行结果是否合理。
在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
(1)有一函数:()()()⎪⎩⎪⎨⎧≥-<≤-<=10x11310x1121xxxxy写程序,输入x的值,输出y相应的值。
用scanf函数输入x的值,求y的值。
程序如下:#include<stdio.h>int main(){float x,y;int i;while(i<1000){printf("请输入x的值:");scanf("%f",&x);if(x<1)y=x;else if(1<=x&&x<10)y=2*x-1;elsey=3*x-11;printf("y的值为:%f\n",y);}程序运行结果如下:(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。
选择结构实验报告心得

在进行C语言选择结构实验的过程中,我收获颇丰,不仅对C语言编程有了更深入的了解,而且对逻辑思维和问题解决能力也有了很大的提升。
以下是我对这次实验的心得体会。
一、实验目的与收获本次实验的主要目的是掌握C语言中的选择结构,包括if语句、switch语句等。
通过这次实验,我达到了以下收获:1. 理解了选择结构在程序设计中的重要性。
选择结构可以根据不同条件执行不同的代码块,使程序具有更强的灵活性和可读性。
2. 掌握了if语句和switch语句的语法和用法。
if语句可以根据条件判断执行两个分支中的一个,而switch语句可以根据条件判断执行多个分支中的一个。
3. 学会了如何使用逻辑运算符和关系运算符构建复杂的条件表达式。
这对于编写复杂的程序至关重要。
4. 提高了代码调试能力。
在实验过程中,我遇到了许多问题,通过查阅资料和请教同学,最终解决了这些问题,这使我更加熟练地掌握了代码调试技巧。
二、实验过程与体会1. 实验过程在实验过程中,我首先学习了选择结构的基本概念和语法,然后通过编写简单的程序来巩固所学知识。
以下是我编写的一些示例程序:(1)使用if语句判断一个数是奇数还是偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```(2)使用switch语句判断一个星期中的某一天。
```c#include <stdio.h>int main() {int day;printf("请输入一个星期中的某一天(1-7):"); scanf("%d", &day);switch (day) {case 1:printf("星期一。
选择结构程序设计

选择结构程序设计选择结构程序设计什么是选择结构程序设计选择结构程序设计是一种编程范例,用于根据给定的条件决定程序的执行路径。
在选择结构中,程序根据条件的真假选择执行不同的代码块。
选择结构可以帮助程序员根据不同情况采取不同的操作,增加程序的灵活性和适应性。
在选择结构程序设计中,最常见的选择结构是`if-else`语句和`switch`语句。
if-else语句`if-else`语句是选择结构中最基本和常用的语句。
它的基本语法为:markdownif (condition) {// 如果 condition 为真,执行这里的代码} else {// 如果 condition 为假,执行这里的代码}`if-else`语句的执行过程是这样的:判断条件`condition`的真假,如果为真,则执行`if`语句中的代码块;如果为假,则执行`else`语句中的代码块。
在`if`和`else`语句中,可以嵌套其他的`if-else`语句,以实现更复杂的逻辑判断。
除了`if-else`语句,还有一种类似的语句是`else if`语句。
`else if`语句用于在多个条件之间进行选择,它的语法为:markdownif (condition1) {// 如果 condition1 为真,执行这里的代码} else if (condition2) {// 如果 condition1 为假,但 condition2 为真,执行这里的代码} else {// 如果 condition1 和 condition2 都为假,执行这里的代码}switch语句`switch`语句是另一种选择结构,它用于根据给定的条件选择执行不同的代码块。
`switch`语句的基本语法为:markdownswitch (expression) {case value1:// 如果 expression 的值等于 value1,执行这里的代码break;case value2:// 如果 expression 的值等于 value2,执行这里的代码break;default:// 如果 expression 的值不等于任何一个 case 值,执行这里的代码break;}`switch`语句的执行过程是这样的:计算表达式`expression`的值,然后与每个`case`的值进行比较,如果找到匹配的值,则执行对应的`case`代码块,并通过`break`语句结束`switch`语句。
选择结构实验心得体会

选择结构实验心得体会选择结构实验心得体会1时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。
在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。
这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。
将所学知识运用到实践中,在实践中发现问题,强化理论知识。
现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。
第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
所以第一次试验相对失败。
鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。
在做实验中,第二个问题应该是准备不充分吧。
一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。
于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。
这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。
这也能激发了学习的兴趣。
《C程序设计》选择结构程序设计实验报告

《C程序设计》选择结构程序设计实验报告2、完成改错后的程序#include <stdio.h>#include <ctype.h>char fun(char c){ if (c>='A' && c<='Z')/**********found**********/c=c+32;if (c>='a' && c<='u')/**********found**********/c=c+5;else if(c>='v' && c<='z')c=c-21;return c;}main ( ){ char cl, c2;printf("Enter a letter(A-Z):");cl=getchar( );if (isupper(cl)){ c2=fun(cl);printf("\n\nThe letter %c change to %c\n",cl,c2);}elseprintf("\nEnter (A-Z) !\n");}运行结果:(截图)3、解题思路:源程序:1.#include<stdio.h>#include<math.h>void main(){float s;int m,year;printf("please input money and year:");scanf("%d%d",&m,&year);switch(year){case 1:s=m*pow((1+0.03),year);break;case 2:s=m*pow((1+0.033),year);break;case 3:case 4:s=m*pow((1+0.038),year);break;case 5:s=m*pow((1+0.042),year);break;default:s=m*pow((1+0.042),year);break;}printf("s=%f\n",s);}2.#include<stdio.h>#include<math.h>void main(){float s;int m,year;printf("please input money and year:");scanf("%d,%d",&m,&year);if(year==1)s=m*pow((1+0.03),year);if(year==1)s=m*pow((1+0.03),year);if(year==2)s=m*pow((1+0.033),year);if(year>=3&&year<=4)s=m*pow((1+0.038),year);if(year>=5)s=m*pow((1+0.042),year);printf("s=%f\n",s);}运行结果:(截图)4、解题思路:源程序:#include<stdio.h>main(){int i,yue,year,day;printf("please input nian and yue :");scanf("%d,%d",&year,&yue);switch(yue){case 1:printf("有31天");break;case 2:if(year%4==0&&year%100!=0||year%400==0)printf("有29天");else printf("有28天");break;case 3:printf("有31天");break;case 4:printf("有30天");break;case 5:printf("有31天");break;case 6:printf("有30天");break;case 7:printf("有31天");break;case 8:printf("有31天");break;case 9:printf("有30天");break; case 10:printf("有31天");break; case 11:printf("有30天");break; case 12:printf("有31天");break; }}运行结果:(截图)。
浅谈选择结构程序设计教学感悟

浅谈选择结构程序设计教学感悟作者:单树平来源:《魅力中国》2018年第28期摘要:本文根据教学实践体会,就如何上好一堂课,运用新疆科学技术出版社信息技术教材八年级下册中第二章第四节选择结构程序设计来谈一些我的感觸。
关键词:初中;信息技术;选择结构程序设计;备课作为一名教师,在日常教学工作中,备课是基础、是关键,要钻研,进行充分深入研究,要根据教学大纲确定教学目标、重难点,精心设计好教案。
备课又分为备教材和备学生,如果只是为了上课而上课,那么我们只备好教材就可以上课了,而要上一节让学生理解并会应用所学知识解决实际问题的课,那可不是只备好教材就行的,它需要在备好教材的基础上还要备学生。
下面就以新疆科学技术出版社信息技术教材八年级下册中第二章第四节选择结构程序设计为例,浅谈本人在教学中的一些感触。
这一节课的教学目标是让学生掌握选择结构的程序设计,掌握选择结构的语法,在选择结构程序设计中包含两种结构:双向选择结构和单项选择结构,能灵活运用这两种结构进行实际问题的编程。
我在第一个班上这堂课,把流程图及其语法结构讲解完,根据书上的【例2】求一元二次方程的根进行语法结构在具体问题中运用的讲解,首先画出适合解决问题的流程图,然后根据流程图用语法结构来实现。
10 CLS20 INPUT “a,b,c=”,a,b,c30 IF b*b-4*a*c40 beep50 PRINT “No solution!”60 ELSE70 LET x=SQR(b*b-4*a*c)80 LET x1=(-b+x)/(2*a)90 LET x2=(-b-x)/(2*a)100 PRINT “x1=”;x1,“x2=”;x2110 ENDIF120 PRINT “Good-bye!”130 END该程序运行时,如果输入的三个系数使方程有实根,则显示实根x1,x2,然后在下一行显示字符串“Good-bye!”;如果输入的三个系数使方程无实根,计算机的扬声器会发出“嘟”的一声并在屏幕上显示“No solution!”,然后在下一行显示字符串“Good-bye!”[1]讲这个程序旨在学生如何运用选择结构语法编写程序,本想运行结果无实根时,计算机的扬声器有响声,能够引起学生的兴趣,然后更好地讲解语法实际运用,结果学生说:“老师,这个求一元二次方程的根我们没有学过,我们只能理解根号里的数必须是非负数。
选择结构程序设计实验心得

选择结构程序设计实验心得
上机实验是学习选择结构程序设计必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
加深对课堂讲授内容的理解。
课堂上要讲授许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用C语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
通过这次选择结构程序设计实验学习,我们了解了一些关于C语言的知识,理解巩固了我们C语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。
同时它让我知道,只要你努力,任何东西都不会太难。
《选择结构》教学设计和反思

会判断的程序VB选择结构■教材分析:本节课的教学内容是初中信息技术选修教材第一篇《程序设计》中第3单元第二节的内容。
选择结构是程序设计中的重要内容,有了选择程序开始变化多样,同时程序相对前面的顺序结构也变复杂,这要求学生有一定的逻辑思维和逻辑推理的能力,所以教学中应通过生动有趣与生活密切相关的程序,激发学生学习VB程序的兴趣,使学生在愉快的学习氛围中掌握VB分支结构语句及编程技术,培养学生的思维能力、解决问题的能力和创新能力。
■学情分析:本节课是初二年级VB选择结构的新授课。
在这之前学生已初步掌握用赋值语句进行顺序结构程序设计,并经历了可视化编程的一般过程,但前段教学主要通过案例讲解程序,学生通过模仿完成程序的编写,学生独立编写程序的能力较弱。
因此教学过程多使用与生活紧密结合的实例来加深理解,由学生主动发现生活中的判断应用,引入条件语句。
教师通过提出问题、分析问题、引入新知、解决问题等环节使学生逐步掌握编程思想,学会程序设计。
■教学目标:1.知识与技能(1)掌握IF语句的基本格式、功能和应用(2)学会用IF语句编程,解决日常生活中实际问题2.过程与方法学生通过本节课问题的逐步深入,初步掌握运用VB分支语句编程解决实际生活中问题的一般过程和方法。
3.情感态度与价值观(1)运用半成品加工策略,完善程序,设计程序培养学生思维的逻辑性和严谨的学习态度。
(2)在程序设计的过程中体验成功的喜悦,激发学习程序设计的兴趣。
4.行为与创新能运用学习的分支结构语句进行创新设计,以解决生活中的问题。
■课时安排安排1课时。
■教学重点与难点1.教学重点:IF语句的格式和功能2.教学难点:灵活运用if分支结构语句完成程序的设计■教学方法与手段讲授法、演示法、自主探究学习法。
■课前准备教学课件、学生任务■教学过程教学反思:1、通常我们讲选择结构都是先讲if分支语句的格式、功能,然后举例。
这样教学学生会觉得很枯燥,不仅不能激发他们学习程序设计的积极性和兴趣,还会使他们在开始学习时产生厌恶情绪。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. if的常见问题解析 1) 空语句的问题 if (3 > 2); 等价于 if (3 > 2) ; 2) if (表达式1) A; else B; 是正确的 3) if (表达式1) A; else (表达式2) B;
4
//一条完整的简单if语句
//这是一个空语句做内嵌语句
if (表达式1); A; else B; 是错误的
选择结构程序设计 小结
选择结构 某些代码可执行,也可能不执行,有选择的执行某些 代码。 分类 if语句 ;switch语句 if语句 1. if最简单的用法 格式: if (表达式) 语句 功能: 如果表达式为真,执行语句 ;如果表达式为假, 语句不执行
1
Байду номын сангаас
2. if内嵌语句的范围问题(重点) 1) if (表达式) 语句A; 语句B; 解释: if只能控制语句A的执行或不执行 if无法控制语句B的执行或不执行 语句B一定会执行 2) if (表达式) { 语句A; 语句B; } 此时if可以控制语句A和语句B 由此可见:if只能控制一个语句的执行或不执行, 如果想控制多个语句就必须把这些语句用{}括起来。
switch语句 7 1. switch(整型表达式) //语法是重点 { case 常量1:语句组A;break; case 常量2:语句组B;break; default:语句组C; } 注意: switch后表达式是整型值(或字符或枚举); case后必为常量(或常量表达式,不可以出现任 何变量!) default分支的位置任意,且可以不要! 各个case分支后的常量值不能相同! 例如: float x=3; switch(x) {case x<0: printf(“x<0\n”);} 是错的!两点错误:1)x是float型;2)case后有变量x
9
2
3 3. if...else...的用法 if(表达式) A; else B; 这是一条语句,else不能单独使用! 4. if...else if...else...的用法 if (表达式1) A; else if (表达式2) B; else C; 程序的一次执行,语句A、B、C只执行其中的一条! 表达式1为真,执行A,其他都不再看! 只有当表达式1为假,且表达式2为真,执行B 只有当表达式1和2均为假,才会立刻执行语句C。
错误的写法! 条件永远应该写在if的后面 正确的写法是: 去掉(表达式2),或者其前加if
5
4) if语句的嵌套:if语句的内嵌语句又是一个if语句 注意:else总是和同层离它最近的尚未配对的if配对! 例如: if(表达式1) if(表达式2) A; else B; 无论书写时else与哪个if对齐,编译器都会认为它应与蓝 色的if配对! 因此,当表达式1为假(0)时,语句A和B均不会被执行! 只有当表达式1为真 且 表达式2为真时,执行语句A, 当表达式1为真 且 表达式2为假时,语句B才会被执行
8
3. switch语句要掌握的算法 1)输入五分制分数等级,输出对应的分数范围。 ——课件12例题2 ——注意字符常量要用’’引起来 2)输入年月,输出该月的天数。 ——课件12例题3 ——注意break语句的用法,如何实现几个入口 共用一组语句? 条件表达式 1. A ? B :C 等价于: if(A) B; else C; 2. 优先级高于赋值,低于逻辑运算
6
6. if语句应该掌握的常用算法 1)输入三个数,从大到小输出。P98 例5.2 ——两两比较,逆序则交换的方法 ——3个并列的简单if语句的应用 2)输入三个整数,找出最大值。实训四作业题 ——设置存放当前最大值的变量m,总把当前找 到最大的量放在m中,其余数据依次与m比较,遇 到更大的,覆盖m值,这叫“打擂法”求最值 3)判断闰年的条件 (year%4==0&&year%100!=0)||(year%400==0) 4)输入百分制成绩,输出其对应的五分制等级。 ——课件11 例题3
2. break;语句的作用是跳出当前switch的执行。 “case 常量:”仅仅起到入口标号(路标)的作用 执行方法: 判断switch后的表达式的值与case后的常量值是否相等, 决定进入哪个case分支,若均不相等就直接离开(若存 在default分支,进入default),一旦进入switch则所有 其他标号都失效,如果没有遇到break;语句,会一直 将其后的所有语句执行完。 例如: a=1; switch(a) 输出 12 { a=2; default: printf("0"); 输出 2 case 1: printf("1"); a=3; case 2: printf("2"); break; 输出 3 case 3: printf("3"); a=4; } 输出 012