第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是主函数的名称。

机器人程序设计(C语言)(第2版)章节练习题及参考答案

机器人程序设计(C语言)(第2版)章节练习题及参考答案

第一章一种新的C语言学习方式1.一台能够工作的计算机包括?CPU (Central Processing Unit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)。

其中,RAM (RandomAccess Memory,随机存储器)主要用于存储数据,ROM (RcadOnlyMemory, 只读存储器)主要用于存储程序。

2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样。

微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路。

3. AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8 KBISPdn-System Programmable系统在线编程)可反复擦写IOOO次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。

在实际工程应用中,功能强大的AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。

4. Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便。

使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上。

使用时需要1根USBA转B 信号线。

5.简述串口调试工具的特点。

串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率。

6. pr i ntf ()函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示。

Print ()函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio. h o第二章最简单的C程序设计——机器人做算数1. C语言用什么整型变量?C语言用关键字imt定义整型变量。

C语言章节习题及答案

C语言章节习题及答案

《C程序设计》复习题集第2章基础概念一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前定义正确答案: A以下说法正确的是A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: CC语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,但分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: CC语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-while D)if,for,continue正确答案: A第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)C语言提供的基本数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: BC语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof正确答案: B下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -123正确答案: D下列数据中,不合法的C语言实型数据的是A) B)123e3 C) D)正确答案: C若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6 B)7 C)8 D)9正确答案: DC语言中运算对象必须是整型的运算符是A)%= B)/ C)= D)<=正确答案: A若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b正确答案: B若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i; C)a=a++=5; D)a=int(i);正确答案: B若有定义:int a=7;float x=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是A) B) C) D)正确答案: A若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,<<,^ B)sizeof,<<,^,&= C)^,<<,sizeof,&= D)<<,^,&=,sizeof正确答案: B以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)5正确答案: C设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)int B)float C)double D)不确定正确答案: C在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和01100111正确答案: C不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D设有int x=11;则表达式(x++*1/3)的值是A)3 B)4 C)11 D)12以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",- -a+b,- -b+a);}A)30 B)31 C)32 D)33正确答案: A假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17 B)16 C)15 D)14正确答案: C已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-60正确答案: D设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+/ B)m=n*100+,n=m/C)n=n*100+ D)n=(n/100+*正确答案: Bsizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾正确答案: B以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C 语言表达式是A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z正确答案: A下列关于语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C二、填空题以下程序的输出结果是【1】。

自学考试软件工程第5章自测题及参考答案

自学考试软件工程第5章自测题及参考答案

第5章自测题及参考答案一、名词解释1.结构化程序设计2.PAD3.PDL4.结构冲突5.对应关系二、填空题1.结构化程序设计方法使用______构造程序。

2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是______。

3.结构化程序设计技术指导人们用良好的思想方法开发______的程序。

4.详细描述处理过程常用的三种工具是图形、语言和______。

5.Jackson图不仅可表示程序结构,还可表示______。

6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和______。

7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程______。

8.用JSP方法导出程序结构后,还要列出______,并把它们分配到程序结构图的适当位置上去。

9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的______进行设计。

10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行______设计。

三、选择题1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( )。

A.PADB.PDLC.IPOD.判定树2.结构化程序设计的一种基本方法是( )。

A.筛选法B.递归法C.迭代法D.逐步求精法3.JSP方法是一种面向( )的设计方法。

A.对象B.数据流C.数据结构D.控制结构4.JSP方法主要用于规模适中的( )系统的开发。

A.数据处理B.实时处理C.文字处理D.科学计算5.PDL是软件开发过程中用于( )阶段的描述工具。

A.需求分析B.概要设计C.详细设计D.编程6.在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是( )。

A.PADB.PDLC.IPOD.流程图7.Jackson图上下层之间的关系是( )。

A.调用关系B.组成关系C.继承关系D.嵌套关系8.JSP方法根据输入输出的数据结构按一定的规则映射成软件的( )。

国家开放大学电大《C语言程序设计》期末考试及答案参考

国家开放大学电大《C语言程序设计》期末考试及答案参考

[试题分类]:C语言程序设计1.下列关于C语言中main函数位置的叙述中,正确的是A. 必须在程序的最后B. 必须在程序的开始处C. 可以在程序中的任意位置D. 必须在系统调用的库函数后面答案:C题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,不能作为C语言标识符是A. _xB. intC. a_1D. ab1exe答案:B题型:单选题知识点:第2章 C语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i*f”的数据类型为A. intB. floatC. doubleD. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:14.判断char型变量c是否为小写字母的正确表达式为A. 'a'<=c<='z'B. (c>=a)&&(c<=z)C. ('a'>=c)('z'<=c)D. (c>='a')&&(c<='z')答案:D题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int x=11;”,则表达式“(x++*1/3) ”的值是A. 12B. 11C. 4D. 3答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是A. 1B. 2C. 3D. 4答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, x=35;”,则执行下列程序段后,变量x的值是if(!a) x--; else if(b);if(c) x=3; else x=4;A. 3B. 4C. 34D. 35答案:B题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=1;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;case 3: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=2,y=1B. x=2,y=2C. x=6,y=6D. x=7,y=7答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf ("%d",i);”时的循环次数是A. 3B. 2C. 1D. 0答案:C题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",n--);”后的输出结果是A. 20B. 31C. 210D. 321答案:B题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x+=1);\} while(--x);}A. 4B. 4 4C. 4 4 4D. 死循环答案:D题型:单选题知识点:第6章循环结构的程序设计难度:212.若有定义“char a[]="xyz",b[]={'x','y','z'};”,则下列叙述中正确的是A. 数组a的长度大于数组b的长度B. 数组a的长度小于数组b的长度C. 数组a和数组b的长度相同D. 数组a和数组b等价答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6\}\}, i,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<4;i++) s+=aa[i][0];}A. 20B. 19C. 13D. 11答案:C题型:单选题知识点:第7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值答案:B题型:单选题知识点:第8章函数难度:115.下列各函数首部中,正确的是A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. Sub play(a as integer,b as integer)D. void play(int a,int b)答案:D题型:单选题知识点:第8章函数难度:116.若有定义“int n=2,*p=&n,*q=p; ”,则下列选项中,非法的赋值语句是A. p=n;B. p=q;C. n=*q;D. *p=*q;答案:A题型:单选题知识点:第9章指针难度:217.若有定义“int *p[3]; ”,则下列叙述中正确的是A. 定义了一个类型为int的指针变量p,该变量具有三个指针B. 定义了一个名为*p的整型数组,该数组含有三个int类型元素C. 定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素D. 定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针答案:D题型:单选题知识点:第9章指针难度:218.下列对枚举类型名的定义中正确的是A. enum a={one,two,three};B. enum a {one=9,two=-1,three};C. enum a={"one", "two", "three"};D. enum a{"one", "two", "three"};答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , *p=stu;则下列表达式中,值为1002的是}A. p++->numB. (p++)->ageC. (*++p).numD. (*p).num答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数fopen中第一个参数的是A. "c:\\user\\text.txt"B. c:\user\text.txtC. "c:\user\text.txt"D. c:user\text.txt答案:A题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为偶数的关系表达式为__________。

C语言程序设计第5章

C语言程序设计第5章

表达式
语句1 语句
语句2 语句
请注意: 请注意: else部分是整个 语句的一个子句,它不能脱离 语句而独立存在。 部分是整个if语句的一个子句 它不能脱离if语句而独立存在 语句而独立存在。 部分是整个 语句的一个子句,
5.3 if语句 语句
例如, 例如, if(g>=90)putchar(‘A’); else if(g>=80)putchar(‘B’); else if(g>=70)putchar(‘C’); else if(g>=60)putchar(‘D’); else putchar(‘E’); 该语句的执行流程图(P97图5-6)是: 该语句的执行流程图 图 是 若表达式1的值为真 则执行语句1, 的值为真, 若表达式 的值为真,则执行语句 , 假 表达式1 表达式 语句1执行后,整个if语句执行完毕; 语句 执行后,整个 语句执行完毕; 执行后 语句执行完毕 否则,再根据表达式2的值来决定下 否则,再根据表达式 的值来决定下 真 假 表达式2 表达式 一步操作。 一步操作。 假 真 若表达式2的值为真 则执行语句2, 的值为真, 若表达式 的值为真,则执行语句 , 表达式3 表达式 语句2执行后 整个if语句执行完毕 执行后, 语句执行完毕; 语句 执行后,整个 语句执行完毕; 假 真 表达式m 表达式 否则,再根据表达式3的值来决定下 否则,再根据表达式 的值来决定下 一步操作。 一步操作。… 真 若表达式1~ 的值全为假 的值全为假, 若表达式 ~m的值全为假,则执行 语句1 语句 语句2 语句 语句3 语句m 语句 语句n 语句 语句 语句n,语句n执行后 整个if语句执 执行后, 语句 ,语句 执行后,整个 语句执 行完毕。 行完毕。例如(exc\ch5\if-3.c)。 3. if(表达式 语句 表达式1)语句 表达式 语句1 else if(表达式 语句 表达式2)语句 表达式 语句2 … … else if(表达式 语句 表达式m)语句 表达式 语句m else 语句 语句n

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计5.1选择题【题 5.4 】能正确表示“当x 的取值在[ 1, 10]和[ 200, 210]范围内为真,否则为假”的表达式是。

CA) (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.5 】表示图中坐标轴上阴影部分的正确表达式是。

C////////////////Xa b cA) (x<=a)&&(x>=b)&&(x<=c)B) (x<=a)||(b<=x<=c)C) (x<=a)||(x>=b)&&(x<=c)D) (x<=a)&&(b<=x<=c)【题 5.6 】判断 char 型变量 ch 是否为大写字母的正确表达式是。

CA)‘ A’ <=ch<=‘ Z’B) (ch>= ‘ A’ )&(ch<= ‘Z’ )C) (ch>= ‘ A’ )&&(ch<= ‘ Z’ )D) ( ‘A’ <=ch)AND(‘ Z’>=ch)【题 5.10 】设有: int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d) 后 n 的值为。

BA)1B)2C)3D)4【题 5.11 】判断 char 型变量 c1 是否为小写字母的正确表达式是。

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。

北京航空航天大学C语言c第三讲(第五章) 选择结构程序设计

北京航空航天大学C语言c第三讲(第五章) 选择结构程序设计

if (money>=500) cost=0.8; else if (money>=300) cost=0.85; else if (money>=100) cost=0.9 else if (money>=50) cost=0.95; else cost=1.0; price=money*cost;
高 低
3,优先级 <,<=,>,>= 为同一级别,== 和!= 为同一级别. 在同一级别中,采取由左至右的结合方向.
算术运算符 -> 关系运算符 -> 赋值运算符
4,关系表达式
用关系运算符将两个表达式连接起来叫关 系表达式。 例:关系运算的优先级举例
c>a+b a>b!=c a==b<c a=b>c
if (表达式) 语句1 else 语句2
说明: (1)表达式是指关系表达式或逻辑表达式,条
件满足指的是表达式的值为真,即表达式的 值是一个非0值。 例如: if (3) printf(“O.K”); 输出O.K(永真) if („a‟) printf(“%d”,„a‟); 输出97 (永真) if (0) printf(“false”); 不执行printf语句(永假)
能被4整除,但不能被100整除; 能被400整除。
用year表示年份,判断闰年的逻辑表达式为: (year%4==0 && year%100 != 0)||(year % 400 ==0)
如果给year输入一个的值,使上面的表达式的值为1
时,则year所代表的年份就是闰年。
• 课堂练习: 写出逻辑表达式。 10 1. 判断一个点是否 10 -10 落入圆形中 2. 求落入阴影部 -10 分的任意一点 x*x+y*y<=100 (小园的半径为1.)

第5章 循环结构程序设计-答案

第5章 循环结构程序设计-答案
程序运行后的输出结果是(C)。
A)1,1B)2,2C)3,3D)4,4
15.以下程序中,printf语句的执行次数是( B )。
main()
{
int i,j;
for (i=1; i<=5;i++)
for (j=1;j<=10;j++)
printf("%d \n",i+j);
}
A、15B、50C、死循环D、0
{
for(j=2,j<=i-1;j++)
if(i%j==0) break;//利用求余运算符%,只要满足i%j==0)就退出循环
if(j==i)/i是否素数的判定条件
printf("%d\n",i);
}
}
4.编程序输出9*9乘法口诀表。
程序如下:
#include <stdio.h>
void main()
二、程序设计
1用while语句求1+2+3+…+99+100的和。
程序如下:
#include <stdio.h>
voidmain()
{
int i=1,s=0;//循环首部,循环初始条件
while(i<=100)//循环首部,包含循环条件
{
s=s+i;/*循环体,复合语句*/
i++;//改变循环控制变量
程序如下:
#include <stdio.h>
void main()
{
int iNum=0,iLet=0;
char ch;
printf("input a string:\n");

第5章选择结构程序设计答辩PPT课件

第5章选择结构程序设计答辩PPT课件

5.1.2 逻辑运算符与逻辑表达式
a
b
a AND b a OR b NOT a
.T.
.T.
.T.
.T.
.F.
.T.
.F.
.F.
.T.
.F.
.F.
.T.
.F.
.T.
.T.
.F.
.F.
.F.
.F.
.T.
逻辑运算符的运算规则,见表5-3。
5.2 条件选择语句
• 对给定的条件进行分析、比较和判断,根据结果采取不 同的操作。让计算机具有智能性。
假 如果x < 3000
{2000 ≤ x < 3000}
真 y ← 0.9 * x
假 如果x < 5000
{3000 ≤ x < 5000}
真 y ← 0.85 * x
假 y ← 0.8 * x
{x > 5000}
输出y
{输出优惠价}
5.2.2 多分支条件选择语句DO CASE
多分支条件选择语句DO CASE语法结构 DO CASE语句的语法格式为:
VFP提供的关系运算符有8种,见表5-1。
运算符 < <= > >= = <>、#、!= $ ==
名称 小于 小于或等于 大于 大于或等于 等于 不等于 包含于 等同于
例子 3<4 4 <= 3 0>1 "aa" >= "ab"
说明 值为:.T. 值为:.F. 值为:.F. 值为:.F.
"Fox" $ "FoxPro" 值为:.T.
做合法检查,RETURN .F. (RETURN 0)不能失去光标。 多用于密码的验证。

第5章习题(修改ok)-答案

第5章习题(修改ok)-答案

第5章习题(修改ok)-答案1.简述详细设计的任务。

包括模块的算法设计、模块内的数据结构设计、模块接⼝设计、其它根据软件特点需要完成的设计、模块测试⽤例设计、设计⽂档编写、设计评审。

2.简述详细设计的原则。

①模块的逻辑描述应清晰易读、正确可靠;②设计的处理过程应该简明易懂;③选择恰当的描述⼯具来描述模块算法。

3.简述结构化程序设计基本要求和特点。

要点:a.采⽤⾃顶向下、逐步求精的程序设计⽅法b.使⽤三种基本程序控制结构构造程序1).⽤顺序⽅式对过程分解,确定各部分的执⾏顺序。

2).⽤选择⽅式对过程分解,确定某个部分的执⾏条件。

3).⽤循环⽅式对过程分解,确定某个部分重复的开始和结束的条件。

c.主程序员组的组织形式。

特点:①⾃顶向下、逐步求精;②具有单⼊、单出的控制结构(取消GOTO语句)4.简述⽤户界⾯设计的基本原则(1)可靠性⽤户界⾯应当提供可靠的、能有效减少⽤户出错的、容错性好的环境。

⼀旦⽤户出错,应当能检测出错误、提供出错信息,给⽤户改正错误的机会。

(2)简单性简单性能提⾼⼯作效率。

⽤户界⾯的简单性包括输⼊、输出的简单性;系统界⾯风格的⼀致性;命令关键词的含义、命令的格式、提⽰信息、输⼊输出格式等的⼀致性。

(3)易学习性和易使⽤性⽤户界⾯应提供多种学习和使⽤⽅式,应能灵活地适⽤于所有的⽤户。

(4)⽴即反馈性⽤户界⾯对⽤户的所有输⼊都应⽴即做出反馈。

当⽤户有误操作时,程序应尽可能明确地告诉⽤户做错了什么,并向⽤户提出改正错误建议。

三、下图是使⽤Basic语⾔编写的⼀个打印A,B,C三数中最⼩者的程序的流程图。

其中出现了6个GOTO语句,⼀个向前,5个向后,程序可读性很差。

if ( A < B ) goto 120;if ( B < C ) goto 110;100 print C;goto 140;110 print B;goto 140;120 if ( A < C ) goto 130;goto 100;130 print A;140试利⽤基本控制结构,将程序中的GOTO语句消去。

二级VB 第5章选择

二级VB 第5章选择
第5章选择结构程序设计
5.1 5.2 5.3 5.4 5.5 5.6 三种基本结构 块if语句 块if语句的 Else if语句 行if语句 Select Case语句
本章重点:
※ if语句
※ if语句的嵌套 ※ Select Case语句
本章难点:
if语句的不同用法 if语句嵌套的的规则
Select Case语句的应用
单分支结构
例:已知两个数x和y,比较它们的大小,使得x大于y。
用语句来实现: If x<y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t x ③
简单If形式无End If时,只能是一句语句或语句间用冒号分 隔,而且必须在一行上书写。
本章目录
5.2.1 块If语句格式
1. If…Then语句(单分支结构) If <条件表达式> Then 语句块 End If 或 If <表达式> Then <语句>
条件表达式
T F
语句块
表达式:关系表达式、逻辑表达式,算术表达式。
表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then 后面的语句块,否则不做任何操作。
学习方法建议: 学习本章内容应重点掌握if语句的执行过程,在此基础上, 掌握if语句的嵌套的应用,掌握Select Case语句,并学会编写 选择结构程序。
5.1 三种基本结构
VB 具有结构化程序设计的三种程序控制结构,即 顺序结构、选择结构、循环结构,是程序设计的基础。 (1)顺序结构 a 各语句按出现的先后次序执行 A 例5.1已知圆的半径,求圆的面积。

c语言程序设计(第3版)的习题答案

c语言程序设计(第3版)的习题答案

c语言程序设计(第3版)的习题答案c语言程序设计(第3版)的习题答案本文为《c语言程序设计(第3版)》中的习题答案汇总,旨在帮助读者更好地理解和掌握该教材。

以下是各章节习题的详细解答:第1章:计算机概述习题1:答案:计算机是一种能够接受输入数据、对其进行逻辑和算术运算,并产生输出结果的电子设备。

习题2:答案:计算机主要由中央处理器(CPU)、主存储器、输入设备和输出设备四个主要部分组成。

......第2章:c语言概述习题1:答案:C语言是一种通用的高级编程语言,由贝尔实验室的Dennis Ritchie于1972年开发。

习题2:答案:C语言的特点包括高效性、可移植性、灵活性和丰富的操作符与控制语句。

......第3章:数据类型、运算符和表达式习题1:答案:C语言中的基本数据类型包括int、float、double、char等。

习题2:答案:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。

......第4章:程序控制结构习题1:答案:C语言中的程序控制结构主要包括顺序结构、选择结构和循环结构。

习题2:答案:顺序结构是指程序按照语句的顺序依次执行,没有分支和循环。

......第5章:函数习题1:答案:C语言中的函数由函数头和函数体组成。

习题2:答案:函数的定义包括函数名、返回类型、参数列表和函数体。

......第6章:数组和字符串习题1:答案:数组是一组相同类型的数据元素的集合。

习题2:答案:C语言中的字符串是以空字符'\0'结尾的字符数组。

......第7章:指针习题1:答案:指针是用来存储另一个变量的地址的变量。

习题2:答案:指针变量可以通过取地址运算符(&)获取普通变量的地址。

......第8章:结构和共用体习题1:答案:结构是由不同数据类型的成员组成的复合类型。

习题2:答案:共用体(union)是一种特殊的数据类型,它可以存储不同类型的数据,但在同一时间只能存储其中的一种。

第五章 选择结构的程序设计

第五章 选择结构的程序设计

5.3 if语句
5.3.1 if语句的三种形式
条件执行 分支选择
例5.2:读程序
if (P) A if (p) A else B
#include <stdio.h> void mian() { float x,y; printf(“Enter x:”); scanf(“%f”,&x); if (x==0.) y=1; else y=(x*5+1)/x; printf(“\nx=%4.1\ty=%4.1f\n”,x,y); } ********************************** y=1; if (x!=0) y=(x*5+1)/x;

5.2 逻辑表达式
逻辑量
当一个量(可以是基本类型的常量或变量)用作判断时,C编译系统认为: 非0——真、0——假
逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子 单个逻辑量、关系表达式是逻辑表达式的特例
逻辑表达式的值
真(1) 假(0)
如:若a=4,则 !a a&&-5 4||0
0 1 1
如:x!=0 ‘a’==‘A’ a*a+b*b<Y*Y 注意:数值量比较:数字的大小 字符量比较:ASCII码大小
5.1 关系表达式
关系运算 关系运算符 优先级别 关系表达式的值:真(1) 如: c>a+b
假(0)
a==b<c a=b<c
c>(a+b) a==(b<c) a=(b<c)
问:a=1,b=-5,c=‘a’时上述表达式的值 结合性:左结合
5.2 逻辑表达式
例5.1:判断某年year是否闰年? (闰年:能被4整除,但不能被100整除;或能被400整除)

第05章 选择结构程序设计

第05章 选择结构程序设计

本章讨论
5.2 关系运算符、逻辑运算符、条件运算符
1. 关系运算符和关系表达式 关系运算符
关系运算符 > >= (>和=之间没有空格) < 含 义 大于 大于或等于 这些关系运算符等优 先级,但比下面的优 小于 先级高 左结合性 小于或等于 优先级 结合性
<= (<和=之间没有空格) 注意: (两个=之间没有空格) 等于 这些关系运算符等优 ==C语言用0表示假,非0表示真。 先级,但比上面的优 != (!和=之间没有空格) 不等于 一个关系表达式的值不是0就是1,0表示假,1表示真。 先级低
表达式语句 用 {…}括起来的一组语句。 一般形式为: { [数据说明部分;] #include <stdio.h> 执行语句部分; void main ( ) } { 说明: { (1) 10, y = 20, z; int x = “}”后不加分号 输出结果: int a = 2, b = 3, c; (2) 语法上和单一语句相同 z = 200 c = a + b; (3) z = x + y; 复合语句可嵌套 30 z = printf ("c = %d\n", c); (4) 复合语句内定义的变量只能在复合语句内使 { } 用。 int z; z = x * y; printf ("z = %d\n", z); //输出复合语句中z的值 } printf ("z = %d\n", z); //输出复合语句外z的值 }
例 x?„a‟:„b‟ //x=0,表达式值为‘b‟; x≠0,表达式值为‘a‟ x>y?1:1.5 //x>y ,值为1.0; x<y ,值为1.5

第五章选择结构程序设计

第五章选择结构程序设计

1. 第五章选择结构程序设计一、1. 1.若有int y;则表示命题“y是奇数”成立的C语言表达式是(13) 。

2. 2.在C语言中,表示逻辑“真”值用(14) 表示。

3. 3.条件“2<x<3或x<-10”的C表达式是(15) 。

4. 4.以下程序运行的结果是(16) 。

5.main ( ){ int a, b, c, d, x;a=c=0;b=1;d=20;if (a) d=d-10;else if (!b)if (!c) x=15;else x=25;printf (“%d\n”, d );}6. 5.若有说明语句:“int x=1, y=0;”,则表达式x――>(y+x)?5:25>y++?‘1’:‘2’的值是(17) 。

7. 6.以下程序段的运行结果是(18) 。

int x=1, y=0;switch (x){ case 1: switch (y){ case 0: printf(“**1**”); break;case 1: printf(“**2**”); break;}case 2: printf (“**3**”);}8. 1.以下程序运行的结果是(19) 。

#include <stdio.h>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;}printf (“a=%d, b=%d\n”,a, b);}二、选择题一、 1.若有int y;则表示命题“y是奇数”成立的C语言表达式是(13) 。

9. 2.在C语言中,表示逻辑“真”值用(14) 表示。

10.3.条件“2<x<3或x<-10”的C表达式是(15) 。

11.4.以下程序运行的结果是(16) 。

《C语言程序设计(第2版)》课后习题参考答案prt

《C语言程序设计(第2版)》课后习题参考答案prt

《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。

答:1.C语言是高级语言。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

2。

C语言是结构式语言。

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

①C语言功能齐全。

具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

②C语言适用范围大。

适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。

②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。

c语言第五章选择结构程序设计(习题册答案)

c语言第五章选择结构程序设计(习题册答案)

c语言第五章选择结构程序设计(习题册答案)第五章选择结构程序设计基础练习(A)一、填空题1、关系表达式的运算结果是逻辑值。

C语言没有逻辑型数据,以1代表“真”,以0代表“假”。

2、逻辑运算符!是单目运算符,其结合性是由右结合性。

3、C语言提供的三种逻辑运算符是&&、|| 、!。

其中优先级最高的为!,优先级最低的为| | 。

4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。

系统最终以0 和非0 来判定它们属于“真”或“假”。

5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。

6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x<z||y<="">7、条件“2<x<3或x<-10”的c语言表达式是x<-10||x>2&&x<3。

</x<3或x<-10”的c语言表达式是x<-10||x>8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。

9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。

11、已知A=,B=2,C=,表达式A>B&&C>A||A<b&&!c>B的值是0。

</b&&!c>12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。

13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。

14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。

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

第5章 选择结构程序设计5-1 比较单分支、双分支、多分支if 语句。

答:(1)多分支if 语句可用多条单分支、双分支if 语句等价实现。

(2)双分支if 语句形式上相当于单分支if 语句扩展else 分支而来。

(3)单分支if 语句可以认为是双分支if 语句缺省else 子句的特殊情况,一条双分支语句可用两条单分支语句实现。

思考:分支结构主要用在哪些情况下?它有哪几种形式?5-2, 下列描述哪些是正确的?(1) if (x<0)y=−1;else if(x==0) y=0;else y=1;(2)if(x>=0)if(x>0) y = 1 ;else y = 0 ;else y = -1 ;(3) y = -1 ;if(x!=0)if(x>0) y = 1 ;else y = 0 ;(4)y = 0 ;if (x>=0)if(x>0) y = 1 ;答:(1) 正确 ; (2) 正确 ;(3) 不正确 ;(4) 不正确 ; 思考 : 若将(3)改为: y = -1 ; (4) 改为:y = 0 ;if(x>=0) /*删除原if(x>=0)*/ if(x>0) y =1 ; if(x>0) y = 1 ;else y = 0 ; else y = -1 ;后是否正确 ?5-3 仔细阅读以下程序 , 指出程序的运行结果 .⎪⎪⎩⎪⎪⎨⎧>=<-=010001x x x y#include<stdio.h>main(){ int a , b ;a =b = 5 ;if(a==1)if(b==5){a+=b ;printf("a=%d\n ",a) ;}else{a-=b ;printf("a=%d\n",a) ;}printf("a+b=%d",a+b) ;}解: 结果为: a + b = 10思考:为何有三个printf 语句,却只有一行输出?如果将第5行去掉或改为if(a==5) , 结果是否一样?5-3仔细阅读以下程序,指出程序的运行结果。

解:#include<stdio.h>main(){ int i =1 , j = 0 ,m = 1 ,n =2 ;switch(i++){case 1 : m++ ;n++ ;case 2 : switch(++j){case 1 : m++ ;case 2 : n++ ;}case 3 : m++ ;n++ ;break ;case 4 :m++ ;n++ ;}printf("m=%d,n=%d" , m ,n) ;}解:结果为:m =4 ,n = 5思考:将switch(i++)改为switch(i)结果有何变化?去掉“break:”语句后,结果有何变化?5-5 仔细阅读以下程序,指出程序的运行结果。

#include<stdio.h>main(){ char ch ;printf("Enter ch: ") ;scanf("%c",&ch) ;switch(ch){case 'm' : printf("Good morning !\n") ; break ;case 'n' : printf("Good night!\n ") ; break ;default : printf("I can not understand!\n") ; break ;}printf("All right!\n") ;}解:当输入m时结果为:Enter ch : mGood morning !All right !当输入n时结果为:Enter ch : nGood night !All right !当输入其它字符时结果为:Enter ch : kI can not understand !All right !思考:当输入大写的M与N时,将会有什么结果?如果希望输入大写的M,N与输入小写的m、n时结果相同,程序如何修改?5-6编写程序,求三个数的最小值。

进一步考虑求四个数、五个数及更多的数的最小值及最大值.解:#include<stdio.h>main(){int a1 ,a2 ,a3 ,min ;scanf("%d,%d,%d",&a1,&a2,&a3) ;min = a1 ;if(a2<min) min = a2 ;if(a3<min) min = a3 ;printf("最小值为:%d\n",min) ;}思考:要求出最大值,是否将min改为max就可以了?关键应改什么地方?5-7 编写程序,解方程ax+b=0 .解:#include<stdio.h>main(){ float a,b,x ;scanf("%f,%f",&a,&b) ;if(a==0)if(b==0) printf("x可为任意值!\n") ;else printf("无解!\n") ;else{x=-b/a ;printf("方程的根为:%f\n",x) ;}}思考:此题与习题2-14的程序有何不同之处?具有了什么功能?5-8 编写程序,解方程ax2+bx+c=0。

要求分别用if语句和switch 语句实现。

解:(1)用if语句实现。

#include<stdio.h>#include<math.h>main(){float a,b,c,d,x,x1,x2 ;printf("请输入方程的三个系数a,b,c :" ) ;scanf("%f,%f,%f",&a,&b ,&c) ;if(a==0){if(b==0){if(c==0) printf("x可为任意值!\n") ;else printf("无解!\n") ;}else{x=-c/b ;printf("方程的根=%f\n",x) ;}}else{d=b*b-4*a*c ;if(d>=0){x1 = (-b+sqrt(d)/(2*a)) ;x2 = (-b-sqrt(d)/(2*a)) ;printf("第一个根=%f ,第二个根=%f\n",x1,x2);}else printf("方程无实根!\n") ;}}(2) 用switch语句实现。

#include<stdio.h>#include<math.h>main(){float a,b,c,d,x,x1,x2 ;printf("请输入方程的三个系数a,b,c :" ) ;scanf("%f,%f,%f",&a,&b,&c) ;switch((int) a) //先判断a是否为0{case 0: //如果a为0switch((int) b){case 0: //如果b也为0switch((int) c){case 0: //如果c也为0printf("x可为任意值!\n") ;goto end ;default:printf("无解!\n") ; goto end ;}default:x=-c/b ;printf("方程的根为%f\n",x) ; goto end ;}default : // 如果a不为0{ d = b*b-4*a*c ;if(d>=0){ x1 = (-b+sqrt(d)/(2*a)) ;x2 = (-b-sqrt(d)/(2*a)) ;printf( "第一个根=%f ,第二个根=%f\n",x1,x2);}else printf("方程无实根!\n") ;}}end: printf(“end”);}思考:if语句与switch语句的嵌套结构与形式有何特点?与单结构if语句的区别是什么?5-9 编写程序,判断一个整数是否既是2的倍数、又是3的倍数。

解: #include<stdio.h>main(){int n ,flag = 0 ;printf("请输入整数:") ;scanf("%d",&n) ;if((n%2==0)&&(n%3==0)) flag = 1 ;if(flag==0) printf("%d不能同时被2和被3整除\n",n) ;else printf("%d能同时被2和被3整除\n",n) ;}思考: flag的作用是什么?如果去掉flag,程序应该如何改动?5-10 编写程序,判断2000年、2008年、2100年是否为闰年。

解:#include<stdio.h>main(){int y1 = 2000 ,y2 = 2008 , y3 = 2100 ;if((y1%400==0)||(y1%4==0&&y1%100!=0))printf("%d年是闰年\n",y1) ;else printf("%d年不是闰年\n",y1) ;if((y2%400==0)||(y2%4==0&&y2%100!=0))printf("%d年是闰年\n",y2) ;else printf("%d年不是闰年\n",y2) ;if((y3%400==0)||(y3%4==0&&y3%100!=0))printf("%d年是闰年\n",y3) ;else printf("%d年不是闰年\n",y3);}思考:此题中的几个if结构是什么关系?注意找出其中的不同之处,你会发现什么?5-11.编写程序,将五级记分成绩转换成百分制成绩,转换规则如下:'A'—95,'B'—85,'C'—75,'D'—65,'E'—55 。

相关文档
最新文档