文档介绍:C语言概述
C语言概述
预备知识
计算机组成和工作原理
计算机语言和程序
C语言的简史
为什么学习和使用C语言
C语言程序的开发过程
C语言编程环境
C语言编程实验环境
C语言程序设计
计算机
puter)
能进行计算和逻辑判断的设备
在一组指令(instructions)——程序(programs)的控制下处理数据
硬件(Hardware)
组成计算机的各种物理部件
键盘、鼠标、显示器、内存、硬盘、光驱等等
软件(Software)
计算机中运行的程序和数据
C语言概述
计算机的组成
计算机包括六大部件
输入单元(Input unit)
从输入设备(键盘、鼠标)获得数据
输出单元(Output unit)
把数据输出到输出设备(显示器、打印机等)
内存(Memory unit)
临时存储正在处理的数据和运行的程序
可以快速地访问
容量不大
C语言概述
计算机的组成
中央处理单元(Central processing unit, CPU)
算术逻辑单元(Arithmetic and logic unit, ALU)
进行算术运算和逻辑判断
控制器(Control unit)
管理和协调计算机的其它部件
辅助存储器(Secondary storage unit)
保存需长期存储的数据和非活动的程序
保存时间长
价格便宜、容量大
例如硬盘、光盘、磁带
C语言概述
计算机的工作原理
六大部件紧密协作
C语言概述
计算机的工作原理
CPU负责执行程序
从内存中读取一条指令
执行该指令
从内存中读取下一条指令并执行
……
一个主频为1GHz的CPU可以在一秒钟内进行大约一亿次这样的操作
CPU有自己的工作区:包括若干个寄存器(Registers)
CPU只能理解有限的指令(CPU的指令集)
指令能够完成的任务是具体的
例如,把一个数从内存移动到某一个寄存器
C语言概述
计算机程序和语言
存储在计算机中的一切内容都是二进制的数字形式
数据:数、字符、图片、声音、动画等等
指令
计算机程序
确切告诉计算机如何完成某项任务的指令序列就是一套程序
计算机语言
用来编写程序
C语言概述
#include <>
#include <>
void main()
{
float a,b,c,p,disc,q,x1,x2;
scanf("%f%f%f",&a,&b,&c);
p=-b/(2*a);
disc=b*b-4*a*c;
q=sqrt(disc)/(2*a);
x1=p+q; x2=p-q;
printf("x1=%f,x2=%f",x1,x2);
}
0110001100000110
01100**********
00001**********
0110001100000110
01100**********
00001**********
机器语言
数字形式的指令码就是机器语言(Machine language)
用机器语言编写的程序能够被计算机直接理解和执行
但是,编写程序非常费力
例如,编写程序完成两个数相加的任务需要以下几步
把地址为2000的内存单元中的数复制到寄存器1;
把地址为2004的内存单元中的数复制到寄存器2;
把寄存器2中的数与寄存器1中的数相加,结果保留在寄存器1中;
把寄存器1中的数复制到地址为2008的内存单元中。
C语言概述
0110001100000110
01100**********
00001**********
汇编语言
符号化的指令码就是汇编语言(Assembly language)
例如,完成两个数相加的汇编语言程序
汇编语言程序必须被翻译成机器语言程序才能被执行
汇编程序(Assembler)充当“翻译”
C语言概述
ldreg n1, r1 把变量n1的值复制到寄存器1(r1);
ldreg n2, r2 把变量n2的值复制到寄存器2(r2);
add r1, r2 把r2中的数与r1中的数相加,结果保留在r1中;
store r1, sum 把r1中的数复制到变量sum。