C语言第二次作业(选择结构)

合集下载

C语言编程试验课之选择结构

C语言编程试验课之选择结构

1 .计算分段函数本题目要求计算下列分段函数f(x)的值:/㈤士,(E 时)I+ 1)[十之X + 1 /光(X <。

时)注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幕。

输入格式:输入在一行中给出实数x。

输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。

输入样例1:10输出样例1:出10.00) = 3.16输入样例2:-0.5输出样例2:氏-0.50) = -2.75(1)编程思路。

简单的if…else…结构。

(2)源程序。

#include <stdio.h>#include <math.h>int main ()(double x,y;scanf^"%lf",&x);if (x>=0)(y=sqrt(x);}else(y=(x+1)*(x+1)+2*x+1/x;}printfC^%.2f) = %.2f\n",x,y);return(0);2,三天打鱼两天晒网中国有句俗语叫“三天打鱼两天晒网”。

假设某人从某天起,开始“三天打鱼两天晒网7问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。

输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。

输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 34(1)编程思路。

按输入的N五天一个周期,因此分成两种情况:1)N%5等于1或2或3,打鱼;2)N%5等于4或0,哂网。

写成简单的if…else…结构。

(2)源程序。

#include <stdio.h>int main()(int n;scanf("%d",&n);if (n%5>=1 && n%5<=3)printf("Fishing in day %d\n",n);elseprintf("Drying in day %d\n",n);return 0;3 .比较大小本题要求将输入的任意3个整数从小到大输出。

C语言选择结构

C语言选择结构

C语言选择结构选择结构是C语言中的一种流程控制结构,用于根据给定的条件选择不同的执行路径。

本文将详细介绍C语言中的选择结构以及其使用。

选择结构主要包括if语句、if-else语句、else if语句和switch 语句。

1. if语句if语句是最简单的选择结构,用于根据给定条件决定是否执行段代码。

其语法结构为:if (condition)//如果条件为真,执行这里的代码其中,condition是一个表达式,如果它的值为真,则执行if语句中的代码块。

if语句也可以与else语句结合使用,使得在条件为假时执行不同的代码块。

2.if-else语句if-else语句是在if语句的基础上增加了一个分支,用于在条件为假时执行另外一段代码。

其语法结构为:if (condition)//如果条件为真,执行这里的代码else//如果条件为假,执行这里的代码如果if语句的条件为真,则执行if语句中的代码块,否则执行else语句中的代码块。

3.else if语句else if语句用于在多个条件之间进行选择,并根据不同的条件执行相应的代码块。

其语法结构为:if (condition1)//如果条件1为真,执行这里的代码else if (condition2)//如果条件1为假,条件2为真,执行这里的代码else//如果条件1和条件2都为假,执行这里的代码在多个else if语句中,只有第一个满足条件的语句会被执行,其他的else if和else语句会被忽略。

4.switch语句switch语句是用来根据不同的取值来执行不同的代码块。

其语法结构为:switch (expression)case constant1:// 如果expression的值等于constant1,执行这里的代码break;case constant2:// 如果expression的值等于constant2,执行这里的代码break;...default:// 如果expression的值与之前的常量都不匹配,执行这里的代码expression 表达式的值会与每个 case 后面的常量进行比较,如果匹配则执行相应的代码块,可以使用 break 语句来跳出 switch 代码块。

选择结构c语言

选择结构c语言

选择结构c语言选择结构是C语言中的一种重要语句,它可以根据条件的真假来选择执行相应的语句块,从而实现程序的不同流程控制。

本篇文章将详细介绍C语言中选择结构的使用方法及注意事项。

一、if语句if语句是C语言中最基本的选择结构,其语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}其中,条件表达式一般是关系表达式或逻辑表达式,其返回值为真或假。

当条件表达式为真时,执行花括号中的语句块;当条件表达式为假时,跳过整个if语句块,继续执行下一条语句。

示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。

二、else语句如果if语句的条件表达式为假,程序会直接跳过整个if语句块。

如果需要在条件为假时执行一些操作,可以使用else语句。

else语句的语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}else{//当条件表达式为假时执行的语句块}示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}else{printf("您还未成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。

C语言选择结构题(含答案)

C语言选择结构题(含答案)

第9、10课时实验一:写出下列程序的运行结果。

1、以下程序的运行结果是:2,-1#include "stdio.h"main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}2、以下程序的运行结果是:0,6,0main(){ int a=5,b=6,w=1,x=2,y=3,z=4,c;c=(a=w>x)&&(b=y>z);printf("%d,%d,%d",a,b,c);}3、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是D。

A)’x’&&‘y’B)x<=yC)x||y+z&&y-zD)!((x<y)&&!z||1)4、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为B。

A)1 B)2 C)3 D)45、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是B。

if(x>y)z=x; x=y; y=z;A)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=206、以下if语句语法正确的是B。

A)if(x>0)printf(“%f”,x)else printf(“%f”,-x);B)if(x>0){ x=x+y; printf(“%f”,x); }else printf(“%f”,-x);C)if(x>0){ x=x+y; printf(“%f”,x); };else printf(“%f”,-x);D)if(x>0){ x=x+y; printf(“%f”,x) }else printf(“%f”,-x);7、以下程序的运行结果是:***tttmain(){ int a=0,b=0,c=0;if(a==c+b) printf("***\n");if(a=c+b) printf("###\n");if(c>=a+b) printf("ttt\n");}8、以下程序,输入6时,输出5,输入7时,输出为7 main(){int x;scanf(“%d”,&x);if(x- ->6)printf(“x=%d”,++x);elseprintf(“x=%d”,x++);}9、请写出以下程序的输出结果__1_。

C语言第二次作业参考答案(选择结构)

C语言第二次作业参考答案(选择结构)

C语⾔第⼆次作业参考答案(选择结构)C语⾔第⼆次作业(选择结构)参考答案1、某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。

判断从键盘输⼊的年份是否为闰年。

#includeint main(){int year;printf("请输⼊年: ");scanf("%d",&year);if(year%4==0 && year%100!=0||year%400==0)printf("%d年是闰年。

\n",year);elseprintf("%d年不是闰年。

\n",year);return 0;}2、某个⾃动加油站有‘a’,‘b’,‘c’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升),也提供了“⾃⼰加”或“协助加”两个服务等级,这样⽤户可以得到5%或10%的优惠,请编程序针对⽤户输⼊加油量m,汽油品种y和服务类型z(‘f’—⾃动加,‘m’—⾃⼰加,‘e’—协助加),(注:‘f’—⾃动加⽆优惠),计算应付款pay。

(请⽤多分⽀选择switch语句)。

#includeint main(){ double r1,r2,m,pay;char y,z;printf("请输⼊⽤户输⼊加油量,汽油品种和服务类型: ");scanf("%lf %c %c",&m,&y,&z);switch(y){ case 'a':r1=6.92;break;case 'b':r1=7.37;break;case 'c':r1=7.64;break;}switch(z){ case 'f':r2=0;break;case 'm':r2=0.05;break;case 'e':r2=0.1;break;}pay=m*r1*(1-r2);printf("pay=%.2lf\n",pay);}3、输⼊三⾓形三边,判断该三⾓形是什么三⾓形(等边,等腰,普通和直⾓)#includeint main(){ float a,b,c;printf("请输⼊三⾓型三边: ");scanf("%f %f %f",&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b)if(a==b&&b==c)printf("等边三⾓形\n");else if(a==b||a==c||b==c)printf("等腰三⾓形\n");else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf("直⾓三⾓形\n"); elseprintf("⼀般三⾓形\n");elseprintf("不能组成三⾓形\n");return 0;}4. 编写⼀个菜单程序,输⼊1~3以进⼊相应的选择项。

c语言实验4:选择结构程序设计

c语言实验4:选择结构程序设计

实验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可以将程序运行到光标当前位置。

X。

(完整版)c语言选择结构试题带答案

(完整版)c语言选择结构试题带答案

(完整版)c语言选择结构试题带答案一、选择题1. 以下非法的赋值语句是A: n=(i=2,++i); B: j++; C: ++(i+1); D: x=j>0;2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是A: 6 B: 0 C: 2 D: 13. 阅读以下程序:main(){ int x;scanf(“%d”,&x);if(x--<5) printf(“%d”,x);else printf(“%d”,x++);}程序运行后,如果从键盘上输人5,则输出结果是()。

A: 3 B: 4 C: 5 D: 64. 有如下程序main0{ int a=2,b=-1,c=2;if(a<b)< bdsfid="79" p=""></b)<>if(b<0) c=0;else c++printf("%d\n",c);}该程序的输出结果是A: 0 B: 1 C: 2 D: 35. 有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是( )。

A: 2,1 B: 3,2 C: 4,3 D: 2,-16.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A: 7 和5 B: 6 和3 C: 7 和4 D: 6 和47. 能表示x 为偶数的表达式是A: x%2==0 B: x%2==1 C: x%2 D: x%2!=08. 下面的程序段中共出现了几处语法错误?int a,b;scanf("%d",a);b=2a;if(b>0) printf("%b",b);A: 1 B: 2 C: 3 D: 49. C 语言中,逻辑“真”等价于A: 大于零的数B: 大于零的整数C: 非零的数D: 非零的整数10. C 语言的switch 语句中,case 后A: 只能为常量B: 只能为常量或常量表达式C: 可为常量及表达式或有确定值的变量及表达式D: 可为任何量或表达式11. 已知int i=10;表达式"20-0<=i<=9"的值是A: 0 B: 1 C: 19 D: 2012. 设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为A: 1 B: 2 C: 3 D: 013. 逻辑运算符两侧运算对象的数据类型A: 只能是0 或1B: 只能是0 或非0 正数C: 只能是整型或字符型数据D: 可以是任何类型的数据14. 能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B: (x>=1)||(x<=10)||(x>=200)||(x<=210)C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)15. 已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值是()A: 0 B: 1 C: 语法错误D: 假16. 执行下列语句后a 的值为int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A: 5 B: 0 C: 2 D: 117. 以下程序的输出结果是()main(){ int a=5,b=0,c=0;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}A: 有语法错误不能通过编译B: 可以通过编译但不能通过连接C: ***D: $$$18. 以下程序的输出结果是()main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}A: 4 B: 5 C: 6 D: 719. 若运行时给变量x 输入12,则以下程序的运行结果是()main(){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A: 0 B: 22 C: 12 D: 1020. 若w=1,x=2,y=3,z=4,则表达式w<x?w:y<="" 2="" 3="" 4="" b:="" bdsfid="163" c:="" d:="" p="" 的值是a:=""></x?w:y21. 设有int a=2,b;则执行b=a&&1;语句后,b 的结果是A: 0 B: 1 C: 2 D: 322. 设有int m=1,n=2;则++m==n 的结果是A: 0 B: 1 C: 2 D: 323. 设有int n=2;则++n+1==4 的结果是A: true B: false C: 1 D: 024. 设有int n=2;则++n+1==4,n 的结果是A: 1 B: 2 C: 3 D: 425. 以下使i 的运算结果为4 的表达式是A: int i=0,j=0; (i=3,(j++)+i);B: int i=1,j=0; j=i=((i=3)*2);C: int i=0,j=1; (j==1)?(i=1):(i=3);D: int i=1,j=1; i+=j+=2;26. 当a=5,b=2 时,表达式a= =b 的值为A: 2 B: 1 C: 0 D: 527. 若执行以下程序时从键盘上输入9,_______则输出结果是main(){ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A: 11 B: 10 C: 9 D: 828. main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A: 6,1 B: 2,1 C: 6,0 D: 2,029. 若有int x=10,y=20,z=30;以下语句执行后x,y,z 的值是()if (x>y)z=x;x=y;y=z;A: x=10,y=20,z=30B: x=20,y=30,z=30C: x=20,y=30,z=10D: x=20,y=30,z=2030. 下列表达式中能表示a 在0 到100 之间的是A: a>0&a<100 B: !(a<0||a>100) C: 0<a0&&a<100)</a31. 为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与()组成配对关系。

c语言第2次作业

c语言第2次作业

1.计算机能直接执行的程序是______。

A)源程序 B)机器语言程序 C)高级语言程序 D)汇编语言程序2.以下选项中,不属于C语言结构化程序设计三种基本结构的是_______。

A)选择结构 B)顺序结构 C)递归结构 D)循环结构3.以下选项中,可以作为C语言用户标识符的一组是_______-。

A) void、define、WORO B)a3_b3、_123、xyzC)For、_abc、case D)2a、Do、sizeof4.已知:char a=’\70’;,则变量a________。

A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明非法5.已知:float x=2,y;,则表达式y=x+3/2的值是________。

A)3.5 B)3.0 C)2.0 D)1.06.C语言中,运算对象必须是整型数值的运算符是________。

A)% B)/ C)< D)!_________√(a²+b²)7.以下选项中,数学式1/2sin ( _________ )| c |A)1/2sin(sqrt(a^2+b^2)/fabs(c)) B)0.5sin(sqrt(a^2+b^2)/fabs(c))C) 1/2*sin(sqrt(a*a+b*b)/fabs(c))D)1.0/2*sin(sqrt(a*a+b*b)/fabs(c))8、已知:int i=10,j=1;,则执行语句print(“%d,%d”,i--,++j);后,输出结果是______。

A)9,2 B)10,2 C)9,1 D)10,19、已知:int a=5;,执行语句a=3*5,a*4,a+5;后,变量a的值是_________。

A)45 B)20 C)15 D)1010、已知:int x,y,t;,则语句:t=x,x=y,y=z;的功能是________。

A)将x和y按从大到小排列 B)将x和y按从小到大排列C)交换x和y的值 D)语法错误11.以下选项中叙述正确的是____________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言第二次作业.要求写出:一、实验目的:1.了解C语言表示逻辑量的方法。

2.学会正确使用逻辑运算符和逻辑表达式。

3.熟练掌握if语句的使用。

4.熟练掌握多分支选择语句—switch语句。

5.结合程序掌握一些简单的算法。

6.进一步学习调试程序的方法。

二、实验内容:(程序代码及调试结果)1.某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。

判断从键盘输入的年份是否为闰年。

#include <stdio.h>int main (){int x;printf("请输入年份:\n");scanf("%d",&x);if(x%400==0){printf("该年是闰年");}else{if(x%4==0){printf("该年是闰年");}else{printf("该年不是闰年");}}}2、某个自动加油站有‘a’,‘b’,‘c’三种汽油品种,单价分别为6.92,7.37,7.64(元/公升),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量m,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。

(请用多分支选择switch语句)。

#include <stdio.h>int main(){double x,z,pay;char y,l;printf("请选择汽油品种\n");scanf(" %c",&y);switch(y){case 'a':z=6.92;break;case 'b':z=7.37;break;case 'c':z=7.64;break;default:printf("选择错误\n");}printf("请输入汽油量\n");scanf("%lf",&x);printf("请选择服务等级\n");scanf(" %c",&l);switch(l){case 'f':pay=x*z;break;case 'm':pay=x*z*0.95;break;case 'e':pay=x*z*0.9;break;default:printf("选择错误\n");}printf("%lf\n",pay);return 0;}3、输入三角形三边,判断该三角形是什么三角形(等边,等腰,普通和直角)#include<stdio.h>int main(){int a,b,c;printf("请输入三角形的三边长:\n");scanf("%d,%d,%d",&a,&b,&c);if (a+b<=c||a+c<=b||b+c<=a)printf("无法构成三角形\n");else if(a==b&&b==c)printf("这个三角形是等边三角形");else if(a==b||b==c||a==c)printf("这个三角形是等腰三角形");else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("这个三角形是直角三角形");elseprintf("这个三角形是普通三角形");return 0;}4. 编写一个菜单程序,输入1~3以进入相应的选择项。

(请用switch 语句)1、FindNum2、Diamond3、Goodbye!Input 1-3:#include<stdio.h>int main(){int x;printf("请输入选项:\n");scanf("%d",&x);switch(x)printf("FindNum\n");break;case 2:printf("Diamond\n");break;case 3:printf("Goodbye!\n");break;default :printf("输入错误\n");}return 0 ;}5.输入4个整数,要求按由小到大的顺序输出#include<stdio.h>{int a,b,c,d,t;printf("请输入四个数\n");scanf("%d,%d,%d,%d",&a,&b,&c,&d); if (a>b){t=a;a=b;b=t;}if (a>c){t=a;a=c;c=t;}if (a>d){t=a;a=d;d=t;}if (b>c){t=b;b=c;c=t;}if (b>d){t=b;b=d;d=t;}if (c>d){t=c;c=d;d=t;}printf("%d,%d,%d,%d\n",a,b,c,d); return 0;}6.求一元二次方程ax2+bx+c=0的根。

当b2-4ac>0为不相等的两实根,当b2-4ac=0时为两相等的实根,当b2-4ac<0为两复根。

#include<stdio.h>#include<math.h>int main(){double a,b,c,x1,x2,m,n;printf("请输入方程的三个系数。

\n");scanf("%lf,%lf,%lf",&a,&b,&c);if(b*b-4*a*c>=0){x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);printf("%lf,%lf\n",x1,x2);}else{m=-b/(2*a);n=sqrt(4*a*c-b*b)/(2*a);printf("x1=%lf+%lfi,x2=%lf-%lfi\n",m,n,m,n); }return 0;}7、编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和#include <stdio.h>int main(){i nt a,b,c;p rintf("请输入a,b\n");s canf("%d,%d",&a,&b);c=a*a+b*b;i f(c>100)printf("%d\n",c);e lsep rintf("%d\n",a+b);r eturn 0;}8、有三个整数a,b,c,由键盘输入,输出其中最大的数。

#include <stdio.h>int main (){int a,b,c,max;printf("请输入三个数"); scanf("%d,%d,%d",&a,&b,&c);if(a>=b){max=a;}else{max=b;}if(c>max)printf("max=%d\n",c);elseprintf("max=%d\n",max);return 0;}9、有一个函数:y=x (x<1) 2x-1 (1<=x<1)03x-11 (x>=10)写程序,输入x的值,输出y相应的值。

#include <stdio.h>int main (){double x,y;printf("请输入X的值\n");scanf("%lf",&x);if (x<1){printf("%lf\n",x);}else if(x<10){y=2*x-1;printf("%lf\n",y);}else{y=3*x-11;printf("%lf\n",y);}return 0;}。

相关文档
最新文档