Board logo

标题: C语言小程序实例分析 [打印本页]

作者: 苹果也疯狂    时间: 2015-3-6 23:53     标题: C语言小程序实例分析

    首先请看下面这个小程序,试着自己编译运行一下。      

         /* Circle.C  --  计算圆的面积 */

      #Include <Stdio.H>

      Int Main( Void )

      {

          Float Radius;    /* 圆的半径 */

          Printf( "Please Enter The Radius: " );

          /* 获取用户输入 */

          Scanf( "%F", &Radius );

          /* 圆面积计算公式:圆周率 * 半径的平方 */

          Printf( "The Area Of The Circle Is: %.3f
", 3.14 * Radius * Radius );




          Printf( "Press ENTER To Quit..." );

          Getchar();

          Getchar();   

          Return 0;

      }

    “Enter The Radius”的意思是:输入圆的半径,然后按回车(Enter)。这个程序要求我们输入数字,例如:15、31.6。不要输入字母,例如:Abc、T156。输入字母将导致程序出错!以后我们会学如何处理这种错误,不过现在还是老老实实地输入数字吧!当然,您也可以试着输入字母,看看到底会发生什么事情。

    下面我们来仔细讲解这个程序的知识点。

    1. 程序的第 7 行,我们使用Float声明了一个名为 Radius的变量。Float代表的数据类型是浮点型,也就是小数。在以往的程序中,我们都是使用 Int 来声明变量。Int 代表整型,也就是整数。用 Int 声明的变量只能存储整数;而用 Float 声明的变量可以存储小数。

    2. 为了接受用户输入,我们需要使用 Scanf函数。和 Printf一样,Scanf 也是标准库里定义的函数,我们称这样的函数为标准函数。和Printf一样,Scanf的函数原型也位于标准头文件 Stdio.H 里。占位符 %F 的作用是命令 Scanf 函数读取浮点数;&Radius 告诉 Scanf 用读取到的浮点数给变量 Radius 赋值。其中 & 必不可少,否则程序将会出错。& 在这里是取址运算符,用于获取变量 Radius 的内存地址,从而告诉 Scanf 将读取到的浮点数存储到那个地址所指示的内存空间,也就达到了给 Radius 赋值的目的。如果您看不懂上面这些内容,没什么关系,真的,只要您可以记住就好了。以后,我们将更深入地学习这些知识。

    3. Radius 是浮点型变量,3.14 默认是双精度浮点型(Double)恒量,所以表达式 3.14 * Radius * Radius 的结果是一个双精度浮点数。这里看不懂也没关系,以后我们会详细学习。

    4. 要显示浮点型数据,我们需要使用占位符 %F。%D 是用于显示整数的,如果我们将第二个 Printf 中的 %.3f 换成 %D,那么输出会不正常。.3 的作用是告诉 Printf 只输出小数点后 3 位。我们也可以改成 .2 或者 .0 等。.0 代表不输出小数部分。

    5. 程序最后连续用了两个 Getchar 函数,在此起的作用是等待用户输入回车,然后才退出程序。Getchar 也是标准函数,它的函数原型同样也是位于标准头文件 Stdio.H 中,它的作用是读取用户输入的一个字符。具体为什么这里要用两个 Getchar 请参考避免 C/C++ 程序一闪而过的方法。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0