第四章选择结构程序设计习题解答

合集下载

《C语言程序设计》课后习题答案解析[第四版]谭浩强

《C语言程序设计》课后习题答案解析[第四版]谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。

C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。

这些函数的说明都包括在stdio.h文件中。

②main是主函数的名称。

实验4 选择结构程序设计答案

实验4  选择结构程序设计答案
default:
printf("Input Operator error!\n");
}
}
(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。
#include "stdio.h"
main()
{float a,b;
printf("请主持人输入时尚手机的实际价格\n");
}
}
字符是数字输出字符串若该字符是大写字母输出字符串若该字符是小写字母输出字符串若该字符是其他字符输出字符串
实验
一、实验目的
1.掌握关系运算符和关系表达式的使用方法。
2.掌握逻辑运算符和逻辑表达式的使用方法。
3.掌握if语句、switch语句、条件运算符(?:)的使用方法。
4.掌握选择结构程序的设计技巧。
#include <stdio.h>
main()
{char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')||(ch<='z'))// if((ch>='a')&&(ch<='z'))
ch-=32;
c1=ch-1;
c2=ch+1;
#include <stdio.h>
main()
{char c;
scanf(_____"%c", &c_____);
if(c>='0' &&c<='9')

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。

#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

第四章选择结构程序设计(A级)

第四章选择结构程序设计(A级)

第四章选择结构程序设计(A级)填空题:1、表达式not true or true and false的值为false。

2、表达式ord(false)+5的值为5。

3、表达式pred(succ(true))的值为true。

4、表达式5 div 2<(5-2)的值为true。

5、"若A-B不小于C,则将B增加1,否则将B减少1“用Pascal 语言可表示为if A-B>=C then B:=B+1 else B:=B-1;。

6、"闰年指年号能被4整除,但不能被100整除,或者年号能被400整除的年"写成Pascal语言表达式为(year mod 4=0) and (year mod 100<>0) or (year mod 400=0)。

7、inc(ord(true))的结果是2。

8、表达式(2<=1) or not(2<10) and (10>4)的结果是false。

9、命题"m,n都是偶数或都是奇数"可表示为(m mod 2=0) and (n mod 2=0) or (m mod 2=1) and (n mod 2=1)。

10、dec(inc(ord(true)))的结果是1。

单项选择题:1、下面的表达式中,布尔值为true的是4+5 mod 2>4。

(4+5) mod 2>4'0'>'a'0>a2、下列选项中,不是布尔表达式的是5 div 3。

not b(x>0) or (y>0)9+4>5+33、下面哪一个是布尔变量的标识符?boolean。

trueintegerreal4、下面条件语句的格式书写不正确的是if 条件then 语句1; else 语句2。

if 条件then 语句1if 条件then 语句1 else 语句25、对于复合语句描述不正确的是begin后面没有符号,中间的语句末尾加";",最后一个语句与end之间必须加";"。

VB程序设计 习题及答案第4章 选择结构程序设计

VB程序设计 习题及答案第4章 选择结构程序设计

第4章选择结构程序设计4.1 写出数学式|x|<2.5×10-2对应的Visual Basic表达式。

【答案】x<2.5e-2 and x>-2.5e-24.2 逻辑运算符And、Or和Not的优先级最高的是哪一个。

【答案】Not4.3 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果。

(1) W>X And Y<=Z OR X>Y(2) X>Z Or W=Y AND Y<X(3) Not (W>Y And X=Z)(4) Not (Y<>X Or W*3>Z)【答案】(1) True(2) True(3) True(4) False4.4 写出下列十进制整数逻辑运算的结果:(1) X = 23 And 14(2) X = 23 Or 14(3) X = -1 And 19(4) X = -1 Or 10(5) X = Not -1【答案】(1) 6(2) 31(3) 19(4) -1(5) 04.5 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。

【参考答案】程序代码设计Private Sub Form_Click()x = 5: y = 6t = x: x = y: y = tForm1.Print "x="; x, "y="; yEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "x = 5", "y = 6"Form1.Print "单击窗体交换x,y的值"图4-1 程序运行结果End Sub程序运行结果如图4-1所示:4.6 从键盘输入一个学生的三科成绩,计算总分,并找出最高分。

【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click()g1 = Val(Text1.Text)g2 = Val(Text2.Text)g3 = Val(Text3.Text)Var = (g1 + g2 + g3) / 3g = g1If g < g2 Then g = g2If g < g3 Then g = g3Text4.Text = VarText5.Text = gEnd Sub图4-2 程序运行结果程序运行结果如图4-2所示。

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。

其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。

在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。

C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。

如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。

⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。

常见的关系运算符包括:<、<=、>、>=、==、!=等种类。

其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。

⽽前4种⾼于后2种。

例如, >优先于==。

⽽>与<优先级相同。

并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。

逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。

表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。

⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。

常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。

C语言习题四选择结构程序设计

C语言习题四选择结构程序设计

习题四选择结构程序设计1. 设变量x和y均已正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是______。

A、if(x++);B、if(x>y && y!=0);C、if(x>0) x--D、if(y<0) {;}else y++; else x++;解析:本题考查的是if语句。

if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。

选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。

故本题答案选C。

2. 有以下程序main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf ("%d",i);}printf("\n"); }执行后的输出结果是______。

A、5B、24C、32D、40解析:本题考查的是if语句的应用。

在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。

故本题答案选C。

3. 在嵌套使用if语句时,C语言规定else总是______。

A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对解析:本题考查的是if语句的使用规则。

在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。

故本题答案为C。

4. 有以下程序main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是______。

c语言第4章 选择结构程序设计习题答案

c语言第4章 选择结构程序设计习题答案

第4章选择结构程序设计习题(P111)4。

2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。

4.3 写出下面各逻辑表达式的值。

设a=3,b=4,c=5。

(1)a+b〉c&&b==c (2)a||b+c&&b-c (3)!(a〉b)&&!c||1(4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c—1&&b+c/2解:该题在求解过程中注意:一、优先级。

逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;二、逻辑表达式的求值规则。

(P94)所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)14。

4有3个整数a、b、c,由键盘输入,输出其中最大的数。

分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。

该题不用函数调用实现,但方法类似。

法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。

法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。

其中都要用到单分支或双分支选择结构语句。

参考程序如下:法一:main(){ int a,b,c,max;/*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf(”\ninput the value of a,b,c:"); /*提示输入*/scanf(”%d%d%d",&a,&b,&c);/*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/if(a>b) max=a;else max=b;if(max<c) max=c;printf("\nmax=%d\n",max);}法二:main(){int a,b,c,max;printf(”\ninput the value of a,b,c:”);scanf(”%d%d%d",&a,&b,&c);max=a;if(max〈b) max=b;if(max<c) max=c;printf("\nmax=%d\n”,max);}4.6有一个函数:写一段程序,输入x,输出y的值。

C语言 选择结构程序设计参考答案

C语言 选择结构程序设计参考答案

第四章选择结构程序设计一.选择题1.逻辑运算符两侧运算对象的数据类型。

A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)3.以下程序片段。

int x=2,y=3;printf( );A)什么都不输出B)输出为:***x=2C)输出为:###y=2 D)输出为:###y=34.能正确表示“当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)5.C语言对嵌套if语句的规定是:else总是与。

A)其之前最近的if配对B)第一个if配对C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对6.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为0。

A)1 B)2 C)3 D)47.下面是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=<b) x++;C)if (a-b) x++; D)if ( x ) x++;8.以下程序片段。

第四章选择结构程序设计习题解答

第四章选择结构程序设计习题解答

}
9、解:
#include "stdio.h" void main() {
float x, y; scanf("%f%f",&x,&y); if((x-2)*(x-2)+(y-2)*(y-2)>1) printf("点A在圆外\n"); else if((x-2)*(x-2)+(y-2)*(y-2)==1) printf("点A在圆上\n"); else printf("点A在圆内\n"); }
12、解:(2)嵌套的if语句 #include "stdio.h" void main() { float x; scanf("%f",&x); if(x>-5&&x<8) { if(x<0) printf("y=%f",x-1); else if(x==0) printf("y=%f",x); else printf("y=%f",x+1); } else printf("Data undefine! "); }
开始Βιβλιοθήκη 10 解:输入年、月 判断是否为闰年 用一整型变量标识,1表示是,0表示否
Month==1、 3、 5、 7、8、10、12?
N Month==2 N
N
Month== 4、6、9、11?
N
Month==其它值
Y
闰年 Y
Y
Y
输出31天
输出29天
输出28天
输出30天
输出数据错误
结束

第4章 选择结构程序习题解答

第4章 选择结构程序习题解答

第4章选择结构程序设计习题解答1.设x、t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为 0 。

2.假定所有变量均已正确定义,则程序段:int a=0,y=10;if(a=0) //条件式为0y--;else if(a>0)y++;elsey+=y;运行后y的值是 20 。

3.能表述20<x<30或x<-100的C语言表达式是 x>20 && x<30 || x<-100 。

4.若有定义语句“int a=25,b=14,c=19;”,则以下语句执行结果是 ***a=25,b=14,c=19*** 。

if(a<=25 && b<=2 && c)printf("***a+b=%d,a-b=%d***\n",a+b,a-b);elseprintf("***a=%d,b=%d,c=%d***\n",a,b,c);5.假定i和j为int型变量,则执行以下语句后i的值是 37 。

#include<stdio.h>void main(){int i=1,j;switch(i){case 1:for(j=0;j<9;j++)i+=j;break;case 2:for(j=1;j<10;j++)i+=j;break;case 3:i++;}}6.以下两条if语句:可合并成一条if语句,即。

if(a<=b)x=1;y=2;if(a>b)printf("***y=%d\n",y);elseprintf("***x=%d\n",x);可合并成一条if语句,即:if(a<=b){x=1;printf("***x=%d\n",x);}else{y=2;printf("***y=%d\n",y);}7.输入两个字符,若这两个字符的序号(ASCII码)之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。

C语言第四章选择结构程序设计作业-雨课堂

C语言第四章选择结构程序设计作业-雨课堂

单选题 3分
18.若变量已正确定义并赋值,以 下符合C语言语法的表达式是( )
A a:=b+1 B a=b=c+2 C int 18.5%3 D a=a+7=c+b
单选题 3分 19.若有条件表达式 (exp) ?a++:b--,则以下表达式 中能完全等价于表达式(exp) 的是( )
A (exp==0)
单选题 3分
2.下列运算符中优先级最高 的是( )
A< B+
& C& D !=
单选题 3分
3.能正确表示“当x的取值在 [1,10]和[200,210]范围内为真, 否则为假"的表达式是( )
A
(x>=1)&&(x<=10)&&(x >=200)&&(x<=210)
B
(x>=1)||(x<=10)||(x>=2 00)||(x<=210)
单选题 3分
5.下列运算符中优先级最低 的是( )
A ?: &
B& C+ D !=
单选题 3分
6.以下程序的运行结果是( ) #include<stdio.h> main() {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);}
正常使用主观题需2.0以上版本雨课堂
主观题 10分 24.程序设计题 编一个程序,输入3个整数, 按从大到小的顺序输出。 要求拍照或截图提交(1)算 法(2)编写的程序(3)程序 运行结果答案
正常使用主观题需2.0以上版本雨课堂

答案第四章 选择结构程序设计

答案第四章  选择结构程序设计

第四章选择结构程序设计一、选择题1.下列运算符中优先级最高的是 B 。

(0级)A)> B)+ C)&& D)!=2.以下关于运算符优先级的描述中,正确的是 A 。

(0级)A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)3.逻辑运算符的运算对象的数据类型 D 。

(0级)A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 B 。

(1级) A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)5.以下程序的运行结果是 B 。

(1级)main( ){int c,x,y;x=1;y=1;c=0;c=x++||y++;printf(“\n%d%d%d\n”,x,y,c);}A)110 B)211 C)011 D)0016.以下程序的运行结果是 A 。

(1级)main( ){int c,x,y;x=0;y=0;c=0;c=x++&&y++;printf(“\n%d%d%d\n”,x,y,c);}A)100 B)211 C)011 D)0017.判断字符型变量ch为大写字母的表达式是 C 。

实验四答案选择结构程序设计

实验四答案选择结构程序设计

实验四答案选择结构程序设计实验四选择结构程序设计答案实验时间:年⽉⽇【实验步骤】⼀、程序调试练习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);}具体要求:①分析程序运⾏结果。

第四章选择结构程序设计(最终版)-2013(1)分析

第四章选择结构程序设计(最终版)-2013(1)分析

试写程序
给n1、n2、n3 输入数值
Y n1>n2 N scanf("%d,%d,%d",&n1,&n2,&n3); if (n1>n2) else
max=n1; max=n2;
max=n1
max=n2
n3>max Y max=n3
N
if (n3>max) max=n3;
输出max
printf("max=%d\n",max);
返回 计算机科学学院
4.2 逻辑运算及其表达式
用逻辑运算符将关系表达式或逻辑 量连接起来的式子就是逻辑表达式。
计算机科学学院
4.2.1 逻辑运算及其优先次序
1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: && || !
例如,下面的表达式都是逻辑表达式:
(x>=0) && (x<10) (x<1) || (x>5) ! (x= =0)
计算机科学学院
例如,假设num1=3,num2=4,num3=5,则 (1)num1>num2的值 0 1 1
(2)(num1>num2)!=num3的值 (3)num1<num2<num3的值
( 4)(num1<num2)+num3 6 思考题:任意改变 num1或num2的值,会影响整个表达式 的值吗?为什么?
n1<n2 演示程序 输出n1、n2、n3 返回 计算机科学学院
4.3.1 if语句
给n1、n2、n3 输入数值 n
4.3.2 if语句的嵌套
if语句的嵌套与嵌套匹配原则 if语句允许嵌套。所谓if语句的嵌套是指, 在“语句1”或(和)“语句2”中,又包含有if 语句的情况。 if语句嵌套时,else子句与if的匹配原则: 与在它上面、距它最近、且尚未匹配的if配对。

C语言 第四章 选择结构程序设计期末测试习题与答案

C语言 第四章 选择结构程序设计期末测试习题与答案
C.其之后最近的if
D.其之前最近的没有else配对的if
参考答案:D
12、在下面的条件语句中,只有一个在功能上与其它三个语句不等价,它是( )。
A.if (a)语句1 else语句2
B.if (a!=0)语句1 else语句2
C.if (a==0)语句2 else语句1
D.if (a==0)语句1 else语句2
printf(“a=%d,b=%d\n”,aa=2,b=2
C.a=1,b=0
D.a=1,b=1
参考答案:B
16、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int a=1,b=5,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
D.if(a==0) printf("%d\n",x); else printf("%d\n",y);
参考答案:D
2、假定所有变量均已正确说明,下列程序段运行后x的值是( )。
a=b=c=0;x=12; if(!a)x--; else x=5; if(c) x=3; else x=4;
A.3
B.4
C.12
int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n");
A.3
B.5
C.1
D.2
参考答案:A
5、当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。
A.k%2==1

第4章 选择结构程序设计(实验4) - 参考答案

第4章 选择结构程序设计(实验4)  - 参考答案

实验四选择结构程序设计应用班级:学号:姓名:成绩:一.实验目的1、掌握使用关系表达式、逻辑表达式表示条件的方法。

2、熟练掌握使用if语句实现选择结构。

3、熟练掌握使用switch语句实现选择结构。

二.使用的设备和仪器计算机+Windows XP +Visual C++6.0三.实验内容及要求1、习题6。

参考答案:#include<stdio.h>void main(){int score;char grade;printf("请输入成绩=");scanf("%d",&score);if(score>=0&&score<=100){switch(score/10){case 10:case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0:grade='E';break;}printf("你的成绩等级为%c\n",grade);}else{printf("成绩输入错误!\n");}}2、习题7。

参考答案:#include<stdio.h>void main(){int num,place,a,b,c,d,e;printf("请输入正整数=");scanf("%d",&num);if(num>0&&num<100000){if(num>9999)place=5;else if(num>999)place=4;else if(num>99)place=3;else if(num>9)place=2;elseplace=1;printf("该数字为%d位数\n",place);a=num%10; //个位数字b=num%100/10; //十位数字c=num%1000/100; //百位数字d=num%10000/1000; //千位数字e=num/10000; //万位数字switch(place){case 5:printf("%d%d%d%d%d\n",e,d,c,b,a);printf("逆序输出为:\n");printf("%d%d%d%d%d\n",a,b,c,d,e);break;case 4:printf("%d%d%d%d\n",d,c,b,a);printf("逆序输出为:\n");printf("%d%d%d%d\n",a,b,c,d);break;case 3:printf("%d%d%d\n",c,b,a);printf("逆序输出为:\n");printf("%d%d%d\n",a,b,c);break;case 2:printf("%d%d\n",b,a);printf("逆序输出为:\n");printf("%d%d\n",a,b);break;case 1:printf("%d\n",a);printf("逆序输出为:\n");printf("%d\n",a);break;}}else{printf("数据输入错误!\n");}}3、习题9。

C语言程序设计教程(第2版)课后习题答案(完美版)

C语言程序设计教程(第2版)课后习题答案(完美版)

C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。

答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。

答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
leap=1; else
leap=0; switch(month) { case 1: printf("This month has 31 days\n"); break; case 2:
{ if(leap==1) printf("This month has 29 days\n"); else printf("This month has 28 days\n"); break;
case 3:
deault:
7、解
#include "stdio.h" void main() {
char c1,c2; scanf("%c%c",&c1,&c2); if((c1-c2)%2==0)
printf("%c,%c",c1+1,c2+1); else
printf("%c,%c",c1-1,c2-1);
} case 3: printf("This month has 31 days\n");break; case 4: printf("This month has 30 days\n");break; case 5: printf("This month has 31 days\n");break; case 6: printf("This month has 30 days\n");break; case 7: printf("This month has 31 days\n");break; case 8: printf("This month has 31 days\n");break; case 9: printf("This month has 30 days\n");break; case 10: printf("This month has 31 days\n");break; case 11: printf("This month has 30 days\n");break; case 12: printf("This month has 31 days\n");break; default: printf(“Month is error data!"); } }
}
9、解:
#include "stdio.h" void main() {
float x, y; scanf("%f%f",&x,&y); if((x-2)*(x-2)+(y-2)*(y-2)>1)
printf("点A在圆外\n"); else if((x-2)*(x-2)+(y-2)*(y-2)==1)
printf("点A在圆上\n"); else
printf("点A在圆内\n"); }
10 解:
开始
输入年、月
判断是否为闰年 用一整型变量标识,1表示是,0表示否
Month==1、 3、 5、 N
N
7、8、10、12?
Month==2
N
Y
闰年
Y
Month== 4、6、9、11?
N Month==其它值
第四章 选择结构程序设计习题 解答
选择结构程序设计
根据某个变量或表达式的值作出选择, 决定执行哪些语句而不执行哪些语句。这样 的程序结构称为选择结构或分支结构。 实现选择结构的语句有:
分支语句(if语句)和 多分支语句(switch语句)
if-else 择条件语句
选择结构的一种最常用形式: if (表达式) 语句1;
else 语句2;
语句3 执行过程:
当括号内表达式成立时,即表达式的值是非0时, 执行语句1,然后语句3; 当表达式不成立时,值等于0时,执行语句2,然 后语句3,上面else部分也可以没有。
if多分支选择语句

表达式1

表达式2

语句1
语句2
先判断表达式1的值
非0就执行下面的语句
为0就执行下一个判断
}
开始 输入两字符
判断两字符之差 是否为偶数
Y 输出它们 的后继
N
输出它们 的前驱
结束
8、解
#include "stdio.h" void main() {
int a, b; scanf("%d%d",&a,&b); if(a%b==0)
printf("a/b=%d\n",a/b); else
printf("a/b=%d,%d\n",a/b,a%b);
Y
Y
输出31天
输出29天
输出28天
输出30天
输出数据错误
结束
#include "stdio.h" void main() {
int year, month,leap; scanf("%d%d",&year,&month); /*判断是否为闰年*/ if(year%400==0||(year%100!=0&&year%4==0))

一直这样做下去
直到得出最后结果

表达式3

语句3
语句4
if (表达式1) 语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3;
………… else 语句4;
语句5;
开关语句--sw 同 ⑶ 所 的⑵试句匹支b⑷前情一 一 的reccdccc枚以,s由现每执序配结cdc况后独个个语waaaaaaaeeksssssf举它每若于象一行列,构ssf下次立i表开句—eaeeeeteae语cuu每类们个只时(个i则。131,序分12达关——h34开Cll句:::::t后ts::s:个型 的语执,常执语:常发支式独语—w始wp—括{ir{}c, 值句行先量i行言量生时可立句非tc}c… cd执tcic… cdac—acnaa号aeaahse序每 必语求,d系h改出s每能就分独sst… fs行ess… fe独feeae内eea语((列个 须句表若f统变现u个产像支立(“u每表a表立l常%表常常句l常ut常常常互可系达与不频时tc生多结分个达l达分:a量:td达量量后量量量量不以列式常后s允率,的路构支”语式e式支语1式,语的2m1语2m是的相的量I面许不较不开结,句),c:cc)结d::句:的句常a:aa句零类同值I的:1,影高同关构或序sss则相构语)系语语语值eee系量语语和;个型,,语编响的结一去几列匹在213。句列句句句b只列只句句d:::或和否然句译运放果样执个r,配语e系m系系系e能m起系系f若表则后序出行在值,a行分a若句,+列+列k列列u是语列列1干达会自列错结前,程。支1;l没则系;1t21m整句2m语个式出;上—)果面;选序有b从列。b;形标b句r语的 现r而—,。可择常e其Ire、a号后ea的句类 互下非但根其k量ak后字的k加;出;。型 相依独在据中与;的符作现应 矛次立一之语型用的相 盾测分般,
相关文档
最新文档