C语言基础知识

#include <stdio.h>                 //包含头文件,头文件内,有对函数(printf)的声明、全局变量的定义、外部变量的定义、宏的定义等

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)


十进制整数转换为二进制的方法:除2取余,逆序书写
例: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

猜你喜欢

转载自blog.csdn.net/w77_20/article/details/75041909