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语言中的选择结构以及其使用。
选择结构主要包括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语言中选择结构的使用方法及注意事项。
一、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语言选择结构题(含答案)
第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语⾔第⼆次作业(选择结构)参考答案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:选择结构程序设计
实验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语言选择结构试题带答案一、选择题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次作业
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.以下选项中叙述正确的是____________。
c语言选择结构程序设计教案
C语言选择结构程序设计教案第一章:选择结构概述1.1 选择结构的概念介绍选择结构的基本概念和作用解释条件语句的条件表达式和执行过程1.2 选择结构的语法介绍if语句的语法结构和用法解释if-else语句的语法结构和用法第二章:单分支选择结构2.1 单分支选择结构的概念解释单分支选择结构的含义和应用场景2.2 单分支选择结构的语法介绍if语句的语法结构和用法第三章:双分支选择结构3.1 双分支选择结构的概念解释双分支选择结构的含义和应用场景3.2 双分支选择结构的语法介绍if-else语句的语法结构和用法第四章:多分支选择结构4.1 多分支选择结构的概念解释多分支选择结构的含义和应用场景4.2 多分支选择结构的语法介绍if-else if-else语句的语法结构和用法第五章:嵌套选择结构5.1 嵌套选择结构的概念解释嵌套选择结构的含义和应用场景5.2 嵌套选择结构的语法介绍嵌套if-else语句的语法结构和用法第六章:选择结构的实践应用6.1 简单应用案例设计一个程序,根据用户输入的正负数输出相应的提示信息编写一个程序,根据用户输入的年龄判断并输出相应的年龄段6.2 复杂应用案例设计一个程序,根据用户输入的考试成绩判断并输出相应的等级编写一个程序,根据用户输入的天气情况输出相应的建议第七章:选择结构与逻辑运算符7.1 逻辑运算符概述介绍逻辑运算符的概念和作用解释逻辑运算符的优先级和结合性7.2 逻辑运算符的应用展示如何使用逻辑运算符结合选择结构解决问题举例说明逻辑运算符在实际编程中的应用场景第八章:选择结构与函数8.1 选择结构与函数的关系解释选择结构如何在函数中使用展示选择结构在函数中如何影响程序的执行流程8.2 选择结构在函数中的应用案例编写一个函数,根据传入的参数值返回相应的结果设计一个函数,根据传入的条件判断并执行相应的操作第九章:选择结构与循环结构的结合9.1 选择结构与for循环的结合介绍如何将选择结构与for循环结合使用举例说明选择结构与for循环结合的应用场景9.2 选择结构与while循环的结合介绍如何将选择结构与while循环结合使用举例说明选择结构与while循环结合的应用场景第十章:选择结构的扩展与优化10.1 选择结构的扩展介绍选择结构的扩展方法和技巧解释如何提高选择结构程序的可读性和可维护性10.2 选择结构的优化介绍选择结构优化的方法和原则展示如何通过优化选择结构提高程序的性能和效率第十一章:选择结构与数组的结合11.1 选择结构与一维数组的结合介绍如何使用选择结构对一维数组进行排序展示如何根据特定条件对一维数组进行查找11.2 选择结构与二维数组的结合解释如何使用选择结构遍历和处理二维数组举例说明选择结构在二维数组中的应用场景第十二章:选择结构与文件操作12.1 选择结构与文件读写介绍如何使用选择结构实现文件的打开、读取和关闭展示如何根据特定条件对文件内容进行处理12.2 选择结构与文件操作应用案例编写一个程序,根据用户选择实现文件的复制和移动设计一个程序,根据文件内容判断并输出相应的信息第十三章:选择结构与指针13.1 选择结构与指针的关系解释指针在选择结构中的作用和意义展示如何使用指针和选择结构实现复杂的数据操作13.2 选择结构与指针应用案例编写一个函数,根据指针指向的内容判断并执行相应操作设计一个程序,利用指针和选择结构处理动态分配的内存第十四章:选择结构与字符串处理14.1 选择结构与字符串的关系解释字符串在选择结构中的作用和意义展示如何使用选择结构实现字符串的常见操作14.2 选择结构与字符串处理应用案例编写一个程序,根据用户输入的字符串判断并输出其长度设计一个程序,根据字符串内容判断并执行相应的操作第十五章:选择结构综合案例15.1 选择结构在复杂程序中的应用介绍选择结构在复杂程序中的作用和意义展示如何使用选择结构实现复杂程序的流程控制15.2 选择结构综合案例分析分析并讲解一个涉及选择结构的多模块程序引导学生学会如何将选择结构应用于实际项目开发重点和难点解析本文主要介绍了C语言选择结构程序设计的相关内容,包括选择结构的基本概念、语法和应用场景。
【c语言程序设计】选择结构程序设计
【c语言程序设计】选择结构程序设计C语言程序设计 - 选择结构程序设计C语言是一种通用的程序设计语言,广泛应用于计算机科学和软件开发领域。
选择结构是C语言中的一种重要控制结构,用于根据条件的真假来决定程序运行的路径。
本文将介绍选择结构在C语言程序设计中的应用以及相关的编程技巧。
一、IF语句IF语句是最简单的选择结构,用于根据一个条件的真假来决定程序的下一步动作。
它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码}例如,如果我们想判断一个数字是否为正数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num > 0) {printf("这是一个正数。
\n");}return 0;}```上述代码中,用户输入一个数字,程序会判断这个数字是否大于0,如果是,则输出"这是一个正数"。
二、IF-ELSE语句IF-ELSE语句是在条件为真或假的情况下,分别执行不同的代码块。
它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}例如,我们想判断一个数字是否为奇数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num % 2 == 0) {printf("这是一个偶数。
\n");} else {printf("这是一个奇数。
\n");}return 0;}```上述代码中,用户输入一个数字,程序会通过判断这个数字是否能被2整除来确定是奇数还是偶数,并输出相应的结果。
C语言 实验二、选择结构程序设计解答
实验二选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示]根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。
使用if…else…语句和复合语句。
#include "stdio.h"void main(){char ch;int dch;printf("请输入一个字符:\n");scanf("%c",&ch);printf("输入的字符是:%c\n",ch);if(ch>='0'&&ch<='9'){dch=ch-'0';printf("%c对应的整数是:%d\n",ch,dch);}else{printf("%c不是数字字符\n",ch);}}2.[目的]掌握条件表达式的使用[题目内容]编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z 是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。
[输入]三个数x、y、z[输出]“x+y=z”或“x+y!=z”[提示]条件判断表达式x+y==z#include "stdio.h"void main(){float x,y,z;printf("请输入x,y,z:\n");scanf("%f%f%f",&x,&y,&z);if(x+y==z)printf("x+y=z\n");elseprintf("x+y!=z\n");}3.[目的]掌握求最大值最小值的方法。
C语言编程练习题与答案 选择结构2-3
if (b==1 || b==3 || b==5 || b==7 || b==8 || b==10 || b==12) printf("%d",31);
else printf("%d",30); }
return 0; }
2.测试数据 (不提供,请在网站上进行测试)
三、判断一个数能否被 2、3、5 整数(codeup,21662,原题,25 日第 5 题升级)答案 1.源代码: #include <stdio.h>
2.测试数据 (不提供,请在网站上进行测试)
二、某月天数判断(codeup,21663,原题) 答案 1.源代码: #include <stdio.h>
int main() {
int a,b; scanf("%d %d",&a,&b);
if (b==2) {
if ((a%4==0 && a%100!=0)||(a%400==0)) printf("%d",29); else printf("%d",28); }
break; case 3:printf("%d,%d,%d",hundred,ten,indiv);
printf("\n%d %d %d\n",indiv,ten,hundred); break;
case 2:printf("%d,%d",ten,indiv); printf("\n%d %d\n",indiv,ten);
int main() {
int num,indiv,ten,hundred,thousand,ten_thousand,place; 十位,百位,千位,万位和位数
二级C语言-基本语句选择结构_真题(含答案与解析)-交互
二级C语言-基本语句、选择结构(总分82.5, 做题时间90分钟)一、选择题1.若变量已正确定义,有以下程序段:int a=3, b=5, c=7;if(a>b)a=b; c=a;if(c!=a)c=b;printf("%d, %d, %d\n", a, b, c);其输出结果是:• A.程序段有语法错误•**,5,3•**,5,5**,5,7SSS_SIMPLE_SINA B C D分值: 1答案:B[解析] 此题是if语句的例子。
两个if语句的判断条件都不满足,程序只能执行c=a这条语句,所以变量c的值等于3,变量b的值没有变化。
程序输出的结果为3,5,3,所以正确答案为B。
[解析] 本题考查putchar函数的使用。
putchar函数的作用是向终端输出一个字符。
例如,putchar(ch);,它输出字符变量ch的值,ch可以是字符型变量,也可以是整型变量。
若ch是整型变量,则输出的是ASCII码值对应的字符。
2.若变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是______。
•**=0; while((ch=getchar())!=!'\n')n++;•**=0; while(getchar()!='\n')n++;•**(n=0; getchar()!='\n'; n++);**=0; for(ch=getchar(); ch!='\n'; n++);SSS_SIMPLE_SINA B C D分值: 1答案:D[解析] A项每进行一次循环判断一个字符是否回车,如果不是就进行下一次判断,因此可以统计出输入字符个数;B项与A项的判断相似,仅为是否将读入的数据赋值给一个变量,因此并不影响判断结果;C项用for循环来判断,与B的判断完全相同,可以统计出输入字符个数;D项中ch=getchar()是给变量ch 赋初值,如果输入回车,则程序只循环一次,如果输入一个非回车的字符,则程序进入死循环。
C语言程序设计教程:选择结构程序设计
4.2 switch语句
(5) case后面的语句块可以是一条语句或多条语句,也可 是空语句,但不需要用大括号括起来。
(6) 当case后面常量表达式与switch后面的表达式均不匹 配时,则执行default后面的语句块,default可以放在程序的 任何位置,不一定要位于最后。
(7) 多个case可以共用一个语句块。 例如: switch(n)
注意:当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。 因此要注意对多分支中条件表达式的书写次序,防止某些值被过滤掉。
15
4.1.1 if语句的三种形式
思考:若将例4.4中程序改为以下两种写法,结果分别会如何?
程序段一如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=90)
4.1.1 if语句的三种形式
程序段二如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=60)
printf("及格!\n "); else if(score>=70)
9
4.1.1 if语句的三种形式
2. 双分支选择结构
双分支结构语法的一般格式为:
if(表达式)
{
语句块1;
}
C语言选择结构
C语言选择结构C语言选择结构选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
以下是店铺分享给大家的C语言选择结构,帮助大家巩固C语言基础,欢迎阅读学习!1.1 用if语句实现选择结构1.在C语言中,if语句有两种形式:形式1:if(表达式)语句形式2:if(表达式)语句1else 语句22.if语句执行时,首先计算紧跟在if后面一对圆括号中的表达式的值,如果表达式的值为非零(″真″),则执行if后的″语句″,然后去执行if语句后的下一个语句。
如果表达式的值为零(″假″),直接执行if语句后的下一个语句。
3.if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。
If语句中可以再嵌套if语句。
C语言规定,在嵌套的if语句中,else子句总是与前面最近的不带else的if相结合。
1.2 用switch语句实现多分支选择结构1.switch语句是用来处理多分支选择的一种语句。
它的一般形式如下:switch(表达式){ case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault :语句n+1}2.switch语句的`执行过程是:首先计算紧跟switch后面的一对圆括号中的表达式的值,当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句体并将流程转移到下一个case继续执行,直至switch语句的结束;若所有的case中的常量表达式的值都没有与表达式值匹配,又存在default,则执行default后面的语句,直至switch语句结束;如果不存在default,则跳过switch语句体,什么也不做。
1.3 选择结构的嵌套if语句和switch语句都可以嵌套使用,特别要注意,对于构成嵌套的if语句,else子句总是和离它最近的、不带else的if子句相匹配,不能弄混;在一个switch语句中的case后面又嵌套了一个switch语句,在执行内嵌的switch语句后还要执行一条break语句才跳出外层的switch语句。
C语言程序设计 实验报告2--选择结构
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程: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公里以上判断车型,再带入相应车型计算车费。
C语言作业1
B .纯小数型 C .复数型 D .双精度型 学生答案: A 分数:3 得分:3.0 9. 以下的非法赋值语句是( )。 A .n=(i+2,i++) B .j++ C .++(i+1) D .x=j>0 学生答案: C 分数:3 得分:3.0 10. 下述语句执行后,变量k的值是( )。 int k=1; while(k++〈10〉; A .10 B .11 C .9 D .为无限循环,值不定 学生答案: B 分数:4 得分:4.0 11. 下面程序段的运行结果是( )。 int n=0; while(n++<=2); printf(“%d”,n); A .2 B .3 C .4 D .有语法错 学生答案: C 分数:4 得分:4.0 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与其他 三个选项含义不同,这个选项是( )。 A .k%2 B .k%2= =1 C .(k%2)!=0 D .!k%2= =1 学生答案: D 分数:4 得分:4.0 13. 在以下程序段中,while循环执行的次数是( )。 int k=0; while(k=1) k++; A .执行一次 B .一次也不执行
B. 句号 C. 分号 D. 冒号 正确答案:C 满分:4 分 得分:4 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与 其他三个选项含义不同,这个选项是( )。 A. k%2 B. k%2= =1 C. (k%2)!=0 D. !k%2= =1 正确答案:D 满分:4 分 得分:4 13. 若x的初值为10,则表达式(x>10?x+100 : x-10)的值是( )。 A. 10 B. 0 C. 100 D. 1 正确答案:B 满分:4 分 得分:4 14. 关于printf函数的格式字符,以下叙述正确的是( )。 A. 整形变量的输出格式符只有%d一种 B. %x是格式符,它可以适用于输出任何一种类型的数据 C. %8f表示输出实数的整数部份占8个字符宽度 D. %ld表示输出长整型数据 正确答案:D 满分:4 分 得分:4 15. 以下程序的输出结果是( )。 main( ) { int a, b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue;} } printf(“%dn”,a); } A. 101 B. 6 C. 5 D. 4 正确答案:D 满分:4 分 得分:4 16. 若有如下程序段,则循环体语句共执行( )次。 int k=10; while(k>0) {k--;} A. 10 B. 9 C. 11 D. 0
C语言选择结构作业(含解答)
C语言选择结构作业(含解答)选择结构作业解答(3)一、选择题:1.判断char型变量ch是否位数字的表达式的是:a)‘0’ < = ch <= ’9’b) (ch > ‘0’)&&( ch <’9’)c) (ch >= ‘0’)&&( ch <= ’9’) d) (ch >= ‘0’)||( ch <= ’9’)答案:b)2.能正确表示a和b不同时为0的逻辑表达式的是:a) a*b==0 b) (a==0)||( b==0)c) (a==0&&b!=0)&&( b==0&&a!=0) d)(a! = 0)||( b != 0)答案:d)解答:3.能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是:a) a==-b && a%2==0 b) a!=b && a+b==0 && a%2c) !(a%2)&&a==-b d) a%2==0 a+b==0答案:d)解答:4.有以下程序:#includevoid main{ int x=2,y=3,z;char ch=‘a’;z=(x||!y)&&(ch>’A’);}程序运行后z的值是a)true b)false c)0 d)15.关于if后面一对圆括号中的表达式,叙述正确的是a) 只能用关系表达式b) 只能用逻辑表达式c) 只能用关系表达式或逻辑表达式d) 可以使用任意合法的表达式6.对switch后面一对圆括号中的表达式,叙述正确的是a) 只能用数字b) 可以是浮点数c) 只能用整型数据或字符型数据d)以上叙述都不对7.以下不正确的if语句是a) if (a<="" if="" p="" t="a;">c) if (a=b) printf(“equal”); c)if (a>b)&&(b>c) printf(“max=%d”,a);8.有以下程序:#includevoid main(){ int m=-2;if(m=0) printf(“@@@”);else printf(“%%%”); }程序运行后的输出结果是:a)@@@ b)%%% c)%% d)@@@%%% 9.有以下程序:#includevoid main(){ int a=12,b=20,t=18;if(a>b) t=a;a=b;b=t;printf(“a=%d,b=%d,t=%d”,a,b,t); }程序运行后的输出结果是:a)a=12,b=20,t=18 b)a=20,b=18,t=18c) a=20,b=12,t=12 d)a=20,b=18,t=1210.有以下程序:#includevoid main(){ int t=65;if(t>45) printf(“%d”,t);else printf(“%d”,t);if(t>35) printf(“%d”,t);else printf(“%d”,t);if(t>25) printf(“%d”,t); }程序运行后的输出结果是:a)65 b)6565 c) 656565 d)不确定的值11.有以下程序:#includevoid main(){ int t=8;if(t-->=8) printf(“%d\n”,t--);else printf(“%d\n”,t++); }程序运行后的输出结果是:a)9 b)8 c) 7 d)612.有以下程序:#includevoid main(){ int a=2,b=5,c=3,d=2,x;if(a%3>b)if(c>d)if(b<="" p="" x="++b">else x=++d;else x=--c ;else x=++b ; }程序运行后的x 的值是:a )6 b)3 c) 2 d)713. 与“y=(x>0?x:x<0?-x:0)”的功能相同的if 语句是b) if (x>0) y=x;else if(x<0) y=-x;else y=0;14. 若a 、b 、c1、c2均是整型变量,x ,y 是浮点型变量,则以下正确的switch 语句是a) switch (c1+c2){case 1:y=a+b;break ;case 2:y=a-b;break; case 1:y=b-a;break;} b ) switch (x+y){ case 1:case 2:printf(“%d ”,a+b);break; }d )switch (a-b){default: y=a*b;break; case 10:case 9: x=a+b;break; case 7:case 5: y=b-a;break;} c ) switch (c1+c2); {case c1:y=a-b;break ; case c2:x=a*b;break; default:x=a+b;}b )if (x)if(x>0) y=x;c) y=-x; if (x)if(x>0) y=x;a) if (x)if(x>0) y=x; d) y=0; if (x>=0) if(x>0) y=x;15.以下关于switch和break语句的说法中正确的是a)break语句只能用在switch语句中;b)在switch语句中,可以根据需要决定是否使用break语句;c)在switch语句中必须使用break语句;d)以上选项都不正确;16.有以下程序:#includevoid main(){ int c;c=getchar();switch(c-‘2’){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);case 4: putchar(c+2);break;}}程序运行后,输入2<回车>,输出结果是:a)66 b)6 c)6654 d)没有输出内容二、填空题:1.关系运算符、逻辑运算符、算术运算符和赋值运算符的运算优先级顺序由高到低的排列顺序是算术运算符、关系运算符、逻辑运算符、赋值运算符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;}。