一个简单的C程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断一个数能否被3或5整除 判断一个年份是否是闰年 …….. 通过这几个例子,会发现:在考虑算法时,应当仔细分析所需判断的条件,如何一 步一步缩小被判断的范围;有的问题,判断的先后次序是无所谓的;而有的问题, 判断条件的先后是不能任意颠倒的。
算法的特征: 一个算法应该具有以下特点: (1)有穷性:步骤是有限的,合理的 (2)确定性:算法中的每一个步骤都应当是确定的,而不能含糊:比如:一个 数能被r整除,则余数为0; (3)有零个或多个输入; (4)有一个或多个输出;没有输出的算法是没意义的; (5)有效性:算法中的每一个步骤都应当有效地执行,并得到确定的结果;比 如除数为0则没法执行。
一个简单的C程序
#include <stdio.h> void main() { printf(“hello,world”); } 本程序的输入结果是:hello,world
解读该程序: main()是函数的名字,表示主函数; Void表示此函数是“空类型”,即执行此函数后不产生一个函数值 有的函数执行后会得到一个函数值,比如sin(x); 每一个c语言都必须有一个main函数; 函数体由{}括起来; printf()是c编译系统提供的标准函数库中的输出函数。
怎样表示一个算法: 1 用自然语言表示 2 用流程图表示 3 用N-S流程图表示算法 三种基本结构 (1)顺序结构 (2)选择结构
ห้องสมุดไป่ตู้
(3)循环结构
A
成 立
P
不成立
当p1成立 A A 直到p1成立
B A
B
4 用伪代码表示算法 5 用计算机语言表示算法
找一种通用的表示方法: 可以设两个变量:一个变量代表被乘数,一个代表乘数。不另设变量存放乘积结果, 而直接将每一步骤的乘积放在被乘数变量中。 有了这样的思想,开始设p为被乘数,i为乘数。用循环算法来求结果,可以讲算法改 写如下: S1:使p=1 S2:使i=2 S3:使p*i,乘积仍放在变量p中,可表示为p*i=>p S4:使i的值加1,即i+1 =>I S5:如果i不大于5,返回重新执行步骤3以及步骤4和5,否则算法结束。最后得到的 就是5!的结果。 上面S代表步骤1,2…5,S是step的缩写。这是写算法的习惯用法。 写得再简练一些,如下: S1:1 =>p S2:2 =>i S3:p*i=>p S4:i+1 =>I S5:i<=5,返回S3;否则算法结束。 最后得到的就是5!的结果。
一个c程序的构成: 1 c程序是由函数组成的:一个c源程序至少且仅包含一个main()函数,也 可以包含一个main函数和若干个其他函数。 函数是c程序的基本单位。 函数:可以是库函数(turbo c提供300多个库函数),也可以是用户自己定 义的函数。 2 一个函数由2部分组成 (1)函数的首部,即函数的第一行,包括函数名、函数类型、函数属性、函 数参数、参数类型等 Int max(int x,int,y) Int 函数类型 max 函数名 int 函数参数类型 x 函数参数名 一个函数名后面必须有() Main() 无函数参数 (2)函数体,即函数首部下面的花括号内的部分,如果一个函数内有多个 花括号,则最外层的一对花括号为函数体的范围。 函数体一般包括以下两部分: 声明部分:定义所用到的变量和对所调用函数的声明。 int a;
由程序读函数 为了整洁美观,程序要写得有层次性
#include<stdio.h> void main() { int year,leap; scanf(“%d”,&year); if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; printf(“%d”,y; }
执行部分:由若干个语句组成。
c=a+b; (3)一个c程序总是从main函数开始执行的,而不论main函数在整个 程序中的位置如何; (4)c程序书写格式自由,一行内可以写几个语句,一个语句可以分 写在多行上,c程序没有行号。 (5)每个语句和数据声明的最后必须有一个分号,分号是c语言的必要 组成部分;分号是不可缺少的,即使是程序中最后一个语句要也应包 含分号; (6)c语言本身没有输入输出语句。输入和输出的操作是由库函数 scanf和printf等函数来完成的。 (7)可以用/* */对c程序中的任何部分做注释。一个好的、有使用价值 的源程序都应当加上必要的注释,以增加程序的可读性。
#include<stdio.h> #include<math.h> void main() { int x,y; scanf(“%d”,&x); y=sqrt(x); printf(“%d”,y; }
程序的灵魂---------算法
算法:为解决一个问题而采取的方法和步骤。 方法有优劣之分,步骤的多少 为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择 合适的算法; 计算机算法可分为两大类别: 1 数字运算算法,目的是求数值解; 2 非数值运算算法:包括的面非常广泛,最常见的是用于事物管理领域; 算法举例: 求5! 5!=1*2*3*4*5 常规算法: 步骤1:先求1*2,得到结果2 步骤2:将步骤1的结果再乘3,得到结果6 步骤3:将步骤1的结果再乘4,得到结果24 步骤4:将步骤1的结果再乘5,得到结果120 这样的算法虽然是正确的,但太繁琐,若求1000!,要算999次, 显然是不可取的。