| 
 
     
- UID
 - 133 
 - 帖子
 - 51 
 - 精华
 - 1 
 - 积分
 - 186 
 - 金币
 - 55  
 - 威望
 - 2  
 - 贡献
 - 0  
 
   
 | 
 C语言编程2
#include "stdio.h"/ E! i$ Y4 b" _' f  P6 N 
#include "math.h"3 D8 ~0 z/ T7 q: _8 R 
main() 
9 Q$ M- a7 W* \/ X# T3 Y, R{' Z" B5 I8 s0 g8 t6 W. |$ h! U# ?$ I2 b 
  double x,s;5 b, y6 b: _: J6 ^4 b 
  printf("input number:\n");0 Y% Z8 x: n3 d# {# ^ 
  scanf("%lf",&x);) G* H3 [3 u9 Z! u: L8 s; \- o 
  s=sin(x);. u* R! y0 E: F# T, m! Z 
  printf("sine of %lf is %lf\n",x,s);6 x, Q; j/ E4 k- ?# U1 d 
} 
  A5 K) o  E# z9 J4 G' ?8 b1 X2 v  [7 H; r9 L; X 
每行注释: _; A$ r: I& _3 x; G 
, Q: |' g4 b0 g4 d2 M6 b 
include称为文件包含命令扩展名为.h的文件也称为头文件或首部文件! m2 Y% b9 W/ L% r  B4 }$ n! a1 a 
定义两个实数变量,以被后面程序使用 
4 v; }% w" R. D4 \) \* h# x显示提示信息 
4 I8 l1 D- _, q; ^/ \6 H5 [3 c从键盘获得一个实数x/ K- b/ t6 ?2 e/ p3 p- h$ j; j 
求x的正弦,并把它赋给变量s5 V5 {( l) F0 C# D5 a% b, i( P 
显示程序运算结果2 R% M8 q2 @- W: o  L 
main函数结束 
& @7 e/ u) i; X) a+ c1 G# j4 \$ Y   
2 p! ?/ H# X: V" w5 x) N' e  程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号""或引号<>内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。 
6 {( {4 W+ @- N9 [$ i6 M2 J. Y+ v  [2 [" F; F7 F8 C 
  需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include。同样,在例1.1中使用了printf函数,也省略了包含命令。' N. Q5 \: b. n& U 
7 }# E5 B& F0 A1 e) I( t6 t  O. G 
  在例题中的主函数体中又分为两部分,一部分为说明部分,另一部分执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。 
1 A, S6 q0 N5 W2 p0 _- X) X 
: [. }  b  l, d3 j7 W9 Pprintf("input number:\n"); 
6 J4 n9 V% ~6 Y; cscanf("%lf",'C10F10&x); 
* e2 i, Q, x. g, a( i" |: n) as=sin(x); 
, X6 }" M* {- o  _/ n8 s, jprintf("sine of %lf is %lf\n",'C10F10x,s); |   
 
 
 
 |