第一章 初识C语言

本文详细介绍了C语言的起源,其设计初衷、优点(如控制结构、高效性和可移植性)、与Unix的关系以及在编程中的应用,包括编写操作系统、游戏和嵌入式系统。还涵盖了C语言的发展标准和学习C语言的基本步骤,强调了C语言在软件行业的核心地位。
摘要由CSDN通过智能技术生成

1.1   C语言的起源

1972年,贝尔实验室的丹尼斯·里奇和肯·汤普逊在开发Unix系统时设计了C语言,C语言设计的初衷是将其作为程序员使用的一种编程工具,因此,其主要目标是成为有用的语言。

C,C++,Java,goPython……

1.2   选择C的理由

优点:强大的控制结构,代码紧凑--程序更小(相比而下内存小),快速,可移植到到其他计算机。

1.2.1   设计特性

C语言的设计理念让用户能轻松地完成自顶向下的规划,结构化编程和模快化设计。X语言编写的的程序更易懂,更可靠。

1.2.2   高效性

C语言具有通常是汇编语言才有的微调控制能力。可根据具体情况微调程序以获得最大运行速度或最有效地使用内存。C语言对硬件控制能力强。

1.2.3   可移植性

一种系统中编写的C程序稍作修改(只需简单更改主程序头文件中的少许即可)或不做修改就能在其他系统运行。Linux中的C可移植到win或者稍作修改移植到win中也可以运行。汇编语言移植性就很差。Java移植性就更强。C编译器是把C代码换成计算机内部指令的程序。

C语言与Unix关系密切,C为了开发Unix而设计的。Unix由C写出来的。

win和linux,unix和mac的编译器不同,但可以把一套C源代码翻译成不同系统能识别的零幺串(计算机指令)。

1.2.4   强大而灵活

Unix系统大部分都是X写出来的,其他语言的编译器和解释器都是用C写出来的。C程序可以用于解决物理学和工程学的问题,甚至用于制作电影的动画特效。

1.2.5   面向程序员

程序员利用C可以访问硬件(微调控制能力),操控内存中的位(数据)。C很灵活优点是许多任务用C来处理都非常简介,缺点是可能会犯一些莫名其妙的错误。

1.2.6   缺点

C语言比较自由,C使用指针时,设计指针的编程错误往往难以察觉。可以写出令人费解的代码,写写也无妨,万一比赛能用上呢?

1.3   C语言的应用范围

写操作系统Unix,编写计算机游戏,放入嵌入式系统(内存少对硬件,cpu要求低),机器人工厂,星球大战电影,PC应用,计算机语言,卢卡斯公司……

学习C对我们来说可在以后工作直接使用或者更好的学习其他语言。不一定非得计算机才能使用C语言。C++等虽然面向对象的好语言,但C任然是软件行业中的核心技能。

1.4   计算机能做什么没基础不理解

计算机包括:中央处理单元cpu,随机存取内存ram,永久内存存储设备硬盘,外围设备:键盘,鼠标,触摸屏,监视器……提供人与计算机的交互。

cpu可将内存中的一条一条指令拿到cou中执行,并在内存中生成一些数据存储在硬盘中。

1.5高级计算机语言和编译器

高级语言将零幺串抽象成程序,高级语言写的是高级指令,一堆无法理解的无用数据。

编译器:把高级语言程序翻译成计算机能理解的机器语言指令集的程序。

使用合适的编译器或编译器集,可把一种高级语言程序换成供各种不同类型cpu使用的机器语言程序

1.6   语言标准

C语言比其他语言更依赖库,因此需要一个标准库。由于缺乏官方标准,Unix实现提供的库已成为了标准库。

1.6.1   第一个ANSI/ISO C标准

C89:ANSI于1989年批准该标准      C90:ISO于1990年批准该标准

设置C语言并保持C的精神列了以下几点:

·信任程序员

·不要妨碍程序员做需要做的事

·保持语言精炼简单

·只提供一种方法执行一项操作

·让程序运行更快,即使不能保证其可移植性

1.6.2    C99标准

·国际化:支持国际化编程

·弥补缺陷:调整现有实践致力于解决明显的缺陷

·提高计算的实用性:适应科学和工程项目中的关键数值计算

1.6.3   C11标准

1.7   使用C语言的7个步骤

C是编译型语言,将一篇中文翻译成英文再在广播中读出来

以前的是解释型语言,在广播中翻译一条读一条。

(1).定义程序的目标

(2).设计程序

(3).编写代码

(4).编译

(5).运行程序

(6).测试和调试程序

(7).维护和修改程序

1.7.1   第一步:定义程序的目标

用一般术语来描述问题

1.7.2   第二步:设计程序

如何用程序来完成他

1.7.3   第三步:编写代码

编写源代码,添加注释

举例:

#include <stdio.h>

int main(void)

{

int dogs;

printf("How many dogs do you have?\n");

scanf("%d", &dog);

printf("So you have %d dog(s)!\n", dogs);

return 0;

}

1.7.4   第四步:编译

用编译器来编译源代码,编译器还会检查C语言程序是否有效。

学会理解特定编译器的警告和错误

1.7.5   第五步:运行程序

有些系统要输入可执行文件的文件名,或者运行命令才能运行程序。

1.7.6   第六步:调试和调试程序

测试程序是否正确,调试程序是否在特点编译器中是否有错误。

真钞定理:真钞只有一种,假钞千种万种,我们要达到真钞一种

1.7.7   维护和修改代码

有错或者扩展其用途时要修改代码

1.7.8    说明

磨刀不误砍柴工,先规划再动手,用笔和笔记录下程序的目标和设计框架。

1.8   编程机制

程序员编写的叫源代码有个名字xxx.c基本名+扩展名。

1.8.1   目标代码文件,可执行文件和库

编译器将源代码编译成中间代码,链接器再将中间代码和其他代码最终生成可执行文件最后丢给cpu执行。

中间文件不一定是01机器代码,可以是一些其他我们看不懂的文件格式

编译器把源代码转换为目标代码,目标代码不能直接运行,通过链接器和其他代码推送给cpu才能运行。

目标代码缺失启动代码,启动代码充当房间的门。

目标代码还缺少库函数,库中有许多函数的目标代码。

1.8.6   集成开发环境(windows)

C free编译器

1.11 本章小结

爱上C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值