C语言结构特点
一,概念
- C语言标识符只能是字母、数字、下划线组成,且必须以字母或下划线作为首字母。
- 库函数是C语言本身就存在的函数,如格式化输入函数scanf,格式化输出函数printf,还有putchar等等,这些函数不需要定义,可以直接调用
- C语言是由函数构成的,函数是C语言的基本单位,一个C语言总是从主函数开始执行的,一个函数是由两部分组成:函数的首部和函数体。
- C语言可以有零个或者若干个子函数。这些子函数可以是库函数也可以是自定义函数
- 一个C语言源程序可以由一个或多个源文件组成。
- 每个源文件可以由一个或多个函数组成。
- 源程序有且仅有一个main函数,即主函数。
- 算法:解决问题的方法和步骤。
二、注释
- 单行注释 //…
- 多行注释
/*…*/
(/和*之间不能有空隔)
三.用当型求12345的乘积
四、进制
-
十进制:由0~9的数字组成。
-
八进制:以0开头,由0~7的数字序列构成,如0123表示八进制,换成十进制:
1x82 +2x81 +3x80 =83
-
十六进制:以0x或0X开头(这里0是阿拉伯数字零),可以由数字0~9和字母A ~F或a ~f构成,A ~F字母表示10 ~15。例如,0x2F表示
2x161 +15x160 =47 即十进制的47
八进制 0123 | 十进制1x82 +2x81 +3x80 =83 |
---|---|
十六进制0x2F | 十进制2x161 +15x160 =47 |
若要在函数中输出转换进制,需要在定义时加反斜杠\ | | 如char a=’\x41’ 这里x41是0x41即十六进制,0要去掉 ,此时若putchar(a) 则是输出十进制的A |
五、指数
-
它由数字0~9、字母e或E和+、—组成,它的形式为 aEn,意为aX10n,其中a为十进制整数或小数,n为十进制整数。例如 2.5e3,表示2.5 x103,—3.5e—2 表示 —3.5x10—2。
-
注意:以指数形式表示实数时,a和n不能省**,n必须为整数。如:e5、 3e2.5都是不合法的。
-
以十进制小数形式表示实数时,整数和小数部分可省略其中一个。如: .35、**26.**这两个都可以。
2. 在ASCLL中小写字母比大写字母多32,如a—A=32。
字符串常量
是由一对双引号括起来的字符序列,字符串中可以包含任何字符、汉子等等,字符串在机内存储时,所占字节数等于字符串常量中的字符个数加1,那加的1个字节便是用于存放‘\0’(空字符,ASCLL码为0),它是字符串的结束标志,例如“wei”在内存中存储形式是:wei\0
,共占了四个字节。(字符串常量可以是
O个或者多个
)符号常量
,即放在main函数上面的常量
,格式为:#define 标识符 常量
#include <stdio.h> |
|
---|---|
#define PI 3.14 |
定义一个圆周率的符合常量 |
int main() |
这个符合常量在main函数之前 |
**优点:**如果这个常量在程序中多次出现,需要更改时,只需在符合常量这里改,一改全改,**** |
– |
六、绝对值函数abs、fabs、labs
int abs(int x) |
适用于整数 |
---|---|
double fabs(double x) |
适用于浮点数 |
– | – |
long labs(long x) |
适用于长整型数 |
|abs(—10)等于10 | | fabs(—5.6)等于5.6 | | labs(—9999)等于9999 |
七、exp和pow函数
double exp (double x) |
表示e为底。参数为X的指数值为 ex |
---|---|
double pow (double x,double y) |
表示返回x的次幂X^y^ |
exp(2.0)等于e^2^ =7.389056 |
pow(2.0 ,3.0 )等于2^3^ =8.0 |
八、使用fflush (stdin); 来清除输入缓冲区的内容。
int i;
char c; scanf (“%d”,&i);
scanf(“%c”,&c);
printf(“i=%d,c=%d”,i,c);
return o;
这个程序运行时,正常应该输入两个内容,第一个是整数,回车确认后,再输入第二个内容。然而实际是,如果我们输入100,
然后按回车键确认后,程序随机结束运行,程序默认把回车键当成了一个输入。打印出i=100,c=10。
出现c=10是因为第二个scanf是输入%c,因为ASCll码值10就是回车。为了避免这样的情况,
当有多个输入scanf时,可用fflush (stdin);来清除缓冲区的内容。
int i;
char c;
scanf (“%d”,&i);
fflush (stdin); //消除缓冲区内容
scanf(“%c”,&c);
printf(“i=%d,c=%d”,i,c);
return o;
九、字符输入函数getchar。
#include<stdio.h>
int main()
{
char ch;
ch=getchar(); //getchar函数得到输入字符,并赋值给字符变量ch
putchar(ch); //输出字符
return 0;
}