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,及格”字样,否则不做处理。
C++程序设计基础课后答案 第二章
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章复习题答案
程序设计基础(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语言分支和循环详解
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语⾔中,这是错误的。
分支与循环程序设计PPT
案例分析:计算1到100的和
• sum += i;
案例分析:计算1到100的和
• i;
案例分析:计算1到100的和
01
}
02
```
03
使用do-while循环计算1到100的和
案例分析:计算1到100的和
```
int i = 1;
空间优化
在满足功能需求的前提下,尽量减少程序中变量的存储空间,以降 低内存消耗。
数据结构与算法
数组操作
使用分支和循环实现对数组的遍历、查找、插入 和删除等操作。
链表操作
通过分支和循环实现对链表的遍历、插入和删除 等操作,解决常见的数据结构问题。
二叉树操作
利用分支和循环实现二叉树的遍历、查找、插入 和删除等操作,解决树形结构相关问题。
案例分析:排序算法中的分支与循环应用
01
02
03
选择排序
使用分支结构实现选择排 序算法,通过循环结构实 现数组元素的比较和交换 。
冒泡排序
利用循环结构实现冒泡排 序算法,通过分支结构控 制排序过程中的比较和交 换操作。
快速排序
结合分支和循环结构实现 快速排序算法,利用递归 实现分治策略,提高排序 效率。
PART 04
分支与循环程序设计的注 意事项
避免死循环
死循环是指程序中没有退出条件的循环,会导致程序无法正 常结束。为了避免死循环,程序员需要确保循环体中有一个 明确的退出条件,并且该条件在循环执行过程中一定会被满 足。
在编写循环时,要特别注意循环变量的初始化和更新,确保 循环能够正常结束。同时,也要注意循环条件的正确性,避 免因为逻辑错误导致死循环。
第3章分支和循环的C程序设计
/* 设maxf的初始值为x */
if(y>x)
maxf = y;
/* 更改maxf的值为y */
printf("x=%10.4f\n",x);
printf("y=%10.4f\n", y);
printf("maxf=%10.4f\n", maxf); /* 输出 */
}
Chapter 3 Control Flow
/* 及格 */
else printf("%4.1f is E\n",score);
/* 不及格 */
}
3.2.1 switch结构和breCahka语pter句3 Control Flow
switch语句(多分支结构)
格式: switch (expression)
{
只能是整整型型字或符字型符常型量表达式。 表达式的值要互不能相等!
/* 输入实型数据 */
y = x;
/* 设y的初始值为x */
if(x<0)
y = -x;
/* 更改y的值为-x */
printf("x=%10.4f\n",x);
printf("y=%10.4f\n", y); /* 输出 */
}
Chapter 3 Control Flow 【例3-2】已知2个数,求2个数中的大数。
}
【例3-6】从键盘任意输入一个字符,判断C其h是ap数te字r 3、C大on写tro字l F母lo、w
小写字母或是其它字符 。
/* example 3-6 判断是什么字符 */
#include<stdio.h>
第3章分支与循环
2.使用 if-else 以及 switch 的实现方法 其主体部分的那个 if 语句格式为: if(d<0 || d>100)
… //显示输入数据出错信息 else
switch (d/10) { case 10: case 9: case 8:
二. 示范题二
编程序, 输入一个 int 型的百分制成绩 d,若 d 处于 80 到 100 之间,输出“Good!”; 若 d 处于 60 到 79 之间,输出“OK!”;若 d 处于 0 到 59 之间,输出“Bad!”。若输入数据不 处于 0~100 之间时,提示出错信息(如,提示出“Input ERROR! ( 0 ~ 100 ? )”)而后结 束程序。
3.switch 语句中进行分支的表达式为“d/10”,为二整数相除,其计算结果为一个 0 到 9 的整数(即要进行“一分为十”)。当表达式“d/10”的值为 10、9、8 时,它们的处理分支 入口相同(都将显示出字符串“Good!”);为 7 与 6 时,也将进行统一处理,显示出字符串“OK!”; 其它情况(“d/10”的值为 0 到 5,即 d 的值处于 0 到 59 之间时),统一归到“default”分 支去处理。
【实验目的】
多层嵌套 if 语句的使用、以及 switch 语句的理解与使用。
【实现方法】
可通过如下两种方法之一来实现。 1.使用多层嵌套的 if-else 实现方法 其主体部分的那个 if 语句的“构架”为: if(d<0 || d>100)
… //显示输入数据出错信息 else
if(d>=80) … //显示信息“Good!”
C语言分支和循环例子
循环体语句
lA=lA/10; (4)从lA中截去个位数,构成新的数lA, }
#include <stdio.h> main() { long lA=0; int iX=0,iSum=0; scanf(”%ld”,&lA); while(lA!=0) { iX=lA%10; iSum=iSum+iX; lA=lA/10; } printf(”Sum is %d\n”,iSum); }
运行结果:
The number of data is 999
for语句的一般形式
for( 表达式1; 表达式2; 表达式3 ) 循环体
注意 不能丢
执行过程
处理表达式1
处理表达式3
表达式2 0 非0 执行循环体
说明:
for语句中的3个表达式可以省略 三种循环语句可以互相转换实现同一 个问题
编程Байду номын сангаас拨:
iNum :1~3998
(1)分离数据(数据用iNum表示)各位上的数字。 (2)求各位上数据的累加和iSum。 数据个数iN加1。 (3)判断累加和iSum能否被4整除,如果能,则
是for语句
for( iNum=1;iNum<=3998 ;iNum++) { iS=iNum%10; iT=iNum/10%10; iH=iNum/100%10; iTd=iNum/1000; iSum=iS+iT+iH+iTd; } if(iSum%4==0) iN++;
5.1.1 while语句
104
【实例5.1】while语句的引例。
输入一个长整型数,计算该数的每位 数字之和。
第三章分支和循环
语句 2
C语言程序设计
第三章 分支和循环
例: 输入两个数a和b,输出其中较大者。 main( ) { int a,b,max; scanf("%d%d",&a,&b); if (a>b) max=a; else max=b; printf("max=%d\n",max); }
C语言程序设计
第三章 分支和循环
C语言程序设计
第三章 分支和循环
第三章 分支和循环
C语言程序设计
分支结构
一、程序结构的分类: (1)顺序:
S1
S2
S3
第三章 分支和循环
C语言程序设计
第三章 分支和循环
(2)分支: 二选一(if), 多选一( switch)
T
F
条件
S1
S2
F
条件
T
S1
C语言程序设计
第三章 分支和循环
(3)循环:while语句, for ,do while
(3)switch语句中的各个case和default的出现次序 不影响执行结果,default可以在case的前面、中 间或最后。
C语言程序设计
3、注意(续)
第三章 分支和循环
(4) 由于switch语句中的“case常量表达式”部 分只起语句标号的作用,而不进行条件判断, 因此,在执行完一个case后面的语句后,流 程控制自动转到下一个case继续执行,直到 遇到switch语句的右花括号或“break”语句 为止。
第三章 分支和循环
C语言程序设计
循环控制结构
第三章 分支和循环
C语言程序设计
(2)用if语句实现
main( ) { int a,b,c,max;
- 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之间每位数的乘积大于每位数的和的数