俄罗斯方块授课笔记.docx

上传人:文*** 文档编号:68234690 上传时间:2022-12-27 格式:DOCX 页数:12 大小:17.46KB
返回 下载 相关 举报
俄罗斯方块授课笔记.docx_第1页
第1页 / 共12页
俄罗斯方块授课笔记.docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《俄罗斯方块授课笔记.docx》由会员分享,可在线阅读,更多相关《俄罗斯方块授课笔记.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、俄罗斯方块授课笔记1 . unix/l i nux操作系统历史Unix:最早由 KenThompson Denn i sR i tch i e 和 Doug I asMc I I roy 于 1969年在AT&T的贝尔实验室开发出来,V1-V6免费,以后商业。Linux:免费的、自由传播的,基于UNIX发展而来,1991年I inus Torvalds根据Minix改出了最初的I inux (具备现代UNIX系统所具 备的全部特征:多任务、虚拟内存、共享库、优秀内存管理机制. )。Linux遵守GNU项目,普通用户可以从网上获取,并可以修改其 源代码,这是别的操作系统根本无法做到的,也正是基于

2、这一点,全 世界无数的程序员都能参与到I inux操作系统的修改维护中,这也使 得I inux吸收无数程序员的精华,不断壮大。GNU项目:始于1984年,旨在开发一个类似UNIX,并且是自由软 件的操作系统,宗旨是自由、免费。2 .优点技术角度远远优于windows, Linux,这个号称“全地球人的操作 系统”,以其免费、安全、稳定等优点获得人们的广泛好评!下面就 列出几点I inux相对于Windows的优势。1 )合法升级到最新版本却不需要花一分钱。(windows或者apple 合法升级是需要掏钱的,windows与Linux比较差别大吧!)2)同一个硬件平台上最新的操作系统却比老的更

3、快。(如果在一硬件平台上运行xp比较卡的话,那运行是windows:不可能的,而I inux却相反,Linux与windows相比大大不同)。3) 一个命令就可以安装几十个程序。windows与Linux有得比吗?4)让系统自动为用户所安装的软件更新。5)可以裸奔(无需杀毒软件,反广告/间谍防护软件),甚至可以 数月不用重启机器,因为它具有独特的内存管理方式。(大家可以想 一下如果windows下裸奔会是怎样的后果;windows如果很长一段时间 不关机或是重启,那么它运行肯定不会有刚开机时那么流畅),所以 说安全上L i nux与w i ndows比较没意思。3 .它能干什么?Unix, l

4、inux最初开发出来并非面向终端用户,而是作为服务器 (邮件、web、ftp、数据库.)使用的,所以操作起来相对比较困 难,不容易入门。另外linux可以作为开发平台使用,我们可以不用花费一分钱, 搭建起来一个完整的开发平台,软件开源。4 .系统基本构成内核:最核心、最困难,所有与硬件相关的操作都有它完成。Shell:提供用户和内核之间的命令交互。文件系统:抽象的概念,有效管理磁盘文件。应用软件:5 .内核操作硬件设备、管理内存和进程;控制系统软件、系统工具和计算机硬件的交互;管理交换空间、精灵程序、文件系统和其他功能。注意:内核没有提供与用户的交互方式。swap space:交换空间(win

5、dows虚拟内存),工作原理,硬件物理 内存大小是有限的,但当计算机上运行的进程较多时,物理内存是不 够用的(例如Oracle数据库运行起来512兆),内存在使用时被分配 为很多的块,在同一时间点并不是所有的块都再使用,内核就将当前 oracle不适用的内存块分配给其他进程,但当前块里面的数据不能 直接丢弃,所以保存到硬盘上开辟的块上,即交换空间上,这也就是 页面的换入换出。(交换分区一般1-2倍内存大小,操作系统自动划 分)。6 . Shel I内核操作计算机硬件实现功能,归根到底是通过高低电平的调度 实现,用户是不可能通过这种方式同内核打交道去操作硬件的。所以linux操作系统提供一个软件

6、去帮助用户和内核交互,即 shel I,我们可以把它理解为命令解释器(桥梁作用)o历史上常用的的shel I有以下四种:Bourne She I I :最早最著名的 she I I ; shC Shel I:历史上曾经最广泛使用,命令行历史、类似C语言编程语法;但是和sh不兼容。作者是B i I I Joy, Sun公司的创始人, 也是vi的作者。Korn She I I :集合了 sh和csh的优点,与sh兼容。Bash:继承以上she I I优点,I i nux系统默认的shel I,命令行历史、命令行编辑、命令自动补全、别名扩展。7 .文件系统是一种包含了目录、子目录和文件的层次结构,用

7、来实现特定的 功能(方便有效的存储数据)。路径名:用来标识特定文件或目录的唯一标识。W i ndows: D:TYUTC+. pptD:TYUTiot1403_linuxLinux:绝对路径,从/根目录开始,/home/ubuntu/cI ass相对路径,相对于当前所在的目录,class/TYUT/a. txtLinux文件系统层次结构:/:根目录,类似于windows中“我的电脑”。opt:第三方应用软件(非操作系统自带),系统补丁;etc:系统配置文件,例如用户名密码等信息;dev:设备文件,例如摄像头、键盘、鼠标.;usr:操作系统自带的,对所有用户通用的软件;kerna I (boot

8、):内核源代码程序;var:变量、系统日志文件,一般是管理员操作;export (home):放各个用户专有目录;8 .命令行格式命令选项s参数s参数:是操作的对象 选项:控制具体实现的功能;不同部分用空格隔开;一行命令要少于256个字符;大小写区分;不同的Shell,命令提示符不一样。Ctrl+shift+:调节字体变大Ctrl +:字体变小Ctrl + Shift + T :在原有终端基础上,创建新终端Alt+1.2. 3:不同终端之间切换Is命令:Is -选项文件名查看文件相关信息Is -选项目录查看目录本身或目录内部文件内容linux应用程序编译过程一个项目,.h头文件 .c文件编译器

9、编译项目文件最终生成一个可执行程序。hello.c数据类型1 .基本数据类型整形:char short i nt long s i zeof (类型名 | 变量)浮点型:float doubIe Iong doubIe以上所有类型都可以分为有符号signed和无符号unsigned,其 中char类型默认到底是有符号还是无符号由编译器决定,其他都默 认为有符号类型。2 .数据类型取值范围以上数据类型占多少字节,C语言标准并没有特殊规定,只是规 定:int类型至少和short 一样长,而long类型至少和int 一样长。doub I e 至少和 f I oat 一样长,I ong doub I

10、e 至少和 doub I e 一样长。课堂练习:通过累加的方式,求int类型数据的最大值src/i nt_max. c。3 .整形的二进制形式原码:将一个整数,转换成二进制,就是其原码。如单字节的5 的原码为:0000 0101; -5的原码为1000 0101o反码:正数的反码就是其原码;负数的反码是将原码中,除符号 位以外,每一位取反。如单字节的5的反码为:0000 0101; -5的原 码为 1111 1010c补码:正数的补码就是其原码;负数的反码+1就是补码。如单字 节的5的补码为:0000 0101; -5的补码为1111 lOllo4 .变量的声明与定义标识符的概念:用来标识变量

11、、符号常量、函数、数组、类型等 实体名字的有效字符序列称为标识符(identifier)。简单地说,标识符 就是一个名字。变量名是标识符的一种,变量的名字必须遵循标识符 的命名规则。标识符命名规则:由字母、数字和下划线3种字符组成,且第一 个字符必须为字母或下划线。具体长度,C+标准没有规定,由编译 器确定,一般不超过32个字符。变量声明和定义区别:变量声明格式:类型名变量名;inta;变量的声明分为2种情况:1、一种是需要建立存储空间的。例如:int a在声明的时候就 已经建立了存储空间。(定义性声明)2、另一种是不需要建立存储空间的。例如:extern int a其中变量a是在别的文件中定

12、义的。(引用性声明)extern int a = 10;(定义性声明)从广义的角度来讲声明中包含着定义,即定义是声明的一个特例, 所以并非所有的声明都是定义,例如:int a它既是声明,同时又是 定义。然而对于extern int a来讲它只是声明不是定义。一般的情 况下我们常常这样叙述,把建立空间的声明称之为“定义”,而把不需 要建立存储空间的声明称之为“声明”。5 .变量的作用域当变量在程序中某个部分被声明时,它只在程序的一定区域才能 被访问,这个区域由标识符的作用域(scope)决定。作用域有四种类型:文件作用域、函数作用域、代码块作用域和 原型作用域。标识符声明的位置决定它们的作用域。

13、1)代码块作用域(局部变量) 由括起来的所有语句称为 一个代码块,任何代码块开始位置定义的变量具有代码块作用域。 此类变量可以被该代码块所有语句访问,但是出了代码块,不行。另外,函数定义的形式参数在函数体内部也具有代码块作用域。如果代码块处于嵌套状态时,不同层次出现同名标识符,则内 层标识符屏蔽外层标识符含义。2)文件作用域(全局变量):任何在代码块以外声明的标识符, 都具有文件作用域,它表示这些标识符从声明位置开始一直到文 件结尾都是可以访问的。3)原型作用域:只适用于函数声明中声明的参数名。原型作用域可以防止这些参数名与程序中其他部分的名字冲突。4)函数作用域:只适用与语句标签,语句标签用

14、于goto语句。函数作用域可以简化为一句话:一个函数中所有语句标签必须唯O注意:goto语句会使程序变得难以理解和维护,尽量不要用。6 .变量的链接属性标识符的链接属性决定了如何处理不同文件中的同名标识符。变 量的链接属性和作用域相关,但两者不等同。分为 3 种:externa I 外部、i nterna I 内部、none 无。没有链接属性的标识符总是被当做单独的个体,局部变量的链接 属性为noneo属于external的标识符不论声明多少次,位于几个源文件中,都 表示同一个实体。全局变量和函数默认是external属性。Internal属性的标识符在同一个源文件内指同一个实体,但位于 不同

15、文件中,则分属不同的实体。static修饰的全局变量或函数extern, static两个关键字用来修改标识符的链接属性:1 )默认为external属性的标识符,前面加上static修饰,链接 属性就会改变为internal.注意,标识符只有默认为externaI.2)任意类型变量声明前加上extern(指定该语句是声明而非定义),该变量链接属性修改为external.注意:链接属性为外部的变量,它肯定是全局(文件)作用域。全局(文件)作用域的变量,其链接属性不一定是外部。extern int a;不论出现在代码块内部,还是外部,a都是全 局变量。extern int a = 10;错误!

16、extern是变量的声明,而初始化 只能在变量定义时才可以,且初始化表达式必须是常量表达式。解决方案:定义的位置:int a = 10;不要加extern关键字;声明时,extern int a;加上extern关键字,a = 20;条件和循环语句1 .条件判断if注意:空悬else的情况(if出现次数多于else出现次数),else 和距离其最近的if配对。例如下面代码:if (minVal=iveci)1 f (mi nVaI = i veci)+occurs;e I se m i nVal = i vec i;occurs=1;课堂练习1:外界传入一个字符,判断其是数字、大写字母、小 写

17、字母、空格还是其他字符。src/if_test. cpp2 .循环语句A.while循环的使用课堂练习2:作业:从命令行读取数据直到遇见文件结束标记(EOF, Ctrl+D), 统计行数n、单词个数、字符总个数! src/wc_l ine. cppwhile (ch != EOF) 统计操作;ch = getchar () ; B. for循环的使用课堂练习3:有一只猴子第一天摘了若干个桃子,当即吃掉一 半,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃一个; 按照这样的吃法,到了第十天,就只剩下一只桃子。问题:这只猴子 第一天摘了多少桃子。src/peach.c作业:如果一个3位数等于其

18、各位数字的立方和,则称这个数为 水仙花数,例如 407 = 4*4*4 + 0*0*0 + 7*7*7;问题:求 100-999之间所有的水仙花数。src/f Iower. c123:123 / 100 = 1123 % 10 = 3(123 % 100) / 10 = 2C. do-wh i I e循环使用课堂练习4:将1累加到100, 4和44除外,求累加和。src/sum. c i nt i = 1;do 循环体语句 while (判断条件);D. se I ect 语句引入switch的原因:深层嵌套的if-eIse语句往往在语法上是正 确的,但逻辑上却没有正确反映程序员的意图,例如,错误的elseTf 匹配很容易被忽略。添加新的条件和逻辑关系,或者对语句做其他修 改,都很难保证正确。switch语句提供了一种更方便的方法来实现 深层的if/else逻辑。课堂练习5:从命令行输入年份、月份,判断该月有多少天 src/year month. cppoE.cont i nue break从命令行输入一个整数,统计二进制形式1的个数。src/count_one. cpp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁