版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章初识C语言《C语言程序设计案例式教程(第2版)》学习目标/Target了解C语言的发展历程,能够说出C语言起源与发展历史了解C语言标准,能够说出C语言标准的演变了解C语言的特点,能够说出C语言主要有哪些特点了解C语言应用领域,能够说出C语言主要应用领域学习目标/Target掌握C语言开发环境的搭建,能够独立完成VisualStudio2019的安装掌握VisualStudio2019使用,能够使用VisualStudio2019开发C语言程序理解C语言程序编译机制,能够说出C语言程序的编译执行过程章节概述/SummaryC语言是一种通用的、面向过程的编程语言,它具有高效、灵活、可移植等优点。在最近20多年里,它被运用在各种系统软件与应用软件的开发中,是使用最广泛的编程语言之一。本章作为整本书的第1章,将针对C语言的发展历史、开发环境搭建、如何编写C语言程序以及C语言的运行机制等内容进行详细地讲解。目录/Contents1.1C语言概述1.2C语言开发环境搭建1.3第一个C语言程序1.4C程序编译机制C语言概述1.11.1C语言概述C语言是一种高级程序设计语言,作为第一节课,下面针对C语言的发展历史、C语言标准、C语言特点及C语言应用领域进行讲解。1.1.1C语言的发展历史了解C语言的发展历程,能够说出C语言起源与发展历史。学习目标1.1.1C语言的发展历史C语言的原型为ALGOL60语言(也称A语言)。
1963年1967年
1970年剑桥大学将ALGOL60语言发展成为GPL语言。剑桥大学的MatinRichards简化GPL,产生了BGPL语言。美国贝尔实验室的KenThompson将GPL语言修改为B语言。1973年1978年美国贝尔实验室的DennisM.Ritchie在B语言的基础上设计出了C语言。BrianW.Kernighan和DennisM.Ritchie出版了名著《TheCProgrammingLanguage》。了解C语言标准,能够说出C语言标准的演变。学习目标1.1.2C语言标准1.1.2C语言标准2131989年,ANSI通过C89标准,人们习惯称为ANSIC。1990年,ISO采用C89作为C语言国际标准。C89(C90)标准1999年,ISO和IEC发布了C99标准。C99引入了很多新特性,如变长数组,本书基于C99标准讲解。C99标准2011年,ISO和IEC发布C11标准。C11提高了对C++的兼容性,并增加了很多新特性,如多线程。C11标准美国国家标准协会(ANSI)组织了由硬件厂商、软件设计师、编译器设计师等成员成立的标准C委员会,建立了通用的C语言标准。第一版C语言标准在1989年颁布,称为C89。从1989年至今,陆续颁布了多个C语言标准。了解C语言的特点,能够说出C语言主要有哪些特点。学习目标1.1.3C语言特点1.1.3C语言特点2.结构化设计C语言程序开发思路是自顶向下,模块化编程,各个功能模块之间呈现结构化特点。1.表达能力强C语言自由简洁,使用简单的方法就能构造出复杂数据类型或者数据结构,具备复杂数据结构运算能力。4.可移植C语言编译器兼容性比较强,能够移植到不同设备上,因此C语言程序的移植性也比较强。3.高效性C语言可以直接操作内存,执行效率更接近汇编。C语言特点了解C语言应用领域,能够说出C语言主要应用领域。学习目标1.1.4C语言应用领域1.1.4C语言应用领域1.操作系统C语言可以用于开发操作系统,主要是个人桌面应用领域的Windows系统内核、服务器领域的Linux内核等。2.应用软件C语言高效、稳定,因此常用于开发企业数据管理软件,如Oracle、MySQL等。3.嵌入式C语言更接近底层的汇编语言,可以进行嵌入式开发,在智能领域方面有着广泛应用。4.游戏开发C语言具有强大的图像处理能力、可移植性、高效性等特点,因此常用于大型游戏开发,进行游戏环境渲染、图像处理等。C语言开发环境搭建1.21.2C语言开发环境搭建掌握C语言开发环境的搭建,能够独立完成VisualStudio2019的安装。学习目标1.2C语言开发环境搭建市面上有许多支持C语言的开发工具,良好的开发环境具有以下功能:方便开发人员编写程序、方便程序调试和运行、提高开发效率。1.2C语言开发环境搭建VisualStudio目前最流行的C语言开发工具为VisualStudio,它是微软开发的集成环境,工具齐全,支持多种语言。目前最新版本为VisualStudio2019。VisualStudio2019有3个版本:企业版、专业版、社区版。社区版免费用于个人和开源项目开发,是教学和初学C语言者的首选。1.2C语言开发环境搭建步骤一:访问VisualStudio官网,下载VisualStudio2019Community版本,下载完成后双击安装包,弹出程序组件安装提示框。1.2C语言开发环境搭建步骤二:单击“继续”按钮,下载安装VisualStudio2019需要的程序组件。1.2C语言开发环境搭建步骤三:下载安装完成之后,会弹出一个界面,让用户选择所需要的开发环境。1.2C语言开发环境搭建步骤四:选择开发需要的工具与环境,由于本教材是将VisualStudio2019作为C语言开发环境,C++兼容C语言,所以在步骤三中选择“使用C++的桌面开发”选项即可,选择完成之后,单击安装位置后面的“更改…”链接,进入安装路径选择界面。1.2C语言开发环境搭建步骤五:选择VisualStudio2019的安装路径、下载缓存路径。路径选择完成后,单击“安装”按钮开始安装VisualStudio2019。1.2C语言开发环境搭建步骤六:安装完成后,打开VisualStudio2019,首次启动时,VisualStudio2019会提示登录。1.2C语言开发环境搭建步骤七:单击“以后再说”链接,跳过账号登录,弹出主题设置界面。1.2C语言开发环境搭建步骤八:完成主题设置后,单击“启动VisualStudio”按钮,启动VisualStudio2019。掌握VisualStudio2019的使用,能够使用VisualStudio2019开发C语言程序。学习目标1.3第一个C语言程序1.3第一个C语言程序在VisualStudio2019启动界面中,单击“创建新项目”选项,弹出创建新项目对话框。STEP01新建项目11.3第一个C语言程序选择“空项目”选项,然后单击“下一步”按钮,进入配置新项目界面。21.3第一个C语言程序设置项目名称、选择项目存储路径,并勾选“将项目解决方案和项目放在同一个目录中”选项。配置完成之后,单击“创建”按钮完成项目创建,进入项目管理主界面。31.3第一个C语言程序在上一页图中,选中右侧Test项目下的源文件,单击右键,选择“添加”→“新建项”。STEP02编写程序代码11.3第一个C语言程序单击“新建项”,系统会弹出添加新项对话框。21.3第一个C语言程序将文件命名为helloworld.c,单击“添加”按钮,helloworld.c源文件创建成功。双击打开helloworld.c文件,在文件空白区域编写代码。31.3第一个C语言程序单击菜单栏的“调试”→“开始运行(不调试)”,运行程序,或单击菜单栏“本地Windows调试器”按钮运行程序。程序运行后,会弹出运行结果的命令行窗口,该窗口会输出程序的运行结果。STEP03编译运行程序1.3第一个C语言程序#include<stdio.h>intmain(){ //使用系统提供的标准输出,在控制台显示信息 printf("Hello,world!\n"); return0;}包含头文件stdio.h程序入口函数主函数作用范围STEP04代码分析1.3第一个C语言程序#include<stdio.h>intmain(){ //使用系统提供的标准输出,在控制台显示信息 printf("Hello,world!\n"); return0;}注释打印函数printf()return语句返回函数STEP04代码分析理解C语言程序编译机制,能够说出C语言程序的编译执行过程。学习目标1.4C程序编译机制1.4C程序编译机制C语言程序从源代码到可执行代码需要经过预处理、编译、汇编和链接四个步骤。展开所有宏,如#define,将宏替换为它定义的值。处理所有条件编译指令,如#ifdef、#ifndef、#endif。处理文件包含语句,如#include,将包含的文件直接插入到语句所在处。1.4C程序编译机制C语言程序从源代码到可执行代码需要经过预处理、编译、汇编和链接四个步骤。删除所有注释。添加行号和文件标识,以便在调试和编译出错时快速定位到错误所在行。1.4C程序编译机制C语言程序从源代码到可执行代码需要经过预处理、编译、汇编和链接四个步骤。将生成的汇编文件*.s翻译成计算机能够执行的指令。称为目标文件或者中间文件。Linux系统:.o文件。Windows系统:.obj文件。1.4C程序编译机制C语言程序从源代码到可执行代码需要经过预处理、编译、汇编和链接四个步骤。将二进制文件与代码中用到的库文件进行绑定,这个过程称为链接,处理程序各个模块之间的关系,完成地址分配、空间分配、地址绑定等操作,链接操作完成后将生成可执行文件。多学一招链接分为静态库链接和动态库链接。动态库与静态库VS静态库链接静态库在Linux中是.a文件,Windows下是.lib文件。本质上是一组目标文件的集合。链接过程:将包含该函数功能的库文件全部链接到目标文件中。开发效率高,但更新难。动态库链接动态库在Linux中是.so文件,Windows下是dll文件。在程序运行时只对需要的目标文件进行链接。节省空间且可以共享,隐藏了细节,便于更新。本章小结本章主要介绍了C语言入门知识。初步认识了C语言,包括C语言发展历史、C语言标准、C语言特点与应用领域。介绍了C语言开发环境VisualStudio2019的搭建,并使用VisualStudio2019开发了第一个C语言程序。讲解了C语言程序的编译执行过程。通过本章的学习,读者可以对C语言有一个大致的了解,为后续学习C语言作好铺垫。本章小结第2章C语言基础知识《C语言程序设计案例式教程(第2版)》学习目标/Target掌握关键字、标识符、变量的定义,能够使用关键字、标识符定义变量掌握printf()函数与scanf()函数的用法,能够调用printf()函数、scanf()函数输出输入各种类型数据掌握基本的数据类型,能够定义基本数据类型的变量学习目标/Target了解ASCII编码机制,能够说出ASCII编码机制与特点掌握隐式类型转换,能够说出隐式类型转换的机制了解显式类型转换,能够使用显式类型转换实现复杂运算章节概述/Summary通过上一章的学习,相信大家对C语言已经有了一个初步认知,但现在还无法编写C语言程序,在编写C语言程序之前需要先学习C语言的基础知识,就好比建造一栋大楼需要知道板砖、水泥等,C语言的基础知识包括关键字、标识符、常量、变量、数据类型等,本章将针对C语言的基础知识进行详细讲解。目录/Contents案例2-1我爱C语言案例2-2计算圆面积和周长案例2-3计算机等级考试信息录入目录/Contents案例2-4密码破译案例2-5小明考试案例2-6混合运算我爱C语言案例2-1【案例2-1】我爱C语言掌握printf()函数与scanf()函数的用法,能够调用printf()函数、scanf()函数输出输入各种类型数据。学习目标案例描述通过第1章的学习,我们对C语言已经有了一个大体的了解,接下来的学期,我们就要对C语言进行一个深入整体的学习。作为C语言的第一个案例,要求读者编写一个程序,在控制台输出“我爱C语言”。知识需求在控制台输出数据,需要使用输出函数,C语言常用的输出函数为printf(),与printf()函数相对应的是scanf()函数。printf()函数scanf()函数+知识讲解printf()函数为格式化输出函数,其功能是按照用户指定的格式将数据输出到屏幕上。1.printf()函数指定输出格式,以%开头,%符号后面跟各种格式控制字符printf("格式控制字符串",[输出列表]);知识讲解printf()函数为格式化输出函数,其功能是按照用户指定的格式将数据输出到屏幕上。1.printf()函数printf("格式控制字符串",[输出列表]);格式控制字符串的具体形式:
"%标志][宽度][.精度][长度]类型"%c、%d、%3d、%.6f┄例如知识讲解1.printf()函数类型标志宽度精度长度常用的格式控制字符printf()函数常用的格式控制字符包括类型、标志、宽度、精度、长度。标志、宽度、精度、长度等都是可选的,但“%类型”是必须要指定的。知识讲解1.printf()函数(1)类型printf()函数可以输出任意类型的数据,如整型、字符型、浮点型数据等。格式控制字符含义s字符串c单个字符d有符号十进制整型u无符号十进制整型o无符号八进制整型x无符号十六进制整型小写X无符号十六进制整型大写f单精度/双精度浮点型(默认打印6位小数)e科学记数eE科学记数Ep变量地址知识讲解1.printf()函数类型应用示例一:printf("%c",'H'); //以%c格式输出字符'H'printf("%s","Hello,world!\n"); //以%s格式输出字符串"Hello,world!"printf("%d",100); //以%d格式输出整数100类型应用示例二:printf("%d%d%d\n",1,2,3); //使用3个%d输出三个整数1、2、3printf("%f\n%c\n",2.1,'a'); //使用%f与%c输出2.1与字符'a'知识讲解1.printf()函数(2)标志printf()函数中的标志字符用于规范数据的输出格式,如左对齐、右对齐、空缺填补等,标志符有“-”“+”“0”“空格”“#”五种。标志符含义-左对齐;printf()函数输出数据默认为右对齐+当一个数为正数时,前面加上一个+符号。默认正数不显示+符号0右对齐时,用0填充左边空缺。默认使用空格填充空格输出正数时,前面为空格;输出负数时,前面带-符号#对%c、%s、%d、%u等无影响对%o格式,输出时加上八进制前缀0对%x(%X)格式,输出时加上十六进制前缀0x知识讲解1.printf()函数(3)宽度宽度是用十进制表示的输出数据的位数,若实际位数多于定义的宽度,则按实际位数输出;若实际位数少于定义的宽度则补以空格或0。宽度应用示例一:printf("%d\n",123); //按实际位数3输出printf("%5d\n",123); //设置宽度为5printf("%10d\n",123); //设置宽度为10知识讲解1.printf()函数宽度应用示例二:printf("%d\n",123);printf("%-5d\n",123); //添加-符号,左对齐输出printf("%010d\n",123); //添加0,左边以0填充知识讲解1.printf()函数(4)精度精度格式以字符“.”开头,后面跟十进制整数,精度主要作用于浮点型数据,表示输出小数点后面的位数。如果不设置精度,默认输出小数点后6位。如果作用于整型数据,则表示按照一定宽度输出数据,左侧空缺填充0。在使用精度时,如果实际位数大于所定义的精度数,则截去超出的部分。知识讲解1.printf()函数精度应用示例:printf("%f\n",1.234567); //默认输出小数点后6位printf("%.8f\n",1.234567); //输出小数点后8位,后面填充0printf("%.3f\n",1.234567); //输出小数点后3位,截断超出的部分printf("%.6d\n",123); //输出123的宽度为6,左侧填充0知识讲解1.printf()函数(5)长度长度格式符包括h、l两种,h是short的简写,表示按短数据类型量输出;l是long的简写,表示按长数据类型输出。长度应用示例:printf("%d\n",123); //正常输出printf("%hd\n",123); //按短数据类型输出printf("%lf\n",1.23); //按长数据类型输出知识讲解2.scanf()函数scanf()函数用于读取用户从键盘输入的数据,用法与printf()函数类似,但不同的是,scanf()函数只能使用类型(%d、%c、%f等)格式控制,并不使用宽度、精度、标志等格式控制。知识讲解2.scanf()函数scanf()函数应用示例:inta;charc;floatf;scanf("%d",&a); //接受一个从键盘输入的整型数据scanf("%c",&c); //接受一个从键盘输入的字符类型数据scanf("%f",&f); //接受一个从键盘输入的float类型数据知识讲解2.scanf()函数注意:scanf()函数在读取输入的数据时,遇到终止符会停止输入。知识讲解2.scanf()函数scanf()函数的终止符有多个。字符含义0x20空格\t水平制表符(tab键)\n换行\v垂直制表符\f换页\r回车知识讲解2.scanf()函数scanf()函数不安全,经常导致程序编译不通过。知识讲解2.scanf()函数解决办法1.#define_CRT_SECURE_NO_WARNINGS2.C11标准中的scanf_s()函数代替scanf()函数案例实现调用printf()函数分别输出“我”“爱”“C”“语”“言”5个汉字。1.案例设计2.完整代码本案例中可以实现的效果图如下。intmain(){请参考案例2-1完整代码}代码实现计算圆面积和周长案例2-2【案例2-2】计算圆面积和周长掌握关键字、标识符、变量的定义,能够使用关键字、标识符定义变量。学习目标案例描述圆的面积公式:S=πr2圆的周长公式:L=2πr本案例要求编写程序计算圆的面积和周长,具体要求如下。(1)从键盘输入圆的半径。(2)计算圆的面积和周长并将结果输出到控制台。案例描述圆的面积和周长计算公式中使用到了圆周率π,圆周率π的计算是我国古代数学家祖冲之的杰出成就之一。三国时期,刘徽提出了计算圆周率的科学方法“割圆术”,计算出π的值为3.14。祖冲之在前人成就的基础上,经过长期刻苦钻研,反复验算,最终计算出π在3.1415926与3.1415927之间,并得出了π分数形式的近似值,这是当时全世界最精确的圆周率。祖冲之这种认真学习,刻苦钻研,态度严谨,不怕困难的优秀品质永远值得我们学习。知识需求用到常量与变量的相关知识学习过的scanf()函数与printf()函数。圆半径输入输出变量类型为变量指定数据类型,并且要为变量命名,需要用到关键字与标识符。知识讲解关键字是指在编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。1.关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifinlineintlongregisterrestrictreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile_Bool_Complex_Imaginary知识讲解1.关键字数据类型关键字关键字可分为5类控制语句关键字存储类型关键字其他类型关键字C99新增关键字知识讲解1.关键字(1)数据类型关键字:用于标识变量或函数返回值。关键字作用char声明字符型变量或函数double声明双精度浮点类型变量或函数enum声明枚举类型float声明单精度浮点类型变量或函数int声明整型变量或函数long声明长整型变量或函数short声明短整型变量或函数signed声明有符号类型变量或函数struct声明结构体类型或函数union声明共用体类型或函数unsigned声明无符号类型变量或函数void声明无返回值函数、无类型指针知识讲解1.关键字(2)控制语句关键字:用于控制程序的结构流程。关键字作用break跳出当前循环,执行循环后面的代码caseswitch条件语句分支continue跳出当前循环,执行下一次循环defaultswitch语句中的“其他”分支dodo…while循环语句循环体elseif条件语句否定分支for用于定义for循环语句goto无条件跳转语句if条件语句return子程序(函数)返回语句switch多条件分支选择语句whilewhile循环语句知识讲解1.关键字(3)存储类型关键字:用于标识变量的存储类型。关键字作用auto声明自动变量,即由系统根据上下文环境自动确定变量类型extern声明外部变量或函数register声明寄存器变量static声明静态变量或函数知识讲解1.关键字(4)其他关键字:还有一些无法归类的关键字,具有特殊的含义与用途。关键字作用const声明只读变量sizeof计算数据类型长度typedef给数据类型取别名volatile使用volatile修饰的变量,在程序执行中可被隐含的改变知识讲解1.关键字(5)C99新增关键字关键字作用inline定义内联函数restrict用于限定指针,表明指针是一个数据对象的唯一且初始化对象_Bool声明一个布尔类型变量或函数_Complex声明一个复数类型变量或函数_Imaginary声明一个虚数类型变量或函数知识讲解2.标识符标识符在程序中定义一些符号来标记一些数据或内容,如变量名、方法名、参数名、数组名等,这些称号就称为标识符。知识讲解2.标识符标识符要遵循一定的命名规范。
规范1:规范2:
规范3:规范4:标识符只能由字母、数字和下划线组成。标识符不能以数字作为第一个字符。标识符不能使用关键字。标识符区分大小写字母,如add、Add和ADD是不同的标识符。知识讲解2.标识符VS合法标识符area√DATE√_name
√lesson_1
√不合法标识符3a×ab.c×long×abc#×知识讲解2.标识符尽量(1)尽量做到见名知意,例如使用age标识年龄、使用length标识长度。(2)最好采用英文单词或其组合,避免使用汉语拼音命名。(3)尽量避免出现仅靠大小写区分的标识符。(4)虽然ANSIC中没有规定标识符的长度,但建议标识符的长度不超过8个字符。知识讲解2.标识符标识符命名方式有两种:驼峰命名法和下划线命名法。用英文单词构成标识符的名字,其中第一个单词首字母小写,余下的单词首字母大写。如果英文单词过长,则可以取单词的前几个字母。驼峰命名法下划线命名法下划线命名法是指使用下划线连接标识符的各组成部分。知识讲解2.标识符驼峰命名法示例:intseatCount;//座椅的数量intdevNum;//设备编号,取device单词前三个字母,number单词前三个字母voidgetPos();//获取位置,取position前三个字母下划线命名法示例:intmy_age;voidget_position();知识讲解3.常量常量又称常数,它是指在程序运行过程中,其值不可改变的量。例如123、2.6、a。常量可以分为整型常量、实型常量、字符型常量、字符串常量和符号常量。知识讲解3.常量(1)整型常量是整数类型的常量,又被称为整常数。常用的整型常量表示形式有二进制、八进制、十进制、十六进制。二进制整数,如0b100,0B101011。八进制整数,如0112,056。十进制整数,如2,-158,0。十六进制整数,如0x108,-0X29。知识讲解3.常量(2)实型常量也称为实数或浮点数,也就是在数学中用到的小数。实型常量表示形式:小数形式、指数形式。知识讲解3.常量小数形式由数字和小数点组成(注意:必须有小数点),如12.3、-45.6、1.0等。指数形式(科学计数法)以字母e或E表示以10为底的指数,“e”或“E”之前必须有数字,且“e”或“E”后面必须为整数。如12.34e3代表12.34×103。知识讲解3.常量(3)字符常量是指用单引号(‘’)括起来的字符。C语言中字符分为普通字符和转义字符两种。用单引号括起来的单个字符,如:‘a’‘8’‘!’‘#’。普通字符转义字符由单引号括起来的包括反斜杠(\)的一串字符,如‘\n’‘\t’‘\0’等。知识讲解3.常量(4)字符串常量是用一对双引号括起来的字符序列,例如“hello”“123”“itcast”等。字符串长度是双引号中包含的字符个数。VS字符串常量双引号界定可以包含0个或多个字符C语言没有字符串变量字符常量单引号界定只能是单个字符可以把字符常量赋给字符型变量知识讲解3.常量(5)符号常量:用一个标识符表示的常量。符号常量在使用前必须先定义。#define标识符常量表示预处理指令定义符号常量的关键字知识讲解3.常量符号常量定义示例:#definePI3.14符号常量特点1.符号常量的标识符习惯上使用大写字母。2.符号常量的值在其作用域内不能改变,也不能再被赋值。知识讲解4.变量在程序中,数据被存储在内存中,为了访问、使用和修改内存单元中的数据,人们用标识符来标识存储数据的内存单元,这些用于标识内存单元的标识符被称为变量名,内存单元中存储的数据被称为变量的值。知识讲解4.变量变量定义示例:intx=0,y=0;变量数据类型变量名变量值知识讲解4.变量执行运算:y=x+3;案例实现(1)定义一个float类型的变量radius表示圆半径。(2)调用scanf()函数从键盘输入半径值。(3)使用圆面积和周长计算公式计算出圆面积和周长,π取值3.14。(4)调用printf()函数将计算出的圆面积和周长输出到控制台。1.案例设计案例实现2.完整代码本案例中可以实现的效果图如下。intmain(){请参考案例2-2完整代码}代码实现计算机等级考试信息录入案例2-3【案例2-3】计算机等级考试信息录入掌握基本的数据类型,能够定义基本数据类型的变量。学习目标案例描述1994年,教育考试中心面向社会推出了国家计算机等级考试(NCRE),目的是以考促学,普及计算机知识。→表明我国经济、信息技术正在飞速发展。计算机等级考试考生不受年龄、职业、学历等背景的限制,任何人均可根据自己学习情况和实际能力选考相应的级别和科目。→体现了我们社会主义价值观中的公正原则。计算机等级考试采用全国统一命题、统一考试的形式,考生交卷之后由考点汇总至教育部考试中心评阅,教育部考试中心评阅完毕之后,将成绩汇总发回各省,由各省主考部门公布成绩。案例描述本案例要求要录入今年计算机考生的结果信息。为保护考生个人信息,只录入学号、分数、级别、是否通过这4项信息。本案例要求编写一个程序,从键盘录入考生的结果信息。知识需求分析学号分数级别是否通过学号可定义为整型变量。分数可定义为浮点型变量。级别可以使用字符表示。可以使用_Bool类型变量表示。知识讲解1.字符类型字符类型用关键字char表示,即使用char定义字符类型变量。字符类型变量用于存储一个单一字符,每个字符变量都会占用1个字节。为字符类型变量赋值时,需要用一对英文半角格式的单引号(‘’)把字符括起来。知识讲解1.字符类型字符类型变量定义示例:charch1='A'; //定义字符变量ch1,其值为字符'A'charch2='3'; //定义定义变量ch2,其值为字符'3'对于字符变量ch1,将字符‘A’存放到字符变量ch1中,实际上是将该字符对应的ASCII编码65存放到变量的存储单元中,因此变量ch存储的是整数65。同理,ch2变量中存储的是83。知识讲解1.字符类型字符变量可以存储由普通字符,也可以存储转义字符。转义字符对应字符ASCII码表中的值\t制表符(Tab键)9\n换行10\r回车13\"双引号34\'单引号39\\反斜杠92知识讲解1.字符类型在程序中定义转义字符示例:charch2='\n'; //转义字符\将字符n转义,两者合起来功能为换行charch4='\\'; //如果要使用字符\,则需要使用它自身进行一次转义知识讲解2.整型整型数据就是一个不包含小数部分的数。在C语言中,根据数值的取值范围,可以将整型定义为短整型(shortint)、基本整型(int)和长整型(longint),longint也可简写为long。整型数据可以被修饰符signed和unsigned修饰。signed修饰:有符号的整型。unsigned修饰:无符号的整型。知识讲解2.整型VSsignedunsigned无符号整型可以存放的正数范围比有符号整型的大一倍。例如,int的取值范围是-231~231-1,而unsignedint的取值范围是0~232-1。默认情况下,整型数据都是有符号的,因此signed修饰符可以省略。知识讲解2.整型VS整型根据取值范围分为几种不同的类型,取值范围不同,实质是这几种整型类型占用的内存空间大小不相同。修饰符数据类型占用空间取值范围[signed]short[int]16位(2字节)-32768~32767(-215~215-1)int32位(4字节)-2147483648~2147483647(-231~231-1)long[int]32位(4字节)-2147483648~2147483647(-231~231-1)unsignedshort[int]16位(2字节)0~65535(0~216-1)int32位(4字节)0~4294967295(0~232-1)long[int]32位(4字节)0~4294967295(0~232-1)知识讲解2.整型VS注意:整型数据在内存中占的字节数与所选择的操作系统有关,例如,在16位操作系统中,int类型占2个字节,而在32位和64位操作系统中,int类型占4个字节。目前,常用的操作系统为64位,本书以64位操作系统为准。知识讲解2.整型VS小提示字节(Byte)是计算机分配内存的最小单位。计算机存储单位包括位、字节、千字节、兆字节、吉字节、太字节。位(bit,b);一个二进制数字0或1占一位。字节(Byte,B):1B=8bit;一个英文字母占一个字节。千字节(KiloByte,KB):1KB=1024B。兆字节(MegaByte,MB):1MB=1024KB。吉字节(GigaByte,GB):1GB=1024MB。太字节(TeraByte,TB):1TB=1024GB。知识讲解3.浮点型浮点类型又称实型,是指包含小数部分的数据类型。C语言中的浮点数主要包括float(单精度浮点数)和double(双精度浮点数)两种。double类型变量所表示的浮点数比float类型变量更精确。类型名占用空间
取值范围float32位(4个字节)-3.4E+38~-1.2E-38,0,1.2E-38~3.4E+38double64位(8个字节)-1.7E+308~-2.3E-308,0,2.3E-308~1.7E+308知识讲解3.浮点型浮点数在内存中分3部分存储:符号位、小数位和指数位。浮点数3.14159存储在内存内存存储知识讲解3.浮点型在定义浮点类型变量时,可以在float类型变量所赋值的后面加上大写字母“F”或小写字母“f”,在double类型变量所赋值后面加上大写字母“D”或小写字母“d”。浮点型变量定义示例:floatf1=123.4f; //为一个float类型的变量赋值,后面可以加上字母ffloatf2=123.4; //为一个float类型的变量赋值,后面可以省略字母fdoubled2=199.3d; //为一个double类型的变量赋值,后面可以加上字母ddoubled1=100.1; //为一个double类型的变量赋值,后面可以省略字母d知识讲解4._Bool类型_Bool,称为布尔类型,是C99新增关键字。_Bool类型的变量用于表示一个布尔值,即逻辑值true和false。在C语言中,使用数值0表示false,用1表示true,_Bool类型只占1字节存储空间。知识讲解4._Bool类型_Bool类型变量定义示例:_Boolb1=10; //为_Bool类型的变量赋值为10,b1的值为1,即true_Boolb2=NULL; //为_Bool类型的变量赋值为NULL,b2的值为0,即false_Boolb3=0; //为_Bool类型的变量赋值为0,b3的值为0,即false_Boolb4=-28; //为_Bool类型的变量赋值为-28,b4的值为1,即true_Boolb5=""; //为_Bool类型的变量赋值为空字符串,b5的值为1,即true案例实现1.案例设计(1)定义int类型的变量id表示学号。(2)定义float类型的变量score表示分数。(3)定义char类型的变量rank表示级别。(4)定义_Bool类型的变量pass表示是否通过。(5)在输入数据时,调用scanf()函数,输出数据时调用printf()函数。设计思路案例实现2.完整代码本案例中可以实现的效果图如下。intmain(){请参考案例2-3完整代码}代码实现密码破译案例2-4【案例2-4】密码破译了解ASCII编码机制,能够说出ASCII编码机制与特点。学习目标案例描述第一次世界大战期间,德军截获了俄军的一份明码电报,内容是俄军沙门索罗夫军团的行动计划。起初截获情报的德军甚至不相信俄军竟然以明码发报,经过仔细侦察核实,确定截获的俄军情报信息真实,德军立即调动大军包围了沙门索罗夫军团发动了攻击,经过4天激战,10万俄军全军覆没,这便是著名的坦能堡战役。背景故事结论:密码很重要案例描述本案例要求编写一个程序,实现简单密码破译。假如我们在接收报文时,接到4个数字:117、110、100、111,请编写一个程序破译出这些数字要表达的含义。知识需求在C语言中,字符与数字之间可以进行转换,这是因为计算机使用特定的整数编码来表示对应的字符,计算机使用的英文字符整数编码机制有多种,但常用的英文字符编码为ASCII码。A65ASCII编码知识讲解ASCII码ASCII码:规定了把英文字母、数字、标点、字符转换成计算机能识别的二进制数的规则。ASCII表上的数字0~31分配给了控制字符,用于控制打印机等一些外围设备。非打印控制字符打印字符数字32~126分配给了打印字符,这些字符可以在控制台输出显示。ASCII码表一共收录了128个字符,大致可分为两部分:非打印控制字符、打印字符。127代表DELETE命令案例实现1.案例设计定义4个int类型的变量接收这4个数据。010203123对照ASCII码表将其转换为字符。将字符组合输出,即可获取报文含义。案例实现2.完整代码本案例中实现的效果图如下。intmain(){请参考案例2-4完整代码}代码实现混合运算案例2-5【案例2-5】混合运算掌握隐式类型转换,能够说出隐式类型转换的机制。学习目标案例描述本案例要求编写一个程序,分别从键盘输入char类型的数据、int类型的数据、float类型的数据,将这3个数据执行相加运算,输出运算结果。知识需求在C语言中,相同类型的数据可以一起运算,不同类型的数据也可以一起参与运算。在运算时,不同类型的数据会自动发生类型转换,以保证表达式能够正确完成运算。数据的类型自动转换过程通常称为隐式类型转换。charintfloat?知识讲解隐式类型转换隐式类型转换是指系统自动进行的类型转换。隐式类型转换可分为3种:算术转换、赋值转换和输出转换。隐式类型转换算术转换赋值转换输出转换知识讲解隐式类型转换算术转换1算术转换:进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同一类型的数据才能运算。转换规则:以表达式中最大类型(占内存最大)为主,将其他类型都转换为该类型。知识讲解隐式类型转换如果表达式中有多个大小相同的类型,则转换规则如下。213如果表达式中同时存在int类型数据与float类型数据,则以float类型为准,其他类型数据都转换为float类型。如果表达式中同时存在long类型数据与float类型数据,则以float类型为准,其他类型数据都转换为float类型。如果表达式中同时存在int类型数据与long类型数据,则以float类型为准,其他类型数据都转换为long类型。知识讲解隐式类型转换赋值转换2赋值转换:在赋值类型不同时,即变量的数据类型与所赋值的数据类型不同,系统会将“=”右边的值转换为变量的数据类型再将值赋给变量。知识讲解隐式类型转换赋值转换示例:inta=10.2;编译器在赋值时会将10.2转换为int类型的10再赋值给a,a最终的结果为10。知识讲解VS注意:浮点数赋值给整型变量,在转换时直接将小数点及小数位省略,不存在四舍五入。也正因如此,将较大类型的数据转换为较小类型时,会造成数据精度丢失,最好不要将较大类型数据赋值给较小类型的变量。隐式类型转换知识讲解隐式类型转换输出转换3输出转换:printf()函数以指定格式输出时,当要输出的数据类型与输出格式不符时,便自动进行类型转换。输出转换有一定的局限性,它常用的操作是int类型与char类型数据转换。知识讲解隐式类型转换将较大类型数据转换为较小类型时,其值不能超出较小类型数据允许的取值范围,否则转换时将出错。错误示例:inta=321;printf("%c",a);321超出char类型允许的最大值255,系统取以256为模的余数65作为a的值。案例实现1.案例设计先定义char、int、float数据类型的变量。010203123调用scanf()函数从键盘输入数据。调用printf()函数输出3个变量的相加和。案例实现2.完整代码本案例中实现的效果图如下。代码实现intmain(){请参考案例2-5完整代码}小明考试案例2-6【案例2-6】小明考试了解显式类型转换,能够使用显式类型转换实现复杂运算。学习目标案例描述小明参加本学期期末考试,试卷中有一道题目如下。要求从键盘输入指定类型的数据,将这些数据强制转换为其他类型再输出。例如,从键盘输入char类型数据、int类型数据和float类型数据,将char类型数据和int类型数据相加后,将结果强制转换为float类型输出。请你帮助小明完成本题作答。知识需求多种数据类型的变量进行运算,表达式会根据隐式类型转换规则得出一个计算结果。如果想要得到指定类型的结果,需要进行显式类型转换。charintfloatint?知识讲解强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型,也称为显式类型转换。显式类型转换(类型名)(表达式)强制类型转换示例:intx=10;floatf=1.2;doubled=3.75;x=(int)(f+d); //将f+d的结果强制转换为int类型,再赋值给变量xf=(double)(x)+d; //将x强制转换为double类型,与d相加,再将结果赋值给f知识讲解显式类型转换对数据类型转换,如果由低字节数据类型向高字节数据类型转换,一般不会出现错误,但如果由高字节数据类型向低字节数据类型转换,则可能会因数据截断造成精度丢失。1浮点型与整型的转换浮点型整型舍弃浮点数的小数部分,只保留整数部分整型浮点型数值不变,只将形式改为浮点形式,小数点后补0知识讲解显式类型转换2单、双精度浮点类型的转换floatdouble在尾部补0doublefloat会造成数据精度丢失,有效位以外的数据将会进行四舍五入知识讲解显式类型转换3char类型与int类型的转换intchar只保留其最低8位,高位部分舍弃charint一些编译器不管其值大小都作正数处理,另一些编译器在转换时会根据char类型数据值的大小进行判断,若值大于127,就作为负数处理知识讲解显式类型转换4int类型与long类型的转换longint将低16位值赋给int类型变量,而将高16位截断舍弃(这里假定int类型占两个字节)intlong外部值保持不变,而内部形式有所改变。知识讲解显式类型转换5无符号整数之间的转换unsigned非unsigned内部的存储方式不变,但外部值却可能改变非unsignedunsigned内部存储形式不变,但外部表示时总是无符号的。知识讲解1.案例设计案例设计遵循以下步骤。
(1)(2)
(3)(4)在程序中定义char类型变量ch、int类型变量num和float类型变量f。调用scanf()函数从键盘输入ch和num的值。将ch和num执行相加运算,相加结果强制转换为float类型,赋值给f变量。调用printf()函数输出f变量的值。案例实现2.完整代码本案例中实现的效果图如下。代码实现intmain(){请参考案例2-6完整代码}本章小结本章主要讲解了C语言的基础语法知识。讲解了最基本的输入输出函数。讲解了关键字、标识符、常量、变量与数据类型相关的知识。讲解了ASCII码。讲解了数据类型转换,包括隐式数据类型转换和强制数据类型转换。通过本章学习,读者应当掌握C语言的基础语法知识,为后面学习更高级的编程作好铺垫。本章小结第3章运算符与表达式《C语言程序设计案例式教程(第2版)》学习目标/Target掌握算术运算符的使用,能够使用算术运算符完成表达式的算术运算掌握赋值运算符的使用,能够使用赋值运算符完成变量的赋值运算掌握关系运算符的使用,能够使用关系运算符完成表达式的比较运算掌握条件运算符的敷衍,能够使用条件运算符完成表达式的条件判断学习目标/Target掌握逻辑运算符的使用,能够使用逻辑运算符完成表达式的逻辑运算熟悉运算符的优先级顺序,能够说出常见运算符优先级排序了解位运算符的作用,能够说出各个位运算符的作用掌握sizeof运算符的使用,能够使用sizeof运算符计算数据和数据类型所占内存空间章节概述/Summary上一章学习了C语言的基础知识,但是只凭这些基础知识还无法编写C语言程序。例如,在上一章学习的基本数据类型,如同数学中的基本数字,如果想对数字进行运算,还需要学习运算符与表达式相关的知识。本章将针对C语言的运算符与表达式以及运算符优先级进行详细讲解。目录/Contents案例3-1算术运算案例3-2鱼和熊掌不可兼得案例3-3优先级案例3-4交换案例3-5有容乃大算术运算案例3-1【案例3-1】算术运算掌握算术运算符和赋值运算符的使用,能够使用算术运算符和赋值运算符完成表达式的算术运算和赋值运算。学习目标案例描述算术运算在日常生活学习工作中都经常会用到,本案例要求编写程序实现简单的算术运算,具体要求如下。(1)从键盘输入两个数。(2)分别对这两个数执行加、减、乘、除、取模和自增自减运算,并将结果输出至控制台。知识需求在数学中,进行算术运算需要使用算术运算符,在计算机编程中,要实现算术运算,同样需要使用算术运算符。算术运算完成之后,需要将计算结果赋值给结果变量,赋值需要使用到赋值运算符。
要实现算术运算,需要使用算术运算符。
要实现赋值运算,需要使用赋值运算符。算术运算符赋值运算符知识讲解运算符是告诉编译器执行特定算术或逻辑操作的符号,它们针对一个或一个以上的操作数进行运算。1.运算符与表达式运算符类型作用赋值运算符用于将右边操作数的值赋给左边操作数算术运算符用于处理四则运算关系运算符用于表达式的比较,并返回一个真值或假值逻辑运算符用于根据表达式的值返回真值或假值条件运算符用于处理条件判断位运算符用于处理数据的位运算sizeof运算符用于获取字节数长度知识讲解1.运算符与表达式运算符是用来操作数据的,因此,这些数据被称为操作数,使用运算符将操作数连接而成的式子称为表达式。(1)表达式主要是由运算符和操作数构成的,不同运算符构成的表达式作用不同。(2)任何一个表达式都有一个值。知识讲解C语言中的算术运算符与数学中的算术运算符作用是一样的,但其组成与数学中的算术运算符稍有不同。2.算术运算符与算术表达式运算符运算范例结果+正号+33-负号b=4;-b;-4+加5+510-减6-42*乘3*412/除5/51%取模7%52++自增(前)a=2;b=++a;a=3;b=3;--自减(前)a=2;b=--a;a=1;b=1;++自增(后)a=2;b=a++;a=3;b=2;--自减(后)a=2;b=a--;a=1;b=2;知识讲解2.算术运算符与算术表达式根据运算符操作的数据个数,可以将运算符分为单目运算符、双目运算符等。单目运算符:运算符只操作一个数据,如++、--。双目运算符:运算符操作数据有两个,如+、-、*、/。知识讲解2.算术运算符与算术表达式算术运算示例://假设a=10,b=20,c=3c=a+b //结果为30a++ //结果为11b=--c //结果为2a%b+c-- //结果为13①先计算a%b,结果为10。②再计算10+c,结果为13。③再执行c--,表达式执行完毕,c的值为2。知识讲解2.算术运算符与算术表达式算术运算符在使用时有几点需要注意。算术运算符遵循“先乘除后加减”的原则。1在进行自增(++)和自减(--)运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。2知识讲解2.算术运算符与算术表达式自增自减运算示例:intnum1=1; intnum2=2; intres=num1+num2++;printf("num2=%d"+num2);printf("res=%d"+res);①运算num1+nun2,变量nun1,num2的值不变。②将第一步运算结果赋值给变量res,此时res值为3。③num2进行自增,此时其值为3。知识讲解2.算术运算符与算术表达式整数之间相除,结果为整数。如果除法运算中有浮点数,结果为浮点数。3除法运算示例:3500/1000*1000 //结果为3000执行顺序:(1)3500/1000=3(2)3*1000=3000知识讲解2.算术运算符与算术表达式在进行取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。4取模运算示例:(-5)%3=-25%(-3)=2多学一招运算符的结合性运算符的结合性:指同一优先级的运算符在表达式中操作的结合方向,即当一个运算对象两侧运算符的优先级别相同时,运算对象与运算符的结合顺序。大多数运算符结合方向:自左向右知识讲解3.赋值运算符与赋值表达式赋值运算符的作用是将常量、变量或表达式的值赋给某一个变量。运算符运算范例结果=赋值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=b;a=5;b=2;-=减等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;知识讲解3.赋值运算符与赋值表达式赋值运算符在使用时,需要注意以下两个问题。1在C语言中可以通过一条赋值语句对多个变量进行赋值。为多个变量连续赋值示例:intx,y,z;x=y=z=5; //为三个变量同时赋值错误示例:intx=y=z=5; //错误知识讲解3.赋值运算符与赋值表达式赋值运算符在使用时,需要注意以下两个问题。2除“=”以外,其他都是特殊赋值运算符,以“+=”为例。赋值运算示例:intx=2;x+=3;①将x的值和3的执行相加。
②将相加的结果赋值给变量x。案例实现1.案例设计在实现案例时,遵循如下步骤。(1)定义两个变量num1和num2,调用scanf()函数从键盘输入数据为两个变量赋值。(2)分别使用+、-、*、/、%、++和--运算符实现两个变量的相应算术运算。案例实现2.完整代码本案例中可以实现的效果图如下。intmain(){请参考案例3-1完整代码}代码实现鱼和熊掌不可兼得案例3-2【案例3-2】鱼和熊掌不可兼得掌握关系运算符和条件运算符的使用,能够使用关系运算符和条件运算符完成表达式的比较运算和条件运算。学习目标案例描述《孟子·告子上》:鱼我所欲也,熊掌亦我所欲也,二者不可兼得。鱼和熊掌不可兼得通常用于比喻事情无法两全其美。在我们一生当中,常常会遇到两难选择,大而言之,利与义想兼得,小而言之,纵与读想两全。当我们身处两难抉择时,要学会思考分析,摒弃眼前利益,立足于长远目标。案例描述本案例要求编写一个程序,实现鱼与熊掌的选择,具体要求如下。(1)从键盘输入两个整数。(2)比较两个数据的大小,如果第一个数较大,在控制台输出“您选择了鱼”;如果第二个数较大,在控制台输出“您选择了熊掌”。知识需求在计算机程序中比较两个数大小,同样要使用比较运算符,比较运算符在C语言中也称为关系运算符。除了比较两个数大小,还要对比较结果进行判断,比较结果的判断需要使用条件运算符。
要实现关系运算,需要使用关系运算符。
要实现条件判断,需要使用条件运算符。关系运算符条件运算符知识讲解关系运算符用于对两个数据进行比较,其结果是一个逻辑值(“真”或“假”),“真”用非“0”数字来表示,“假”用数字“0”来表示。1.关系运算符与关系表达式运算符运算范例结果==相等于4==30(假)!=不等于4!=31(真)<
小于4<30(假)>
大于4>31(真)<=小于等于4<=30(假)>=大于等于4>=31(真)知识讲解1.关系运算符与关系表达式关系运算示例:inta=10,b=20,c=3;a>b //假,值为0a==c //假,值为0b!=c<=a //真,值为1知识讲解2.条件运算符与条件表达式条件运算符用于判断条件是否成立,如果条件成立,结果为真,用非0值表示;如果结果为假,用0表示。C语言提供的条件运算符为?:。表达式1?表达式2:表达式3①先计算表达式1。②若表达式1的值为真(非0),则将表达式2的值作为整个表达式的取值。③若表达式1的值为假(0),将表达式3的值作为整个条件表达式的取值。知识讲解2.条件运算符与条件表达式条件运算示例:inta=6,b=3;a>b?a*b:a+b; //条件表达式知识讲解2.条件运算符与条件表达式条件运算符需要三个表达式,因此,条件运算符又称为三目运算符。注意“?”和“:”是一对运算符,不能分开单独使用。条件运算符优先级低于关系运算符,高于赋值运算符。条件运算符可以进行嵌套,结合性为自右向左。案例实现1.案例设计根据案例需求,案例实现可以遵循以下步骤。010203123定义两个变量num1、num2。调用>运算符比较num1与num2的大小。如果比较结果为真,输出您选择了熊掌,如果比较结果为假,输出您选择了鱼。案例实现2.完整代码本案例中可以实现的效果图如下。intmain(){请参考案例3-2完整代码}代码实现优先级案例3-3【案例3-3】优先级(1)掌握逻辑运算符的使用,能够使用逻辑运算符完成表达式的逻辑运算。(2)熟悉运算符的优先级顺序,能够说出常见运算符优先级排序。学习目标案例描述时间管理四象限法则,可以将所要做的事情按轻重缓急程度做一个优先级排序,优先做重要且紧急的事情,不重要不紧急的事情排在最后做。→
有序合理的安排所做事情,才能保证学习生活顺利推进。案例描述在C语言中,各种运算符也有优先级,如果一个表达式中有多个运算符,则表达式会按照运算符的优先级依次进行运算。在本案例中,假设定义了3个int类型的变量a、b、c,其值分别是3、4、5,请计算表达式2>5&&2||3<4-!0的值。知识需求 2>5&&2||3<4-!0关系运算符逻辑运算符算术运算符谁先计算?排优先级知识讲解1.逻辑运算符与逻辑表达式逻辑运算符用于判断复合条件的真假,其结果仍为“真”或“假”。运算符运算范例结果!非!a如果a为假,则!a为真如果a为真,则!a为假&&与a&&b如果a和b都为真,则结果为真否则为假||或a||b如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假知识讲解1.逻辑运算符与逻辑表达式逻辑运算示例:inta=10,b=20,c=0;!a //结果,值为0a&&b //a和b都为真,结果为真,即值为1b||c //结果为真,即为1!a&&b //结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川三河职业学院单招职业适应性考试题库及完整答案详解
- 2026年吉林省延边朝鲜族自治州单招职业适应性考试题库有完整答案详解
- 2026年合肥财经职业学院单招综合素质考试题库含答案详解(培优a卷)
- 2026年呼伦贝尔职业技术学院单招职业技能测试题库带答案详解(综合卷)
- 养老护理中的环境设计与改造
- 垂体瘤术后日常护理要点
- 儿童卫生护理的科技应用
- 难经讲义绪言,难 课件
- 旅游发展中环境问题的资源与环境经济学分析
- 全麻术后预防应激性溃疡护理
- 物业小区控烟监督制度
- 2026年郑州市检验检测有限公司公开招聘19人笔试备考题库及答案解析
- 2025年11月中国人民财产保险股份有限公司临海支公司招考笔试历年典型考点题库附带答案详解试卷2套
- 2025年内蒙古建筑职业技术学院单招职业技能考试试题及答案解析
- 多模式镇痛临床实践与应用
- 2026吉林农业大学三江实验室办公室招聘工作人员笔试备考试题及答案解析
- 农田水利工程施工组织设计范例
- 脑中风科普知识讲座
- 2026年官方标准版离婚协议书
- 历史试题-汕头市2025-2026学年度普通高中毕业班教学质量监测(含解析)
- 平法图集培训
评论
0/150
提交评论