1.C基础_计算机基础知识

计算机构成

计算机是由输入设备、输出设备、内存储器、外存储器、CPU构成,具体框图如下:

输入设备:将其他信号转换为计算机能识别的电信号的设备,如传感器

输出设备:将电信号转换为其他信号,如显示器

存储器:存储器分为内存、外存、寄存器。

  • 内存又称为主存储器,存放程序中待处理的数据和处理结果,掉电会丢失
  • 外存用于存放长期保存的数据,掉电不丢失
  • 寄存器是CPU内部的高速存储器,速度快、按位存储,比内存外存都要小
  • 计算机的程序存储在外存上(磁盘),被加载到内存中去执行

CPU:CPU分为运算器和控制器

  • 运算器用于进行算数运算、逻辑运算
  • 控制器用于控制CPU执行程序

各个语言的区别

计算机编程语言的发展框图如下:

机器语言:是CPU直接能读懂的语言,就是0/1序列

汇编语言:汇编代码与机器码一 一对应,区别是汇编代码人可以读懂

  • 汇编不能够兼容不同的CPU体系结构,不同的架构,计算机指令不同,机器码也不同,因此移植性差。

高级语言:高级语言通过编译器编译转换成汇编语言,汇编语言通过汇编转换成机器码,不同的CPU有着不同的编译器,这样高级语言就可以解决移植性差的问题。

下面是各种语言所处的位置:

C语言的特性

C语言具有效率高、灵活性高、可移植性高的特点。

  • 效率高:C语言是编译型语言,与之相对的是解释性语言。编译型语言是将整个源代码通过编译器编译成机器语言,最终打包成一个可执行文件。而解释性语言是一行一行进行解释,通过解释器将这一行代码解释为机器语言,之后再解释一行,从而完成整个代码的解释。
  • 灵活性高:既有高级语言便于学习的特点,又可以通过指针访问硬件,实现汇编一样操作底层的功能。
  • 可移植性高:C语言是标准化的语言,C代码可在不同的操作系统和计算机上进行运行。对于不同的硬件,可以通过不同的编译器转换成对应的汇编指令,而C代码可以不变。转换框图如下:

大端模式与小端模式

大小端指的是在存储器中,存放数据的字节顺序

  • 小端模式,是指数据的低字节保存在内存的低地址中(低存低)
  • 大端模式,是指数据的低字节保存在内存的高地址中(低存高)

测试代码如下:

//存储模式测试,大端模式or小端模式 
void StorageModeTest(void){
	
	int test = 0x11223344;
	char* p = (char*)&test;
	
	printf("int test = 0x11223344\n");
	printf("start address:%p\n",&test);
	printf("%p = %#x\n",p,*p);
	p++;
	printf("%p = %#x\n",p,*p);
	p++;
	printf("%p = %#x\n",p,*p);
	p++;
	printf("%p = %#x\n",p,*p);
	
	p = (char*)&test;
	if(*p = 0x44){
		printf("this is small end\n"); 
	}else if(*p = 0x11){
		printf("this is big end\n"); 
	}else{
		printf("err\n"); 
	} 	 
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值