目录
1.1C语言基本知识
简史:
C语言之父:丹尼斯·里奇
用途:
编写系统软件和应用软件
数学计算、游戏开发、各种设备的控制处理
“电梯的控制与显示”、“公交站台到站信息显示”、“交通信息显示”、“红绿灯的控制与显示”、“银行信息的滚动显示”、“游戏编程”...
编译软件:dev、vs
1.2第一个C语言程序
第一个C程序
#include<stdio.h>
int main(){
printf("hello world!\n");
return 0;
}
运行结果:
头文件部分:
include:包含、包括
stdio.h:标准输入输出头文件
主函数部分:
主函数有且只有一个!
主函数是程序的执行入口
int main(void){
}
int:整数、整型,函数的返回值类型
main:函数名
void:空的,函数的参数
printf("hello world!\n")
printf:格式化打印输出
\n:换行
return:返回0
注释
//:单行注释
/*...*/:多行注释,不能嵌套
执行过程
编辑:写代码的过程,生成.c文件
编译:检查语法错误的过程,生成.obj文件
连接:多个.obj文件合并成一个.exe文件的过程
执行:运行.exe文件的过程
C程序的结构
项目-->文件-->函数-->语句-->单词
项目:后缀.sln
文件:源文件后缀是.c
函数:可以有多个函数,但一定要有主函数
语句:以分号结尾
单词:标识符(关键字、预定义标识符、自定义标识符)
关键字
又叫保留字,是编译器能识别的特殊单词,每种计算机语言都会有其特定的关键字,C语言有32个关键字。
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static
1.3进制的转换
内存容量的单位
1TB-->1024GB
1GB-->1024MB
1MB-->1024KB
1KB-->1024B B就是byte字节
1byte-->8bit(位)
进制的介绍
进制位 | 基数 | 基本符号(采用的数码) | 权 | 形式表示 |
二进制 | 2 | 0,1 | 2 | B |
八进制 | 8 | 0~7 | 8 | O |
十进制 | 10 | 0~9 | 10 | D |
十六进制 | 16 | 0~9、A~F | 16 | H |
二进制转十进制
权位:
(10110)=(1*2^4+0*2^3+1*2^1+0*2^0)=22
8421法(128 64 32 16 8 4 2 1):
1011 1101-->128+0+32+16+8+4+0+1=189
十进制转二进制
除以2逆向取余法:
37-->100101
逆转8421法(128 64 32 16 8 4 2 1)
37=32+5=32+4+1-->0 0 1 0 0 1 0 1
八进制转二进制
每1个八进制位转换成3个二进制位,左边不足3个补0
567-->101 110 111
234-->010 011 100
二进制转八进制
从右向左,每3个二进制位为一组,每一组转换成1个八进制数
十六进制转二进制
每1个十六进制位转换成4个二进制位,左边不足4个的则补0
A~F对应10~15
二进制转十六进制
从右向左,每4个二进制数为一组,每一组转换成1个十六进制数
1.4原码、反码、补码
数据在计算机里都是以补码的形式存储
正数的原码、反码、补码都是一样的
原码 | 反码 | 补码 |
2:0000 0010 | 0000 0010 | 0000 0010 |
-2:1000 0010 | 1111 1101 | 1111 1110 |
符号位:最左边的位即最高位,1表示负数,0表示整数
负数的反码:在原码的基础上,符号位不变,数值位取反
负数的补码:在反码的基础上,符号位不变,数值位加一