C++程序设计基础(软件)课程习题二--分支与循环
- 格式:doc
- 大小:113.00 KB
- 文档页数:5
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道)<说明>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粒。
《程序设计基础》习题参考答案与部分解析第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。
一、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.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,计算球的体积。
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的编译系统中,编译会从多个角度检测每个错误,如果从多个角度解释都有问题,则系统会提示有多个错误。
也就说,哪怕一个程序中只有一个错误,但生成项目时可能会出现了一系列编译错误和警告信息。
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,及格”字样,否则不做处理。
2.1 阅读下列程序,写出执行结果1. #include <iostream.h>void 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;cout << d << endl;}2.#include <iostream.h>void main(){ int a = 0, b = 1;switch( a ){ case 0: switch( b ){ case 0 : cout << "a=" << a << " b=" << b << endl; break;case 1 : cout << "a=" << a << " b=" << b << endl; break;}case 1: a++; b++; cout << "a=" << a << " b=" << b << endl;}}3. #include <iostream.h>void main(){ int i = 1;while( i<=10 )if( ++i % 3 != 1 )continue;else cout << i << endl;}4. #include <iostream.h>void main(){ int i = 0 , j = 5;do{ i++; j--;if ( i>3 ) break;} while ( j>0 );cout << "i=" << i << '\t '<< "j=" << j << endl;}5.#include <iostream.h>void main(){ int i,j;for( i=1, j=5; i<j; i++ ){ j--; }cout << i << ′\t′<< j << endl;}6. #include <iostream.h>void main(){ int i, s = 0;for( i=0; i<5; i++ )switch( i ){ case 0: s += i; break;case 1: s += i; break;case 2: s += i; break;default: s += 2;}cout << "s=" << s <<endl;}7. #include <iostream.h>void main(){ int i, j, x = 0;for( i=0; i<=3; i++ ){ x++;for( j=0; j<=3; j++ ){ if( j % 2 ) continue;x++;}x++;}cout << "x=" << x << endl;}2.2 思考题1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。
程序设计基础(C)第1——5章复习题及参考答案一、单选题1.可以在C语言中使用的一组用户标识符是(C)。
A. 3BB. KEYC. _123D. voidsizeof cl_c2 T3_al_ CHA TDO -for scanf 6B2.while(!x)中的!x与下面条件(A)等价。
A. x==0B. x==1C. x!=5D. x!=03.增1减1运算只能作用于(B)。
A. 常量B. 变量C. 表达式D. 函数4.下面四个选项中,均是字符常量或数值常量的选项是(A)。
A. 0.0B. “A”C. …3‟D. +0010f 3.9E-2.5 011 0xabcd8.9e 1e1 0xff00 2e3…&‟ …\”‟ 0a 50.5.下选项中正确的实型常量是(D)。
A. 0B. 0.618*10^2C. .871D. 3.1415 6.C语言中运算对象必须是整型的运算符是(D)。
A. %= 与/B. = 与&C. * 与^D. % 与|7.设a=2,b=2;则++a+b的结果是( D),a的结果是( B ),b的结果是( A)。
A. 2B. 3C. 4D. 59.下列运算符中优先级最低的是(B)。
A. +B. &&C. <=D. sizeof10.设int a=2;则表达式(a++*1/3)的值是(A),a的值是(D)。
A. 0B. 1C. 2D. 311.字符数据在内存中的存储采用的是(D)。
A. 反码B. 补码C. EBCDIC码D. ASCII码12.在C语言类型说明中,int、char、short等类型数据的长度是(D)。
A. 固定的B. 由用户自己定义的C. 任意的D. 与机器字的长度有关的13.在C语言中,不同类型的两个数据混合运算时,要先转换成相同类型再进行运算,设有int,long,unsigned和char类型的变量和数据,则它们的转换规律是(C),表达式最后的运算结果是(D)类型的数据。
分支和循环练习题编程中的分支和循环是最基本的控制结构,通过它们我们可以实现程序的灵活性和复杂性。
在学习编程的过程中,练习题是非常重要的一环,它可以帮助我们巩固知识,提高编程能力。
下面我将为大家分享一些有关分支和循环的练习题。
1. 分支练习题1.1 猜数字游戏编写一个程序,随机生成一个1到100之间的整数,然后让用户猜这个数字是多少。
如果用户猜错了,根据猜测的大小给出提示,直到猜对为止。
最后输出用户猜测的次数。
1.2 判断闰年编写一个程序,判断一个给定的年份是否为闰年。
闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除的年份都是闰年。
1.3 成绩等级编写一个程序,根据输入的成绩判断等级。
如果成绩大于等于90分,输出"优秀";如果成绩大于等于80分,输出"良好";如果成绩大于等于70分,输出"中等";如果成绩大于等于60分,输出"及格";否则输出"不及格"。
2. 循环练习题2.1 打印九九乘法表编写一个程序,使用嵌套循环打印出九九乘法表。
输出结果应该如下所示:1 * 1 = 11 *2 = 2 2 * 2 = 41 * 3 = 32 *3 = 6 3 * 3 = 9...2.2 计算阶乘编写一个程序,计算给定数字的阶乘。
阶乘的定义是:n的阶乘(n!)等于1乘以2乘以3一直到n。
2.3 素数判断编写一个程序,判断一个给定的正整数是否为素数。
素数的定义是:除了1和它本身之外,没有其他因数能够整除它。
以上是一些关于分支和循环的练习题,它们涵盖了基本的编程概念和技巧。
通过不断地练习和思考,我们可以逐渐提高自己的编程能力。
在解决这些练习题的过程中,我们不仅可以巩固知识,还可以培养逻辑思维和问题解决能力。
希望大家能够积极参与练习,不断提升自己的编程水平!。
C语⾔分⽀和循环详解⽬录前⾔⼀、什么是语句⼆、分⽀语句1.if语句2.switch语句三、循环语句1.while循环2.循环语句中的break与continue3.for循环总结前⾔在本章,我会详述分⽀和循环语句的概念与使⽤规范⼀、什么是语句我们常在⼀条代码的末尾加⼀个分号 “;” ,C语⾔中分号前的就是⼀条语句,例如int a = 0;//这是⼀条语句printf("%d\n",a);这⼜是⼀条语句很简单的概念。
那么,如果单放⼀个分号,分号前什么也不写,算不算⼀条语句呢?答:当然也算,这是需要注意的⼀个⼩点。
⼆、分⽀语句分⽀语句⼜叫选择结构,就⽐如你如果认真学习,你就能找到好⼯作;如果你整天打游戏,那就等于你选择了毕业后失业。
是好好学习,还是打游戏,这就是你的选择,你的选择会带来相应的结果,这就是分⽀语句。
分⽀语句:ifswitch1.if语句if语句的结构:if(条件)语句(带来的结果);else语句(带来的结果);如果满⾜if括号⾥的条件,则实⾏if下⾯的语句,否则执⾏else下⾯的语句。
上⾯是⼀种结构,还有⼀种叫多分⽀结构:if(条件)(语句);else if(条件)(语句);else(条件)(语句);其实就是在上⼀种结构上,多了⼀个选择else if。
接下来我举⼀个完整的例⼦,以体重为例#include <stdio.h>int main(){int weight = 0;scanf(“%d\n”,&weigth);if(weight<100){printf("瘦⼦");}else if(weight>100 && weight<150){printf("正常")}`在这⾥插⼊代码⽚`else{printf("偏重")}return 0;}这⾥就是让你输⼊体重如果满⾜if(体重⼩于100),那么输出:瘦⼦如果满⾜else if()体重在100⾄150之间,那么输出:正常注意:当我们想表达体重⼤于100,⼩于150,我们通常会写(100<weight<150),但在C语⾔中,这是错误的。