《c语言与c的区别.pptx》由会员分享,可在线阅读,更多相关《c语言与c的区别.pptx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据类型C#:结构类型布尔类型值类型:浮点类型简单类型整数类型 小数类型 字符类型枚举类型数据类型引用类型:类类型数组类型接口类型委托类型第1页/共34页c:基本整型短整型整型类型长整型双长整型字符型基本类型布尔型单精度浮点型浮点类型双精度浮点型复数浮点型数据类型枚举类型空类型指针类型数组类型结构体类型派生类型共用体类型函数类型第2页/共34页c#:类型分为:值类型、引用类型。值类型直接存放真正的数据值类型直接存放真正的数据 ,值类型都有固定的长度,比如int占用4个字节,值类型的变量保存在堆栈上。作为值类型的变量,每个都有自己的数据,因此对一个变量的操作不会影响其他变量。引用类型存储对数据的
2、内存地址的引用,引用类型存储对数据的内存地址的引用,位于受管制的堆上。堆用于存储可变长度的数据,比如字符串类型。作为引用类型的变量可以引用同一对象;因此对一个变量的操作会影响另一个变量所引用的同一对象。第3页/共34页c#简单类型:整型 int型:32位有符号整数 -21474836482147483647 long型:64位有符号整数 char型:单一的Unicode 字符(16位).sbyte型:8位有符号整数,范围在-128127之间。byte型:16位无符号整数,取值范围在0255之间。short型:16位有符号整数.第4页/共34页 ushort ushort型:1616位无符号整数
3、,取值范围在065,535065,535之间。uint uint型:32 32位无符号整数。ulong ulong型:64 64位无符号整数。不同整型转换原则:小范围类型可以隐式转换为大范围类型,大范围类型转换为小范围类型时要使用显式转换。第5页/共34页c#简单类型:浮点型 float类型:32位浮点数,取值范围在 1.510-45 3.41038之间,精度为7位数 double类型:64位浮点数,取值范围在 5.010-324 1.710308之间,精度为 1516 位数。第6页/共34页c#简单类型:小数型 128位,它所表示的范围从大约1.0 10-28 到 7.9 1028,具有28
4、至29位有效数字。第7页/共34页c#简单类型:布尔型只有两个值true和false 如:bool myBool=false;第8页/共34页c#结构类型 struct 结构名 /结构成员定义 public struct Point int x;int y;string s;第9页/共34页c#enumc#enum类型:枚举型除char外的所有整型均可作为枚举型,如果不指明,则默认为整型。常用形式有:enum days Sun,Mon,Tue,Wed,Thu,Fri,Sat;/第一个成员值默认为0,第二个为1,enum days Mon=1,Tue,Wed,Thu,Fri,Sat,Sun;/第
5、一个成员值从1开始enum days mon=1,wed=3,sun,thu=8;/mon:1,wed:3,sun:4,thu:8第10页/共34页c#c#引用类型 引用类型存储对数据的内存地址的引用,位于受管制的堆上。堆用于存储可变长度的数据,比如字符串类型。作为引用类型的变量可以引用同一对象;因此对一个变量的操作会影响另一个变量所引用的同一对象。引用类型包括:类、接口、数组、委托 等。第11页/共34页c#c#类型之间的转换同种类型之间的转换 位数少的转换为位数多的,可以使用隐式转换;位数多的转换为位数少的,要使用显式转换。不同类型之间的转换 可以使用Convert类()。第12页/共34
6、页c语言数据类型第13页/共34页c语言数据类型及范围类型类型近似大小(位)近似大小(位)最小范围最小范围char8-128 到到 127unsigned80 到到 255signed char8-128 到到 127int16-32,768 到到 32,767unsigned int160 到到 65,535signed int16与与 int 相同相同short int16与与 int 相同相同unsigned short int80 到到 65,535第14页/共34页c语言数据类型及范围类型类型近似大小(位)近似大小(位)最小范围最小范围char8-128 到到 127unsigned
7、80 到到 255signed char8-128 到到 127int16-32,768 到到 32,767unsigned int160 到到 65,535signed int16与与 int 相同相同short int16与与 int 相同相同unsigned short int80 到到 65,535第15页/共34页c语言数据类型转换自动类型转换C语言规定,不同类型的数据在参加运算前会自动转换成相同类型,再进行运算。转换的规则是:如果运算的数据有float型或double型,自动转换成double型再运算,结果为double型。如果运算的数据中无float型或double型,但是有lo
8、ng型,数据自动转换成long型再运算,结果为long型。其余情况为int型。doublefloatlongunsignedintchar,short高低第16页/共34页c语言数据类型转换强制类型转换在C语言中也可以使用强制类型转换符,强迫表达式的值转换为某一特定类型。强制类型转换形式为:(类型)表达式强制类型转换最主要的的用途一是满足一些运算对类型的特殊要求,例如求余运算符“%”,要求运算符两侧的数据为整型,(int)2.5%3二是防止丢失整数除法中的小数部分。第17页/共34页c#与c运算符和表达式的区别算术、关系、逻辑、位、条件、强制、赋值运算符无明显区别c#:1、字符串连接符c:1、
9、逗号运算符2、is运算符2、指针运算符3、sizeof运算符3、求字节数运算符4、new运算符4、成员运算符5、typeof运算符5、下标运算符6、checked和unchecked运算符6、函数调用运算符第18页/共34页c#与c语言表达式区别表达式是由运算符、变量和常量等组成的符号序列。算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式为基本表达式。共同点:1、强制转换2、运算优先级3、运算符结合性4、一元运算符、二元运算符、三元运算符5、自增自减为一元运算符6、标识符不同点:c#不支持从整型到布尔类型的转换第19页/共34页结构化程序的区别c语言:1、顺序结构2、选择结构3、循环
10、结构4、数组5、函数实现模块化程序第20页/共34页ABAB开始结束NS图:A、B为操作框,可由一条或多条语句实现。传统流程图与N-S流程图的区别:传统流程图流程线可向前或向后随意转移;N-S流程图从画法上取消了流程线,杜绝了基本结构之间的转移,提高了算法的可靠性。第21页/共34页 传统流程图 N-S流程图 入口 出口ABP P ABT FT F其中:P为分支判断条件;A、B必有一个且只有一个被执行;A、B之一可是空操作,用 表示。第22页/共34页if 语句的 三种形式单路分支:条件成立执行操作,不成立什么也不做;双路分支:条件成立执行A操作,不成立执行B操作;嵌套分支:条件成立执行A操作
11、,不成立时还需要进 一步进行分支判断。第23页/共34页1.switch的一般形式 switch(表达式)case 常量1:s1;break;case 常量2:s2;break;case 常量n:sn;break;default:sn+1 其中:表达式可是任何形式,但其值应为整型;内嵌语句Sn可是一条语句、复合或空语句;在switch中可以使用break语句跳出switch结构;常量i可是整、字符、符号常量、常量表达式。2.switch的执行流程 首先求解表达式,然后测试其值与哪个case后的常量相等,相等则从该case后的语句开始执行,直到其后的所有内嵌语句执行完毕,退出多分支结构。若表达式
12、的值不与任何常量相等,则执行default后的语句,执行完毕退出。第24页/共34页 当型循环先判断后循环,有可能一次也不循环。入口 F T PA当P为真 A出口其中:P为循环判断条件;A为要重复执行的操作,称为循环体;第25页/共34页v一般形式:while(表达式)语句v其中:表达式表示了循环条件;形式:任何表达式。内嵌语句为循环体;形式:单条、复合、空语句。v执行流程:首先求解表达式并对其值进行逻辑判断,为真执行内嵌语句;之后再次求解表达式并判断,为真再次执行内嵌语句;当表达式值为假时,退出while循环,执行后续语句。第26页/共34页一般形式:一般形式:do do 语句语句 whil
13、e(while(表达式表达式););其中:其中:表达式表示了循环条件;形式:任何表达式。表达式表示了循环条件;形式:任何表达式。内嵌语句为循环体;形式:单条、复合、空语句。内嵌语句为循环体;形式:单条、复合、空语句。执行流程:执行流程:首先执行内嵌语句,之后求解表达式并对其值进逻辑首先执行内嵌语句,之后求解表达式并对其值进逻辑判断,为真再次执行内嵌语句,如此反复,直到表达式判断,为真再次执行内嵌语句,如此反复,直到表达式的值为假退出的值为假退出 do-whiledo-while循环。循环。第27页/共34页v一般形式:for(表达式e1;表达式e2;表达式e3)语句v其中:内嵌语句为循环体;形
14、式:单条、复合、空语句;各表达式可是任何形式的表达式;v通常:表达式e1用于对循环控制变量赋初值;表达式2给出循环控制条件;表达式3使循环控制变量增值。v使用说明:1)for语句三个表达式的作用可理解为:for(循环变量赋初值;循环条件;循环变量增量)语句2)e1、e1、e3均为可选项,它们可分别地或同时被省略。第28页/共34页正确的循环嵌套形式:外循环 内循环 外循环 内循环1 内循环2三重循环一个循环体内又包含一个完整的循环结构,称为循环的嵌套;嵌套的层次可是双一个循环体内又包含一个完整的循环结构,称为循环的嵌套;嵌套的层次可是双重的或多重的。重的或多重的。C C四种形式的循环可以互相嵌
15、套,但绝不能出现交叉现象。四种形式的循环可以互相嵌套,但绝不能出现交叉现象。错误的循环交叉形式:第29页/共34页循环的附加控制,将打破常规的循环机制。1.break语句一般形式:break;功能:用于跳出由while、do-while、for构成的循环结构,或跳出switch构成的多路分支结构。2.continue语句 一般形式:continue;功能:用于由while、do-while、for构成的循环中,跳过本次循环后面尚未执行的语句,提前结束本次循环,并继续循环流程的下一步。第30页/共34页数组一维数组的定义、引用、初始化二维数组的定义、引用、初始化字符组的定义、引用、初始化第31页/共34页c#与c语言的结构化程序不同点c#中新增foreach循环语句foreach(数据类型循环变量in数组或集合)循环体语句或语句块;第32页/共34页EndingStyle第33页/共34页感谢您的欣赏!第34页/共34页