#include <stdio.h> //包含头文件,头文件内,有对函数(printf)的声明、全局变量的定义、外部变量的定义、宏的定义等
int a;
printf("hello\n"); /*标准输出函数,输出的内容是“内容”,\n 是转义字符中的一种,作用是,执行到 \n 的时候,换行。print(打印)。printf的作用:将“内容字符串”,存放到 stdout 标准输出缓冲区中,由其他函数或机制,执行从缓冲区读取并显示在屏幕或其它显示设备上。*/
scanf("%d",&a); //标准输入函数,输入的内容是“内容”,stdin,
printf("a=%d\n",a);
return0;
}
软件=程序+文档
程序=函数+函数。。。
函数=数据结构+算法
算法:方法,整个步骤。
语句:在程序中,以 ;作为结束的代码,表示一条语句。每个语句,就是一个执行的步骤。
算法五个特征:
有穷性:每条语句,必须在一定的时间内,可以执行完。
确定性:每条语句,执行后的结果唯一
输入:需要初始信息。可以有多个输入,或没有输入。
输出:执行的结果,是为人所需的,必须要有输出。
健壮性:即可行性,每个步骤的结果,和预期的相同。
汇编 ——> 与机器硬件一一对应;移植性(兼容)很差
KT ——> BCPL ——> B语言
DR 和 KT ——> Unix ——> 新的数据结构和语法 ——> C语言
DR 和 KT ——> Unix C语言
C语言基础:
运算符:34种
+ - * / % ++ -- > < = == >= <= != !(非) || | & && ^ ~ << >> () [] {} \ . , ; ? " ' :
关键字:32个
字符:char
整形:int
浮点型:float double
空类型:void
long short .....
控制语句:9个
选择:2个 if switch
循环:3个 for while do...while
返回:4个 return break continue goto
C语言支持的基本数据类型:数值型,字符型,特殊类型
数值型:整数类型,浮点类型
整数类型:int:整型 (占4Byte存储空间)
unsigned int:无符号整型 (占4B)
short:短整型 (占2B)
unsigned short;无符号短整型 (占2B)
long:长整型 (占4B)
unsigned long:无符号长整型 (占4B)
浮点类型:float:单精度浮点型 (占4Byte)
double:双精度浮点型 (占8Byte)
字符型:char:(占1Byte,表数范围-128 - +127),
无符号字符型:unsigned char:(占1Byte,表数范围0 - 255)
特殊类型:void:空类型(不占存储空间,通常用作类型占位符)
构造类型:
数组类型([ ])
结构体类型(struct)
共用体类型(union)
指针类型(*) //(C语言的灵魂)
标识符:函数名,变量名等。
规则:
标识符由字母、数字、下划线组成,不能以数字开头,不能和关键字相同,不同重名。
存储单位:用来衡量数据量的大小
bit 简写b,即比特或位,一个二进制数字(0或1)
Byte 简写B,即字节,1B = 8b
KB 千字节, 1KB = 2^10B = 1024B
MB 兆字节,1MB = 2^10KB
GB 吉字节,1GB = 2^10MB
TB 太字节,1TB = 2^10GB
原码 3 0000 0011
反码 ~ 1111 1100
补码 +1 1111 1101
有符号数:符号位(最高位/左边)不变,(0为正数,1为负数)
正数或0:原码、反码、补码相同(三码归一)
负数:首先计算出原码,然后符号位保持不变,其他位按位取反就可以得到反码,反码再加1就可以得到补码
例:21D = 10101B -21D = -10101B
十进制整数转换为八进制或十六进制的方法和转换为二进制类似
例:100D = 144O = 64H
二进制整数转换为十进制的方法:每一位乘以其位权然后相加
例如:1010B = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10D
八进制或十六进制整数转化为十进制的方法和二进制的类似
例如:a3b4H = 10*16^3 + 3*16^2 + 11*16^1 + 4*16^0 =41908D
二进制整数转换为八进制或十六进制
例:10011001B = 231O = 99H
八进制或十六进制整数转换为二进制
例:144O = 001100 100B 144H = 101000100B
十进制小数转换为二进制的方法:乘2取整,顺序书写
例:0.125D=0.001B
十进制小数数转换为八进制或十六进制的方法和转换为二进制类似
二进制小数转换为十进制的方法:每一位乘以其位权然后相加
例:0.10101B = 1*2^-1 + 0*2^-2 + 1*2^-3 + 0*2^-4 + 1*2^-5 = 0.5 + 0.125 + 0.03125
八进制或十六进制小数转化为十进制的方法和二进制的类似
二进制小数转换为八进制或十六进制
例:0.1001011B = 0.454O = 0.96H
八进制或十六进制小数转换为二进制
例:A4.A3BH = 10100100.101000111011H
int main(int argc,char* argc[]) /*主函数,一个程序,有且仅有一个主函数。主函数是程序的入口和出口,程序从主函数开始,从上往下,一个一个语句执行。执行到主函数中的最后一条语句(return)后,程序结束。*/
{int a;
printf("hello\n"); /*标准输出函数,输出的内容是“内容”,\n 是转义字符中的一种,作用是,执行到 \n 的时候,换行。print(打印)。printf的作用:将“内容字符串”,存放到 stdout 标准输出缓冲区中,由其他函数或机制,执行从缓冲区读取并显示在屏幕或其它显示设备上。*/
scanf("%d",&a); //标准输入函数,输入的内容是“内容”,stdin,
printf("a=%d\n",a);
return0;
}
软件=程序+文档
程序=函数+函数。。。
函数=数据结构+算法
算法:方法,整个步骤。
语句:在程序中,以 ;作为结束的代码,表示一条语句。每个语句,就是一个执行的步骤。
算法五个特征:
有穷性:每条语句,必须在一定的时间内,可以执行完。
确定性:每条语句,执行后的结果唯一
输入:需要初始信息。可以有多个输入,或没有输入。
输出:执行的结果,是为人所需的,必须要有输出。
健壮性:即可行性,每个步骤的结果,和预期的相同。
KT教授 ——>Unix
KT ——> BCPL ——> B语言
DR 和 KT ——> Unix ——> 新的数据结构和语法 ——> C语言
DR 和 KT ——> Unix C语言
C语言基础:
运算符:34种
+ - * / % ++ -- > < = == >= <= != !(非) || | & && ^ ~ << >> () [] {} \ . , ; ? " ' :
关键字:32个
字符:char
整形:int
浮点型:float double
空类型:void
long short .....
控制语句:9个
选择:2个 if switch
循环:3个 for while do...while
返回:4个 return break continue goto
C语言支持的基本数据类型:数值型,字符型,特殊类型
数值型:整数类型,浮点类型
整数类型:int:整型 (占4Byte存储空间)
unsigned int:无符号整型 (占4B)
short:短整型 (占2B)
unsigned short;无符号短整型 (占2B)
long:长整型 (占4B)
unsigned long:无符号长整型 (占4B)
浮点类型:float:单精度浮点型 (占4Byte)
double:双精度浮点型 (占8Byte)
字符型:char:(占1Byte,表数范围-128 - +127),
无符号字符型:unsigned char:(占1Byte,表数范围0 - 255)
特殊类型:void:空类型(不占存储空间,通常用作类型占位符)
构造类型:
数组类型([ ])
结构体类型(struct)
共用体类型(union)
指针类型(*) //(C语言的灵魂)
标识符:函数名,变量名等。
规则:
标识符由字母、数字、下划线组成,不能以数字开头,不能和关键字相同,不同重名。
(计算机的世界是二进制的,一切非二进制数据要能被计算机程序处理,必须先转换为二进制形式(这个过程就称为编码),存储器也只能存放二进制数据)
存储单位:用来衡量数据量的大小
bit 简写b,即比特或位,一个二进制数字(0或1)
Byte 简写B,即字节,1B = 8b
KB 千字节, 1KB = 2^10B = 1024B
MB 兆字节,1MB = 2^10KB
GB 吉字节,1GB = 2^10MB
TB 太字节,1TB = 2^10GB
计算机中,数据以补码的形式存放
无符号数:(例)原码 3 0000 0011
反码 ~ 1111 1100
补码 +1 1111 1101
有符号数:符号位(最高位/左边)不变,(0为正数,1为负数)
正数或0:原码、反码、补码相同(三码归一)
负数:首先计算出原码,然后符号位保持不变,其他位按位取反就可以得到反码,反码再加1就可以得到补码
不同进制间的互转:二进制(B),八进制(O),十进制(D),十六进制(H)
例:21D = 10101B -21D = -10101B
十进制整数转换为八进制或十六进制的方法和转换为二进制类似
例:100D = 144O = 64H
二进制整数转换为十进制的方法:每一位乘以其位权然后相加
例如:1010B = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10D
八进制或十六进制整数转化为十进制的方法和二进制的类似
例如:a3b4H = 10*16^3 + 3*16^2 + 11*16^1 + 4*16^0 =41908D
二进制整数转换为八进制或十六进制
例:10011001B = 231O = 99H
八进制或十六进制整数转换为二进制
例:144O = 001100 100B 144H = 101000100B
十进制小数转换为二进制的方法:乘2取整,顺序书写
例:0.125D=0.001B
十进制小数数转换为八进制或十六进制的方法和转换为二进制类似
二进制小数转换为十进制的方法:每一位乘以其位权然后相加
例:0.10101B = 1*2^-1 + 0*2^-2 + 1*2^-3 + 0*2^-4 + 1*2^-5 = 0.5 + 0.125 + 0.03125
八进制或十六进制小数转化为十进制的方法和二进制的类似
二进制小数转换为八进制或十六进制
例:0.1001011B = 0.454O = 0.96H
八进制或十六进制小数转换为二进制
例:A4.A3BH = 10100100.101000111011H