C语言基础
一. C:XX.c (源文件)
C++: XX.cpp (源文件)
头文件: XX.h
库文件: XX.dll
目标文件: XX.obj / XX.o (不可执行) (由源文件经过编译生成)
可执行文件: XX.exe (在windows下) (由目标文件经过连接器生成)
二. 在编译.链接和运行程序中都有可能出现错误. 错误分两种:
1. 编译时错误(属于语法错误)
2. 运行时错误:
a. 逻辑错误(纠正方法:改源代码,属于可以及时纠正的问题)
b. 其他错误(例如BUG)
三. #include<>和#include””的区别:
1. 前者是从库文件里查找, 后者是先从当前文件查找, 再到库文件里查找.
2. 前者包含的都是系统库文件, 后者是用户自定义的文件.
最基础的代码:
#include<stdio.h>
int main()
{
printf(“Hello World\n” ) ;
return0 ;
}
数据类型和算数运算
一.进制转换: 要熟悉各进制之间相互的转换
1. 二进制 (0, 1)
2. 八进制 (0-7)
3. 十进制 (0-9)
4.十六进制 (0-9, A-F)
(1). 十进制转二进制: (31)10=(11111)2
(2). 二进制转十进制: (10110011)2=(179)10
(3). 二进制换八进制: 三位一缩:(1101110111111)=(15677)8
(4). 八进制转二进制: 三位一展:(1234)8=(1010011100)2
(5). 十六进二: (1AFC)16=(1101011111100)2
(6). 二进制换十六进制: 类似八进制换二进制的方法
二.sizeof运算:
sizeof是一个单目运算符,运算返回变量或类型的字节长度,以字节为单位.
一般的格式为:sizeof(<数据类型>);sizeof(<变量名>); sizeof(<常量>)
三.标识符:
1. 只能由字母数字和下划线组成
2. 开头不能为数字
3. 不能使用关键字
4. 区分大小写
四.几种类型的数据符号:
整型数据 | %d 以有符号十进制形式输出整型数→int %u 以无符号十进制形式输出整型数→unsigned long int |
实型数据 | %f 以小数形式输出实型数→float %e 以指数形式输出实型数 |
字符型数据 | %c 以单个字符形式输出字符型数据→char %p 以指针值形式输出字符型数据 |
※ “%s”表示字符串
五.ASCII码:以十进制显示的
以下面规律类推其他字母和数字
‘A’ →65 ‘B’ →66 ‘C’ →67
‘a’ →97 ‘b’ →98 ‘c’ →99
‘0’→48 ‘1’ →49 ‘2’→50
六.熟记各种数据类型在内存中的字节数和表示范围:
类 型 | 名 称 | 字节 | 表示范围 |
char unsigned char | 字符型 无符号字符型 | 1 1 | -128—127 0—255 |
int long int short int unsigned int unsigned long int unsigned shortint | 整型 长整型 短整型 无符号整型 无符号长整型 无符号短整型 | 4 4 2 4 4 2 | -231—(231-1) -231—(231-1) -215—(215-1) 0—65535 0—232-1 0—65535 |
float double | 单精度浮点型 双精度浮点型 | 4 8 | 7—8位有效数字 15—17位有效数字 |
‘A’ , ‘a’ , ‘0’ | 字符常量 | 4 | 任意 |
22 , 0 , -23 | 整型常量 | 4 | 任意 |
七.格式化输出printf
printf( “格式控制字符串” ), 表达式1, 表达式2, …..表达式n ) ;
注:格式控制字符串的意思就是, 想要以什么样的形式来显示或者说明表达式的结果, 例
printf( “sizeof(int) = %d\n”, sizeof(int ) ) ;
printf( “%d\n”, sizeof(int ) ) ;
这两者输出的结果是一样的, 都是查看int的字节数, 前者里的
sizeof( int ) =
的这一段完全是为了使看结果时更清晰一些所添加的, 相当于一种标示.
八. 常量:
其值不发生改变的量称常量.
类型: 1. 整型常量: 22, 0, -23
2. 实型常量:14.26, -21.23
3. 字符常量: ‘A’,‘a’
4. 字符串常量:“Beijing”, “VC++6.0”
九. 杂项:
1. 浮点数无法保存到最精确的数据, 比如要保存1.5, 用浮点保存就只能为大概1.499999的样子, 要保存最精确的数据只能用字符集.
2. 为什么int和longint 都是4字节?
答: 因为以前是16位进制的,int是2,到现在改变变成了32位进制的, int变成了4, 但long int并没有改变.
3. 无符号系列的int只能存正数, 其他类型的可以存负数.
4. 无符号长整型能存最大整数.
5. 在命令
printf( “%.Xf\n”, 数字 ) ;
中, “X”表示你想在小数点后取多少位(一般最大不超过16-17)
6. 直接输入
printf(“%d\n”, ‘X’ ) 可以直接得到X的ASCII码, X指任意数包括数字和大小写字母.