C语言,只能输入0--100,如果输入了不在范围,如何用函数实现循环输入,直到输入正确的数据?
数据输入错误,有两种情况:
1 输入的数据格式不正确,比如要求输入整型,但是输入了字符型。 这种情况,可以通过scanf的返回值进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,要求重新输入。
2 输入的数据不在合法范围内。 比如要求输入正数,但输入了负数。这时需要判断输入的值是否合法。 以输入两个整数,要求范围在0~100之间的代码可以写作 int a,b,r; while(1)//死循环,不得到正确输入不退出。 { r = scanf("%d%d",&a,&b); if(r == 2 && (a>=0 && a <= 100) && (b>=0 && b<=100)) break;//输入正确,退出循环。 printf("输入不正确,请重新输入 "); fflush(stdin);//清空输入,这一步是必须的,不然出错的输入可能影响下次输入。 }
C语言到底是讲什么的,大学生学C语言有什么用?
1、C 语言是一种通用的、面向过程式的计算机程序设计语言。1***2 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。
2、C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
其次,更为专业化的表述,以及百科一大堆的说明性文字,我就不在***了,尽量捡干货说说。
1、一般C语言是作为初学者进行,普及性、入门教育的,一般大学的计算机语言都是C语言为主,不过现今各个大学也开设java、python等语言教学。
2、C语言是面向过程的,而目前市面上的开发一般都是j***a、C#、python……,这是因为面向对象的开发更容易让开发者,有一个清晰的轮廓。许多开发者都是由C入门,再转向各自的领域。
这里可能还需要向你普及以下知识:
2.1、面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
2.2、面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
3、虽然前两点让C看起来好像是小儿科,要淘汰的语言,但实际上,他的应用领域非常广泛,并且由于他更接近底层,真正做C开发的都是大牛。比如很多的驱动程序都是使用C、C++进行编写,如果对速度要求苛刻的还会用汇编。