c++ 里,如何用switch编写以下程序?

c++ 里,如何用switch编写以下程序?,第1张

switch 是一个开关语句,和case配套使用, 和if else 判断语句差不多, switch  语句是用于多分支语句进行条件判断,比如:

i++

switch  (i)

{

case    1 :     P1 = 0xFE     //i =1  执行P1 = 0XFE

breK      //执行完成后跳出

case    2 :     P1 = 0xFD     //i =2  执行P1 = 0XFD

break

case    3 :     P1 = 0xFB     //i =3  执行P1 = 0XFB

break

case    4 :     P1 = 0xF7      //i =4  执行P1 = 0X7E

break

default:    break     //如果i 不符合以上条件直接跳出不执行任何东西

}

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。[1]

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年该语言被正式命名为C++。自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增加了新的特征并作了一些修改。第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程中。在20世纪90年代早期,人们开始为C++建立一个标准,并成立了一个ANSI和ISO(Intemational Standards Organization)国际标准化组织的联合标准化委员会。该委员会在1994年1月25曰提出了第一个标准化草案。在这个草案中,委员会在保持Stroustrup最初定义的所有特征的同时,还增加了一些新的特征。

在完成C++标准化的第一个草案后不久,发生了一件事情使得C++标准被极大地扩展了:Alexander stepanov创建了标准模板库(Standard Template Library,STL)。STL不仅功能强大,同时非常优雅,然而,它也是非常庞大的。在通过了第一个草案之后,委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。

委员会于1997年11月14日通过了该标准的最终草案,1998年,C++的ANSI/IS0标准被投入使用。通常,这个版本的C++被认为是标准C++。所有的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builder。

执行过程:

先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。

如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。

#include<stdio.h>

void main(){

int num

printf("请输入一个正整数:")

scanf("%d",&num)

while(num<=0){

printf("必须输入一个大于0的正整数!\n\n")

printf("请输入一个正整数:")

scanf("%d",&num)

}

printf("数字%d除以5",num)

switch(num%5){

case 1:

printf("余数是1!")

break

case 2:

printf("余数是2!")

break

case 3:

printf("余数是3!")

break

case 4:

printf("余数是4!")

break

default:

printf("余数是0!")

break

}

printf("\n")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11839069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存