为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

电脑知识包括c语言1

2017-10-21 50页 doc 151KB 12阅读

用户头像

is_014457

暂无简介

举报
电脑知识包括c语言1电脑知识包括c语言1 一、概述 上 按这八项去做,电脑慢下来都难 先看一下电脑的“系统资源”是多少,右键单击“我的电脑”,选择“属性”,再选择“性能”,看一下“系统资源”是多少,一般应该达到95%左右还差不多。 1、电脑桌面上的东西越少越好,我的电脑桌面上就只有“我的电脑”和“回收站”。东西多了占系统资源。虽然在桌面上方便些,但是是要付出占用系统资源和牺牲速度的代价。解决办法是,将桌面上快捷方式都删了,因为在“开始”菜单和“程序”栏里都有。将不是快捷方式的其他文件都移到D盘或E盘,不要放在C盘。C盘只放WINDOWS的...
电脑知识包括c语言1
电脑知识包括c语言1 一、概述 上 按这八项去做,电脑慢下来都难 先看一下电脑的“系统资源”是多少,右键单击“我的电脑”,选择“属性”,再选择“性能”,看一下“系统资源”是多少,一般应该达到95%左右还差不多。 1、电脑桌面上的东西越少越好,我的电脑桌面上就只有“我的电脑”和“回收站”。东西多了占系统资源。虽然在桌面上方便些,但是是要付出占用系统资源和牺牲速度的代价。解决办法是,将桌面上快捷方式都删了,因为在“开始”菜单和“程序”栏里都有。将不是快捷方式的其他文件都移到D盘或E盘,不要放在C盘。C盘只放WINDOWS的文件和一些程序安装必须安装在C盘的,其他一律不要放在C盘,放在D盘或E盘。 2、右键单击“我的电脑”,选择“属性”,再选择“性能”,单击左面“文件系统”,有一个“此计算机的主要用途(T)”选项,下拉那个箭头,将“台式机”改为“网络服务器”,然后确定。再选择右面的“虚拟内存”,选择“用户自己指定虚拟内存设置(M)”,然后将最大值和最小值都改为你电脑内存的数值乘以2,比如是128兆内存,则设置为“256”,然后确定,不用理会显示的提示,确定以后需要重新启动。 、 打开“我的电脑”,打开C盘,有一个Windows文件夹,打开它,找 3 到一个“Temp文件夹”,把里面的文件全部删除,(需要事先关闭其他应用程序)。在“Temp文件夹”旁边有个“Temporary Internet Files文件夹”,打开,把里面的内容全部删除。一定注意啊,“Temp文件夹”和“Temporary Internet Files文件夹”不要也删了,是删文件夹里面的所有东西。切记~~~这样的操作最好一个月进行一次。 4、将电脑屏幕最下面的一行东西,只留下杀毒软件的实时监控图标和最左面的“开始”,其他的全部删除,因为占系统资源,而且有很多东西根本不用。即使用的在“开始”菜单里也全有。可以将最常用的软件的快捷方式添加在开始菜单,将次常用的添加在程序菜单。 5、将桌面墙纸和屏幕保护程序都设置为“无”. 6、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“维护向导”,选择“修改我的维护设置或安排”确定,再选择“自定义”,下一步,“自定义”,再下一步,出现一个对话框“更加快速地启动Windows”,将里面的对勾全部取消啊,这是开机时启动的程序,有的根本不用的,如果用再启动也很快的。然后下一步,选择“否”再下一步,再选“否”,再下一步,还是“否”,然后“完成”。OK~ 7、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“磁盘扫描程序”,选中上面的“自动修复错误”然后“开始”,很快就修复完毕,把你所有的硬盘C、D、E、F都修复一遍,然后“关闭”退出。 8、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“磁盘碎片整理程序”,下拉菜单中选择“所有的硬盘”然后确定,然后你就等着吧,可以去休息一会了,呵呵。如果以前从来没有运行过这个程序的话,而且你的硬盘很大,那么可能得1个小时多的时间(如果觉得时间长,可以停下来,分几次以后再运行也可以)。这个程序以后应该1个月左右运行一次, 第二次以后运行时间就短多了。 经过这样的保养,你的电脑是不是恢复了刚买时候的速度,甚至更快了, 呵呵~然后右键单击“我的电脑”,选择“属性”,再选择“性能”,看一下 “系统资源”是多少,达到95%没有 ? 一、 C语言的产生与发展 C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL (Basic Combind Programming Language)发展演变而来。在1970年,AT&T贝尔实验室的Ken hompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。 随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的, 使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。 二、C语言的特点 C语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如PC-DOS,DBASE ?都是由C语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了。归纳起来C语言具有下列特点: 1. C是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 2. C是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3. C语言功能齐全 C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。 4. C语言适用范围大 C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。 三、Turbo C的产生与发展 我们平常用的大部分都是Turbo C。Turbo C是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的公司。该公司相继推出了一套Turbo系列软件,如Turbo BASIC,Turbo Pascal,Turbo Prolog,这些软件很受用户欢迎。该公司在1987年首次推出Turbo C 1.0产品,其中使用了全然一新的集成开发环境,即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年,Borland公司又推出Turbo C 1.5版本,增加了图形库和文本窗口函数库等,而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能,并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K中)文件。还可对数学协处理器(支持8087/80287/80387等)进行仿真。我们目前 经常使用的集成环境就是Turbo C 2.0。 Borland 公司后来又推出了面向对象的程序软件包Turbo C++,它继承发展Turbo C 2.0的集成开发环境, 并包含了面向对象的基本思想和设计方法。习惯上我们也叫它 Turbo C 3.0。 1991年为了适用Microsoft公司的Windows 3.0版本,Borland公司又将Turbo C++作 了更新,即Turbo C的新一代产品Borlandc C++也已经问世了。 一、 概述 下 四、Turbo C 2.0集成开发环境的使用 下载完以后,解压缩,双击TC.EXE,进入Turbo C 2.0集成开发环境中后, 屏幕上显示: ?????????????????????????????--- File Edit Run Compile Project Options Debug Break/watch ?????????????Edit??????????????? ? Line 1 Col 1 Insert Indent Tab File Unindent c:NONAME.C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????????Message??????????????? | ? ? ? ? ???????????????????????????--?? F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu ??????????????????????????????? 其中顶上一行为Turbo C 2.0 主菜单, 中间窗口为编辑区, 接下来是信息窗口, 最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕, 以后的编程、编译、调试以及运行都将在这个主屏幕中进行。 下面详细介绍主菜单的内容: (一)、主菜单 在Turbo C 2.0主屏幕顶上一行, 显示下列内容: File Edit Run Compile Project Options Debug Break/watch 除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母(即大写字母), 就可进入该项的子菜单中。 1、File(文件)菜单 按Alt+F可进入File菜单, 该菜单包括以下内容: .Load(加载) 装入一个文件, 可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件, 只要给出文件名(或只给路径)即可。该项的热键为F3, 即只要在主菜单中按F3即可进入该项, 而不需要先进入File菜单再选此项。 .Pick(选择) 将最近装入编辑窗口的8个文件列成一个表让用户选择, 选择后将该程序装入编辑区,并将光标置在上次修改过的地方。其热健为Alt+F3。 .New(新文件) 说明文件是新的, 缺省文件名为NONAME.C, 存盘时可改名。 .Save(存盘) 将编辑区中的文件存盘, 若文件名是NONAME.C时, 将询问是否更改文件名, 其热键为F2。 .Write to(存盘) 可由用户给出文件名将编辑区中的文件存盘, 若该文件已存在, 则询问要不要覆盖。 .Directory(目录) 显示目录及目录中的文件, 并可由用户选择。 .Change dir(改变目录) 显示当前目录, 用户可以改变显示的目录。 .Os shell(暂时退出) 暂时退出Turbo C 2.0到DOS提示符下, 此时可以运行DOS 命令, 若想回到Turbo C 2.0 中,只要在DOS状态下键入EXIT即可。 .Quit(退出) 退出Turbo C 2.0, 返回到DOS操作系统中, 其热键为Alt+X。 说明: 以上各项可用光标键移动色棒进行选择, 回车则执行。也可用每一项的第一个大写字母直接选择。若要退到主菜单或从它的下一级菜单列表框退回均可用Esc键,Turbo C 2.0所有菜单均采用这种方法进行操作, 以下不再说明。 2、Edit(编辑)菜单 按Alt+E可进入编辑菜单, 若再回车, 则光标出现在编辑窗口,此时用户可以进行文本编辑。 编辑方法基本与wordstar相同, 可用F1键获得有关编辑方法的帮助信息。 与编辑有关的功能键如下: F1 获得Turbo C 2.0编辑命令的帮助信息 F5 扩大编辑窗口到整个屏幕 F6 在编辑窗口与信息窗口之间进行切换 F10 从编辑窗口转到主菜单 编辑命令简介: PageUp 向前翻页 PageDn 向后翻页 Home 将光标移到所在行的开始 End 将光标移到所在行的结尾 Ctrl+Y 删除光标所在的一行 Ctrl+T 删除光标所在处的一个词 Ctrl+KB 设置块开始 Ctrl+KK 设置块结尾 Ctrl+KV 块移动 Ctrl+KC 块拷贝 Ctrl+KY 块删除 Ctrl+KR 读文件 Ctrl+KW 存文件 Ctrl+KP 块文件打印 Ctrl+F1 如果光标所在处为Turbo C 2.0库函数,则获得有关该函数的帮助信息 Ctrl+Q[ 查找Turbo C 2.0双界符的后匹配符 Ctrl+Q] 查找Turbo C 2.0双界符的前匹配符 说明: (1). Turbo C 2.0的双界符包括以下几种符号: 花括符 {和} 尖括符 <和> 圆括符 (和) 方括符 [和] 注释符 /*和*/ 双引号 单引号 ' (2). Turbo C 2.0在编辑文件时还有一种功能,就是能够自动缩进,即光标定位和上一个非空字符对齐。在编辑窗口中,Ctrl+OL为自动缩进开关的控制键。 3、Run(运行)菜单 按Alt+R可进入Run菜单, 该菜单有以下各项: .Run(运行程序) 运行由Project/Project name项指定的文件名或当前编辑区的文件。如果对上次编译后的源代码未做过修改,则直接运行到下一个断点(没有断点则运行到结束)。否则先进行编译、连接后才运行,其热键为Ctrl+F9。 .Program reset(程序重启) 中止当前的调试, 释放分给程序的空间, 其热键为Ctrl+F2。 .Go to cursor(运行到光标处) 调试程序时使用, 选择该项可使程序运行到光标所在行。光标所在行必须为一条可执行语句, 否则提示错误。其热键为F4。 .Trace into(跟踪进入) 在执行一条调用其它用户定义的子函数时,若用Trace into项,则执行长条将跟踪到该子函数内部去执行,其热键为F7。 .Step over(单步执行) 执行当前函数的下一条语句,即使用户函数调用,执行长条也不会跟踪进函数内部,其热键为F8。 .User screen(用户屏幕) 显示程序运行时在屏幕上显示的结果。其热键为Alt+F5。 4、Compile(编译)菜单 按Alt+C可进入Compile菜单,该菜单有以下几个内容: .Compile to OBJ(编译生成目标码) 将一个C源文件编译生成.OBJ目标文件,同时显示生成的文件名。其热键为Alt+F9。 .Make EXE file(生成执行文件) 此命令生成一个.EXE的文件,并显示生成的.EXE文件名。其中.EXE文件名是下面几项之一。 (1). 由Project/Project name说明的项目文件名。 (2). 若没有项目文件名,则由Primary C file说明的源文件。 (3). 若以上两项都没有文件名,则为当前窗口的文件名。 .Link EXE file(连接生成执行文件) 把当前.OBJ文件及库文件连接在一起生成.EXE文件。 .Build all(建立所有文件) 重新编译项目里的所有文件,并进行装配生成.EXE文件。该命令不作过时检查(上面的几条命令要作过时检查,即如果目前项目里源文件的日期和时间与目标文件相同或更早, 则拒绝对源文件进行编译)。 .Primary C file(主C文件) 当在该项中指定了主文件后,在以后的编译中,如没有项目文件名则编译此项中规定的主C文件,如果编译中有错误,则将此文件调入编辑窗口,不管目前窗口中是不是主C文件。 .Get info(获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息。 5、Project(项目)菜单 按Alt+P可进入Project菜单,该菜单包括以下内容: .Project name(项目名) 项目名具有.PRJ的扩展名,其中包括将要编译、连接的文件名。例如有一个程序由file1.c, file2.c, file3.c组成,要将这3个文件编译装配成一个file.exe的执行文件,可以先建立一个file.prj的项目文件,其内容如下: file1.c file2.c file3.c 此时将file.prj放入Project name项中,以后进行编译时将自动对项目文件中规定的三个源文件分别进行编译。然后连接成file.exe文件。如果其中有些文件已经编译成.OBJ文件,而又没有修改过,可直接写上.OBJ扩展名。此时将不再编译而只进行连接。 例如: file1.obj file2.c file3.c 将不对file1.c进行编译,而直接连接。 说明: 当项目文件中的每个文件无扩展名时,均按源文件对待,另外,其中的文件也可以是库文件, 但必须写上扩展名.LIB。 .Break make on(中止编译) 由用户选择是否在有Warining(警告)、Errors(错误)、Fatal Errors( 致命错误)时或Link(连接)之前退出Make编译。 .Auto dependencies(自动依赖) 当开关置为on, 编译时将检查源文件与对应的.OBJ文件日期和时间,否则不进行检查。 .Clear project(清除项目文件) 清除Project/Project name中的项目文件名。 .Remove messages(删除信息) 把错误信息从信息窗口中清除掉。 6、Options(选择菜单) 按Alt+O可进入Options菜单, 该菜单对初学者来说要谨慎使用。 .Compiler(编译器) 本项选择又有许多子菜单, 可以让用户选择硬件配置、存储模型、调试技术、代码优化、对话信息控制和宏定义。这些子菜单如下: Model 共有Tiny, small, medium, compact, large, huge 六种不同模式可由同户选择。 Define 打开一个宏定义框,同户可输入宏定义。多重定义可同分号,赋值可用等号。 Code generation 它又有许多任选项,这些任选项告诉编译器产生什么样的目标代码。 Calling convention 可选择C或Pascal方式传递参数。 Instruction set 可选择8088/8086或80186/80286指令系列。 Floating point 可选择仿真浮点、数学协处理器浮点或无浮点运算。 Default char type 规定char的类型。 Alignonent 规定地址对准原则。 Merge duplicate strings 作优化用,将重复的字符串合并在一起。 Standard stack frame 产生一个标准的栈结构。 Test stack overflow 产生一段程序运行时检测堆栈溢出的代码。 Line number 在.OBJ文件中放进行号以供调试时用。 OBJ debug information 在.OBJ文件中产生调试信息。 Optimization Optimize for 选择是对程序小型化还是对程序速度进行优 化处理。 Use register variable 用来选择是否允许使用寄存器变量。 Register optimization 尽可能使用寄存器变量以减少过多的取数操作。 Jump optimization 通过去除多余的跳转和调整循环与开关语句的办法,压缩代码。 Source Indentifier length 说明标识符有效字符的个数,默认为32个。 Nested comments 是否允许嵌套注释。 ANSI keywords only 是只允许ANSI关键字还是也允许Turbo C 2.0关键字。 Error Error stop after 多少个错误时停止编译,默认为25个。 Warning stop after 多少个警告错误时停止编译, 默认为100个。 Display warning Portability warning 移植性警告错误。 ANSI Violations 侵犯了ANSI关键字的警告错误。 Common error 常见的警告错误。 Less common error 少见的警告错误。 Names 用于改变段(segment)、组(group)和类(class)的名字,默认值为CODE,DATA,BSS。 .Linker(连接器) 本菜单设置有关连接的选择项,它有以下内容: Map file menu 选择是否产生.MAP文件。 Initialize segments 是否在连接时初始化没有初始化的段。 Devault libraries 是否在连接其它编译程序产生的目标文件时去寻找其缺省库。 Graphics library 是否连接graphics库中的函数。 Warn duplicate symbols 当有重复符号时产生警告信息。 Stack warinig 是否让连接程序产生No stack的警告信息。 Case-sensitive link 是否区分大、小写字。 .Environment(环境) 本菜单规定是否对某些文件自动存盘及制表键和屏幕大小的设置 Message tracking Current file 跟踪在编辑窗口中的文件错误。 All files 跟踪所有文件错误。 Off 不跟踪。 Keep message 编译前是否清除Message窗口中的信息。 Config auto save 选on时,在Run,Shell或退出集成开发环境之前,如果Turbo C 2.0的配置被改过,则所做的改动将存入配置文件中。选off时不存。 Edit auto save 是否在Run或Shell之前, 自动存储编辑的源文件。 Backup file 是否在源文件存盘时产生后备文件(.BAK文件)。 Tab size 设置制表键大小,默认为8。 Zoomed windows 将现行活动窗口放大到整个屏幕, 其热键为F5。 Screen size 设置屏幕文本大小。 .Directories(路径) 规定编译、连接所需文件的路径,有下列各项: Include directories 包含文件的路径,多个子目录用;分开。 Library directories 库文件路径,多个子目录用;分开。 Output directoried 输出文件(.OBJ,.EXE,.MAP文件)的目录。 Turbo C directoried Turbo C 所在的目录。 Pick file name 定义加载的pick文件名,如不定义则从current pick file中取。 .Arguments(命令行参数) 允许用户使用命令行参数。 .Save options(存储配置) 保存所有选择的编译、连接、调试和项目到配置文件中,缺省的配置文件为 TCCONFIG.TC。 .Retrive options 装入一个配置文件到TC中,TC将使用该文件的选择项。 7、Debug(调试)菜单 按Alt+D可选择Debug菜单,该菜单主要用于查错,它包括以下内容: .Evaluate(Ctrl+F4) Expression 要计算结果的表达式。 Result 显示表达式的计算结果。 New value 赋给新值。 .Call stack(Ctrl+F3) 该项不可接触。而在Turbo C debuger时用于检查堆栈情况。 .Find function 在运行Turbo C debugger时用于显示规定的函数。 .Refresh display 如果编辑窗口偶然被用户窗口重写了可用此恢复编辑窗口的内容。 8、Break/watch(断点及监视表达式) 按Alt+B可进入Break/watch菜单, 该菜单有以下内容: .Add watch(Ctrl+F7) 向监视窗口插入一监视表达式。 .Delete watch 从监视窗口中删除当前的监视表达式。 .Edit watch 在监视窗口中编辑一个监视表达式。 .Remove all watches 从监视窗口中删除所有的监视表达式。 .Toggle breakpoint(Ctrl+F8) 对光标所在的行设置或清除断点。 .Clear all breakpoints 清除所有断点。 .View next breakpoint 将光标移动到下一个断点处。 (二)、编辑区 所有的程序代码都在这个区域编写,修改。用ALT+E进入编辑区。在编 辑区的最上面还显示光标所数在行和所在列数。 (三)、信息窗口 在编译过程中显示程序的错误和警告;在单步调试过程中,显示所添加监视表达式的值。 (四)、参考行 包括以下内容 F1-Help 显示帮助信息 F5-Zoom 让编辑区最大,即屏蔽信息窗口;再按一次,返回。 F6-Switch 在编辑区和信息窗口之间切换。 F7-Trace 单步运行程序,并跟踪到函数体内部 F8-Step 单步运行程序,不跟踪到函数体内部 F9-Make 编译链接 F10-Menu 回到主菜单 二、变量和常量 编译环境设置好以后,就可以正式学习C语言了。 一、变量 (一)、变量类型和表示方法 1.什么是变量,一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。这些数据类型我们在本节和后面的章节中都会陆陆续续介绍。 那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。 标识符的命名有一定的规则: (1).标识符只能由字母、数字和下划线三类字符组成 (2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符) (3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符 (4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性 (5).标识符不能是C的关键字 2.从上面的规则中,有个关键字的概念。那么什么叫关键字呢, 从表面字意上也可以看出,关键字是C语言本身某些特性的一个表示,是唯一的代表某一个意思的。 下面列出ANSI标准定义的32个C语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们的各自用法。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C语言还包括一些不能用做标识符的扩展关键字。 asm cdecl _cs _ds _es far huge interrupt near pascal _ss 所以在以后的学习中,在给变量命名时要避开这些关键字。 3. Turbo C2.0规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和 其后的一个或多个变量名组成。变量说明的形式如下: 类型 <变量表>; 这里类型是指Turbo C2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符 之间用,分隔。 (二)、整型变量 整型变量是用来存储整数的。 整型变量又可具体分为好几种,最基本的整型变量是用类型说明符int声明的符号整型, 形式如下: int Counter; 这里int是类型说明符,Counter是变量的名字。 整型变量可以是有符号型、无符号型、长型、短型或象上面定义的普通符号整型。 整型是16位的,长整型是32位,短整型等价于整型。 以下是几种整型变量的声明示例: long int Amount; /*长整型*/ long Amount; /*长整型,等价于上面*/ signed int Total; /*有符号整型*/ signed Total; /*有符号整型,等价于上面*/ unsigned int Offset; /*无符号整型*/ unsigned Offset; /*无符号整型,等价于上面*/ short int SmallAmt; /*短整型*/ short SmallAmt; /*短整型,等价于上面*/ unsigned short int Month; /*无符号短整型*/ unsigned short Month; /*无符号短整型,等价于上面*/ 从上面的示例可以看出,当定义长整型、短整型、符号整型或无符号整型时,可以省略 关键字int。 注明: 1.用signed对整型变量进行有符号指定是多余的,因为除非用unsigned指定为无符号型, 否则整型都是有符号的。 2.当一个变量有几重特性时,声明关键字的顺序可以任意。以下几种声明是等价的: unsigned long T1; long unsigned T2; unsigned long int T3; unsigned int long T4; long unsigned int T5; long int unsigned T6; int unsigned long T7; int long unsigned T8; (三)、浮点类型变量 顾名思义,浮点类型变量是用来存储带有小数的实数的。 C语言中有三种不同的浮点类型,以下是对这三种不同类型的声明示例: float Amount; /*单精度型*/ double BigAmount; /*双精度型*/ long double ReallyBigAmount; /*长双精度型*/ 这里Amount,BigAmount,ReallyBigAmount都是变量名。 浮点型都是有符号的。 (四)、字符型变量 字符型变量中所存放的字符是计算机字符集中的字符。对于PC机上运行的C系统,字符型数据用8位单字节的ASCII码表示。程序用类型说明符char来声明字符型变量: char ch; 这条声明语句声明了一个字符型变量,标识符为ch。当以这种形式声明变量之后,程序可以在表达式中引用这个变量,关于语句和表达式的知识在后面将会介绍。 字符数据类型事实上是8位的整型数据类型,可以用于数值表达式中,与其他的整型数据同样使用。在这种情况下,字符型变量可以是有符号的,也可以是无符号的。对于无符号的字符型变量可以声明为: unsigned char ch; 除非声明为无符号型,否则在算术运算和比较运算中,字符型变量一般作为8位有符号整型变量处理。 还有其他的如指针型变量,void型变量,以后再介绍。 二、常量 常量的意思就是不可改变的量,是一个常数。同变量一样,常量也分为整型常量、浮点型常量、字符型常量,还有字符串常量、转义字符常量和地址常量。 (一)、整型常量 整型常量可以是长整型、短整型、有符号型、无符号型。在Tubbo C 2.0里有符号整型常量的范围从-32768到32767,无符号整型的为0到65535;有符号长整型的范围为-2147483648到2147483647。无符号长整型的范围为0到4294967295。短整型同字符型。 可以指定一个整型常量为二进制、八进制或十六进制,如以下语句: -129, 0x12fe, 0177 常量的前面有符号0x,这个符号表示该常量是十六进制表示。如果前面的符号只有一个字母0,那么表示该常量是八进制。 有时我们在常量的后面加上符号L或者U,来表示该常量是长整型或者无符号整型: 22388L, 0x4efb2L, 40000U 后缀可以是大写,也可以是小写。 (二)、浮点型常量 一个浮点型常量由整数和小数两部分构成,中间用十进制的小数点隔开。有些浮点树非常大或者非常小,用普通方法不容易表示,可以用科学计数法或者指数方法表示。下面是一个实例: 3.1416, 1.234E-30, 2.47E201 注意在C语言中,数的大小也有一定的限制。对于float型浮点数,数的表示范围为-3.402823E38到3.402823E38,其中-1.401298E-45到1.401298E-45不可见。double型浮点型常数的表示范围为-1.79E308到1.79E308,其中-4.94E-324到4.94E-324不可见。 在浮点型常量里我们也可以加上后缀。 FloatNumber=1.6E10F; /*有符号浮点型*/ LongDoubleNumber=3.45L; /*长双精度型*/ 后缀可大写也可小写。 说明: 1. 浮点常数只有一种进制(十进制)。 2. 所有浮点常数都被默认为double。 3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22, -0.0015E-3 可写为-.0015E-3。 4. Turbo C默认格式输出浮点数时, 最多只保留小数点后六位 (三)、字符型常量 字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。 'A', '\x2f', '\013'; 其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。 注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。 (四)、字符串常量 字符串常量就是一串字符,用双引号括起来表示。 Hello,World! \nEnter selection: \aError!!! (五)、转义字符 上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义: 转义字符 描述 \' 单引号 \ 双引号 \\ 反斜杠 \0 空字符 \0nnn 八进制数 \a 声音符 \b 退格符 \f 换页符 \n 换行符 \r 回车符 \t 水平制表符 \v 垂直制表符 \x 十六进制符 它们的具体用法我们到讲输出语句时再介绍。 (六)、地址常量 我们前面说的变量是存储数据的空间,它们在内存里都有对应的地址。在C语言里可以用地址常量来引用这些地址,如下: &Counter, ∑ &是取地址符,作用是取出变量(或者函数)的地址。在后面的输入语句和指针里还会说明。 这一节所讲到的变量和常量知识可以说是在一切程序中都要用到,特别是变量的声明和命名规则 三、运算符 无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。 运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。(具体什么是表达式下一节再说) 一、赋值运算符 赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为„=?。这里并不是等于的意思,只是赋值,等于用„==?表示。 注意:赋值语句左边的变量在程序的其他地方必须要声明。 得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她它们出现在赋值语句的右边。常数只能作为右值。 例如: count=5; total1=total2=0; 第一个赋值语句大家都能理解。 第二个赋值语句的意思是把0同时赋值给两个变量。这是因为赋值语句是从右向左运算的,也就是说从右端开始计算。这样它先total2=0;然后total1=total2;那么我们这样行不行呢, (total1=total2)=0; 这样是不可以的,因为先要算括号里面的,这时total1=total2是一个表达式,而赋值语句的左边是不允许表达式存在的。 二、算术运算符 在C语言中有两个单目和五个双目运算符。 符号 功能 + 单目正 - 单目负 * 乘法 / 除法 % 取模 + 加法 - 减法 下面是一些赋值语句的例子, 在赋值运算符右侧的表达式中就使用了上面的算术运算符: Area=Height*Width; num=num1+num2/num3-num4; 运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算。 取模运算符(%)用于计算两个整数相除所得的余数。例如: a=7%4; 最终a的结果是3,因为7%4的余数是3。 那么有人要问了,我要想求它们的商怎么办呢, b=7/4; 这样b就是它们的商了,应该是1。 也许有人就不明白了,7/4应该是1.75,怎么会是1呢,这里需要说明的是,当两个整数相除时,所得到的结果仍然是整数,没有小数部分。要想也得到小数部分,可以这样 写7.0/4或者7/4.0,也即把其中一个数变为非整数。 那么怎样由一个实数得到它的整数部分呢,这就需要用强制类型转换了。例如: a=(int) (7.0/4); 因为7.0/4的值为1.75,如果在前面加上(int)就表示把结果强制转换成整型,这就得到了1。那么思考一下a=(float) (7/4);最终a的结果是多少, 单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值。 单目加运算符没有意义,纯粹是和单目减构成一对用的。 三、逻辑运算符 逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。 符号 功能 && 逻辑与 || 逻辑或 ! 逻辑非 例如: 5!3; 0||-2&&5; !4; 当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。 还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如: a=2,b=1; a||b-1; 因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。 四、关系运算符 关系运算符是对两个表达式进行比较,返回一个真/假值。 符号 功能 > 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于 这些运算符大家都能明白,主要问题就是等于==和赋值=的区别了。 一些刚开始学习C语言的人总是对这两个运算符弄不明白,经常在一些简单问题上出错,自己检查时还找不出来。看下面的代码: if(Amount=123) …… 很多新人都理解为如果Amount等于123,就怎么样。其实这行代码的意思是先赋值Amount=123,然后判断这个表达式是不是真值,因为结果为123,是真值,那么就做后面的。如果想让当Amount等于123才运行时,应该if(Amount==123) …… 五、自增自减运算符 这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如: --Couter; Couter--; ++Amount; Amount++; 看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子: num1=4; num2=8; a=++num1; b=num2++; a=++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为9。 那么如果出现这样的情况我们怎么处理呢, c=num1+++num2; 到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。 六、复合赋值运算符 在赋值运算符当中,还有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。 Total=Total+3; 乍一看这行代码,似乎有问题,这是不可能成立的。其实还是老样子,'='是赋值不是等于。它的意思是本身的值加3,然后在赋值给本身。为了简化,上面的代码也可以写成: Total+=3; 复合赋值运算符有下列这些: 符号 功能 += 加法赋值 -= 减法赋值 *= 乘法赋值 /= 除法赋值 %= 模运算赋值 <<= 左移赋值 >>= 右移赋值 &= 位逻辑与赋值 |= 位逻辑或赋值 ^= 位逻辑异或赋值 上面的十个复合赋值运算符中,后面五个我们到以后位运算时再说明。 那么看了上面的复合赋值运算符,有人就会问,到底Total=Total+3;与Total+=3;有没有区别,答案是有的,对于A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的来说,这种区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次(以后再说明),而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。 七、条件运算符 条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个。 <表达式1>?<表达式2>:<表达式3> 在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。 例如: a=(b>0)?b:-b; 当b>0时,a=b;当b不大于0时,a=-b;这就是条件表达式。其实上面的意思就是把b的绝对值赋值给a。 八、逗号运算符 在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。 假设b=2,c=7,d=5, a1=(++b,c--,d+3); a2=++b,c--,d+3; 对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a=8。对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。 还有其他的如位逻辑运算符,位移运算符等等,我们等到讲位运算时再说明。 九、优先级和结合性 从上面的逗号运算符那个例子可以看出,这些运算符计算时都有一定的顺序,就好象先要算乘除后算加减一样。优先级和结合性是运算符两个重要的特性,结合性又称为计算顺序,它决定组成表达式的各个部分是否参与计算以及什么时候计算。 下面是C语言中所使用的运算符的优先级和结合性: 优先级 运算符 结合性 (最高) () [] -> . 自左向右 ! ~ ++ -- + - * & sizeof 自右向左 * / % 自左向右 + - 自左向右 << >> 自左向右 < <= > >= 自左向右 == != 自左向右 & 自左向右 ^ 自左向右 | 自左向右 && 自左向右 || 自左向右 ?: 自右向左 = += -= *= /= %= &= ^= |= <<= >>= 自右向左 (最低) , 自左向右 在该表中,还有一些运算符我们没有介绍,如指针运算符、sizeof运算符、数组运算符[]等等,这些在以后的学习中会陆续说明的。 四、编写第一个C语言程序 前面几节介绍了常量和变量、运算符、表达式和语句的概念,对它们的使用有了一个大概的了解。也许刚学程序的人会觉得有些枯燥,下面我们就来编写第一个C语言程序。 #define PI 3.1416 main() { float Radius,Area; scanf(%f,&Radius); /*输入半径的值*/ Area=PI*Radius*Radius; printf(%f\n,Area); /*输出圆的面积*/ } 1.一个C语言程序,通常由带有#号的编译预处理语句开始。关于预处理我们在以后介绍,这里的#define PI 3.1415926相当于PI代表3.1416,下面在程序中遇到PI,我们就用3.1416替代一下。在以后的程序中,在学习预处理之前,我们都将不使用预处理语句。 2.main() 任何一个完整的程序都需要main(),这是一个函数,具体什么是函数,以后再讲,这儿你就要记住就行。后面有一对{}把所有的语句都括在里面,表明那些语句都属于main()里面。程序运行时从这个左大括号开始。 3.{}里面的4行语句大家应该都能明白,先定义两个变量,一个代表半径,一个代表面积,然后输入半径的值,然后求面积,最后在屏幕上输出面积。程序到main()的那对{}的右大括号结束。求面积的语句Area=PI*Radius*Radius;相当于Area=3.1416*Radius*Radius;(完全用3.1416替代PI)。 具体程序从编写到运行得到结果的步骤为: 1.双击tc.exe,进入Turbo C 2.0编译界面 2.ALT+E 进入编辑模式 3.书写程序 4.F2 存储程序(也可进入File菜单,选择save),第一次存储需要写上程序名称(*.C),回 车 5.ALT+F9 编译,如果有错误和警告,光标停留在错误行,回车进行修改,修改后,回到4;没有错,下一步 6.CTRL+F9 连接和运行程序 7.用ALT+F5查看程序运行结果,任意键返回程序 如何打开一个已有的C文件: 1.双击tc.exe,进入Turbo C 2.0编译界面 2.F3 进入load状态,找到所要打开文件的目录,找到文件,回车;后面都一样。 具体的有哪些快捷键及其它们的作用,请查看第一节概述。 说明: 1.必须在程序的最开始部分定义所有用到的变量,例如这里的Area,Radius。 2.变量的命名要尽量有意义,如用代表该意思的英文单词、或者是汉语拼音,例如这里的Radius,Area,绝对禁止用毫无干系的字母,如a,b,c。例如下面的程序,虽然意思和上面的一样,但是看上去意思不明朗,时间长了,很可能忘记程序本身的意思。对于仅仅是控制程序运行,不代表实际意思时,可以用一些简单字母。 main() { float a,b; scanf(%f,&a); b=3.1416*a*a; printf(%f\n,b); } 3.采用层次书写程序的格式,要有合理的缩进,必要的时候要有空行,一行只书写一个语句。所有语句尽量不分行,除非太长(分行时变量、运算符,格式字符等等不能拆开),例如下面两个程序看起来就不好看了,虽然它们的功能和前面是一样的。 main() {float Radius,Area;scanf(%f,&Radius); Area=3.1416*Radius*Radius;printf(%f\n,Area);} main() { float Radius,Area; scanf(%f, %Radius); Area=3.1416*Radius *Radius; printf(%f\n, Area); } 4.程序在适当的地方要用/*……*/注释,它的意思表示在/* */里面的所有字符都不参加编译。因为一个较大的程序,经过一段时间,有些地方可能连编程者都忘记了,增加注释 可以帮助恢复记忆,调试程序时,也容易找出错误。注释也可以分行写。 5.在书写{}时要对齐。虽然不对应也不影响程序运行,但对齐后方便以后检查程序,也是为了美观,特别是后面学到流程控制时,{}一定要对齐。 程序设计方法: 1.从问题的全局出发,写出一个概括性的抽象的描述。 2.定义变量,选取函数,确定算法。算法这个东西不好说,遇到的问题多了,自然就会形成自己一整套的算法。 3.按照解决问题的顺序把语句和函数在main()里面堆砌起来。 一个好的C程序员应该做到: 1.在运行程序之前存盘 2.所有在程序中用到的常量都用预处理语句在程序开头定义 3.所有在程序中用到的函数都在程序开头声明 4.头文件的#ifndef 5.变量名和函数名使用有意思的英文单词或汉语拼音 6.尽量少用全局变量或不用全局变量 7.采用层次的书写程序格式,对for,while,if_else,do_while,switch_case等控制语句或他们的多重嵌套,采用缩格结构 8.所有对应的{}都对齐 9.尽量用for,而不用while做记数循环 10.尽量不用goto语句 11.一个函数不宜处理太多的功能,保持函数的小型化,功能单一化 12.一个函数要保持自己的独立性,如同黑匣子一样,单进单出 13.函数的返回类型不要省略 14.用malloc()分配内存空间时,以后一定要用free()释放 15.打开文件后,记住在退出程序前要关闭 16.出错情况的处理 17.写上必要的注释 这里说的是一些基本的,经常遇到的情况,还有其他很多要注意的地方,在实际编程中都会遇到. 五、条件语句 一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。 一、if语句 if(表达式) 语句1; 如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。 如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中, 此时条件 语句形式为: if(表达式) { 语句体1; } 例如: if(x>=0) y=x; if(a||b&&c) { z=a+b; c+=z; } 二、if--else语句 除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一段代码。 在C语句中利用else语句来达到这个木的。 if(表达式) 语句1; else 语句2; 同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。 例如: if(x>=0) y=x; else y=-x; 三、if--else if--else结构。 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; . . . else 语句n; 这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关的语句, 并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else 语句n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用{和} 把这些语句包括在其中。 条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪 个if对应哪个else。 例如: if(x>20||x<-10) if(y<=100&&y>x) printf(Good); else printf(Bad); 对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必须用花括号。如下所 示: if(x>20||x<-10) { if(y<=100&&y>x) printf(Good); } else printf(Bad); 下面举几个例子: 1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是0,则输出 zero。 main() { float num; scanf(%f,&f); if(num>0) printf(plus\n); else if(num<0) printf(negative\n); else printf(zero\n); } 先定义两个变量,然后输入一个数,然后判断这个数的范围,输出对应的字符串。 2.输入一个数x,输出y。其中y是x的绝对值。 main() { float x,y; scanf(%f,&x); if(x>=0) y=x; else y=-x; printf(%f\n,y); } 程序比较简单,这儿就不分析了。 其实Trubo C 2.0把一些常用的功能都写好了,我们只需要使用就可。例如求绝对值的 功能在C的库里面就有。看下面的: #include math.h main() { float x,y; scanf(%f,&x); y=fabs(x); /*求x的绝对值,然后赋值给y*/ printf(%f\n,y); } 这个程序和上面的程序完成的功能是一模一样的,都是求绝对值。可以看出,用下面这 个方法比上面就要好一些。由于fabs()是一个函数,系统自带的,所以在使用它的时候, 我们必须把它所在的库文件math.h包含都程序中,即程序最前面一行。类似的还有求开 方sqrt(),求指数幂exp()等等,这些与数学方面有关的函数都在math.h里面。具体哪些有哪些没有,在什么库里面,可以查看一些手册。 3.输入x,输出y,x和y满足关系: x<-5 y=x; -5<=x<1 y=2*x+5; 1<=x<4 y=x+6; x>=4 y=3*x-2; 程序如下: main() { float x,y; scanf(%f,&x); if(x<-5) y=x; else if(-5<=x&&x<1) y=2*x+5; else if(1<=x&&x<4) y=x+6; else y=3*x-2; printf(%f\n,y); } 这里要说明两点: (1).-5<=x&&x<1不能写成-5<=x<1;1<=x&&x<4也不能写成1<=x<4;在C语言中,不能 认识连续不等式。 (2).y=2*x+5不能写成y=2x+5;y=3*x-2也不能写成y=3x-2;这与我们平时所写的方法不一 样。 4.输入三个数x,y,z,然后按从大到小输出。 main() { float x,y,z; scanf(%f%f%f,&x,&y,&z); if(x>=y&&x>=z) { printf(%f\t,x); if(y>=z) printf(%f\t%f\n,y,z); else printf(%f\t%f\n,z,y); } else if(y>=x&&y>=z) { printf(%f\t,y); if(x>=z) printf(%f\t%f\n,x,z); else printf(%f\t%f\n,z,x); } else { printf(%f\t,z); if(x>=y) printf(%f\t%f\n,x,y); else printf(%f\t%f\n,y,x); } } 说明:这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对应关系就 乱了。 四、switch--case语句 在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if -else-if语句来 实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情况, Turbo C2.0提供了一个 开关语句。开关语句格式为: switch(变量) { case 常量1: 语句1或空; case 常量2: 语句2或空; . . . case 常量n: 语句n或空; default: 语句n+1或空; } 执行switch开关语句时,将变量逐个与case后的常量进行比较,若与其中一个相等,则执行该常量下的语句,若不与任何一个常量相等,则执行default后面的语句。 注意: 1.switch中变量可以是数值,也可以是字符,但必须是整数。 2.可以省略一些case和default。 3.每个case或default后的语句可以是语句体,但不需要使用{和}括起来。 例如: main() { int x,y; scanf(%d,&x); witch(x) { case 1: y=x+1; break; /*退出开关语句,遇到break才退出*/ case 4: y=2*x+1; break; default: y=x--; break; } printf(%d\n,y); } 从上面的例子可以看出,用开关语句编的程序一定可以用if语句做。那么在什么情况下 需要用switch语句呢,一般在出现比较整的情况下或者能转化成比较整数的情况下使 用。看下面的例子: 例子:一个学生的成绩分成五等,超过90分的为'A',80-89的为'B',70-79为'C',60-69为'D',60分以下为'E'。现在输入一个学生的成绩,输出他的等级。 (1).用if语句 main() { float num; char grade; scanf(%d,&num); if(num>=90) grade='A'; else if(num>=80&&num<89) grade='B'; else if(num>=70&&num<79) grade='C'; else if(num>=60&&num<69) grade='D'; else grade='E'; printf(%c,grade); } (2).用switch语句 main() { int num; char grade; scanf(%d,&num); num/=10; switch(num) { case 10: case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; default: grade='E'; break; } printf(%c,grade); } 说明一点,并不是每个case里面有都语句,有时侯里面是空的,就好象这一题。switch语句执行的顺序是从第一case判断,如果正确就往下执行,直到break;如果不正确,就执行下一个case。所以在这里,当成绩是100分时,执行case 10:然后往下执行, grade='A';break;退出。 想想看,这里为什么要用num/=10;, 假设当程序中有浮点数时怎么办呢, 六、循环语句和循环控制 一、循环语句 (一)、for循环 它的一般形式为: for(<初始化>;<条件表过式>;<增量>) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。 例如: for(i=1;i<=10;i++) 语句; 上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。 注意: (1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。 (2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省 略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便 成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改 循环控制变量的语句。 (3).for循环可以有多层嵌套。 例如: for(;;) 语句; for(i=1;;i+=2) 语句; for(j=5;;) 语句; 这些for循环语句都是正确的。 main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) printf(%d %d\n,i,j); } 输出结果为: i j 0 0 0 1 0 2 1 0 1 1 1 2 用for循环求1+2+……+100的和: main() { int sn=0,i; for(i=1;i<=100;i++) sn+=i; /*1+2+……+100*/ printf(%d\n,sn); } 从程序可以看出,使用循环语句可以大大简化代码。 (二)、while循环 它的一般形式为: while(条件) 语句; while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循 环程序外的后续语句。 例如: #include stdio.h main() { char c; c='\0'; /*初始化c*/ while(c!='\n') /*回车结束循环*/ c=getche(); /*带回显的从键盘接收字符*/ } 上例中,while循环是以检查c是否为回车符开始,因其事先被初始化为空,所以条件 为真,进入循环等待键盘输入字符;一旦输入回车,则c='\n',条件为假,循环便告结 束。与for循环一样,while循环总是在循环的头部检验条件,这就意味着循环可能什么 也不执行就退出。 注意: (1).在while循环体内也允许空语句。 例如: while((c=getche())!='\n'); 这个循环直到键入回车为止。 (2).可以有多层循环嵌套。 (3).语句可以是语句体, 此时必须用{和}括起来。 用while循环求1+2+……+100的和: main() { int sn=0,i=0; while(++i<=100) sn+=i; /*求1+2+……+100*/ printf(%d\n,sn); } (三)、do--while循环 它的一般格式为: do { 语句块; } while(条件); 这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如 果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环 语句。 同样当有许多语句参加循环时,要用{和}把它们括起来。 用do--while循环求1+2+……+100的和: main() { int sn=0,i=1; do sn+=i; /*求1+2+……+100*/ while(++i<=100); printf(%d\n,sn); } 从上面三个程序看出,使用for,while和do--while求解同样的问题,基本思路都差不多,只是在第一次计算时,注意初值。 二、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句 continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。 continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用,用来 加速循环。 例如: main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) continue; /*如果i等于51,则结束本次循环*/ sn+=i; /*1+2+……+50+52+……+100*/ } printf(%d\n,sn); } 从程序中可以看出,continue语句只是当前的值没有执行,也就是说当前的值跳过去了, 接着执行下次循环。 main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==1) continue; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 2 1 0 1 2 (三)、goto语句 goto语句是一种无条件转移语句,与BASIC中的goto语句相似。goto语句的使用格式 为: goto 标号; 其中标号是Turbo C 2.0中一个有效的标识符,这个标识符加上一个:一起出现在函数内 某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。标号既然是一个标 识符,也就要满足标识符的命名规则。另外标号必须与goto语句同处于一个函数中,但 可以不在一个循环层中。通常goto语句与if条件语句连用,当满足某一条件时,程序 跳到标号处运行。goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在 多层嵌套退出时,用goto语句则比较合理。 main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) goto loop; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } loop: ; printf(%d\n,sn); } 可以看出,这儿的goto语句和break作用很类似。 这儿的loop: ; printf(%d\n,sn); 也可以写成loop: printf(%d\n,sn); main() { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) goto loop; /*如果i等于51,则跳出本次循环*/ sn+=i; /*1+2+……+50+52+……+100*/ loop: ; } printf(%d\n,sn); } 可以看出这儿的loop语句和continue的作用类似。 但是某些情况下又必须使用goto语句,否则会让程序大大臃肿。如: main() { int i,j,k; printf(i j k\n); for(i=0;i<2;i++) for(j=0;j<3;j++) for(k=0;k<3;k++) { if(k==2) goto loop; printf(%d %d %d\n,i,j,k); } loop: ; } 输出结果为: i j k 0 0 0 0 0 1 如果不使用goto语句,而使用break,continue语句,应该这样 main() { int i,j,k; printf(i j\n); for(i=0;i<2;i++) { for(j=0;j<3;j++) { for(k=0;k<3;k++) { if(k==2) break; printf(%d %d %d\n,i,j,k); } if(k==2) break; } if(k==2) break; } } 输出结果为: i j k 0 0 0 0 0 1 所以在同时跳出多层循环时,应该使用goto语句。记住,所有的goto语句其实都是可 以用break,continue代替的。 下面举几个例子: 1.求两个整数的最大公约数。例如10和15的最大公约数是5。 分析:最大公约数一定小于等于最小的那个数一半,同时能被两数整除。 main() { int num1,num2,i,min; scanf(%d%d,&num1,&num2); min=num1 for(i=min/2;i>0;i--) if(num1%i==0&&num2%i==0) break; printf(最大公约数为%d\n,i); } 2.求1!+2!+……+n!(n<10) main() { int n,i; long temp=1,sn=0; /*从9!以后,所得的值就超过了int范围*/ scanf(%d,&n); for(i=1;i<=n;i++) { temp*=i; sn+=temp; /*如果没有这一步,求的就是n!*/ } printf(%ld\n,sn); } 那么想想,如果求1!+3!+5!+……+n!应该怎么办, 3.判断一个整数是不是素数(素数就是只能被本身和1整除的数)。 #include math.h main() { int num,i,flag=0; scanf(%d,&num); for(i=2;i { flag=0; /*标志变量复位*/ if(num%i==0) { flag=1; break; } } if(flag==0) printf(是素数\n); else printf(不是素数\n); } 可以说,在所有的C语言书上,都有判断素数的例题。它的编程思想是:把一个变量作为标志变量,用来标志是不是素数;循环体是从2到sqrt(num),因为如果一个数不是素数的话,一定能分解成num=num1*num2,它们中的最小值一定小于sqrt(num),所以循环的时候只要到sqrt(num)就可以了。同时要注意变量复位的问题。 七、数组 数组,顾名思义就是一组同类型的数。 一、数组的声明 声明数组的语法为在数组名后加上用方括号括起来的维数说明。本接仅介绍一维数组。下面是一个整型数组的例子: int array[10]; 这条语句定义了一个具有10个整型元素的名为array的数组。这些整数在内存中是连续存储的。数组的大小等于每个元素的大小乘上数组元素的个数。方括号中的维数表达式可以包含运算符,但其计算结果必须是一个长整型值。这个数组是一维的。 下面这些声明是合法的: int offset[5+3]; float count[5*2+3]; 下面是不合法的: int n=10; int offset[n]; /*在声明时,变量不能作为数组的维数*/ 二、用下标访问数组元素 int offset[10]; 表明该数组是一维数组,里面有10个数,它们分别为offset[0],offset[1],……offset[9];千万注意,数组的第一个元素下标从0开始。一些刚学编程的人员经常在这儿犯一些错误。 offset[3]=25; 上面的例子是把25赋值给整型数组offset的第四个元素。 在赋值的时候,可以使用变量作为数组下标。 main() { int i,offset[10]; for(i=0;i<10;i++) scanf(%d,&offset[i]); for(i=9;i>=0;i--) printf(%d ,offset[i]); printf(\n); } 题目的意思是先输入10个整数,存入到数组中,然后反序输出。 三、数组的初始化 前面说了,变量可以在定义的时候初始化,数组也可以。 int array[5]={1,2,3,4,5}; 在定义数组时,可以用放在一对大括号中的初始化表对其进行初始化。初始化值的个数可以和数组元素个数一样多。 如果初始化的个数多于元素个数,将产生编译错误;如果少于元素个数,其余的元素被初始化为0。 如果维数表达式为空时,那么将用初始化值的个数来隐式地指定数组元素的个数,如下所式: int array[]={1,2,3,4,5}; 这也表明数组array元素个数为5。 main() { int i,array[]={1,3,5,7,9,11}; for(i=0;i<5;i++) printf(%d ,array[i]); printf(\n); } 最终结果为1 3 5 7 9 四、字符数组 整数和浮点数数组很好理解,在一维数组中,还有一类字符型数组。 char array[5]={'H','E','L','L','O'}; 对于单个字符,必须要用单引号括起来。又由于字符和整型是等价的,所以上面的字符型数组也可以这样表示: char array[5]={72,69,76,76,79}; /*用对应的ASCII码*/ 举一个例子: main() { int i; char array[5]={'H','E','L','L','O'}; for(i=0;i<5;i++) printf(%d ,array[i]); printf(\n); } 最终的输出结果为72 69 76 76 79 但是字符型数组和整型数组也有不同的地方,看下面的: char array[]=HELLO; 如果我们能看到内部的话,实际上编译器是这样处理的: char array[]={'H','E','L','L','O','\0'}; 看上面最后一个字符'\0',它是一个字符常量,Turbo C编译器总是给字符型数组的最后自动加上一个\0,这是字符的结束标志。所以虽然HELLO只有5个字符,但存入到数组的个数却是6个。但是,数组的长度仍然是5。 int i; i=strlen(array); /*求字符串的长度,在string.h里面*/ 可以看出i仍然是5,表明最后的'\0'没有算。 #include string.h main() { int i,j; char array[]=094387fdhgkdladhladaskdh; j=strlen(array); for(i=0;i printf(\n); } 其实我们可以根据判断'\0'来输出字符串,看下面的: main() { int i; char array[]=094387fdhgkdladhladaskdh; for(i=0;array[i]!='\0';i++) printf(%c,array[i]); printf(\n); } 举几个例子: 1.输入10个整数存入数组中,然后把它们从小到大排列并放在同一数组中。(思路:先 找出最小的,放在第一个位置,为了防止把原先的数覆盖掉,可以把原先的第一个数和 最小数的位置互换)。 main() { int array[10]; int i,j,min,stmp; for(i=0;i<10;i++) scanf(%d,&array[i]); for(i=0;i<9;i++) { min=array[i]; for(j=i+1;j<10;j++) if(min>array[j]) /*里面的4行语句很重要*/ { min=array[j]; stmp=array[i]; array[i]=array[j]; array[j]=stmp; } } for(i=0;i<10;i++) printf(%d ,array[i]); printf(\n); } 分析:先让第一个值作为基准,如果后面有比它小的,那么就把这两个数互换一下,同时把基准换成小的值。两个数互换应该这样(stmp=a;a=b;b=stmp;),而不是(a=b;b=a;),想想这是为什么,必须要用一个变量作为桥梁。这种一个一个的把最小的放在前面的排序方法,我们形象的叫做冒泡法。 2.输入一行字符存入数组,然后把他们反序存入到同一数组中。 #include stdio.h main() { char c,stmp,array[80]; int i=0,j; while((c=getchar())!='\n') /*注意这儿的用法*/ array[i++]=c; array[i]='\0'; /*为什么要加'\0',是否可以不加,*/ for(j=i-1;j>=i/2;j--) { stmp=array[j]; array[j]=array[i-1-j]; array[i-1-j]=stmp; } for(i=0;array[i]!='\0';i++) printf(%c,array[i]); printf(\n); } 3.一个已经排好序的数组,输入一个数,利用二分法把这个数从原数组中删除,数组顺 序保持不变。如原数组为1,3,5,7,9,11,13,15,17,19,待删除的数为13,则输出为1,3,5,7,9,11,15,17,19。 二分法:每次都是判断中间的数是否满足要求,若满足则删除,若不满足,则把该数当作边界,然后再找中点。例如这一题,第一次的是10个数的中点,为11,发现11<13,则找11-19的中点15,发现15>13,再找11-15的中点13,正好,则删除。 main() { int array[10]={1,2,3,5,8,15,20,30,100,200}; int first=0,end=9,middle=(first+end)/2,num,i; scanf(%d,&num); while(array[middle]!=num) /*注意这里面的三行代码*/ { if(array[middle]>num) end=middle; else first=middle; middle=(first+end)/2; } for(i=0;i<9;i++) { if(i>=middle) array[i]=array[i+1]; printf(%d ,array[i]); } printf(\n); } 程序没有考虑当输入的数在原先数组中没有时怎么处理。如果要考虑这个问题,程序该怎么改动呢, 亲爱的朋友,上文已完,为感谢你的阅读,特加送另一篇范文, 如果下文你不需要,可以下载后编辑删除,谢谢, 道路施工方案 1、 工程概况 2、 编制说明及编制依据 3、 主要施工方法及技术措施 3(1施工程序 3(2施工准备 3(3定位放线 3. 4土方开挖 3(5卵石路基施工 3(6天然砾基层施工 3. 7高强聚酯土工格楞 3(8水泥稳定砂砾基层施工 3(9路缘石施工 3. 10玻璃纤维土工格栅施工 3(11沥青面层施工 3. 12降水施工 4、 质量控制措施 5、 雨季施工安排 6、 安全技术措施 1. 工程概况 本项目建设的厂址位于新疆石河子市。工程场地位于石河子高新技术开发区经七路西。场地原为麦田,地势南高北低。厂区道路连通各装置区域,并与经七路相连。 2. 编制说明及编制依据 为保质按时顺利完成厂区道路,根据工程施工招标文件、设计施工图,以及现场实际场地,并结合我公司多年来的现场施工经验编制此方案。 规范及标准: 《沥青路面施工技术质量规范》 JTG F40-2004 《工程测量规范》 GB50026-2007 《建筑施工安全检查标准》 JGJ59-1999; 3. 主要施工方法及技术措施 3.1施工程序 降水——施工测量——土方开挖——路基(卵石)整平——机械压 实——天然砂砾基层——机械压实——高强聚酸土工格楞——浆砌 卵石立缘石基础——水泥砂浆勾鏠——天然砂砾基层——机械压实 ——安装路缘石——水泥稳定砂砾底基层——玻璃纤维土工格楞 ——粗粒式沥青混凝土面层——中粒式沥青混凝土面层 3.2施工准备 熟悉图纸及规范,做好技术交底工作。按图纸范围确定施工范围,标出外框范围线,清出障碍物。联系施工需用材料、机械的进场工作。根据业主提供的平面控制坐标点与水准控制点进行引测。根据施工图规定的道路工程坐标点,进行测量放样的业内复合计算。 3.3定位放线 根据现场实际情况,在道路两侧沿线间隔50m左右布置测量控制桩,轴线定位(坐标)桩与高程测量控制桩合用。控制点沿道路中心线两侧交错间隔布置,形成多个控制体系,同时控制桩做醒目标志,以防在施工过程中被碰动。土方施工后,测量人员应及时重新放线,路基处理后,应在路基上测定路面中心线、边界线以及标高控制点。 其基本步骤为:校验路基轴线控制桩;合格后,根据轴线控制桩详细放出路边线以及设置标高控制桩。 放线自检和业主监理验收后方可使用。验线允许偏差根据规范规定。 3.4 土方开挖 施工方法:在施工测量放线确定基础位置,经检查复核无误后,作为施工控制的依据,并经过监理确认后,即可进行基础土石方的开挖。 主要施工机具:挖掘机、装载机、尖、平头铁锹等。 3.4.1作业条件: 土方开挖前,应摸清地下管线等障碍物,以及地下水位等情况,并应将施工区域内的地下障碍物清除和处理完毕。 道路的定位控制线(桩),标准水平桩及基槽的灰线尺寸,必须经过共同检验合格,并办完预检手续。考虑在机械无法作业的部位和修整边坡坡度采用人工进行施工。熟悉图纸,做好技术交底。索取地勘资料及 气象资料。 夜间施工时,应合理安排工序,防止错挖或超挖。施工场地应根据需要安装照明设施,在危险地段应设置明显标志。 3.4.2挖土方流程: 确定开挖的顺序和坡度?沿灰线切出槽边轮廓线?分层开挖?修整槽边?清底。 (1)基地坡度剖面图: 现场土质为粉质粘土,开挖 深度不超过1.5m可不放坡,不加支撑,挖深度超过1.5m必须放坡,放坡坡度为1:0.75。 (2)开挖基槽: 采用反铲挖土机开挖基槽从槽的端头,以倒退行驶的方法进行开挖,将土方甩到基槽两侧,应保证边坡的稳定。场地以下耕织土层直接清理现场,剩余好土回填基槽使用。 (3)施工要求: 基坑(槽)开挖后,不得直接开挖至设计底标高,避免机械开挖扰动地基土层。在挖到距槽底20cm以内时,测量放线人员应配合抄出距槽底20cm水平线,并在槽壁上每隔3~5m钉水平标高小木桩或短钢筋,在挖至接近槽底标高时0.2m时,用尺或事先量好的20cm标准尺杆,随时以小木桩校核槽底标高。最后由两端轴线(中心线)引桩拉通线,检查距槽边尺寸,确定槽宽标准,据此修整基槽,最后人工清除槽底土方。 土方开挖时应注意边坡稳定。严禁切割坡脚,以防导致边坡失稳,当边坡坡度陡于五分之一,或在软土地段,不得在挖土上侧堆土。必要时可适当放缓边坡或设置支撑。施工时,应加强对边坡、支撑、土堤等的检查。同时应注意基坑边沿控制线好其他单位设施,避免损伤. 夜间施工时,应有足够的照明设备,在危险地段应设置明显标志,并要合理安排开挖顺序,防止错挖、超挖。 雨期施工在开挖基坑(槽)时,应注意边坡稳定,必要时可适当放缓边坡坡度,防止地面水流入。坚持对边坡进行检查,发现问题要及时处理。 (4)应注意控制的质量问题 基础底部土方超深开挖:开挖基坑(槽)或管沟均不得超过基底标高。如个别地方超挖时,其解决方法应取得设计单位的同意,不得私自处理.基坑开挖中如遇局部地基问题,施工方应及时有关各方人员现场共同协商处理,未得到各方任何之前,不得擅自处理。基坑开挖并清理完,经钎探(根据当地监理、质检部门要求)和验槽合格后,方可进行下道工序的施工。 基底未能得到保护:基坑(槽)开挖后应尽量减少对基础底部基土的扰动。如基础不能及时施工时,可在基底标高以上留出0.3m厚土层,待做基础时再挖掉。开挖尺寸不足:基坑(槽)或管沟底部的开挖宽度,除结构宽度外,应根据施工需要增加工作面宽度。如排水设施、支撑结构所需的宽度,在开挖前均应考虑。基坑(槽)边坡不直不平,基底不平:应加强检查,随挖随修,并要认真验收。 3.5卵石路基基层施工 路基施工是道路施工重点, 必须将原地面上各种杂物清除,保证填土表面无积水。 对于压路机不能压到得地方,采用夯机夯实或者人工夯实。 厂区道路路基密实度不小于96%,经检测合格后方可经行后续施工。 本工程采用200厚卵石基层,基层每边比基础宽出270mm。自卸汽车倒至基槽漂石,反铲挖掘机整平后,压路机压实。 3.5.1材料 卵石:采用粒径100-200mm卵石做为底基层。上层为天然砂砾,水 泥稳定砂砾层及粗,中式沥青面层。 3.5.2施工方法 (1)施工测量 施工前对下承层按质量验收标准进行验收之后,恢复中线,直线段每20m设一桩,并在两侧路面边缘0.3-0.5m处设标志桩,在标志桩上用记号笔标出漂石基层边缘设计标高。 (2)整平 卵石入槽后,挖掘机倒退法整平。进行分层施工,基层的设计厚度为200mm,根据现场实际情况,基底土方含水率较大,为了保证第一层漂石整体均匀性, 防止地基翻浆,第一层漂石虚铺厚度400mm,碾压整平后,直接回填天然砂砾,分层碾压至设计标高。 (3)试验取样 选择资质符合要求的试验室进行戈壁分层碾压取样试验。现场取样每层天然砂砾碾压完成后,由监理单位见证试验室现场对戈壁取样,压实系数要求不小于0.96.取样要求,每1000平方取样两点,不足1000平方时按两点取样。 3.6天然砂砾路基施工 天然砂砾应平铺整平后,进行机械碾压。压路机采用18t内震式。碾压时先轻后重,先慢后快。直线段,由两侧路肩向路中心碾压,平曲线段由内侧向外侧进行碾压。碾压时,主碾重叠不小于30cm。 压路机的碾压速度,头两遍采用1.5-1.7Km/h,以后采2.0-2.5Km/h。在规定的时间内碾压到要求的压实度,达到没有明显的轮迹。碾压过程中,如有“弹簧”、松散、起皮等现象,铲除换填,使其达到质量要求。分段施工时,上下两层接缝距离为500mm,接缝处夯压密实。 3.7高强聚酯土工格楞 土工格栅选取用聚酯涤纶纤维为原料。采用经编定向结构,织物中的经纬向纱线相互间无弯曲状态,交叉点用高强纤维长丝捆绑结合起来,形成牢固的结合点,充分发挥其力学性能,高强聚酯土工格栅具有抗拉强度高,延伸力小,抗撕力强度大,纵横强度差异小,耐紫外线老化、耐磨损、耐腐蚀、质轻、与土或碎石嵌锁力强,对增强土体抗剪及补强提高土体的整体性与荷载力,具有显著作用。 土工格栅施工要点: 1、施工场地:要求压实平整、呈水平状、清除尖刺突起物。 2、格栅铺设:在平整压实的场地上,安装铺设的格栅其主要受力方向(纵向)应垂直于路堤轴线方向,铺设要平整,无皱折,尽量张紧。用插钉及土石压重固定,铺设的格栅主要受力方向最好是通长无接头,幅与幅之间的连接可以人工绑扎搭接,搭接宽度不小于10cm。如设置的格栅在两层以上,层与层之间应错缝。大面积铺设后,要整体调整其平直度。当填盖一层土后,未碾压前,应再次用人工或机具张紧格栅,力度要均匀,使格栅在土中为绷直受力状态。 3、填料的摊铺和压实:当格栅铺设定位后,应及时填土覆盖,裸露时间不得超时48小是,亦可采取边铺设边回填的流水作业法。先在两端摊铺填料,将格栅固定,再向中部推进。碾压的顺序是先两侧后中间。碾压时压轮不能直接与筋材接触,未压实的加筋体一般不允许车辆在上面行驶,以免筋材错位。分层压实度为20-30cm。压实度必须达到设计要求,这也是加筋土工程的成败关键。 4、防排水措施:在加筋土工程中,一定要作好墙体内外的排水处理;要做好护脚,防冲刷;在土体内要设置滤、排水措施。 3.8水泥稳定砂砾基层施工 1.摊铺混合料前,要清扫砂砾执层,垫层上不能有杂物。要严格检 查底基层之纵断高程和横断面坡度,检测指标与偏差必须满足设计与规范要求。然后洒水湿润底基层表面,但不能有自由水存积。 2(用摊铺机摊铺混合料时,中间不宜中断。 因故断超过初凝时间过长,应设置施工缝。 摊铺机行下速度控制在1M-5M/min,并匀速行进。 3.水泥稳定砂砾基层施工中,横缝是不可避免的,对接缝处理规范有严格要求。另外根据实际操作之经验,我处理之方法是先在横缝处多填混合料,压路机横向碾压2-3遍,再铲除明显高出之部分,再横压力1-2遍,最后再纵向依次碾压,压路机纵向行驶要超过横缝,碾压完毕再人工挖除1米,以便下次接缝。 4.水泥稳定砂砾基层碾压成型后,要能时喷雾洒水,以防止水泥稳定基层风干。48小时内要保持表面湿润不干燥,然后连续约3天,以后可适当减少洒水次数,但必须保持表面湿润。洒水养生不少于7天,期间要禁止一切车辆通行,洒水车要缓慢行进洒水均匀。流水施工作业时,水泥稳定砂砾基层洒水养生4天后,可洒透乳化沥青养生,第5天可铺沥表下面层。这样作业对基层质量没有影响,还可快加工程进度。 3.9路缘石施工 路缘石施工应符合下列要求: 核对道路中心线无误后,进行边线放样,确定路缘石底面标高。 路缘石施工应根据路缘石平面位置和顶面标高,放样依次排砌。相邻侧石接缝必须平齐,然后进行勾缝。 3.10玻纤土工格栅施工 常用的玻纤土工格栅有带自粘胶和不带自粘胶两种,带自粘胶的可直接在已平整的基层铺设,不带自粘胶的,通常采用钉子固定法。 钉子固定法所需材料为: i. 40×40×0.3毫米的固定铁皮,要求平整不翘角 ii. 2英寸钢钉(优质水泥钉) 1、钉子固定法铺设玻纤土工格栅时,先将一端用固定铁皮和钉子固定在已洒布粘层沥青的下层结构上,钉子可用锤击或射钉枪射入,再将格栅纵向拉紧并分段固定,每段长度为2-5米,对于水泥混凝土路面,可按收缩缝间距分段。钢钉位置设于接缝处,要求格栅拉紧时,其纵横向均处于挺直张紧状态。 2、 格栅搭接距离为:纵向接头搭接距离不小于20厘米,横向搭接距离不小于15厘米,纵向搭接应根据沥青摊铺方向,将前一幅处于后一幅之上。 3、不能将钉子钉于玻纤格栅上,也不能用锤子直接敲击玻纤格栅,固定好后,如发现钉子断裂或铁皮松动,则需重新固定。 4、玻纤格栅铺设固定完毕后,须用胶辊压路机适度碾压稳定。使格栅与原路表面粘牢固,严格控制运送混合料的车辆出入,在格栅层上禁止车辆急转向、急刹车和倾泻混合料脚料,以防止对玻纤格栅的施工损伤。 5、施工注意事项 (1)严格控制远送混合材料的车辆出入,在格栅层上禁止车辆急转向、急刹车和倾斜混合材料,以防止对玻纤格栅的损坏。 (2)玻纤格栅背胶易溶于水,雨天或路面潮湿时不得施工。 (3)玻纤格栅为玻璃纤维制造,对人体皮肤易产生刺激作用,施工人员须戴防护手套。 (4)当使用胶轮压路机需注水增加重量时,其注水量不能太慢,以防溢流到玻纤格栅上,造成其背腹失去粘性。 (5)玻纤格栅铺设过程中,若发现原有较小的坑塘没有预先填平,可在铺好的格栅上将对应坑塘的部分剪去,以便在铺上层沥青混合材料时能完全填平坑塘。 (6)格栅铺设时,要求路面温度在5?—6? (1)机械铺设 将整卷土工格栅装在拖拉机前的放卷架上,注意其粘性面向下。 使拖拉机向前走,保证土工格栅平直地粘在路面上。s 用胶轮的轻型压路机碾压1-2遍。 摊铺沥青混合料路面。 (2)人工铺设 将整卷土工格栅放在卡车后或手推车的放卷架上,注意其粘性面向下。确保放卷轴已锁定,布卷不致自由松动。当卡车(或手推车)慢慢向前走时,应踩住格栅一端。如格栅有松驰时,即时调整以防皱折。 用胶轮的轻型压路机碾压1-2遍,激活格栅背胶即可摊铺沥青路面。 3.11沥青混凝土面层施工 (1)沥青透层油 沥青透层油在已建成的石灰粉煤灰砂烁上洒布,主要材料为慢烈的洒布型阳离子或阴离子乳化沥青(PC-2或PA-2)及粒径为0.5-1.0cm的石屑。透层沥青采用沥青洒布车喷洒,用量1.0L/?,洒布要求均匀, 不产生滑移和流畅。当有遗漏时,采用人工补洒。浇洒透层沥青后,易立即洒石屑或粗砂,用量3m?,1000?.然后用6-8T的钢简式压路机展压一边。洒布之后,保证24小时内不得扰动,使沥青充分渗透到基层中。 (2)沥青混合料面层施工工艺: ?、准备工作: 沥青混凝土路面使用二台摊铺机,两侧为基准线,两机相距10m左右。先对沥青混凝土面层的施工将切实做好基层验收、技术准备、人员组织、设备组织、作业准备、混合料运输、混合材料摊铺和碾压底基验收这八个环节。基层和沥青混凝土面层平整度、厚度必须严格满足设计要求,为上面层施工打下良好基础。 a、材料准备:施工使用的沥青混合材料必须按照要求申报使用许可,如改变已批准的混合料配比,则需重新申报。 b、人员准备:摊铺实验之前,在驻地监理办和现场指挥在场的情况下汇报施工方案并召开技术交底会,明确各岗位的职责和技术要求,做到分工明确、各司其职、井然有序并在驻地办批准下进行施工。试验段后,召开技术总结会,针对存在的问题和不足,制定有效的整改措施进一步完善施工工艺并经监理工程师批准后进行全面施工。现场指挥和整体工作协调;现场疏导、安全及车辆调配;现场施工、跟机作业及准备工作;看护基准线设备、调控宽度和油边调控摊铺石的高程、厚度和横坡度;测量温度、组织碾压及试验检测等工作将配备专人负责。 c、机器准备:参加沥青混凝土面层施工的机器设备必须处于完好状态,备份施工机器及水车,加油车和装载机等辅助机器与施工密切配合,做到随叫随到。各种作业机器严禁有漏油现象,维护和保养机器时,必须采取有效措施防止污染和破坏。沥青混凝土面层施工时,将使用作业机具如下表: 机器名称 型号 数量 用途 摊铺机 ABG423 2台 摊铺 钢轮压路机 DD110 2台 初压 钢轮压路机 DD130 2台 复压、终压 水车 5T 1台 加水 其他 少火车、烙铁、平粑、筛子、方掀、靠尺、手推车 d、检测仪器准备:检测仪器配备主要有直尺、红外线测温计、平整仪等。在施工作业前做全面检查,并经调试证明处于性能良好状态。 e、确定作业面:作业准备在施工沥青混凝土面层前先确定好其作业面,以使施工能连续进行,并组织人员: 熟悉作业面高程,纵横坡、超高、加宽等技术参数。 了解基层施工中的问题,并确定相应的补救措施。 标划施工大样线,对调控点、变坡点等特殊点和摊铺机的行车线与分车线都必须有明显标识。 施工前由施工技术人员依据道路5米一个横断面在两侧做出标记,并注明相应桩号。 随后在两侧平台上将基准线固定,安装完毕后,设专人看护。首先对下承层进行全面自检,按照规范要求对密实度、平整度、高度、厚度、横坡、纵坡等进行全面检测,自检合格后报验验收,同时设点作为以后路面各层检测的固定点位。 验收通过后,进行下一步工序。 ?、沥青混合料生产、运输和卸料监督: 沥青混凝土的生产和运输首先由我项目部委托试验室控制沥青的生产质量,按规范要求完成各种室内试验,并及时将结果向监理人员反馈未经监理人员同意不能调整配合比,严禁手动放料。专人负责测量温 和观看外观质量,以避免不合格材料用于施工中。其次,热拌沥青混合料采用较大吨位的汽车运输(料厂提供)、车厢清扫干净,为防止沥青与车厢板粘结,可涂一层油水混合液,但车厢底部不得有余液积聚。并且根据沥青混凝土拌和设备的生产能力合理安排运输力量,考虑到尽力可能使摊铺机前方运料车在等侯卸料的保证在5辆车以上。在连续摊铺过程中,运料车在摊铺机前10-3-cm处停住,不得撞击摊铺机。卸料过程中运料车挂空挡,靠摊铺机推动前进。运料车用篷布覆盖,用以保温、防雨雪、防污染。沥青混合料运至摊铺地点后,委派专人逐车检查拌合质量及油温。凡温度低于规定要求(140-160、东施170-160)及严重离席料、花料、油大料或已经结成团块、以遭雨淋湿的混合料立即清除,不摊铺在道路上。 ?、摊铺 摊铺机就位时,在熨平板下面铺放垫木,垫木的顶面高即为该点的设计高程加摊层,垫木的实测高程准确,并反复校准,直至满足规范要求后,摊铺机方可就位。摊铺机在收料前在料斗内涂刷少量防止粘料用的柴油。摊铺机在运行前事先预热,起步后立即检测高程、横坡和厚度,及时进行校对与调整,此项工作在摊铺30米距离内完成,如有必要可停机检测,问题较大时必须重新起步。沥青混合料的松铺系数根据实际的混合料类型,施工机器和施工工艺等,由试铺试压方法或根据规范中松浦系数的规定选用。沥青混合料的摊铺温度符合规范要求,并根据沥青标号、粘度、气温、摊铺层厚度选用。沥青混合料必须缓慢、均匀、连续不间断地摊铺。摊铺过程中不得随意变换速度或中途停顿。摊铺速度根据拌和机产量、施工机器配套情况及摊铺层厚度、宽度情况定,并符合2-6m/min的要求。再摊铺过程中,摊铺机螺旋并料器不停顿的转动,两侧保持有少于送料器高度2/3的混合料,并保证在摊铺机全宽度断面 上不发生离析。对于局部小离析处筛细料处理。熨平板按所需厚度固定后,不得随意调整。 在摊铺过程中有专人指挥车辆卸料,衔接及时,从儿减少摊铺机运行中停机待料。如果出现供料段档,停机并适当压车,严禁随来料随摊铺。在摊铺过程中,我单位设专人及时跟踪测量沥青路面的纵段面高度,横坡及摊铺厚度,如不符合要求及时调整。用机器摊铺的混合料,尽量不用人工反复修整。 当出现横断面不符合要求、构造物接头部位缺料、摊铺带边缘局部缺料、表面明显不平整、局部混合料明显离析、摊铺机后有明显的托痕等情况时,可用人工作局部找补或更换混合料,并且现场主管人员指导下进行。缺陷严重时,予以铲除,并调整摊铺机或改进摊铺工艺。当属机器原因引起严重缺陷时,立即停止摊铺。人工修补时,工人不宜站在热混合料层面上操作。当机下料温过低时,必须抬机做横缝。对未经初压的摊铺料禁止随意踩踏和修整。 ?、碾压: 沥青混凝土料的压实,根据不同的料温按初压、复压、终压(包括成型)三个阶段进行。设专人检测沥青混合料温度和指挥碾压机器,摊铺后沥青混合料温度在初压阶段,路边插红色旗作为标志。 沥青混合料的温度在复压阶段,在路边插黄色旗作为标志。沥青混合料温度在终压阶段,在路边插绿色旗作为标志。 沥青混合料施工温度一览表 沥青混合料类型 普通沥青混合料 出厂温度 ? 140-160(冬施170-160) 到场温度 ? 130-150(冬施-150) 摊铺温度 ? 120-150(冬施160-130) 碾压温度 ? 120-170 (冬施130-90) a、初压在混合料摊铺后较高温度进行,低速前进不得产生推移、发裂,我单位将采用1台DD110双钢轮压路机进行作业(1.5-2.0km/h)。压路机由低向高碾压。相邻碾压带重叠1/3-1/2轮宽,压完全幅为一遍。边缘无知当时,用靶子将边缘的混合材料稍稍靶高,然后将压路机得外侧轮伸出边缘10cm以上碾压。也可在边缘先空出度30-40cm,待压完第一遍后,将压路机大部分重量位于以压实过的混合料面上再压边缘,以减少向外推移。压路机碾压2遍(先静后振),其压力不宜小于350N/cm。 初压后检查平整度、路拱,必要时予以适当休整。碾压时将驱动轮面向摊铺机,碾压路线及碾压方向禁止突然改变而导致混合料产生推移。压路机启动、停止必须减速进行。在此过程中,特别注意平整度和路拱。 b、复压:复压紧接在初压后进行,并符合下列要求:复压采用DD130震动压路机(4-6km/h),碾压遍数经试压确定,不宜少于4-6遍,达到要求的压实度,并无显著轮迹。当采用振动压路机时,震动频率宜为35-50HZ,并根据混合料种类、温度和厚度选用。层厚较厚时选用较大的频率和振幅,相邻碾压带重叠宽度为10-20cm。振动压路机倒车时先停止振动,并在向另一方向运动后再开始震动,以避免混合料形成鼓包。振动压路机碾压两遍,胶轮压路机碾压两遍。 c、终压:终压紧接在复压后进行。终压选用1台DD130压路机(3km/h)静碾,且不得少于两遍,并无轮迹。路面压实成型的终了温度符合规范的要求。终压时,由质控人员用平整度仪检测平整度,核子密度仪测密度。如不满足要求,及时赶压。 机器碾压速度一览表 压路机类型 初压 复压 终压 钢轮压路机 1.5-2.0km/h 3.0km/h 3.0km/h 振动钢轮 不振1.5-2.0km/h 振动4-6km/h 不振2-3km/h 压路机的碾压段长度以与摊铺速度平衡为原则选定,并保持大体稳定。 压路机每次由两端折回的位置阶梯形的随摊铺机向前推进,使折回处不在同一横断面上。压路机不得在未经压实的混合材料上进行倒轴,必须沿同一轮迹反回,在摊铺机连续摊铺的过程中,压路机不得随意停顿。设专人清洁压路机轮。压路机不得在未碾压成型并冷却的路段上转向、掉头或停车等候。振动压路机在已成型的路面上行驶时关闭振动。对压路机无法压实的构造物接头、拐弯死角、加宽部分及某些路边缘等局部地区,采用振动劣板压实。对边缘处使用人工夯锤、热烙铁补充压实。碾压结束后,在未冷却前,压路机或其他车辆不得在路上停放,不得散落矿料、油料等杂物,并及时检测平整度和压实度。 摊铺过程中如遇大雨,必须立即停止摊铺,并覆盖运输车辆和摊铺机内混合料,对以摊铺的料层,适当提高碾速,采用振动方式尽快结束碾压。对已碾压完毕的段落,24小时后放行交通。 d、接缝:在施工缝及构造物两端的连接处必须仔细操作,保证紧密、平顺。在纵缝上的混合料,在摊铺机得后面立即用DD130钢轮压路机以静力进行碾压,碾压工作连续进行,直至接缝平顺而密实。摊铺时采用梯队作业的纵缝采用直渐热接法。由于工作中断,摊铺材料末端已经冷却,或者在第二天恢复工作时,就做成一道横缝。且在相连层次与相邻程间错开1米。 具体操作方法如下:在施工结束时,摊铺机在接近端部前约1米处将熨平板稍稍抬起势力现场,用人工将端部混合料铲齐后再予碾压。然后用3米直尺检查平整度,趁尚未冷透时垂直创除端部层厚不足部分,使下次施工时成指教连接。在新剖齐的直茬垂直面上喷一薄层粘层油,并用喷灯火焰热原沿缝往复均匀考热。 横向接缝的碾压先用DD130压路机进行横向碾压。碾压时压路机位于已压实的混合料层上,深入新铺层的宽度为15cm。然后每压一遍向新铺混合料移动15-20cm,直至全部在新铺层上为止,再改为丛向碾压。当相邻摊铺层已经成型,同时又有丛缝时,可先用钢筒试压路机沿纵缝碾压一遍,其碾压宽度为15-20cm,然后再沿横缝作横向碾压,最后进行正常的纵向碾压。 不在同日摊铺的纵缝,在摊铺新料前对先铺带边缘加细修理,将松动、裂纹、厚度不足或为充分压实部分清除掉,刨齐缝边垂直,线形直顺,并喷刷一薄层粘层油,热沥青方可摊铺新料。用热混合料敖于已刨之纵缝上,一般宽15-20cm,高约10-15cm,超前10-20cm于摊铺点。纵缝在摊铺后立即碾压,碾压时碾轮大部分压在以碾压路面上,约10-15cm宽度压在新沥青混合料上,然后逐渐移动(侧轴)越过纵缝。横向施工缝摊铺机摊铺混合料,因故中断时,必须设置横向接缝。摊铺机驶离混合材料末端,人工将末端混合材料弄整齐,紧靠混合料放两根方木,方木高度与混合料的压实厚度相同。整平紧靠方木的混合料;放牧的另一侧用砂烁或碎石回填约3米长,其高度应高出方木几厘米;将混合料碾压密实,在重新开始摊铺混合料之前,将砂烁或碎石和方木除去,并将下承层顶面清扫干净和拉毛;摊铺机返回到已压实层得末端,重新开始摊铺混合料;如压实度末端未用方木作支撑处理,则将摊铺机附近及其下面未经压实的混合料铲除,并将以碾压密实且高程和平整度符合要求的末端挖成一横向(与路中心垂直)垂直向下的断面。然后在摊铺新的混合料。 半幅施工中,纵缝必须垂直相接:在前一幅摊铺时,在靠后一幅的一侧用方木作支撑,其高度与混合料层的压实厚度相同。养生结束后,在摊铺另一幅之前,拆除支撑木。在混合料摊铺整型、稳定、找平修整、 压实过程中完全中断交通。碾压完毕后,外观上达到表面平整密实。对于多层结构层施工,上下横缝间距不下于1m,纵缝间距不小于30cm。 e、取样、试验和检验: 对使用同种料源的沥青混合料每天取样一次,并按照规范的标准方法对规定的项目进行检验。 混合料施工过程中,每天或2000m2取样一次,进行含水量、石灰含量、无侧限抗压强度等的试验。在已完成的摊铺层上根据本工程技术规范要求的频率进行压实度的试验。 试验段设置8个测点,每碾压4、6、8遍时测高(以及碾压前松浦标高),以得出实际松浦系数,直至最后土层表面不再下降为止。密实度分别在4遍、6遍、8遍时分8个点个检测一遍,用以控制碾压遍数。试验段结束后,将资料汇总上报监理工程师。 f、开放交通及冬季施工措施:沥青混合料路面待摊铺层完全自然冷却,混合料表面温度低于50?后,并在24小时后,再根据实际情况开放交通。需要提早开放交通时,可洒水冷却降低混合料温度。 沥青路面雨季施工符合下列要求: 1、注意天气预报,将强工地现场与沥青拌合场联系,缩短施工长度,各项工序紧密衔接; 2、运料汽车和工地有防水设施,并做好基层和路肩的排水设施; 3、当遇水合下层潮湿时,不得摊铺沥青混合料,对未经即遭雨淋的沥青混合料,全部清除,更换新的。 沥青路面冬季施工要求: 1、冬施期间应提高沥青混合料拌合温度,石油沥青混合料为160-170?;摊铺时间宜在上午9h至下午4h进行;施工气温低于5?,不宜摊铺热拌沥青混合料;快速路、主干路施工气温不宜低于10?。 2、运输沥青混合材料应采取保温措施,石油沥青混合料到达工地温度不得低于150?。 3、基层表面应干燥、清洁,无冰、雪、霜等。并应准备哈奥挡风、加热、保温工具和设备等。 4、接茬处预热温度宜保持在65-70?,碾压中,应用压路机器茬加强碾压两遍以上。 5、人工摊铺,卸料后应及时覆盖保温;并宜采用‘三块二及时’操作法,即:卸料快、摊铺快、楼平快,及时修整、及时碾压。 6、冬季期间应备有足够的压路机等进行碾压。碾压温度不应低于90?。 g、养生:压实成型合格后,油面温度降至与大气温度同时即可开放交通。 (3)、质量要求 a、主控项目 1、沥青混凝土路面压实度应符合6.2.1的规定。 2、沥青混凝土路面厚度符合设计要求和表6.2.1的规定。 3、沥青混凝土路面的弯沉值应符合设计要求。 沥青混凝土路面主控项目充许偏差表 序号 项目 规定值或充许偏差 检验频率 检验方法 1、压实度 快速路、主干路?96% 1000m2 1 见附录B 次干路、支路?95.6% 2、厚度 -5mm----+10mm 1000m2 1 用钢尺量 3、弯沉值 符合设计要求 20m 路宽(m),9 1见附录F9—15 2 ,15 3 注:?用蜡封法或表干法测得的现场沥青混凝土密度与用马歇尔稳定度仪试验或30Mpa压力成型法则得的标准密度相比较; ?本表中压实度采用马歇尔稳定度仪击实成型标准。 ?弯沉值单位1/100mm; ?本表第2、3项也可采用自动检测设备进行检测; ?改性沥青混凝土路面可参照此表进行经验。 b、一般项目 1、表面应平整、坚实,不得有脱落、掉渣、裂缝、推挤、烂边、粗细料集中、油斑等现象。 2、用12t以上压路机碾压后,不得有明显轮迹。 3、施工接缝应紧密、平顺,烫缝不应估焦。 4、面层与路缘石、平石及其它构筑物应接顺,不得污染其他构筑物,不得有积水现象。 5、沥青混凝土路面质量充许偏差见表 沥青混凝土路面变差表 序号 项目 规定值或充许偏差 检验频率 检验方法 1抗滑 摩擦系数 符合设计要求 200m 1 摆式仪 见附录H 全线连接 横向力系数车 构造深度 符合设计要求 200m 1 砂铺法 2 平整度 快速路、主干路σ?1.2mm 100m 路宽(m),9 1用测平仪检测见附录G,见注? 9---15 2 次干路、支路σ?9 1用3m直尺和塞尺连续量取两尺最大值见注? 9-15 2 ,15 3 3 宽度 不小于设计值40m 1 测距仪或用钢尺量 4 中线高程?10mm 20m1 用水准仪测量 5 中线线位20mm 200m4用经纬仪测量 6 横断高程?10mm且横坡差不大于3%20m路宽(m),9 2 用水准 仪测量 9—15 4 , 15 6 7 井框与路面高差?5mm 每座4 十字法用塞尺最大值 注:?测平仪为全线每车道连续监测每100m计算标差σ;无测平仪时即可采用3m直尺检测;表中检验频率点数为测线数; ?本表第1、2项也可以采用自动设备进行检测; ?底基层表面应按设计规定用量撒泼透油层、粘层油; ?改性沥青混凝土路面可采用此表进行检验。 3.12降水施工 由总包单位提供的地勘中说明该场地的地下水为空隙渗水, 埋深在1,2.5m。经观察坑槽开挖情况,渗水速度极慢,再考虑自然 降水,施工中对于道路开挖的沟槽采取分段挖开及时回填,明沟降排 即可满足要求,在每隔50m设置一个集水坑,用50m扬程污水泵将集水 坑内的水直接排入厂区北侧河内。 4、质量控制措施 4、1)质量保证体系及职责 , 根据工程项目的具体情况,设置本项目施工队的质量保证体系图7-1;明确各职能人员和项目施工队的主要工作职能,并且与其相关的质量程序文件挂钩,各负其责。下属各班组数量及其任务分配,应根据实际情况确定,并在施工过程中予以必要、及时的调整。 项目队长 质量员 技 材计 术 料划 员 员 员 施工队及作业人员 新彊大全新能源5000吨/年多晶硅片项目土建工程施工队质量保证体系 4(2)质量标准 4(2.1保证项目 1)基底的土质必须符合设计要求。 2)天然砂砾的干士质量密度必须符合设计要求和施工规范的规定。 4、2(2基本项目 1)面路标高均匀,分层虚铺厚度符合规定,夯压密实,表面无松散,翘皮。 2)留槎和接槎,分层留槎的位置、方法正确,接槎密实、平整。 3)天然砂砾地基允许偏差项目表1-319 项 项目 允许偏差(mm) 检验方法 次 1 顶面标高 用水平仪或拉线和尺量检查 ?25 2 表面平整度 25 用2m靠尺或楔形塞尺检查 5. 冬、雨季施工安排 一、冬期施工概念 根据当地多年气象资料统计,,当室外平均气温连续5天稳定低于 5?即进入冬期施工,当室外平均气温连续5d高于5?时解除各期施工。 二、冬期施工特点 1、冬期施工由于施工条件及环境不利,是各种安全事故多发季节。 2、隐蔽性、滞后性。即工程是冬天干的,在春天开始才暴漏出来问题,因而给事故处理带来很大难度,不仅给工程带来损失而且影响工程使用寿面。 3、冬期施工的计划和准备工作时间性强,这是由于准备工作时间段,技术要求高。 三、冬期施工基本要求 1、冬期施工前两个月即应进行冬期施工战略性安排; 2、冬期施工前一个月即应编制好冬期施工技术措施; 3、冬期施工前一个月做好冬期施工材料、专用设备等施工准备工作; 4、搞好相关人员培训和技术交底工作。 四、冬期施工的准备 1、编制冬期施工的准备,冬期施工组织设计,应包括下列内容:确定冬期施工的方法,工程进度计划、技术供应计划、施工劳动力供应计划、能源供应计划、防火安全措施、劳动用品、冬期施工安全措施;冬期施工各项安全技术经济指标和节能措施。 2、组织好冬期施工安全教育培训 项目部根据冬期施工特点,调整好机构和人员,并制定好岗位责任制,加强安全生产管理。主要加强保温、测温、冬期施工技术机构、能源管理等机构,并从实相应的人员。安排气象预报人员,了解近期、中期天气、防止寒流突袭。对测温人员、保温人员、能员工、管理人员组织专门的技术业务培训、学习相关知识、明确岗位责任制、经考 核合格方可上岗。 3、 物资准备 物资准备内容如下:外加剂、保温材料、温度标计及工器具及劳动用品现场管理和技术管理的、记录本、燃料及防冻油料等。 4、 施工现场的准备 ?场地要在土方冻结前平整完工、道路应畅通、并有防止路面结冰的具体措施; ?项目部组织有关机具、外加剂、保温材料(草包、木工部、薄膜)等实物进场; ?生产上水系统应采取防冻措施、并设专人管理、生产排水系统应畅通; ?按照规划落实职工宿舍、办公室等临时设施取暖措施。 五、沥青冬季施工措施 冬季对沥青混凝土面层施工影响较大。一般情况下,当气温低于0度时,不再进行沥青混凝土面层的施工。冬季沥青混凝土施工时可对在中午阳光从充足的时候进行。施工前,应及时联系拌合场联系迅速将沥青混合料运至施工现场,运输过程中要采取保温措施,同时要求混合料出厂温度升高10度,沥青混合料面层铺筑碾压完成应待4-6小时后开放交通。 六、冬季砼施工措施 1、拌合时加温拌合用水,砂石料中剔除冰块,霜块和冻结的砂团; 2、适量减小水灰比,增加砼胶棒时间,砼配合比掺入防冻液,以防砼受冻; 3、要缩短成活工序间隙,并在模板边预设测温孔,随时测定内温; 4、准备好足够的覆盖物,浇捣完成时及时覆盖,尤基冬季在挡风面更加更加应覆盖严密,包括模板外侧需用草包、土木布覆盖好保温; 5、砼表面应及时清扫积雪,防止积雪冻融时吸收砼中热量而使砼产生脱皮现象; 6、及时和气象站联系,遇特大寒流应停止浇捣若在浇捣好后遇特大寒流侵袭,则应采取燃料加温,蒸汽养护等特殊措施。 七、冬期施工安全措施 1、人工破碎冻土应当注意的安全事项; ?注意去掉头打出的飞刺,以免飞出伤人 ?掌铁 的人与掌锤的人,不能脸对脸,应当互成90?。 2、脚手架、马道要有防滑措施,及时清理积雪、外脚手架要经常检查加固; 3、大雪、轨道电缆结冰和6级以上大风等恶劣天气、应当停止垂直运输作业,并将掉笼降到地面,切断电源; 4、风雪过后作业,应当检查安全保险装置并先试吊,确认无异常方可作业; 5、吊机路轨不得铺设在冻胀性土层上,防止土壤冻胀或春季融化,造成路基起伏不平,影响吊机的使用,甚至发生安全事故; 八、冬期施工防火要求 1、施工现场临时用火,要建立用火证由工地安全负责人审核。用火证当日有效,用后收回。 2、使用可燃材料进行保温的工程,必须设专人进行监护,巡逻检查。 3、保温材料定位后,禁止一切用火、用电作业,特别是禁止下层进行保温作业,上层进行用火,用电作业。照明线路、照明灯具应该远离可燃的保温材料。道路的施工在雨季,合理的安排雨季施工,是整 个工程质量的一项重要工作。根据本工程的施工内容,施工环境及施工特点,确定以下雨季施工措施: 在不影响总进度的前提下,尽量避开雨天。施工中遇上下雨时,采取分段分期完成,组织力量,集中突击。摊铺一段,施工一段,循环推进,防止路基槽受暴雨冲刷。 路基施工,注意排水工作。雨季修筑土基路,应做到随挖随运,随铺填随压实。雨前和收工前将铺填松土压实完毕,不致积水。 路基施工雨天排水措施:同时在槽外两侧开挖水沟防止地面水流入槽内。 下雨天不得进行土方回填工作。 合理安排好材料进场计划,不一次性在现场大量储备回填用料。灰料进场及时摊铺,以防遇水固化,造成材料浪费。 6. 安全技术措施 坚持预防为主,安全第一的方针,重视和加强安全施工管理工作,保障施工人员的人身生命安全。 贯彻落实国家、地方、行业、总包单位、业主有关安全、卫生的政策、法规、标准和各项规章制度。 严格执行总包单位、业主现场职业健康安全与环境管理规定。 执行公司安全和环境管理第三层管理文件。 建立健全现场安全生产管理责任制、分工明确、责任到人、设立专职安全员。 执行安全检查制度,分级定期进行安全检查。实行安全教育制度,提高职工安全意识。 施工人员进入现场之前必须进行安全教育,必须戴好安全帽及个人防护用品。 土方开挖、回填、路基夯实碾压时派专人指挥施工机械,并在周边设置警示围护。人机配合施工时注意保持安全距离。 施工中使用的电动工具,要专人专用。各种电动机械设备,必须有有效的接地和防护措施。现场用电必有漏电开关,机具做到一机一闸。夯机操作人员必须戴绝缘手套。 夜间施工时,必须保证有足够的照明。 现场作业人员必须服从指挥,严禁离岗、脱岗。 所有机械电机在雨天必须盖上防潮布,防止电机受淋损坏。 运输车辆不得靠近管沟行驶,装卸土方和材料与管沟保持一定距离。 加强对施工现场用电系统用电线路的管理,根据用电安全规定,对不符合安全规定及时拆除,加强电工巡回检查工作,发现隐患,及时排除。
/
本文档为【电脑知识包括c语言1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索