罗泽兵 发表于 2024-4-15 08:46:19

03.第03节课第二章数据的存储与运算

好的同学们,大家好,今天呢,我们来为大家讲一下C语言当中另外一个章节的部分,那么就是我们的数据的存储与运算。那么,什么是数据呢?数据就是我们计算机当中用来表示我们信息的一些含义的符号。那么,这样一些内容。那么,我们来看一下。我们的C语言当中有哪一些这样一些数据类型呢?我们的数据类型有我们的常量。由我们的变量,

那么这样一些部分。常量由我们的整形常量。有实心常量字符,常量字符串,常量和符号常量。比如说我们的1000。一二三四五零负的345,这些都是我们的整形数。比如说正整数负整数零就是我们的整型常量。比如说我们还有实心常量小数形式的一二三点四五六指数形式的一二三点四一三。负三十四点一的。负二三。这是我们的实行常量,另外呢,我们还有字符常量。

那么,字符常量是什么呢?字符常量由我们的普通的英文字符,我们的数字零到九,那么这样一些字符,比如说还有我们一个反斜杠,一个这样一个字符的这样一个字转义字符。那么这些呢,都是我们的字符,还另外呢,还有一些符号的字符。我们的字符常量,比如说有普通字符a小写的a大写的z3问号井号。转义字符反斜杠n,这是一个换行符的这样一个含义,

以及呢,反斜杠零一二反斜杠heb,这些呢,都是我们的字符常量。另外呢,我们还有字符串常量。字符串常量是什么呢?比如说一一一串的这样一个字符组成的这样一个字符串常量,比如说一二三。比如说boy这些呢,都是字符串常量。那么,字符常量和字符串常量有什么区别呢?那么,大家看一下上面这个部分。

字符常量是用我们单引号括起来的,这样一个符号,我们称之为字符常量。而字符串常量呢,是用我们的双引号括起来的部分,我们称之为字符串常量,所以大家要记住我们的字符常量是。使用的是单引号来表示,而我们的字符串常量是用我们的双引号来进行表示,那么所以说这个区别呢,大家。要记住,另外呢,还有我们的符号常量,比如说我们的井号define派三点一四一六。

这里呢,是定义一个符号常量pi那么pi的值呢,就以后呢,在使用到pi的时候。都用我们的三点一四一六来代替我们的pi,比如说我们pi这个符号常量呢,以后就都表示三点一四一六这个值。这个井号define是定义一个宏,这我们这里呢?是一个宏定义定义一个pi这个符号呢?它是表示三点一四一六这个值,那么这是我们符号常量的部分。接下来我们看一下变量。变量呢,代表一个有名字,

具有特定属性的一个存储单元,变量用来存放数据,也就是存放变量的值。在程序运行的期间,变量的值是可以改变的,变量必须先定义后使用,比如说我们看一下这个a和三的这样一个部分。a3呢?a指的是我们变量的变量名,三指的是我们变量的变量值。这样一个框框框的,这样一个部分呢,是指我们变量的这样一个存储单元,它的这样一个存储位置的部分。也就是说,

我们这里的a3,它一个指的是变量名,一个指的是变量值,另外呢,它所在的这样一个位置呢,是它的这样一个存储单元。接下来我们看一下常变量。cast inta=3。这里的定义a为一个整型变量,指定其值为三,而且在变量存在期间,其值呢,不能改变。我们常变量呢,与常量的系同呢,

是常变量具有变量的基本属性,有类型占存储单元。只是不允许改变其值,你可以说常变量是有名字的,不变量而常量呢,是没有名字的不变量。有名字了,就在于在建立在程序中被引用。比如说我们看一下,我们定义一个符号常量define井号define判三点一四一五九二六,这是定义一个符号常量我们定义拍的。这样一个符号呢,它代表三点一四一五九六以后,在用到这样一个派的时候呢,我们都用三点一四一五九六呢。

来进行运用的这样一个部分,那么下面一个定义常变量cost float派等于三零一四一五九二六。这里呢,定义一个常变量,就是我们的bro at派,它是一个浮点型的常变量。它的值呢,是等于三点一四一五九二六。那么,我们的符号常量派和常变量派都代表三点一四一五二九六,在程序中呢,都能使用,但二者的性质不同。定义符号常量呢,用井号define指令,

这是一个预编译指令,它是一个宏定义。它只是用符号常量呢,代表一个字符串,在预编译时呢,仅进行字符替换,在预编译后呢,符号常量就不存在了,全部置换为三点一四一五二九六。最符号常量的名字呢?是不分配存储单元的,而常变量呢?要占用存储单元有变量值,只是该值的不改变而已。从使用角度看,

常变量具有符号常量的优点,而且使用方便,有了常变量后呢,可以不用来使用这个符号常量。也就是说,我们的这样一个常量,它是。没有名字的不变量。而常变量是有名字的不变量。常变量呢,只适用。符号常量来代表一个字,符串。在编译后,符号常量就不存在了,

而常变量呢?要占用我们的存储单元有变量值,那么这是我们常变量与常量的这样一个区别。那么,接下来我们看一下标志符,标志符就是一个对象的名字,用于标识变量。符号常量函数,数组类型等。标识符只能由字母,数字和下划线三种字符组成,且第一个字母开头呢。必须为字母或者下划线,那么这是我们标志符,所以说标志符第一个字符,

它开头必须为字母或下划线。那么,我们变量中区分大小,写字母不能使用关键字作为变量名。变量名字呢?应尽量反映变量在程序中的作用与含义。那么,接下来我们看一下C语言当中的关键字。C语言中的关键字有我们的outbreak kiss char int。那么,还有我们的。cost counting new default do那么这样一些。实现的关键字的部分,那么我们。变量中呢,

不能使用关键字作为我们的变量名。那么,接下来我们看一下数据类型,所谓的类型呢,就是对数据分配存储单元的安排,包括存储单元的长度占多少字节以及呢?数据的存储形式不同的类型,分配的存长度和存储形式这样一个部分。不同的类型分配不同的长度和存储形式,我们看一下我们的数据类型,刚才讲过了,由我们的整形。有字符型。有浮点型。有指针类型,

有数组型,有结构体型,有我们的函数类型。我们的基本类型呢,有我们的整形浮点型,还有另外还有枚举类型,空类型。另外呢,还有我们的派生类型,比如说指针类型,数组类型,结构体类型,函数类型。那么我们看一下基本类型int。它在我们存储单元中呢,

一个整形int占四个字节的存储单元,另外呢,还有短整形,长整形。双长整形字符型,布尔型单精度,浮点型双精度,浮点型和复数型。那么,这样一些类型。那么我们看一下整形数据,它在我们。存储单元中所占的这样一个长度。我们的int。这样一个类型,

它占用的存储单元的一个整形int占据一,占据四个字节的存储空间。我们的一个又拉又散的应酬。一个无符号整形,它占据的是四个字节的存储空间。我们一个short短整型,它占用两个字节的存储空间,一个on side short,一个无符号短整型。占据了两个字节的存储空间,一个long int,一个长整形。占据了四个字节的存储空间。一个outside long int,一个无符号,

长整形占据了四个字节的存储空间,一个long long int,一个长长整形占据了八个字节的存储空间。一个阿塞的long long int占据了八个字节的存储空间。C语言呢,没有规定各种类型数据所占用的存储空间的长度,那么只要求size of short小于等于size of int小于等于size of long小于等于size of long long。具体呢,由各编译系统自行决定,我们这里的这样一个函数size of它是测量类型或变量长度的运算符。也就是这个三个呢,它是对应它括号当中这样一个数据类型,或者说变量长度,它的这样一个长度呢,占多少个存储占占多少个这样一个位置呢?

那么,进行一个测计算,进行一个测量,那么就是我们三种这样一个使用的方式。接下来我们看一下整形数据,整形数据呢?只有整形数据,包括字符型数据可以加s in的或者on sin的修饰符。而我们的实行数据呢,不能加,所以无符号整形数呢,用百分号u的形式输出。这样一个格式百分号u表示,使用无符号者实际指数的格式输出,比如说我们的unsigned short price 50。

我们这里呢,它使用的数据类型呢,是onsite short是定义一个无符号完整型。那么,我们定义了price为无符号,短整型变量,接下来我们进行输出print百分号u反斜杠n。这里的格式控制符呢?百分号u表示用无符号十进制数的格式输出我们的板斜杠n。表示一个换行符的含义,后面的price呢,是使用这样一个变量的值进行一个输出,那么我们看一下。pro print百分号u反斜杠price,这里的含义呢,

就是用无符号十进制数的格式呢。输出我们price这个变量所表示的值的这样一个部分,在这样一个定变量定义为无符号整型数是。不应该向它赋予一个赋值,否则呢,会得到错误的结果,比如说我们定义一个变量一个短整型无符号短整型。on sine的short price=- 1,不能把一个负整数呢存储在无符号变量数中,我们这里呢?是为我们的负一。定义。将它付给了我们的这样一个无符号转整型price。那么,我们再进行输出,

这里的print百分号d反斜杠。百分号d这个格式控制符呢,是表示用整数的方十进制数的方式进行输出。反斜杠n表示,我们的换行符price呢?表示使用price这个变量的值呢?进行一个使用,大家看一下程序运行的结果。它的结果呢,是六五三五,那么我们把一个负整数呢存储在无符号变量中呢,那么可能呢,得到一个不太不正确的这样一个。错误运行的这样一个结果。接下来我们看一下字符型数据AC和字符集呢,

包括字母大小写英文,字母a到z。小写英文字母a到z数字零到九,那么大家这里注意我们的字符零到九,它是我们字符的这样一个部分。我们的数字整数零到九,它是我们整数的这样一个类型,整数的零到九和字符的零到九,它是不一样的,它是有区别的。一个呢,是我们整数的类型的部分,一个呢,是我们字符的这样一个部分是一个符号。还有我们专门的符号29个,

包括我们的感叹号。双引号井号这样一个雨的这样一个符号,还有一个单引号括号,还有星号加号。逗号后面的一直这样一个符号的部分。空格符,空格水平治疗符tab,垂直治疗符,换行换页以及呢,不能显示的字符,空字符,我们空字符呢,是以反斜杠零表示一个空字符。警告以我们的反斜杠a表示,推格以反斜杠b表示回车以反斜杠r表示。

我们的字符一和整数一是不同的概念。字符一呢,只是表示一个形状为一的符号,大家注意我们这里的字符呢是?是用我们的单引号进行表示,刚才我们讲过我们的字符串是用双引号的形式表示。那么,字符呢?在进行输出的时候呢?照原样进行输,在需要的时候呢?照原样输出,在内存中呢?以AC购码的形式。存储只占一个字节,

我们一个字符在我们的计算机当中只占。一个字节。而我们的整数,一是以整数存储方式来存储的,占两个或四个字节。我们整数运算一+1。等于整数二,而字符一加上字符一并不等于整数二,或者说字符二,大家这里呢,要弄清楚我们整数一。整数的这样一一个和我们整数数字和我们字符的这样一个数字的这样一个区别。接下来我们再看一下字符变量。字符变量呢,是用类型符恰定义字符变量,

比如说我们定义定义一个字符变量c。下c等于问号,这里呢,是将我们的c定义为字符型变量,并将问号呢,这个赋予给它赋予赋初值问号。问号的a co代码是63系统的,把整数63赋给c,那么我们再看一下它的输出的情况。printf百分号d百分号c反斜杠ncc。这里的前一个格式控制符呢,是用百分号d来表示的,它表示用十进制方式呢。输出我们的这样一个c的值,后面的这样一个格式控制符是用百分号c来表示的,

它是表示用字符的方式输出c的值,那么我们看一下这个。这个程序运行的结果,它是一个是63,一个是百分,一个是问号,也就是说我们以百分号的形d的形式来输出我们的字符呢?是输出它的这样一个AC扣码的,这样一个整数的,这样一个数值部分,那么以字符方式输出呢?是以我们输出字符的方式呢?进行表示。那么,接下来我们再看一下浮点型数据,

比如说三点一四一五九,那么就等于了三点一四一五九×10的零次方。等于零点三一四一五九×10的一次方等于314乘以一一点五九×10的负二次方。由于小数点的位置可以移动,所以实数的整数形式呢?称为浮点数,浮点数类型呢?包括float单机做浮点型。double双精度浮点型non double长双精度浮点型,大家看一下我们这样一个数的,这样一个类型。前面呢,是一个正号表示,我们的负数小数部分呢,是点三点一四一五九,

那么这是我们的小数部分。指数部分是一,它表示十的一次方,那么我们的正号点三一四一五九十的一次方呢?那么就表示的这样一个小表示的这样一个实实数呢?是我们三点一四一五九由于二进制形式呢?表示一个实数以及存储单元的长度是有限的。因此,不可能得到完全精确的值,只能存储有限的精确度,小数部分占的位越多数的有效确实越多,精度也就越高。指数部分占的位数越多,则能表示的数的范围越大。我们来看一下实行数据,

它的类型与占的这样一个存储空间和它表示的范围的部分float浮点型数据。它占了四个字节的存储空间,数值的范围呢?是零以及一点二十一十的负38次方到三点四十一十的38次方。double双精度型,它占了八字节的存储空间,它的数的范围呢?是零以及二点三×10的负308次方。到一点七×10的308次方,我们的long double它占八字节的时候呢,表示的范围是零以及呢二点三×10的负308次方到一点七×10的308次方。我它表它是在16字节的,这样一个时候呢,它表示的数呢是零以及三点四到十的负4932次方到一点一×10的三四千三百九十二次方这样一个这样一个。范围我们常量的类型有我们的字符,

常量整型常量以及呢浮点型常量。从常量的类型的表示形式啊,既可以判断其类型不带小数点的数值呢,是整型数据整型常量。但是呢,应该注意其有效范围,在一个整数的末尾加大写字母l或小写字母l,表示它是长整形。凡以小数形式或指数形式出现的实数呢,均是浮点型常量在内存中呢,都以指数形式存储。c编译系统呢,把浮点型常量呢,都按双精度处理,分配八个字节。

那么我们看一下我们的运算符的部分,我们的运算符由算术运算符。以及呢,关系运算符,逻辑运算符,位运算符,赋值运算符。条件运算符,逗号运算符,指针运算符,求地址数运算符,强制类型转换运算符。成员运算符,下标运算符,还有其他的,

比如说函数调用算术运算符,这样一些部分,那么我们看一下常用的算术运算符,比如说正号运算符,它是一个单步运算符,比如说正a。它表示的是a的值负号负号运算符,它是一个单独运算符,比如说负a,它表示a的算术负值。还有我们的星号表示,我们的乘法运算符a×b表示a×a和b的乘积。还有我们的斜杠表示了除法运算符a。除以b表示a÷b的商。百分号,

它是我们的求余运算符a百分号b表示我们的a模BA模b呢表示a÷b的余数。以及我们的加号加法,运算符a+b呢?表示a+b的和减号减法,运算符a-b表示了a和b的差。两个实数相除的结果呢,是双精度实数,两个整数的相除的结果为实数,百分号运算符呢,要求参与的运算对象呢。都是整数运算,结果呢?也是整数,那么接下来我们再看一下我们的自增自减运算符。比如说我们的加加爱减减爱,

它是什么样的含义呢?我们的加加爱减减爱,把这个加加。和减减写在了我们的这样一个变量的前面,它的含义呢,是在使用这个变量之前。把这个变量的值呢,先自增一或者先减自减一再。再来使用这个变化后的这样一个值的部值变变化后的这样一个值,那么也就是说加加I和减减I是在使用I之前先使I的值加一或者减一。那么爱加加和爱减减又是什么呢?当把我把我们的加加和减减写在我们变量之后呢?表示是在我们使用了这个变量的值之后,再将我们变量的值呢自增一,或者说再自减一。

也就是说,我们的I加加和I减减是在使用I之后使I的值的加一,或者说减一。也就是说,加加I是先执行I+1赋给I,再使用I的值,而I加加是先使用I的值,再执行I=I+1。我们来看一下这个语句,首先看一下左边的部分inti=3 g分号。j等于加加I这里呢,是定义两个整型变量ig,并让I的初值呢等于三。我们这里呢,第二个语句I=j=I加加加I,

我们这里呢,是先将I的值呢,自增一把I的值呢,变成四。再赋给g,这个时候g的值呢等于四,那么我们再看下面的这个语句in tgi=3 g分号g等于加加二分号。这里的定义两个整型变量,一个I等于三一个g。g等于加加I,这里表示先将I的值等于三赋给g再进行I自增一的这样一个运算,再让I的值呢变成四。这是我们I加加加I和。I加加的部分,那么我们再看右边的这个语句inti=3定义一个整形变量I=3 printf百分号d加加I。

这里呢是?定义了一个整型变量I=3,我们printf加加I。是先将I的值自增一,再使用我们I的值这样一个部分,那么输出的部分呢?就是我们四这样一个值下面的语句inti=3。printf百分号di加加,这里呢,是先进行使用I的值等于三。进行输出之后呢,再将I的值自增一,那么这是我们I加加的部分。接下来我们看一下强制类型。转换运算符,

它的方式呢?是前面一个括号,里面写上类型名,后面写上表达式。比如说我们的double a double呢,有个括号,这里呢是将a转换成为double型。那么,接下来in tx+y这里呢?是先计算先加x的加y的值呢?转换成我们的int型,那么接下来float 500分号三就是将a5模三的值呢?转换成我们的浮点型float型。那么,接下来int括号x+y这里只将x转化为整型,

然后呢?与y相加啊,比如说我们的inta float xy double BA=in tx。我们进行强制类型运算in tx后呢,得到一个int型的临时值,它的值呢等于x的整数部分。把它赋给a我们x的值和类型都会变化,仍然呢,是我们的浮点型float型。该临时值呢?在负值后呢?就不再存在。接下来我们看一下我们算法的部分。我们C语言呢,注重的是我们算法的这样一个描写和我们程序的这样一个编写的这样一个运用部分。

我们数值运算的目的呢?往往呢,是求数值解。由于数值运算呢,往往有现成的模型可以用数字分析方法。因此呢,对数值运算的算法研究呢,比较深入,算法比较成熟,而我们的非数值运算计算机呢,在非数值运算方面的应用呢?超过在数值运算方面的要求,非数值运算的种类繁多,要求各异,需要使用者参考已有的类似算法,

重新设计解决特定问题的专门算法。比如说我们看一下简单的算法举例,求一神二神三神四神五,我们的这样一个算法步骤呢?诶,我们看一下左边的这样一个算法步骤,先求一省二得到结果,二将步骤一。得到的乘积二呢,再乘以三得到结果六第三步,再将s6×4得到24第五第四步,再将六二十四。乘以五得到120,我们来看一下算法的步骤,第一步。

另p=1或写成一。等于箭头p表示将一呢存放在变量p中,第二步定I=2或者写成二等于箭头I。表示了将二存在变量I中第三步。使p与I相乘,乘积呢,仍放在变量p中,表示为p×I。等号间隔p这是呢,表示呢,将p×I的值呢存放在p中第四步,使I的值呢加一,即我们的I+1呢。存放在我们的爱中。第五步进行判断,

如果I不大于五返回,重新执行s3以及后面的步骤s4s5,否则算法结束。最后得到的值呢p的值呢,就是我们五的阶乘的值。这是我们若题目呢,改成一×3×5×7×9×11的这样一个。学习呀,这样的这样一个使用部分,我们来看一下。它的这样一个算法。它改成这样一个部分呢,就首先令p=1或写成一等于箭头p,表示了将已存在变量p中。第二步令I=3或写成三等于箭头。

I表示。将我们的三呢?存放在我们的变量I中。另外呢?使p与I相乘,乘积呢,仍放在变量p中,可表示为p×I等号箭头。p表示。把我们p×I的值呢,放在我们的p中,第四步是I的值加二,比如说I+2呢,放在我们的I中。第五步,

若I小于等于11返回s3,否则结束。若a。或者I。大于11结束这样一个。程序运行的方法,用这种方法表示的算法呢,就一般的性,通用性问题和灵活性的这样一个部分。


页: [1]
查看完整版本: 03.第03节课第二章数据的存储与运算