c语言的程序灵魂是什么,C语言 第二章 程序的灵魂--算法

《C语言 第二章 程序的灵魂--算法》由会员分享,可在线阅读,更多相关《C语言 第二章 程序的灵魂--算法(39页珍藏版)》请在人人文库网上搜索。

1、第二章 程序的灵魂-算法,什么是程序? 计算机是机器-在求解某一问题时-需要有相应程序-程序是用计算机能够识别的语言表示出的如何求解问题的一段“文章”-因为没有程序的计算机是不知如何求解问题的。,那如何写出程序呢? 一是:学习掌握计算机能够识别的语言 二是:求解问题的方法步骤-算法 三是:将两者的结合,即用计算机语言将求解问题的方法步骤表达出来即写出程序。 程序是用计算机语言表达的算法。 程序设计首先要进行的是算法设计,2.1 算法的概念 算法就是求解问题的方法步骤。算法从时间和空间两个方面有不同的性质。 同一个问题有不同的算法,所以评价一个算法就有优劣之分。 如:1+2+3+100 时间性、。

2、可读性等,2.2 算法举例 例1:求1*2*n即n! S1:使p=1 S2:使i=2 S3:给定n的值 S4:使p*i,将乘积存入p,表示为p*i=i S5:使i的值增加1,即i+1=i S6:如果i不大于n,返回重新执行步骤S4,以及其后的S5和S6,最后得到p的即是n!的值. S7:打印p,即是程序运行结果,例2:求1+1/2+1/3+1/100 如果题目变为: 1-1/2+1/3-1/100,2.3 算法特性 1、有穷性 2、确定性 3、有效性 4、0或多个输入 5、1或多个输出,2.4 算法表示 1、用自然语言 2、用流程图 3、用伪代码 4、用计算机语言 作业: P37 2.2 2.。

3、4(1)、(3)、(8),第三章 数据类型、运算符与表达式,3.1 C数据类型 一个程序应包括两个方面的内容 1、对处理数据的描述(数据结构) 2、对处理数据的操作(算法描述) Wirth提出的公式: 程序=数据结构+算法 C提供的数据结构是以数据类型形式出现的,由于算法千变万化,程序要处理的数据(对象)也是多种多样,在程序设计语言中就将数据处分为不同的类型,如数值型(int、float等)、非数值型(char等)不同类型数据在内存的存贮方式上、运算方式上都是不同的。所以在对处理方法描述之前,要对处理过程中涉及到的数据进行类型说明。 对各种类型的数据,有两种存在形式即:常量和变量。,C程序要处。

4、理的各种数据 一、有类型之分,所以要进行类型说明,其作用有二,一是知其存贮方法,二是知其运算方式。 二、无论何种类型数据,在程序中都有两种出现形式,即常量和变量,3.2 常量与变量 3.2.1常量和符号常量 常量定义 常量类型:-3,4.6,a 常量的形式:以常量形式直接出现; 符号常量:#define PRICE 35 程序中出现35处可以常量名(符号) PRICE形式出现。符号常量名用大写,变量名用小写。,3.2.2 变量 其值可以改变的量称为变量。变量要有一个名字。变量名和变量值的区别。 用来标记变量名、符号常量名、函数名、数组名、文件名和有效字符序列称为标识符。 C语言规定标识符只能由。

5、字母、数字和下划线三种字符组成。且第一个字符必须是字母或下划线,长度的规定 合法名、大小写被认为是不同的字符。,在C语言中,要求对所有用到的变量作强制定义,也就是“先定义、后使用” 其意义有三: 1、保证变量名使用正确 2、根据类型分配存贮单元 3、根据类型判断其运算是否合法,3.3 整型数据 3.3.1 整形常量 整形常量即整形数。有三种形式: 1、十进制形式 如123 2、八进制形式 以0开头,如0123 3、十六进制形式 以0 x开头,如0 x123 3.3.2 整型变量 一、整型变量的分类 1、基本型,以int表示(integer),2、短整型,以short int表示,或short表。

6、示 3、长整型,以long int表示,或long表示 4、无符号型,又分无符号整形、短整型和长整型,分别以unsigned int、 unsigned short和unsigned long表示 C规定各类数据所占字节数。 二、整型变量的定义 int a,b; unsigned short c,d; long e,f;,三、整型常量的类型 整型常量与整型变量之间的匹配关系 四、整型量的运算 进行各种类型的算术运算 3.4 实型数据 3.4.1实形常量 实数在C中又称浮点数。实数有两种形式: 1、十进制数形式:它由数字和小数点组成(必须有小数点)。,如12.9,34.0或34. 2、指数形式:。

7、123e3或123E3。注意的是E(或e)之前必须有数字且E后面指数必须是整数。 3.4.2 实形变量 实型变量分类与类型说明 分为两类:单精度(float)和双精度(double) 类型说明语句: float x,y; double z;,在一般的系统中,一个float型数据在内存中占32位,一个double型数据在内存中占64位. 数据的范围和精度、实型常量不分float和double 实型量的运算 3.5 字符型数据 3.5.1字符常量 C的字符常量有两种形式: 1、C的字符常量是用单引号(即撇号)括起来的一个字符。如A,a等,2、特殊形式的字符常量,就是以开头的字符序列。如n代表一个“。

8、换行”符。因为有些非显示字符难以用一般形式的字符表示,故规定用这种特殊形式表示。 以开头的特殊字符见表,“转义字符” 自己看例2.3 3.5.2 字符变量 字符变量用来存放字符常量。只能放一个字符。字符变量的定义: char c1,c2;,一个字符变量占用一个字节的内存空间。 3.5.3 字符数据在内存中的存储形式及其使用方法 字符是以ASCII形式放在内存单元中的。由于它在存储形式上与整数存贮形式相类似。C就使char数据与int数据可以通用。 例2.4 main() char c1,c2; c1=97;c2=98; printf(“%c %c”, c1,c2); 其中:“%c”是输出字符的。

9、格式符,例2.5 main() int i; char c; i=a; c=97; printf(“%c %d”, c,c); 程序执行的输出结果,3.5.4 字符串常量 字符串常量是一对双括号括起来的字符序列。如:“How do you do.”,“CHINA”等。 可以输出一个字符串,如: printf(“How do you do.”); 要注意的是:“A”与A不同。 在C中没有专门的字符串变量,需要用字符数组。,3.6 变量赋初值 程序中需要对一些变量预先设置初值。C中可在定义变量时同时使变量初值化。 如: int a=4; float h=3.567; char c=a; 它等同于:。

10、 int a; a=4;,3.7 各类数值型数据间的混合运算 数值型是整型与实型的总称。 各类int、float和double数据可以混合运算。由于char与int型通用,因此,int、float、double与char间可以混合运算。 例如: 10+a+1.5-8.68* b 是合法的。 但:在运算前,计算机要将不同类型的数据先转换成同一类型,然后进行运算。 转换规则是:,类型数据总结 一、常量和变量 常量的形式、标识符 二、变量 1、定义(说明) 2、内存中的存贮形式、导致数据范围(精度) 3、int与char异同点 三、不同类型的数据运算方式不同,3.8 算术运算符和算术表达式 3.8.。

11、1 C运算符简介 C运算符范围很宽,除了控制语句和输入输出以外的几乎所有操作都作为运算符处理。分为下面几类: 1、算术运算符 2、关系运算符! 3、逻辑运算符 ! int i; x=3.6; i=(int)x printf(“x=%f,i=%d”,x,i); ,从上可知:有两种类型转换,一种是运算时不必用户指定,而由系统按规则自动进行类型转换;另一种是强制类型转换。 四、自增、自减运算符 该运算符的作用是使变量值增1或减1,如: +i,-i 是一种形 i+,i- 式的表达式 粗看, +i和 i+都相当于i=i+1,但有不同之处,表达式的值什么,i的值是多少,如i=2,则+i表达式的值为3,i值。

12、也为3; 而i+表达式的值为2,i值却为3 注意: (1)自增自减运算符的运算对象只能是变量,不能是常量或表达式。如5+或 +(a+b)都是不合法的。 (2)+和-的结合方向是“自右至左”。如:-i+,相当于-(i+) 五、有关表达式使用中的问题说明 1、表达式中包含自加或自减时的理解,如:若i=3 (i+)+ (i+)+ (i+)=? i=? (+i)+ (+i)+ (+i)=? i=? 2、表达式的理解问题 问题一:i+j 编译系统将其理解为(i+)+j还是i+(+j)呢? 问题二: main() int i=3; printf(%d %dn,i,i+);,3.9 赋值运算符与赋值表达式 。

13、一、赋值符号“=”的作用,将一个数据赋给一个变量。如:c=k; 二、对赋值运算符两侧的类型不一致时,类型转移问题。 例: main() unsigned a;int b=-1; a=b;printf(“%u”,a); 注:这部分内容理解有一个前提。,三、复合的赋值运算符 在赋值号之前加上其它运算符,构成复合运算符。 如:a+=3 理解为 a=a+3 x*=y+8 理解为 x=x*(y+8) ? 四、赋值表达式 赋值运算符将一个变量和一个表达式连接起来的式子,一般形式为 注意:,(1)赋值运算符有两种 (2)赋值表达式作用有二。一是使变量得值;二是使“赋值表达式”得值。 将赋值表达式做为表达式的一种 main() int a,b; a=1; b=a+=3; a-=a+=a*a; printf(%d %dn,a,b);,3.10 逗号运算符与逗号表达式 逗号表达式的一般形式 表达式1,表达式2 如:3+5,6+8 a=3*5,a*4 逗号表达式求值过程是:先求表达式1的值,再求表达式2的值。整个逗号表达式的值是表达式2的值。 式1:x=(a=3,6*a) 式2: x=a=3,6*a,重点内容 1、数据类型,为什么要进行类型说明? 2、变量及变量名、标识符 3、表达式概念(算术、赋值和逗号)、表达式求值、运算符优先级、运算符的结合性 习题 3.2, 3.10 ,3.12。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值