|
  
- UID
- 133
- 帖子
- 51
- 精华
- 1
- 积分
- 186
- 金币
- 55
- 威望
- 2
- 贡献
- 0

|
C语言编程2
#include "stdio.h"
3 @) w5 v# g9 j I#include "math.h"
. F5 \2 ~% z0 Lmain()( _5 U, Z0 O2 E. B
{& G5 W) i' r' e6 E, o7 @
double x,s;
7 g9 Q6 ?- f% Y printf("input number:\n");
$ ~3 u$ `" i9 e8 Y1 O; N. _/ \2 m! w scanf("%lf",&x);
: x X! C* L& S' Z! T s=sin(x);
& A9 {2 Y3 g1 T# y. D! B" _( c printf("sine of %lf is %lf\n",x,s);
& H$ e+ S$ ~! K+ o}1 F4 g, L( L7 a9 S* n/ z
7 P/ U7 [( M* l/ g4 y4 l: r6 I5 p
每行注释, c; M+ j( H" }! k* c/ {
b+ D: k6 m8 l8 r. M8 W3 Xinclude称为文件包含命令扩展名为.h的文件也称为头文件或首部文件
: G3 W- y6 e# y定义两个实数变量,以被后面程序使用
7 f7 l9 q, j$ Z$ P5 I/ C显示提示信息1 J$ |2 d) n& j; Y6 t
从键盘获得一个实数x7 q# q4 s; C3 }) r/ Q1 V" b1 [$ R
求x的正弦,并把它赋给变量s
5 s* }4 R3 a* ]2 ?$ \显示程序运算结果
: n$ }- K; R# `) q2 Gmain函数结束
& X" B w( L6 t% }; B1 ?/ @! j
7 ~* o9 U( x2 ^1 ?9 k) z 程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号""或引号<>内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。
% j1 c& X9 S* Y2 V! G) Z3 v6 r
+ v8 s9 P+ N: o* l: H 需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include。同样,在例1.1中使用了printf函数,也省略了包含命令。- i+ L( R" V+ x" V
$ _) Q& L$ @3 C8 k1 q 在例题中的主函数体中又分为两部分,一部分为说明部分,另一部分执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。
8 }' ^' S6 i9 T( y: G# G. w2 R0 N, S3 d( p3 k& t; V! g& N! m# z+ i
printf("input number:\n");
, c5 v) a& v' ^' G/ Jscanf("%lf",'C10F10&x);
3 Y/ e* A) |- _7 d8 D: vs=sin(x);) q `+ U9 S6 H4 W
printf("sine of %lf is %lf\n",'C10F10x,s); |
|