C语言概念【1】——基础知识

最近再复习C,看的是键盘农夫的《狂人C》,以下是做的笔记,多乃概念。觉得此书与宋劲彬老师的《Linux C》是国内写得最好的C语言的书了。

 

计算机的工作:

1.机箱内有一块电子线路板叫主板(Main Board),主板通过总线(Bus)连接计算机所有设备。

主板内的部件:

1)CPU—Central Processing Unit,两个作用

进行运算——运算器(Arithmetical Unit, AU)

指挥计算机其他部件工作——控制器(Control Unit,CU)

 

2)内存(Memory Unit,MU)【ROM & RAM】

我们要求计算机执行任务时被分解成一个个“小动作”,任务执行时, 存于此

内存由半导体构成,其元件的每一个状态(0|1)叫一个bit或位

通常8个bit为一组,这样的元件组叫一个Byte或字节

CU—>N个byte—>通过bus变成电信号—>执行操作

每个让计算机完成的一个动作的一组二进制数叫一个指令 (Instruction)

为解决某个具体问题或者完成一特定任务的一系列指令的有序组合 叫程序。

“存储程序控制原理”:CU执行在内存中的二进制数

大多数程序平时以文件的形式存在外部设备中,这些文件叫可执行 文件,为exe格式

 

2.语言

不同型号的计算机能识别的机器语言不一样

 

(Assembly Language)由Assembler翻译成机器语言,一样没通用性

用汇编得先熟悉CPU指令集

 

High-level Language的优点与CPU无关,可以在不同的计算机完成。

即有可移植性(Portability)     编译以后的文件一般存储为二进制指令 集合的文件,叫可执行文件。其非严格意义上的程序,还需装入内存以 后并运行,才是真正意义的程序。

 

3.保持C的精神

#Trust the programmer

#Don't prevent the programmer from doing what needs to be done

#Keep the language small and simple 

#Provide only one way to do an operation

#Make it fast,even if it is not guarantee to be portable

 

4.最简单的C语言程序

int main(void)

{

return 0;               //相当于耶和华的“要有光”

}

 

每一个C语言程序有且只能有一个main()。main是main()函数的函数名

 

#include<stdio.h> 

 

int main(void) 

        printf("你好,c!\n"); 

        return 0; 

由于使用了一段事先写好的程序段(由编译器提供),因此代码段必须对这程序段的来龙去脉有所交代,具体地解释“printf”所以要在开加这个“编译预处理命令”#include<stdio.h> 。注意这句不是语句,没“;”号。对程序中出现的每一个标志符负责

 

集成开发环境(Integrated Development Environment,IDE)

具有“编辑”,“编译”,“调试”,“版本控制”等多种功能

Project是指编写一个应用程序所需要的资源的总和

gcc:GNU Compiler Collection     

 

“system(“PAUSE”);”作用是在程序输出结果之后暂停,防止程序运行后立即返回编辑界面

printf()函数初步

使用库函数之前需要库函数的函数名称加以说明者可以通过在库函数被调用之前加上一个#include<文件名>的预处理命令实现

printf()调用“()”中的第一个字符串格式控制字符串其中字符原样输出,除非有“\”,“%”出现的字符序列 。想输出“%”,需要写成“%%” 

 

5.

编写程序用的字符(乃C语言的“字母”)与程序所处理的字符(如输入输出等)是两个不同的概念

 

C语言的“词”——TOKEN(Token: an individual instance of a type of symbol)

1)keyword(关键字)

类似于成语,一类是固定格式构成某种“句型”(复杂计算动作的组合)

一类相当于自然语言的“副词”,“形容词”

2)identifier(标识符)

相当于自然语言的“名词”,或者数学公式中变量的表示符号,是编程者为程序用到的对象——有时是实的,如内存,有时是虚的,如一数据类型所起的名字

3)constant(常量)

4)String-Literal(字符串文字量)

5)Punctuator(标点符号)

6)空白

7)例外

如<stdio.h>是一类单词,叫Preprocessing-token

 

 

转载于:https://www.cnblogs.com/frechei/archive/2012/11/22/2783675.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值