C++程序设计基础(软件)课程习题二--分支与循环
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。
解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。
```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。
解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。
解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。
《程序设计基础》题库(50道)

《程序设计基础》题库(50道)<说明>1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。
2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道);按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时一、顺序结构1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。
(易)2、 将华氏温度转化成摄氏温度。
公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为摄氏温度。
请根据给定的华氏温度输出对应的摄氏温度。
(易)3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表蟋蟀每分钟鸣叫数,T 代表华氏温度。
请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。
(易)4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932,各位数字之和为14. (较易)5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。
(较易)6、 求空间两点之间的距离。
(提示:空间一点(x,y,z ),可由三个实数来描述)(较易)7、 已知圆的半径,求圆的面积。
(易)8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。
(较难)海伦公式:9、 求两数平方和的算术根。
(易) 10、 给定一段时间求出它的秒数。
(如计算2小时 17分30秒等于多少秒)(易)11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易)12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。
c语言《程序设计基础》课后习题参考答案与解析

《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个main函数。
c) 在C语言中,输出操作是有库函数printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S△= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A16、B 17 D解析:1. 答案:C。
C程序设计基础软件课程习题二 分支与循环

一、A类程序设计题1、将用户输入的字母自动转换为大写字母后输出,假定用户输入的字符均是字母。
2、判断用户所输入的整数是否为偶数3、编程实现并输出两个数的大小判断,将大数输出4、编程实现并输出两个数的和值5、编程计算并输出字符、无符号整数与长整型数值在内存中所占字节数6、定义三个变量,由用户指定其值,并将值输出显示给用户7、定义三个变量,并完成初始化后输出显示给用户8、编程计算表达式a×b÷c一1.5+‘a'9、将一个用户输入的整数分别以十六进制、八进制、十进制方式、科学计数法输出10、求矩形面积,长、宽值由用户指定11、运输公司对用户计算运费。
路程(s)越远,每公里运费越低。
标准如下:s<250km 没有折扣250≤s<500 2%折扣500≤s<1000 5%折扣1000≤s<2000 8%折扣2000≤s<3000 10%折扣3000≤s 15%折扣设每公里每吨货物的基本运费为p(price的缩写),货物重为w(wright的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:f = p * w * s * (1 - d)要求采用if语句嵌套完成。
12、采用do while循环结构完成1至100之间的奇数相加。
13、用循环语句编程打印下列矩阵形式,尽量使语句简捷,注意第一列与第二列间距为一个Tab的位置,其余宽度为两个空格:10 1 2 3 4 5 621 2 3 4 5 6 032 3 4 5 6 0 143 4 5 6 0 1 254 5 6 0 1 2 365 6 0 1 2 3 414、编程求圆面积,并输出结果。
其中圆半径以用户运行时指定15、编程实现由底和高求三角形的面积。
16、计算y,其中y=(x+1)/(x-1)17、用for循环语句编程打印下列矩阵形式,尽量使语句简捷,注意各列相距两个空格:(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(2,1)(2,2)(2,3)(2,4)(2,5)(2,6)(2,7)(3,1)(3,2)(3,3)(3,4)(3,5)(3,6)(3,7)(4,1)(4,2)(4,3)(4,4)(4,5)(4,6)(4,7)(5,1)(5,2)(5,3)(5,4)(5,5)(5,6)(5,7)】页5 共页1 第【.(6,1)(6,2)(6,3)(6,4)(6,5)(6,6)(6,7)二、B类程序设计题1、实现用户输入的三个整数的排序2、实现在响玲后,将字符串“Hello world”输出3、实现任一字符和字符串长度的输出,其中字符和字符串内容由编程者自定4、将括号内的字符串输出,(He said :I have done it.)5、定义一个符号常量,并在主函数中加以应用6、将用户输入的五个字母(大小写均可)译成密码,密码规律是:用原字母后面第四个字母代替原来的字母,例如,字母A后面第四个字母是E,用E代替A。
C语言程序设计学习指导与实践教程习题和实验解答(第2章)2

C语言程序设计学习指导与实践教程——第2章习题和实验解答2.1 C语言概述1.【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。
或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
对于程序设计人员,必须会设计算法,并根据算法写出程序。
可以用自然语言、流程图、伪代码和计算机语言表示算法。
3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。
ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。
4.用传统流程图表达如下:5. 计算机硬件系统的组成:计算机硬件系统主要由运算器、控制器、存储器、输入设备和输出设备构成,运算器和控制器合称为中央处理器(CPU),输入设备和输出设备统称为外部设备。
6.计算机网络常用的传输介质:分为有线介质和无线介质;有线介质包括光纤、同轴电缆和双绞线;无线介质包括红外信号、微波等。
2.2 数据类型与表达式1.【习题解答】一、选择题1.D2.B3.A4.B5.A6.B7.D8.D9.C二、填空题1.整型、实型、字符型、枚举类型2.3.5000003.逗号运算符4.三,自右向左5.1,06.32767三、编程题1.已知球的半径为1.5cm,计算球的体积。
第六章循环和分支程序

2)JGE/JNL(jump if greater or equal, or not less) JGE指令(大于等于转移) JNL指令(不小于转移) 两个带符号数相比较时,若A≥B,转移到目标地址
25
2、判断带符号数的大小的条件转移指令
3)JL/JNGE(jump if less, or not greater or equal ) JL指令(小于转移) JNGE指令(不大于等于转移)
即 将双字存储变量第二个字作为段地址, 第一个字为偏移地址处继续执行。
20
5、 段间直接转移 格式: JMP 标号 例如:
;标号为FAR属性
CODE1 SEGMENT ∶
JMP CODE2_NEXT
∶
CODE1 ENDS
CODE2 SEGMENT
∶
CODE2_NEXT LABEL FAR
∶
CODE2 ENDS
5 8/8/2019
2、LOOPE/LOOPZ(如果相等/如果为0则循环) 格式:LOOPE/LOOPZ 短距离标号 功能:该指令将 CX减 1,若 CX不为 0且ZF置1 (即CX≠0且运算结果为0),则将控制转移到 目标操作数,否则: 顺序执行LOOPE/LOOPZ指令之后的指令。
6 8/8/2019
如果一个标号能被其他段中的JMP指令(或CALL) 来访问,那么需要将这个标号的距离定义为FAR。
15 8/8/2019
1、定义距离属性为NEAR的标号
1)隐式说明:即在标号后面加上冒号,放在指令的前面。 例如:L1: MOV AX,[SI] NEXT: MOC AX,BX
L1和NEXT都是标号名,它们的距离属性均为NEAR。
C语言程序设计(铁道出版社第二版)课后习题参考答案

C语言程序设计课后习题参考答案第1章一、选择题1.C2.B3.A4.B5.D二、填空题1.main2. main3.有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性4. 顺序、分支和循环5. 自顶向下,逐步细化、模块化设计、限制使用goto语句第2章一、选择题1.C2.C3.B4.C5.A二、叙述题1. 向菜单或工具栏添加命令(1)单击“工具”菜单中的“自定义”,或者右单击菜单栏(或工具栏),在弹出的快捷菜单中选择“自定义”命令选项。
(2)在“命令”选项卡的“请选择要重排的菜单或工具栏”下,选择要更改的菜单或工具栏,如选择工具栏,在其对应的下拉列表框中选择“调试”,然后单击“添加命令”。
(3)在“添加命令”话框中,从“类别”列表中选择类别名称,然后从“命令”列表中选择要添加的命令。
(4)单击“确定”,再单击“关闭”。
2.项目和解决方案是Visual Studio 2010提供的两类容器。
项目是构成某个程序的所有项的容器,该程序可能是控制台应用程序、基于窗口的应用程序或某种别的程序,构成项目的项可以是源代码文件、窗体、类、资源文件等。
一个解决方案可包含一个或多个项目,以及一些其他项。
例如,一个分布式系统可能由若干个不同的程序组成,而各个程序是作为同一个解决方案内的项目开发的。
源文件只有放在相关的项目中才可以生成可执行程序。
3.在解决方案资源管理中,首先移除该项目中的例1.1程序代码,然后右单击源文件,如果没有建立例1.2的代码文件,则选择添加→新建项,并选择C++文件,输入文件名和后缀.c,之后输入相关代码,就可生成项目、运行程序了;如果例1.2代码已存于某个源文件中,则选择添加→现有项,添加该源文件,生成、运行即可。
4.在VC++ 2010的编译系统中,编译会从多个角度检测每个错误,如果从多个角度解释都有问题,则系统会提示有多个错误。
也就说,哪怕一个程序中只有一个错误,但生成项目时可能会出现了一系列编译错误和警告信息。
C程序设计分支结构程序、循环结构程序

3 分支结构程序3.1 顺序结构程序按照语句的书写顺序依次执行的程序段称为顺序结构程序。
数据的输入、输出、简单计算等都可由顺序结构程序完成。
图3.1是顺序结构程序运行流程图。
顺序结构程序设计常用的语句有:输入、输出语句、赋值语句、函数调用等。
【例3.1】顺序结构程序:计算半径为r 的圆面积、球体积。
#include <stdio.h>#define PI 3.1415926void main(){ float r,s,v;scanf("%f",&r);s=PI*r*r;v=4.0/3.0*r*r*r; //计算球的体积printf("圆面积:%f",s);printf("球体积:%f",v);}3.2 分支结构程序设计分支结构程序体现了程序的判断能力。
分支结构有:单分支结构、双分支结构、多分支结构。
C 提供了实现分支结构功能的语句if 和switch 。
3.2.1 if 语句1.单分支if 语句格式:if (条件表达式) 语句;功能:计算并判断条件表达式的值,若为真(非0)执行if 后面的语句,然后运行if 语句下面的程序;若为假不执行该语句,直接运行if 语句下面的程序。
执行流程如图3.2所示。
例如:x=0;y=0;输出字符串:x 等于y if (x= =y) printf("x 等于y");因为x 与y 相等,条件表达式x= =y 成立,即为真值(值为1),所以printf("x 等于y");执行。
若误写成:if (x=y ) printf("x 等于y");输出语句就不会执行,因为x=y 是赋值表达式,将0赋给x ,条件表达式(x=y)的值为0,0是假值,条件不成立,不执行输出语句。
图3-2 分支结构【例3.2】输入一个整数,若大于60则输出“大于60,及格”字样,否则不做处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
43 4 5 6 0 1 2
54 5 6 0 1 2 3
65 6 0 1 2 3 4
14、编程求圆面积,并输出结果。其中圆半径以用户运行时指定
15、编程实现由底和高求三角形的面积。
16、计算y,其中y=(x+1)/(x-1)
17、用for循环语句编程打印下列矩阵形式,尽量使语句简捷,注意各列相距两个空格:
4
8
12
16
5
5
10
15
20
25
6
6
12
18
24
30
36
7
7
14
21
28
35
42
49
8
8
16
24
32
40
48
56
64
9
9
18
27
36
45
54
63
72
81
18、 采用循环结构输出以下图形
19、输入年份,判断是否为闰年。输入月号,输出每月的天数
20、输入三角形三边,编写程序判断三角形的种类:等腰三角形、等边三角形或一般三角形。
21、输入一个字符,编写程序判断该输入字符的种类:数字、字母或其它。
22、两个数的十、一、*和/的简易计算器程序。
23、编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。
24、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。
9、编程求解母牛问题。若一头母牛,从出生起第四个年头开始每年生一头母牛,按些规律,第n年时有多少头母牛?n为用户在运行时指定的数值。
10、百钱买百鸡问题:雄鸡7元/只,母鸡5元/只,小鸡1元/3只. 花100元钱,买100只鸡,如果雄鸡、母鸡和小鸡都必须有,则雄鸡、母鸡和小鸡应各买几只?
11、一球从100m落下,每次落地后反跳回原高度的一半,再落下。编程求它在第10次落地时,共经过多少m?第10次反弹多高?
三、C类程序设计题
1、判断三角形是否成立,并求其面积和周长
2、实现在响玲后,将字符串“Hello world”输出
3、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
4、输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方之和等于该数本身。例如153是一个水仙花数,因为153=13+53+33
(5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)
(6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)
二、B类程序设计题
1、实现用户输入的三个整数的排序
2、实现在响玲后,将字符串“Hello world”输出
3、实现任一字符和字符串长度的输出,其中字符和字符串内容由编程者自定
5、猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半后又再吃了一个。第2天早上又将剩下的桃子吃掉一半后又再吃了一个。以后每天早上都吃了前一天剩下的一半另加一个。到第10天早上想再吃时,就只剩一个桃子了,求第1天共摘了多少个桃子。
6、输出以下图案,要求使用循环体结构
&
&*。
&**。。
&***。。。
ABCDCBA
ABCBA
ABA
A
33、某商店出售四种商品:A商品每公斤2.75元;B商品每个12.5元;C商品每米26.8元;D商品每台512元,超过3台优惠10%,超过8台优惠15%。为其设计一个计算价格的程序(输入购买四种商品的数量,计算出应付款金额并显示付款金额明细单)
34、求下述三个序列的累加和(每一序列各累加n项,正整数n通过cin从键盘输入)。
(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)
(2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)
(3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)
(4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)
29、求300之内的勾股数
30、求300之内的质数
31、已知如下与计算圆周率π有关的公式:
π/4=1-1/3+1/5-1/7+1/9-…
编一个程序计算π的近似值。精度要求:
(a)计算200项得到的近似π;
(b)要求误差小于0.000001的π的近似值。
32、编循环程序,负责显示出如下图形。
ABCDEDCBA
12、 对运行中输入的x,计算级数:
一、A类程序设计题
1、将用户输入的字母自动转换为大写字母后输出,假定用户输入的字符均是字母。
2、判断用户所输入的整数是否为偶数
3、编程实现并输出两个数的大小判断,将大数输出
4、编程实现并输出两个数的和值
5、编程计算并输出字符、无符号整数与长整型数值在内存中所占字节数
6、定义三个变量,由用户指定其值,并将值输出显示给用户
7、求一元二次方程式ax2+bx+c=0的根,其中a、b、c的值由用户指定
8、根据用户输入的成绩,判定其优良等级,其中优是85分以上,良是75至84之间,中是65至74之间,及格是60至64,其余为不及格
9、编写程序,判断某一年是否为润年
10、编写程序,判断某整数是否为素数
11、给出一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印各位数字,例如原数为321,则输出123
f = p * w * s * (1 - d)
要求采用if语句嵌套完成。
12、采用do while循环结构完成1至100之间的奇数相加。
13、用循环语句编程打印下列矩阵形式,尽量使语句简捷,注意第一列与第二列间距为一个Tab的位置,其余宽度为两个空格:
10 1 2 3 4 5 6
21 2 3 4 5 6 0
s1 = 1/5 + 1/4 + 3/11 + 2/7 + 5/17 + 3/10 + 7/23 +…
s2 = 2/1 + 3/2 + 5/3 + 8/5 + 13/8 + 21/13 + 34/21 +…
s3 = 1/1 - 3/(1+4) + 5/(1+4+7) - 7/(1+4+7+10) + 9/(1+4+7+10+13) -…
7、定义三个变量,并完成初始化后输出显示给用户
8、编程计算表达式a×b÷c一1.5+‘a’
9、将一个用户输入的整数分别以十六进制、八进制、十进制方式、科学计数法输出
10、求矩形面积,长、宽值由用户指定
11、运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:
s<250km没有折扣
250≤s<500 2%折扣
12、输入两个正整数m和n,求其最大公约数和最小公倍数
13、采用循环结构完成1至100之间的偶数相加。
14、键盘输入正整数n,求出n与其反序数x之和并输出。
例如,输入2038,输出应为:n + x = 2038 + 8302 = 10340。
15、请采用循环结构编程实现以下结果:
16、 编程实现输入一个整数,判断其能否被3、5、7整除,并输出以下信息之一:
500≤s<1000 5%折扣
1000≤s<2000 8%折扣
2000≤s<3000 10%折扣
3000≤s 15%折扣
设每公里每吨货物的基本运费为p(price的缩写),货物重为w(wright的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:
4、将括号内的字符串输出,(He said :"I have done it".)
5、定义一个符号常量,并在主函数中加以应用
6、将用户输入的五个字母(大小写均可)译成密码,密码规律是:用原字母后面第四个字母代替原来的字母,例如,字母A后面第四个字母是E,用E代替A。要求:字符由用户指定输入五个,程序采用循环体完成,增加对输入合法性进行判断
&****。。。。
&***。。。
&**。。
&*。
&
7、两个乒乓球队进行比赛,各出3人。甲队为A、B、C3人,乙队为X、Y、Z3人。已抽签决定比赛名单。有人向队员打听比赛名单,A说他不和X比,C说他不和X、Z比,编程请编程找出3对赛手名单。
8、编程求所有的3位素数,且该数是对称的。所谓对称是指一个数,倒过来还是该数,例如,375不是对称,因而倒过来后变成573。
(1)能同时被3、5、7整除
(2)能被其中两数(要指哪两个整除)
(3)能被其中一个数(要指出该数)整除
(4)不能被3、5、7整除
17、编程输出以下格式的乘法九九表
*
1
2
3
4
5
6
7
8
9
-------------------------------------------------
1
1
2
2
4
3
3
6
9
4
25、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。
26、编程输出以下图形
27、输出1至100之间每位数的乘积大于每位数的和的数