潭州教育c语言函数,潭州C语言知识点(2)

本文详细介绍了C语言中整型和实型数据的表示方法,包括十进制、八进制和十六进制整型常量,以及小数和指数形式的实型常量。还涵盖了算术运算符、赋值表达式、自增自减运算和逗号运算符的用法,以及类型转换和运算符优先级。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

2.3 整型数据

整形常量

在C语言程序中,整型常量可以用十进制、八进制和十六进制等形式表示。十进制基本常量用一串连续的数字表示,例如32767、-32768、0等。

八进制数也是用一串连续的数字表示,但其开头必须是数字”0”。例如010、011、016等都是合法的八进制数,与之对应的十进制数为8、9、14。因此,在C程序中不能在一个十进制数前随意添加数字”0”。例如,不能把十进制数1 l写成011。注意:八进制数必须用合法的八进制数字表示。例如,不能写成018,因为数字8不是八进制数字。

十六进制数用数字0和字母X(或大写字母X)开头。例如Ox10、OXde、Oxf等都是合法的十六进制数,与之对应的十进制数分别为16、222、15。注意:十六进制数必须用合法的十六进制数字表示。十六进制数中的字母a、b、e、d、e、f既可以用小写也可以用大写。

在C程序中,只有十进制数可以是负数,而八进制和十六进制数只能是整数。

整型常量又有短整型(short int)、基本整型(int)、长整型(10ng int)和无符号型(unsigned)等不同类型。

整型变量

整型变量可以分为基本型、短整型、长整型和无符号型四种。本节只介绍基本型的整型变量。

整数在内存中的存储形式

计算机中,内存储器的最小存储单位称为”位(bit)”。由于只能存放0或1,因此称为二进制位。大多数计算机把8个二进制位组成一个”字节(byte)”,并给每个字节分配一个地址。若干字节组成一个”字(word)”,用一个”字”来存放一条机器指令或一个数据。一个字含多少个字节随机器的不同而不同。如果一台计算机以两个字节(16个二进制位)来存放一条机器指令,则称此计算机的字长为16位;如果以四个字节(32个二进制位)来存放一条机器指令,则称此计算机的字长为32位。

通常把一个字节中的最右边一位称为最低位,最左边一位称为最高位。对于一个有符号整数,其中最高位(最左边的一位)用来存放整数的符号,称为符号位。若是正整数,最高位放置0;若是负整数,最高位放置1。

2.4 实型数据

实型常量

实型常量又称实数或浮点数。在C语言中可以用两和中形式表示一个实型常量。

一、小数形式

小数形式是由数字和小数点组成的一种实数表示形式,例如1.123、.123、123.、0.0等都是合法的实型常量。注意:小数形式表示的实型常量必须要有小数点。

二、指数形式

这种形式类似数学中的指数形式。在数学中,一个数可以用幂的形式来表示,如2.3026可以表示为0.23026×101、2.3026×100、23.026×10-1等形式。在C语言中,则以”e”或”E”后跟一个整数来表示以10为底的幂数。2.3026可以表示为0.23026E1、2.3026e0、23.026e-1。C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。如e3、.5e3.6、.e3、e等都是非法的指数形式。注意:在字母e或E的前后以及数字之间不得插入空格。

实型变量

C语言中实型变量分为单精度型和双精度型两种,分别用类型名float和double进行定义。

2.5 算术表达式

基本的算术运算符

在C语言中,基本的算术运算符是:+、-、*、/、%,分别为加、减、乘、除、求余运算符。这些运算符需要两个运算对象,称为双目运算符。除求余运算符%外,运算对象可以是整型,也可以是实型。如l+2、1.2*3.2。

求余运算符的运算对象只能是整型。在%运算符左侧的运算数为被除数,右侧的运算数为除数,运算结果是两数相除后所得的余数。当运算数为负数时,所得结果的符号随机器的不同而不同。

“+”和”-”也可用作单目运算符,运算符必须出现在运算数的左边。运算数可为整型,也可为实型。如:-54、+3.9。

运算符的优先级、结合性和算术表达式

在C语言中,常量、变量、函数调用以及按C语言语法规则用运算符把运算数连起来的式子都是合法的表达式。凡是表达式都有一个值,即运算结果。

一、算术运算符的优先级

二、算术运算符和圆括号的结合性

以上所列的运算符中,只有单目运算符“+”和“-”的结合性是从右到左的,其余运算符的结合性都是从左到右。

三、算术表达式

用算术运算符和一对圆括号将运算数(或称操作数)连接起来的、符合C语言语法的表达式称为算术表达式。

强制类型转换表达式

强制类型转换表达式的形式如下:

(类型名)(表达式)

上述形式中,(类型名)称为强制类型转换运算符,利用强制类型转换运算符可以将一个表达式的值转换成指定的类型,这种转换是根据人为要求进行的。例如:表达式(int)3.234把3.234转换成整数3;表达式(double)(10%3)把10%3所得结果l转换成双精度数。

2.6 赋值表达式

赋值运算符和赋值表达式

在c语言中,赋值号”=“是一个运算符,称为赋值运算符。由赋值运算符组成的表达式称为赋值表达式,其形式如下:

变量名=表达式

赋值号的左边必须是一个代表某一存储单元的变量名,对于初学者来说,只要记住赋值号左边必须是变量名即可。赋值号的右边必须是C语言中合法的表达式。赋值运算的功能是先求出右边表达式的值,然后把此值赋给赋值号左边的变量,确切地说,是把数据存入以该变量为标识的存储单元中去。

复合赋值表达式

在赋值运算符之前加上其他运算符可以构成复合赋值运算符。c语言规定可以使用10种复合赋值运算符,其中与算术运算有关的复合赋值运算符有:+=、-=、*=、/=、%=(注意:

两个符号之间不可以有空格)。复合赋值运算符的优先级与赋值运算符的优先级相同。表达式n+=1的运算规则等价于n=n+1,表达式n*=m+3的运算规则等价于n=n*(m+3),因为运算符“+”的优先级高于复合赋值运算“* =”。其他以此类推。

赋值运算中的类型转换

在赋值运算中,只有在赋值号右侧表达式的类型与左侧变量类型完全一致时,赋值操作才能进行。如果赋值运算符两侧的数据类型不一致,在赋值前,系统将自动先把右侧表达式求得的数值按赋值号左边变量的类型进行转换,也可以用强制类型转换的方式人为地进行转换后将值赋给赋值号左边的变量。这种转换仅限于数值数据之问,通常称为”赋值兼容”。对于另外一些数据,例如后面将要讨论的地址值就不能赋给一般的变量,称为”赋值不兼容”。

在这里,特别需要指出的是在进行混合运算时整型数据类型之间的转换问题。

2.7 自加、自减运算符和逗号运算符

自加运算符“++”和自减运算符“--”

(1)自加运算符”++”和自减运算符”- -”的运算结果是使运算对象的值增1或减l。如

i++,相当于i=i+1;i- -,相当于i=i-1。因此,自加或自减运算本身也是一种赋值运算。

(2)运算符”++”和”- -”是单目运算符,运算对象可以是整型变量也可以是实型变量,但不能是常量或表达式,因为不能给常量或表达式赋值。因此,如++3、(i+j)- -等都是不合法的。

(3)用自加或自减运算符构成表达式时,既可以前缀形式出现,也可以后缀形式出现。

(4)运算符”++”和”- -”的结合方向是”自右至左”。

(5)不要在一个表达式中对同一个变量进行多次诸如i++或++i等运算

逗号运算符和逗号表达式

“,”是c语言提供的一种特殊运算符,用逗号将表达式连接起来的式子称为逗号表达式。逗号表达式的一般形式为:

表达式1,表达式2,……,表达式n

说明:

(1)逗号运算符的结合性为从左到右,因此逗号表达式将从左到右进行运算。即,先计算表达式1,然后计算表达式2,依次进行,最后计算表达式n。最后一个表达式的什就是此逗号表达式的值。例如:(i=3,i++,++i,i+5)这个逗号表达式的值是10,i 的值为5。

(2)在所有运算符中,逗号运算符的优先级最低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值