实验3 选择结构语句
实验3 结构化程序设计初步
![实验3 结构化程序设计初步](https://img.taocdn.com/s3/m/4de0e1f9700abb68a982fbed.png)
实验3 结构化程序设计初步1.实验目的(1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句(2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些运算符构成的表达式(3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点和使用方法(4)能够灵活地运用C++各种语句进行综合程序设计2.实验内容2.1程序分析题。
分析下面程序的运行结果,上机运行程序,观察其输出结果与你的分析结果是否相同?(1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是多少?#include <iostream.h>void main( ){char c1,c2;int a;float b;cin>>c1>>c2>>a>>b;cout<<c1<<" "<<c2<<" "<<a<<" "<<b<<'\n';}(2)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<a<<endl;cout<<setprecision(9)<<a<<endl;cout<<setprecision(6)<<a<<endl;cout<<setiosflags(ios::fixed)<<a<<endl;cout<<setiosflags(ios::fixed)<<setprecision(8)<<a<<endl;}(3)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<setiosflags(ios::scientific)<<a<<endl;cout<<setiosflags(ios::scientific)<<setprecision(4)<<a<<endl;}#include <iomanip.h>void main( ){int b=123456;cout<<b<<endl;cout<<hex<<b<<endl;cout<<setiosflags(ios::uppercase)<<b<<endl;cout<<dec<<setw(10)<<b<<','<<b<<endl;cout<<setfill('*')<<setw(10)<<b<<endl;cout<<setiosflags(ios::showpos)<<b<<endl;}(5)有如下程序,从键盘输入86 24 75↙后,程序的输出结果为多少,为什么?#include <iostream.h>void main( ){int a,b,c;cin>>a>>oct>>b>>hex>>c;cout<<a<<" "<<b<<" "<<c<<endl;}(6)#include <iostream.h>#include <iomanip.h>void main( ){short a=-1;cout<<dec<<a<<" "<<oct<<a<<" "<<hex<<a<<endl;}(7)#include <stdio.h>void main( ){int a=-1;printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",a,a,a,a);}(8)以下程序中,为了给整型变量k1,k3赋值为10,给k2,k4赋值为20,如何输入数据?#include <stdio.h>void main( ){int k1,k2,k3,k4;scanf("%d%d",&k1,&k2);scanf("%d,%d",&k3,&k4);printf("k1=%d,k2=%d,k3=%d,k4=%d\n",k1,k2,k3,k4);}void main( ){int a=3,b=4,c=5,d=6,e,f;e=a>b&&(c=8);cout<<c<<" "<<e<<endl;f=a<b&&(e=c<d);cout<<e<<" "<<f<<endl;f=a<b||(d>0?d++:d--);cout<<d<<" "<<f<<endl;}(10)#include <iostream.h>void main( ){int x,y,z,w;z=(x=-1)?(y=-1,y+=x+5):(x=7,y=9);w=y*'a'/4;cout<<x<<" "<<y<<" "<<z<<" "<<w<<endl;}(11)#include <iostream.h>void main( ){int a=5,b=7,c=3,t;if(a= -1) cout<<"Yes"<<endl;else cout<<"No"<<endl;if(a>b) { t=a;a=b;b=t; }if(a>c) { t=a;a=c;c=t; }if(b>c) { t=b;b=c;c=t; }cout<<a<<" "<<b<<" "<<c<<endl;}解析:a被赋值为-1,输出YESIf语句成立则执行,不成立则不执行分析只有b>c成立,=后面的值赋给左边的,顺序从左到右(12)#include <iostream.h>void main( ){ char c='3';switch(c-'1'){case 0:case 1:cout<<c+1<<endl;case 2:cout<<c+2<<" "<<char(c+2)<<endl;default:cout<<c+3<<" "<<char(c+3)<<endl;}}‘3’是字符型,ASCLL码为051,执行Switch时,根据switch表达式的值找到与之匹配的case子句,就从此子句开始执行下去,不再进行判断(13)#include <iostream.h>void main( ){int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1: cout<<"+";break;case 2: cout<<"-";break;}case 0:switch(c==5){case 0: cout<<"*";break;case 1: cout<<"/";break;default: cout<<"#";break;}default: cout<<"$";}cout<<"\n";}a>0是真,值为1,执行case1,继续下面,b<0是假,不执行其中的case1.case2c==5是真,值为1,执行case1,输出/,其后有break,被中断不再执行分句里其下的命令,default: cout<<"$"前面没有break,则输出$(14)#include <iostream.h>void main( ){int a=10,b=0;do{a+=2;b+=a;cout<<"a="<<a<<",b="<<b<<endl;if(b>20) break;}while(a!=14);}(15)#include <iostream.h>void main( ){int i,j;for(i=10;i<20;i++){for(j=2;j<=i/2;j++)if(i%j==0) break;if(j>i/2)cout<<i<<" ";}cout<<endl;}(16)#include <iostream.h>void main( ){int i,j,m=0;for(i=0;i<5;i++)for(j=0;j<5;j++)if(j>=i) m++;cout<<m<<endl;}(17)#include <iostream.h>void main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){ if(j>i) break;cout<<i<<"*"<<j<<"="<<i*j<<" ";}cout<<endl;}}(18)#include <iostream.h>void main( ){int i=1,sum=0;while(i<=100){if(i%2==0){ i++; continue;}sum+=i;i++;}cout<<sum<<endl;}2.2编程题(1)编写程序从键盘输入一个大写字母,将其转换为小写字母并输出。
MATLAB程序设计与应用(刘卫国编)课后实验答案
![MATLAB程序设计与应用(刘卫国编)课后实验答案](https://img.taocdn.com/s3/m/7e31eebc767f5acfa0c7cd1f.png)
实验一 MATLAB 运算基础1. 先求以下表达式的值,然后显示MATLAB 工作空间的利用情形并保留全数变量。
(1) 0122sin851z e=+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求以下表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C的右下角3×2子矩阵赋给D。
(3) 查看MATLAB工作空间的利用情形。
解:. 运算结果:4. 完成以下操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 成立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 成立一个字符串向量例如:ch='ABC123d4e56Fg9';那么要求结果是:实验二 MATLAB 矩阵分析与处置1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 别离为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
C语言程序设计实验三答案
![C语言程序设计实验三答案](https://img.taocdn.com/s3/m/2a1e6e4089eb172ded63b7b9.png)
实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2. 掌握利用if 结构实现选择结构的方法。
3. 掌握利用switch 结构实现多分支选择结构。
4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。
输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。
)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。
答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。
C语言程序设计第3章选择结构程序设计
![C语言程序设计第3章选择结构程序设计](https://img.taocdn.com/s3/m/cb920d2e89eb172dec63b7a7.png)
√
!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件
√
程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;
活动三使用多重选择语句实现活动二的程序
![活动三使用多重选择语句实现活动二的程序](https://img.taocdn.com/s3/m/c5633ff3aa00b52acfc7cae4.png)
设购书款数为X元,优惠价为Y元,则:
X (X ≤ 100) Y= 0.9*X (100 < X < 200)
0.85*X (200 ≤ X < 300) 0.8*X (X ≥3现“二选一”的功能。如下图:
程序流向
分支一
分支二
三层if语句的嵌套的结构图:
<测试表达式>可以是任何数值表达式或字符表达式,case后 的“表达式范围” 有三种形式:
1) <表达式1> [,<表达式2>]…
如:Case l,3,5(值的罗列)
2) <表达式1> TO <表达式2> 3) Is <关系运算符> <表达式>
如:Case l0 TO 30(一段范围) Case “A” TO “Z”
If<条件1> TYh=e1n If<条件>Then
If<条件E>LSTEhen
……
……
Else
End If IF X=0 TIHf<E条N 件>Then
Else …… End If
Y=0 …… End If
ELSE End If
Y=-1
END IF
END IF
功能流程图:
条件1
N
条件2
N
…
条件n
Y=0.85*X Case Else Y=0.8*X End Select Text2.Text = Y End Sub
例:
Private Sub Command1_Click() If Text1.Text = "王刚" Then
If UCase(Text2.Text) = "ABCDE" Then MsgBox "口令正确!"
实验三-选择结构程序设计
![实验三-选择结构程序设计](https://img.taocdn.com/s3/m/bc3deced0242a8956bece420.png)
实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
[C语言]顺序、选择结构实验报告
![[C语言]顺序、选择结构实验报告](https://img.taocdn.com/s3/m/072da5a1941ea76e59fa0428.png)
实验报告课程名称程序设计语言C/C++实验项目顺序结构,选择结构编程与调试一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种数据类型的输入输出的方法,能正确使用各种格式转换符。
3.掌握选择结构程序设计的方法和用用关系表达式、逻辑表达式表示选择结构的条件。
二、实验内容1.调试关于各种格式转换符的正确使用方法的程序并验证结果的正确性。
2.编写并调试简单的关于数据类型输入输出的程序。
3.编写并调试运行关于if语句和switch语句使用的程序。
三、实验步骤及结果分析1.从键盘输入两个整数,求两数之和并输出。
#include <stdio.h>int main ( ){int a,b,c;printf("请输入两个整数:\n");scanf("%d,%d",&a,&b);c=a+b;printf("两数之和为:%d\n",c);return 0;}2.从键盘输入园的半径r,求园的周长C、面积S并输出。
#include <stdio.h>int main( ){float pai=3.14159;float r,C,S;printf("Please enter the radius of the circle:");scanf("%f",&r);C=2*pai*r;S=pai*r*r;printf("The circumference of the circle C is %.2f\n",C); printf("The area of the circle is %.2f\n",S);return 0;}3.从键盘输入一个小写字母,要求输出其对应的大写字母。
#include <stdio.h>int main (){char c1,c2;c1=getchar();c2=c1-32;putchar(c2);printf("\n");return 0;}4.输入圆锥的底面圆的半径和高,求圆锥的表面积和体积。
选择结构程序设计实验报告
![选择结构程序设计实验报告](https://img.taocdn.com/s3/m/8abb7482ddccda38366baf7e.png)
实验题目:选择结构程序设计班级:学号:姓名:学院:实验室:日期:成绩评定:教师签字:实验目的:1、掌握顺序结构程序设计方法、执行过程和复合语句的作用。
2、熟练使用顺序结构编辑程序。
3、熟练掌握if——else条件语句,学习选择结构程序设计的方法及应用。
4、熟悉多分支选择的switch——case语句。
【2-1】阅读程序,上机调试并记录程序结果。
(记录结果,利用截图方式或者书写方式均可)(1)#include <stdio.h>int main( ){int x=3;if(x==0) {printf("x=%d\n",x);}else{printf("x=%d\n”,x+1);}return 0;}程序运行结果:x=4(2)#include <stdio.h>int main(){int a,b;scanf("%d",&a); /*键盘输入一个整数a*/if(a%2!=0) { /*判断a是否是奇数*/b=a*a;printf("b=%d\n",b);}return 0;}程序运行结果: 1 b=1(3)阅读程序,输入0~100之间的数值,上机调试并记录程序结果。
#include<stdio.h>#include<stdlib.h>int main(){double score;int level;printf("请输入成绩:\n");scanf("%lf",&score);if (score>100||score<0){printf("成绩输入错误!\n");}else{level=(int)((score -50)/10);switch(level){case 5: printf("优\n");break;case 4: printf("优\n");break;case 3: printf("良\n");break;case 2: printf("中\n");break;case 1: printf("差\n");break;default: printf("劣\n");break;}}return 0;}程序运行结果: 99 优【2-2】程序填空。
实验3 选择结构程序设计
![实验3 选择结构程序设计](https://img.taocdn.com/s3/m/7afffbd176eeaeaad1f33001.png)
实验3 选择结构程序设计一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
2.【重点】掌握C语言的基本控制结构和基本控制语句的使用方法。
3.【重点】掌握用C语言的基本控制语句进行选择结构程序设计的方法。
二、实验内容1.算算账成都出租车2010年9月10日执行新价格,捷达车运价将调整为8元起步,速腾9元起步,两2.身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm女性成人时身高=(faHeight×0.923 + moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编写程序LAB3_2.c:从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
【要求】程序要有较好的错误处理能力。
例如,当输入父亲或母亲身高小于0时,屏幕应有如下提示:当输入字符为其他字母时,屏幕也应有相应提示。
例如:所有输入都符合要求的输出界面如下图所示:实验报告《C语言程序设计》实验三班级学号姓名一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
实验3 选择结构程序设计
![实验3 选择结构程序设计](https://img.taocdn.com/s3/m/81865a15cc7931b764ce1506.png)
实验3 选择结构程序设计一、实验目的及任务1、了解C 语句表示逻辑量的方法(以0代表"假"以1代表"真")。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if 语句和switch 语句。
4.结合程序掌握一些简单的算法。
二、实验环境VC++6.0编程环境;主机操作系统为Windows2000或Windows XP ; 三、 预备知识要深入理解选择结构的特点,掌握各自的语句实现。
四、实验内容本实验要求编程解决以下问题,然后上机调试运行程序。
1.⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x xy用scanf 函数输入x 的值,求y 的值。
程序提示:main 函数结构如下: 定义实型变量x 与y 使用scanf 函数输入x 的值 if x<1 y=x elseif x<10y=2x-1elsey=3x-11输出x的值与y的值2.给出一个百分制的成绩,要求输出成绩等级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.编程实现:输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)分别输出每一位数字,(3)按逆序输出各位数字,如原数为321,则应输出123。
C语言选择结构程序设计编程题
![C语言选择结构程序设计编程题](https://img.taocdn.com/s3/m/8e12fef0763231126fdb11d0.png)
实验2 选择结构程序设计一.实验目的:1.掌握选择控制语句的使用方法;2.了解C程序语句的执行过程。
二.实验内容:1.编写程序:输入一个整数,判断该数的奇偶性.(输出相应的标志even-偶数odd—奇数,请记住这两个单词)。
2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No.3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。
4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。
设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E'(用if…else…与switch 语句两种方法实现)。
5. 企业发放的奖金根据利润提成.利润(i)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提5%;40万元到60万元之间时,高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1。
5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求发放奖金总数。
6. 输入某年某月某日,判断这一天是这一年的第几天。
7。
输入一个字符,请判断是字母、数字还是特殊字符.8. 身高预测:男性成人身高=(父亲身高+母亲身高)*0。
54cm女性成人身高=(父亲身高*0。
923+母亲身高)/2cm如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1。
5%。
键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。
9. 要求用switch语句编程设计一个简单的计算器程序。
要求根据用户从键盘输入的表达式.操作数1 运算符op 操作数2计算表达式的值。
C程序设计实验(3)-选择结构程序设计
![C程序设计实验(3)-选择结构程序设计](https://img.taocdn.com/s3/m/4d8c046f0b1c59eef8c7b4ab.png)
实验三 选择结构程序设计一:目的要求1.熟悉用关系运行与逻辑运行符的应用;2.掌握if 语句与switch 语句的使用;3.上机前按实验要求预习编写出完整的程序,才允许上机。
二:实验内容与步骤1、从键盘输入一个年份,判断其是不是闰年;2、从键盘输入a 、b 、c 三个数,并求出方程02=++c bx ax 的解,要求考虑有两个不等实根、两个相等实根、两个虚根的情况,要根据a 、b 、c 的不同值,给出不同结果的提示。
1.#include <stdio.h>int main(){int year,leap;printf("enter year:"); scanf("%d",&year);if (year%4==0)if(year%100==0)if(year%400==0) leap=1;else leap=0;else leap=1;else leap=0;if (leap) printf("%d is ",year);else printf("%d is not ",year);printf("a leap year.\n");return 0;}2#include <stdio.h>#include <math.h>int main(){double a,b,c,disc,x1,x2,realpart, imagpart;scanf("%lf,%lf,%lf",&a,&b,&c);printf("The equation ");if(fabs(a)<=1e-6)printf("is not a quadratic\n");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%8.4f\n", -b/(2*a));elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("has distinct real roots:%8.4fand %8.4f\n",x1,x2);}else{ realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(" has complex roots:\n");printf("%8.4f+%8.4fi\n”,realpart,imagpart);printf("%8.4f-%8.4fi\”, realpart,imagpart);}}return 0;}。
【C语言基础精品】实验三选择结构程序设计
![【C语言基础精品】实验三选择结构程序设计](https://img.taocdn.com/s3/m/1c8eb174f111f18583d05a7f.png)
班级:学号:姓名:成绩:实验三选择结构程序设计【实验目的】1.正确书写关系表达式。
2.掌握if语句的各种格式以及嵌套使用。
3.掌握switch语句的使用。
4.能正确调用c语言提供的数学库函数。
【实验内容】一、改错题1.输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter。
#include<iostream.h>Void main(){int a,b,c,area, perimeter;printf(”Enter 3sides of triangle:\n”);scanf(“%d%d%d”,&a,&b,&c);if(a+b>c||a+c>b||c+b>a){s=1/2(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;printf(“area=%d\tperimeter=%d\n”area,perimteer);elseprintf(”These sides do not correspond to a valid triangle.\n”);}运行结果1:Enter 3 sides of the triangle:5 5 3Area=7.15454 perimeter=13运行结果2:Enter 3 sides of the triangle:1 4 1These sides do not correspond to a valid triangle.二、程序填空题输入a,b,c三个数,求解方程ax2+bx+c=0。
#include<stdio.h>#include<math.h>Void main(){double a,b,c,delta,x1,x2,p,q;scanf(“%lf%lf%lf”,&a,&b,&c);if(a==0){If( ______________)printf(”只有一个根x=\n”,-c/b);else if(____________)printf(”方程的解是全体实数.\n”);else printf(”方程无解.\n”);}else__________________;if(_________________){printf(”有两个不同的实根:\n”);x1=(-b+sqrt(delta))/(2*a);x1=(-b-sqrt(delta))/(2*a);printf(“x1=%f\nx2=%f\n”,x1,x2);}else if(_____________){printf(”有两个相同的实根:”);printf(”x1,x2=%f\n”, -b/(2*a))}else{p=-b/(2*a);q=(-delta)*(2*a)printf(”有两个不同的虚根:”);printf(“x1=%f+%fi\n”,p,q);printf(“,x2=%f-%fi\n”,p,q”);}}}运行结果1:0 0 0方程的解是全体实数.运行结果2:0 0 2方程无解.运行结果3:0 2 3只有一个根x=-1.5运行结果4:1 2 1有两个相同的实根.x1=x2=-1运行结果5:1 5 6有两个不同的实根.运行结果6:1 -2 5有两个不同的虚根:X1=1=2i,x2=1-2i三、编程题(1)输入一个整数,判断它的奇偶性后输出。
2014《C语言实验指导书》
![2014《C语言实验指导书》](https://img.taocdn.com/s3/m/9400df4dbe1e650e52ea9915.png)
《C语言》实验指导书编(全校理工类本科用)2014年2月目录实验一简单C语言程序设计 (1)实验二顺序结构程序设计 (3)实验三选择结构程序设计 (5)实验四循环结构程序设计 (7)实验五数组程序设计 (10)实验六函数程序设计 (13)实验七指针程序设计 (16)实验八结构体程序设计 (17)附录1 C语言上机步骤 (18)实验一简单C语言程序设计实验类型:验证性实验课时: 4 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握所用的C语言环境的基本操作方法。
2.掌握编辑、编译、连接和运行C程序。
3.掌握C程序的数据类型、运算符,表达式。
二、实验内容和要求1.打开C语言环境,编辑如下程序,写出运行结果。
#include <stdio.h>void main(){printf(“Hello World!\n”);}2. 在屏幕上显示下列图形:* * * ** * ** **3.完成习题集中习题一的内容4. 已知三角形的三边长为3,4,5,求三角形周长5 .完成习题集中习题二内容实验二顺序结构程序设计实验类型:验证性实验课时: 2 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握基本输入输出函数、库函数的使用。
2.能够编程实现简单的结构化程序。
二、实验内容和要求1.执行程序,写出运行结果。
#include <stdio.h>void main(){float a = 9.1234567891234567890;double b = 9.1234567891234567890;printf("%f, %lf\n",a,b);printf("%.15f,%.15\n",a,b);};2.运行程序,写出结果。
#include <stdio.h>void main(){float x1;double y1 ;scanf("%f %lf ",&x1,&y1) ;printf("x1=%f,y1=%lf ",x1,y1) ;}程序运行时输入x的值123456789,输入y的值123456789。
实验三 选择结构程序设计答案
![实验三 选择结构程序设计答案](https://img.taocdn.com/s3/m/e9ef823ea32d7375a41780d3.png)
实验三 选择结构程序设计1. 求分段函数的值。
2226,035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其它 用if 语句实现,分别输出 5.0, 3.0,1.0,2.0,2.5,3.0,5.0x =--时的y 值。
x=input('x=?'); if x<0&x~=-3 y=x^2+x-6;elseif x>=0&x<5&x~=2&x~=3 y=x^2-5*x+6; elsey=x^2-x-1; end y2. 输入一个百分制成绩,要求输出成等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)分别用if 语句和switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
x=input('x=?'); if x>100|x<0disp('Error input'); break;endif x>=90&x<=100disp('A')elseif x>=80&x<=89 disp('B')elseif x>=70&x<=79 disp('C')elseif x>=60&x<=69 disp('D')elsedisp('E')endx=input('x=?');if x>100|x<0disp('Error input');break;endswitch fix(x/10)case {9,10}disp('A')case {8}disp('B')case {7}disp('C')case {6}disp('D')otherwisedisp('E') end3. 硅谷公司员工的工资计算方法如下:(1)工作时间超过120小时者,超过部分加发15%。
选择结构程序设计实验原理
![选择结构程序设计实验原理](https://img.taocdn.com/s3/m/c72243f6970590c69ec3d5bbfd0a79563c1ed40a.png)
选择结构程序设计实验原理选择结构程序设计是计算机科学中的一个重要概念,它指的是根据给定的条件,通过判断条件的真假来决定程序的执行路径。
本文将介绍选择结构程序设计的原理和应用。
选择结构程序设计是一种基本的程序设计方法,它允许程序根据不同的条件选择不同的执行路径。
在选择结构中,程序会根据条件的真假来决定执行哪一段代码。
一般来说,选择结构由if语句和switch语句实现。
if语句是最基本的选择结构,它根据给定的条件判断真假,并执行相应的代码块。
if语句的一般形式是:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}在if语句中,条件可以是一个布尔表达式,也可以是一个返回布尔值的函数。
当条件为真时,执行if代码块中的代码;当条件为假时,执行else代码块中的代码。
switch语句是一种多分支的选择结构,它根据给定的值选择相应的执行路径。
switch语句的一般形式是:switch (表达式) {case 值1:// 如果表达式的值等于值1,执行这里的代码break;case 值2:// 如果表达式的值等于值2,执行这里的代码break;case 值3:// 如果表达式的值等于值3,执行这里的代码break;default:// 如果表达式的值不等于任何一个值,执行这里的代码}在switch语句中,表达式的值会与每个case后面的值进行比较,如果相等,则执行相应的代码块;如果不相等,则继续匹配下一个case。
如果没有匹配的case,则执行default代码块中的代码。
选择结构程序设计可以用来解决各种问题,例如判断一个数是奇数还是偶数,根据用户输入的选项执行相应的操作,或者根据不同的条件选择不同的输出结果等。
除了if语句和switch语句,选择结构程序设计还可以通过嵌套的方式实现更复杂的判断逻辑。
例如,可以在if代码块中嵌套if语句,或者在switch代码块中嵌套if语句。
C语言程序设计 实验报告2--选择结构
![C语言程序设计 实验报告2--选择结构](https://img.taocdn.com/s3/m/5c50b93f0066f5335a81219d.png)
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程:C语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2:选择结构程序设计一、实验目的和要求1.了解C语言表示逻辑量的方法2.正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句3.结合程序掌握一些简单算法,并学习调试程序二、实验内容和原理1.有一函数:x2+2x-6(x<0,x≠-3)y = x2-5x+6(0≤x<10,x≠2,x≠3)x2-x-15(x=-3,x=2,x=3,x≧10)写一程序,用scanf函数输入x,输出y值。
2.分别用if语句和switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
3.输入4个整数,要求按由小到大顺序输出。
4.有三个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序。
(用两种方法实现)5.输入出租车类型和里程,计算打车的费用。
计算方式为:3公里以内10元;3公里以上0车型每公里1.5元,1车型每公里2元。
三、实验环境1. 硬件:PC机;2. 软件:Windows操作系统、Visual C++ 6.0,DEV-CPP 。
四、算法描述及实验步骤1、先用scanf函数输入,再用if语句的嵌套来计算该方程。
2、(1)用switch语句时,对输入的数据进行检查,在用score/10将其强制转换得到一个整型。
最后用switch语句执行使其得到一个字符型字母。
(2)用if语句分成各个分数段将符合要求的输出对应的字符。
3、用if语句依次比较的方法排出其大小顺序。
4、(1)先用scanf函数输入,再用if语句的嵌套比较其大小顺序。
(2)带入一个中间数用条件表达式比较其大小顺序。
5、在标题写入条件,3公里以下直接输出。
3公里以上判断车型,再带入相应车型计算车费。
实验三MATLAB的程序设计
![实验三MATLAB的程序设计](https://img.taocdn.com/s3/m/5410e44050e2524de5187ead.png)
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 选择结构语句
一、实验目的和要求
1.熟练掌握if、switch两种选择结构。
2.通过上机实验,比较两种选择结构的区别。
二、实验准备
知识点
1.if结构
(1)单分支结构的一般形式可写成:
(2)标准分之结构的一般形式可写成:
(3)多分之结构的一般书写形式可写成:
2.switch结构
switch {
Case : 《语句序列1》
case : 《语句序列2》
…
case : 《语句序列n》
《default: <语序列句n+1>》
}
其中<常量表达式i>只能为类型的常数;《break》语句可有可无,有则立刻,无则结束本分支后继续执行以下分支直到遇到下一个break语句或switch的闭括号。
练习题
1.若有int i=10, j=0; 则执行完语句if (j=0) i++; else i--; i的值为。
若有int i=10, j=0; 则执行完语句if (j==0) i++; else i--; i的值为。
2.若有int i=5, j=10; 则执行完语句
{ case 4: j ++; break;
case 5: i -- ; break;
case 6: j ++; break;
case 7: j - =i; break;
default: ;
}
后j的值为。
3.与
switch (k) {
case 1:
case 2:cout<<’a’;break;
case 3:
case 4:
case 5:cout<<’b’;break;
default:cout<<’c’;break;
}
等效的if语句是:
4.与以下语句:
if (x>0 && x<4) cout<<’x’;
else if (x>18 && x<22) cout<<’y’;
else cout<<’z’;
等效的switch 语句是:
程序分析
1.有以下程序:
#include<iostream.h>
void main(){
int a,b,c=3;
cout<<"请输入两个整数:";
if(a<b) //行D
if(a==0) c=1; //行E
else c=2; //行F
cout<<"c="<<c<<endl; //行G
}
请回答问题:
①本题中if结构的条件有和;语句c=1;执行的前提是满足条件;语句c=2;执行的前提是满足条件;若条件a<b不成立,则程序接下来要执行的语句是。
②根据以上程序,结合a和b的值,在下表中判断c的值:
③若将,编译系统的反应是,输出结果是。
2.有以下程序:
#include "iostream.h"
void main(){
int a,b,x;
float y;
cout<<"请输入一个整数:";
cin>>x;
if(x<0) a=-1;
else a=x/10;
switch(a) { //行A
case -1: y=0;break; //行B
case 0: y=x;break; //行C
case 1: y=10;break; //行D
case 2://行E
case 3: y=-0.5*x+30;break; //行F
default: y=-2; //行G
}
if(y!=-2) cout<<"y="<<y<<endl; //行H
else cout<<"error\n"; //行I
}
请回答问题:
①本题中第一个if结构的条件是;语句a=-1;执行的前提是满足条件;语句a=x/10;执行的前提是满足条件。
②与case后面的-1、0、1等<常量表达式>比较的是表达式的值;若a的值为-1,则执行语句,随后执行第行语句;若a的值为0,则执行语
句 ,随后执行第 行语句;若a 的值为1,则执行语句 ,随后执行第 行语句;若a 的值为2,则执行语句 ,随后执行第 行语句;若a 的值为3,则执行语句 ,随后执行第 行语句;若a 的值为4,则执行语句 ,随后再执行第 行语句。
程序中语句break;的作用是 ;若删除G 行,且a 的值为5,则程序中语句A ~H 的执行情况是 。
③第二个if 结构的判断条件是 ;语句cout<<"y="<<y<<endl;;语句cout<<"error\n";执行的前提是要满足条件 。
④根据以上程序,结合x 的值,在下表中求出y 的值:
⑤若将case 0: 1时,程序输出结果是 。
同理,请同学们自己类推去除后面break 语句后对整个程序的影响,以进一步理解switch 语句的执行过程。
三、实验内容
1.编写一个程序,实现根据输入的x 值,可求出y 的值,并输出x 和y 的值。
计算y 值的数学公式为:
5.25.25
.75.12
.3432.9{≤>+-=x x x x y
2.设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。
90分以上为A ,80-89分为B ,70-79分为C ,60-69分为D ,60分以下为E 。
分别用条件语句和开关语句实现。
(要求用switch 语句编写程序) 3.编写一程序,实现从键盘输入一个字符时,如果该字符为小写字母,则转换成大写字母输出;如果该字符为大写字母。
则转换成小写字母输出;如果为其他字符时,则原样输出。
4.征税的办法如下:收入800元以下(含800元)的不征收;收入在800以上,1200元以下者,超过800元的部分按5%的税率收税;收入在1200以上,在2000元以下者,超出1200元的部分按8%的税率收税;收入在2000元以上者,2000元以上部分按20%的税率收税。
试编写按收入计算税费的程序。
(要求用switch 语句编写程序)。