第三章_变量和表达式.ppt_第1页
第三章_变量和表达式.ppt_第2页
第三章_变量和表达式.ppt_第3页
第三章_变量和表达式.ppt_第4页
第三章_变量和表达式.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章变量和表达式 C 中的变量 在C 中 变量并没有什么新的花样 同样是用来存储数据的 变量的定义 与C语言不同 在C 中 变量在使用之间必须初始化 否则将不能通过编译 简单类型 简单类型 数值类型 其它类型 整型 sbyte byteshort ushortint uintlong ulong 浮点型 floatdoubledecimal charstringbool 其中类型名前的 u 是unsigned的缩写 表示不能在变量中存储负号 如uint等价于C语言中的unsignedint 简单类型与 NETCTS的对应 简单类型与 NETCTS的对应 2 bool类型是用来存储逻辑运算结果的 且只有true和false两值 string类型类似于C语言中的字符串 但比其更好用 更灵活 bool类型的用法 bool类型是用来保存逻辑运算的结果的 intmyVal 9 boolisLessThan10 myVal 10 if isLessThan10 Equals isLessThan10 true Console WriteLine Variable myVal islessthan10 elseConsole WriteLine Variable myVal isgreaterthanorequalto10 Console WriteLine Variable isLessThan10 valueis 0 isLessThan10 Variable myVal islessthan10 Variable isLessThan10 valueis True Unicode字符集 与C语言不同 在C 中 char型变量存储的是以Unicode方式编码的字符 且在C 中 一个char型的变量占用两个字节 可表示65536种不同的字符 这样就可以直接在一个char型变量中存储一个汉字 Unicode是一种国际字符集 可表示多个国家的字符 chartheChineseCharacters 字 Console WriteLine Thechinesecharacters 0 theChineseCharacters Thechinesecharacters 字 简单类型示例 staticvoidMain string args inttheInteger 10 doubletheDouble 3 14159 chartheChar c stringtheString thestring booltheLogic true Console WriteLine Integer 0 nDouble 1 n Char 2 nString 3 n Logical 4 theInteger theDouble theChar theString theLogic 变量的命名 变量名的第一个字符必须是字母 下划线 或 其后的字符可以是字母 下划线或数字 变量名不可以和关键字同名 合法命名 myBigVar VAR1 test myVar非法命名 99BottleOfBeer switch It s All Over 变量命名约定 camelCase 骆驼 命名法变量名中除第一个单词外 其它单词第一个字母大写 如 firstNamebloodGroupuserNamewinneritsMaxNumber 变量命名约定 PascalCase命名法变量名每个单词第一个字母大写 如 FirstNameBloodGroupUserNameWinnerItsMaxNumber 变量命名约定 命名建议局部变量 内部变量使用camelCase命名法给变量起名 重要名称 公共变量 使用PascalCase命名法变量起名 变量命名应能完全 准确的反映该变量所代表的事物的意思 变量命名示例 好的名字能清楚地表达变量所代表的事物 像currentDate和todaysDate就是好的名字 能清楚的表达当前日期这个概念 计算生日还有几个月 不清晰的例子 publicintlmtb intybm intcm intlms if ybm cm lms ybm cm else lms ybm 12 cm returnlms 计算生日还有几个月 清晰的例子 publicintLeftMonthsToBirthday intyourBirthdayMonth intcurrentMonth intleftMonths if yourBirthdayMonth currentMonth leftMonths yourBirthdayMonth currentMonth else leftMonths yourBirthdayMonth 12 currentMonth returnleftMonths 类型转换 使用Convert命令进行类型转换可以使用Convert命令对更多类型的变量进行显示的转换 比如把数字字符串转换成数值类型 或者把字符串 True 或 false 转换成bool值等 Convert命令的用法其中val可以使各种类型的变量 详细信息参照书上78页表5 2如果转换存在错误 则抛出异常并中断程序 Convert To CTS类型名 val 例子 1 输入两个整数 并计算两者的和 差 相除 2 输入两个实数 并输出两个数中的最大值 3 输入一个两位整数 并将其两个位翻转后输出intnum Convert ToInt32 Console ReadLine intleftDigit num 10 intrightDigit num 10 intreverseNum rightDigit 10 leftDigit Console WriteLine reverseNum 例子 作业 A 1 输入一个三位整数 并将其每位依次前移 最高位变为最低位 后输出 字面值 常量值 字面值是指直接以值的形式表示的常量值 通常通过在字面值后加上后缀以说明字面值的类型 转义字符 同C语言相同单引号 双引号 反斜杠 警告 a 换行 n 回车 r 水平制表符 t 转义字符 在字符串前加上 符号 可创建一个verbatim型字符串 编译器会严格按照原样对verbatim字符串进行解释 也就是说 编译器会保留该字符串的换行信息 并取消转义字符 的作用 stringpath1 c Programfiles InternetExplorer iexplore exe 等价于stringpath2 c Programfiles InternetExplorer iexplore exe stringcode staticvoidMain string args System Console WriteLine Samplecode 当需要使用 时 可通过两个 替代 即 运算符 数学运算符例子 ch03Ex02 赋值运算符运算符的优先级 命名空间 命名空间的作用对项目进行分类不同的项目可使用不同的命名空间进行标识 统一进行组织 避免命名冲突通过命名空间的使用 可解决变量命名重名的问题 不同命名空间中可使用相同的名字 不会造成命名冲突 命名空间 NETFramework使用命名空间对框架库进行分类 NETFramework类库 System Data System System Drawing System Net System Web System Media System IO System Xml System Security System Text NETFramework框架库是通过命名空间进行分类组织的 不同模块的功能分别在不同的命名空间中定义 命名空间 命名空间的用法使用关键字 namespace 定义命名空间 namespaceProject classProgram staticvoidMain string args Console WriteLine Hello 定义命名空间Project 命名空间 命名空间中名称的访问使用 号来访问命名空间中的名称 namespaceStudentManagement structStudentInfo classProgram staticvoidMain string args StudentManagement StudentInfosomeBody someBody Name 张三 someBody Sex 男 使用 号访问命名空间中的名字 命名空间的嵌套 命名空间中也可以包含命名空间 namespaceManagement namespaceStudentManagement structStudentInfo 嵌套命名空间的访问方法 类似于文件路径的访问方法 即可使用绝对路径 又可使用相对路径 命名空间的嵌套 嵌套命名空间名称的访问 1 namespaceManagement namespaceStudentManagement structStudentInfo classProgram staticvoidMain StudentManagement StudentInfosomeBody 即可使用相对命名空间访问Student 即StudentManagement Student 也可使用绝对命名空间访问 即Management StudentManagement Student 命名空间的嵌套 嵌套命名空间名称的访问 2 structStudentInfo namespaceManagement structStudentInfo namespaceStudentManagement classProgram staticvoidMain StudentInfosomeBody 在当前命名空间上层的名称可直接访问 编译器将自动查找并使用离当前命名空间层次最近的名称 在此例中 将使用Management Student 命名空间 using语句当命名空间嵌套很深时 可使用using语句来简化对命名空间的访问 using语句可把指定命名空间中的所有名字引入到当前的命名空间中 用法 using 命名空间 using语句使用示例 1 在这里引入命名空间System中的所有名字 以便使用其中 的Console类进行输入输出 usingSystem classProgram staticvoidMain string args Console WriteLine Helloworld 命名空间 using语句使用示例 2 namespaceStudentManagement structStudentInfo 将StudentManagement引入全局名字空间usingStudentManagement classProgram staticvoidMain string args StudentInfosomeBody someBody Name 张三 someBody Sex 男 当名称没有包含在名称空间时 名称将定义在全局名称空间中 命名空间 using语句使用示例 3 namespaceStudentManagement structStudentInfo namespaceMain 将StudentManagement引入Main名字空间usingStudentManagement classProgram staticvoidMain string args StudentInfosomeBody 在这里是无法访问到名字StudentInfo的 命名空间Main中引入了命名空间 SM 中的所有名字 所以可以直接使用该命名空间中的名字 命名空间 命名空间别名考虑如下情况 namespaceStudentManagement structStudentInfo namespaceMain usingStudentManagement structStudentInfo classProgram staticvoidMain string args StudentInfosomeBody 命名空间Main和 SM 中都有StudentInfo 这样会产生名称冲突 无法通过编译 命名空间 命名空间别名为了解决这个问题 引入命名空间别名的概念命名空间别名是用来给指定的命名空间起一个别名 以解名称冲突和简化命名空间的访问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论