C语言程序设计(第4版)谭浩强著—学习笔记chapter three 顺序程序设计

3.1算法

  1. 一个程序包括两个部分:一是对数据的描述。在程序中要指定数据的类型和组织形式,也就是数据结构
    二是对操作的描述。操作步骤也叫算法。数据是操作的对象,操作的目的是对数据加工处理得到预期的结果。数据结构+算法=面向过程的程序。
  2. 实际上,一个程序除了以上两个主要要素之外,还应当采用适当的程序设计方法(例如对结构化程序设计方法)进行程序设计,并且用某一种计算机语言表示。因此,算法、数据结构、程序设计方法和语言工具4个方面是一个程序设计人员所应具备的知识。算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用合适的方法。算法是解决“做什么”和“怎么做”的问题。程序中的操作语句,实际上就是算法的体现。广义来说,为解决一个问题而采取的方法和步骤都成为算法。
  3. 计算机算法可以分为两大类别,数值运算算法非数值运算算法
  4. 在写程序之前必须想清楚“做什么”和"怎么做”。“做什么”住往是从题目或任务中可设计有愿的设计的。“怎么做”包括两方面的内容,一是要做那些事情才能达到解决问题的目的,二是决定做这些事情的先后次序,这就是“算法”所要解决的问题。
  5. 怎么表示算法?
    用自然语言表示算法
    用流程图表示算法,流程图是用一些图框来表示各种操作,美国国家标准化协会ANSI规定了一些常用的流程图符号已经为世界各国程序工作者普遍采用,用这种流程图比表示算法直观形象易懂但是画图比较繁琐不易修改,现在使用不多了;
    用N-S流程图表示算法,把全部算法写在一个矩形框内,就是由一些基本框组成一个大的框的流程图叫N-S流程图;
    用伪代码表示算法,伪代码是用介于自然语言和计算机语言之间的文字和符号来表示算法。用伪代码写算法并无固定严格的语法规则,只要把意思表达清楚且书写格式清晰易读就可。

3.2程序的三种基本结构

程序的三种基本结构有,顺序结构,选择结构,循环结构。顺序结构是各操作步骤顺序执行的。选择结构又叫做判断结构或分支结构,根据是否满足给定条件从而两组操作中选择一种操作。循环结构又叫做重复结构 ,是在一定条件下反复执行某一部分的操作。用这三种基本结构构成的程序称为结构化程序

C语言提供了实现三种基本结构的语句,如用if让语句可以实现选择结构,用循环语句(for语句,while语句可以实现循环结构。凡是能提供实现三种基本结构的语句的语言,称为结构化语言。显然,C语言属于结构化语言。

一个程序包含一系列的执行语句,每一个语句使计算机完成一种操作。写程序应当遵循一定规律,尽量避免不必要的跳转,最好是使各语句按照从上到下的顺序排列,在执行时也按照从上到下的顺序执行。

3.3C语句综述(未完)

3.4 赋值语句和赋值表达式(未完)

3.5输入输出函数

数据输入输出的概念

  1. 输入输出是程序中最基本的一种操作,因为要运算就必须给出数据,运算结果就当然要输出以应用,没有输出的程序是没有意义的。
  2. 输入输出是以计算机主机为主体的,计算机向输出设备如显示屏打印机等输出数据成为输出,从输入设备如键盘鼠标磁盘向计算机输入数据称为输入
  3. C语言本身不提供输入和输出语句,输入和输出是由C函数库中的函数库实现的。C提供的函数以函数库的形式存放在C编译系统中。
  4. 不把输入输出作为C语言的目的会使C语言编译系统变得简单,因为将语句翻译成二进制是在编译阶段完成的,没有输入输出语句就可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强可移植性好,在各种型号的计算机和不同的编译环境下都能使用,便于在各种计算机上实现。
  5. 如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而在连接阶段与系统函数库连接后,在执行阶段调用函数库中的printf函数。
  6. C语言函数库中有一批“标准输人输出函数”,它是以标准的输入输出设备(一般为终端设备)为输入输出对象的。其中有 putchar(输出字符).、getchar(输人字符), printf(格式输出), scanf(格式输入) , puts(输出字符串) ,gets(输入字符串)。

预编译指令#include

  1. 在使用系统库函数时,应当在程序中使用预编译指令#include。如:#include<stdio.h>。目的是将有关的“头文件”的内容包括到用户源文件中。#include指令都是放在程序的开头,因此这类文件被称为头文件。“stdio.h”头文件包含了与标准IZO库有关的变量定义和宏定义以及对函数的声明。
  2. 在调用标准输人输出库函数时,文件开头应该有以下预编译指令:#include <stdio.h>或#include "stdio.h"其作用是在程序编译时,系统会将”stdio.h"头文件的内容调出来放在此位置.取代本#include行。这样在本程序模块市就可以使用这些内容了。
  3. 用尖括号形式的预编译指令(如<stdio.h>)时,编译系统直接找到C编译系统所在的子目录(C库函数头文件一般都是和C编译系统存放在同一个子目录中的)中去找所要包含的文件(如stdio.h),这种方式称为标准方式
  4. 用双撇号形式(如”stdio.h"),在编译时,系统先在用户当前目录中寻找要包含的文件.若找不到,再按标准方式查找。一般情况下,用户用#include指令是为了使用系统库函数,因此要包含系统提供的相应头文件,所以用标准方式为宜,以提高效率。如果用户想包含的头文件不是系统提供的相应头文件,而是用户自己编写的文件(这种文件一般都存放在用户当前目录中),这时应当用双撇号形式,否则会找不到所需的文件。如果文件不在当前目录中,可以在双撇号中写出文件路径(如井include “C.\temp\filel.h”),以便系统能从中找到所需的文件。

putchar字符输出函数

#include <stdio.h>
//用putchar函数向显示屏输出一个字符 
int main(){
   
	char a,b,c;//定义三个字符变量 
	a='B';b='O';c='Y';
	putchar(a);//向显示屏输出一个字符B 
	putchar('\n'); 
	putchar(b);//向显示屏输出一个字符O
	putchar('\n');
	putchar(c);//向显示屏输出一个字符Y 
	putchar('\n');//向显示屏输出字符一个换行符

	putchar('\101&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值