c语言如何自动保存系统时间间隔,C语言概述 (自动保存的).doc

C语言概述 (自动保存的).doc

C语言汇编C语言概述

软件=程序+各种文档

程序:一系列有序的指令集合。

程序=算法+数据结构+语种+……

算法:解决问题的思路。

算法具有五大特性:有效性(可行性)、确定性、有穷性、零个或多个输入、一个或多个输出。

1、程序的灵魂——算法

如同写命题作文前,要“先审题、再构思、最后成文”一样,编制一个应用程序,也应该“先弄清楚问题所在,再想好解决问题的办法(即操作方法、步骤),最后用某一计算机语言编写代码”。写作文的难点是“构思”,编程序的难点在于“想到解决问题的办法”,而“解决问题的办法”就是“算法”的通俗说法。

广义而言,算法就是解决问题或处理事情的方法和步骤。

狭义而言,算法专指用计算机解决某一问题的方法和操作步骤。

可见,“算法”是程序的核心。著名计算机科学家沃思(Nikiklaus Wirth)就提出过一个公式:程序=算法+数据结构。所谓“数据结构”通俗地说就是“数据间的组织关系”, “数据结构”的重要性,到“数组”那一章会体会得多一点。

计算机算法可以分为两大类:一类是数值计算算法,主要是解决一般数学解析方法难以处理的一些数学问题,如求解超越方程的根、求定积分、解微分方程等;另一类是非数值计算算法,如对非数值信息的排序、查找等。

2、算法的三种基本结构

1966年,Bohra和Jacopini提出了用以下三种基本结构作为表示一个良好算法的基本单元。

(1)顺序结构。

(2)选择结构(又称分支结构)。选择结构有三种形式:单分支、双分支和多分支。

(3)循环结构(又称重复结构)。循环结构有两种常见形式:当型循环,“先判断、后执行”;直到型循环,“先执行、后判断”。

理论上已经证明,无论多么复杂的问题,其算法都可表示为这三种基本结构的组合。依照结构化的算法编写的程序或程序单元(如过程),其结构清晰、易于理解、易于验证其正确性,也易于查错和排错。这就是所谓的“结构化程序设计方法”。

3、描述算法的方法

(1)自然语言

(2)伪代码

(3)流程图或N-S图

算法是程序的核心,在初学者对C还不熟悉的前提下,如何给予算法提示呢?即使日后对C非常熟悉了,遇到较难的算法,也需要事先描述出算法后,再编写代码。描述算法的常用方法有:自然语言、传统流程图、N-S结构化流程图、伪代码等。其中,最常用又简洁明了的是传统流程图和N-S结构化流程图。

(1)传统流程图

用以上图形符号描述的三种基本结构:

(a)顺序结构 (b)双分支结构 (c)单分支结构

由流程图可以发现,三种标准基本结构的共同特点是:

1.只有单一的入口和单一的出口;

② 结构中的每个部分都有执行到的可能;

③ 结构内不存在永不终止的死循环。

由流程图还可以发现,图形清晰明了,容易理解,适合初学者使用;但图中箭头多,算法复杂时,图形占的篇幅也大……

(2)N-S结构化流程图

1973年美国学者Nassi和Shneiderman提出了一种新的流程图方式。这种形式将全部算法写在一个矩形框内,大框内包含从属的小框。下图给出了三种基本结构的N-S图。完全去掉了传统流程图中的箭头。

顺序结构 双分支选择结构 当型循环结构 直到型循环结构

三种基本结构的N-S图

一、C语言的特点(面向过程)

二、程序设计思想

“自上而下、逐步细化”的模块化 ,C语言适合结构化程序设计的语种,

有三种结构:顺序、选择、循环(选择即分支、循环即重复)

三、C语言字符集

1. 52个英文字母(严格区分大小写)

2. 符号:

① ; ② , ③ = 赋值号 ④ +和-等 ⑤ 空格 ⑥ ! ⑦ & ⑧ % ⑨ *和/ ⑩ | ……

3. 标识符

(1)关键字

(2)标准标识符(系统函数名):比如printf

(3)用户自定义标识符:只能含有字母、下划线、数字字符,且第一个字符必须是字母或下划线。不能与关键字同名!

【建议】自己定义标识符时,尽量注意:“望文生义”、“简洁明了”、“符合习惯”。

4. 语句(总是以分号结束,复合语句除外)

(1)说明语句或定义语句

(2)空语句(只有一个;)

(3)表达式语句(最重要的是赋值语句)

(4)函数调用语句(比如printf语句)

(5)控制语句

(6)用{}将若干语句括起来,就构成一个复合语句

四、C源程序的构成

1个C语言源程序(.c)=1个主函数[ +若干子函数]

main( )

{定义说明部分

执行语句部分}

数据类型、运算符和表达式

一、数据类型

对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。

二、常量(书面常量、符号常量)

1、整型常量

例如:

5、32767、-12(普通整数,占2B)

0L、600

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值