版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计C语言基础知识第2章学习目标掌握C语言的基本数据类型及表示2了解C语言的程序结构和基本组成1掌握C语言常见运算符优先级顺序和表达式4了解C语言各种数据类型之间的转换过程5掌握常量的分类和变量的定义及赋值3能综合运用数据类型、运算符及表达式解决简单的实际问题6#include<stdio.h> //编译预处理指令voidmain( ) //定义主函数{ //函数开始printf("ThisisaCprogram!\n");//输出指定信息} //函数结束【例2-1】请在屏幕显示“ThisisaCprogram!”信息2.1C语言程序结构运行结果:ThisisaCprogram!Pressanykeytocontinue.C程序的框架结构如下:void
main( )
{ ……
}【例2-2】
在屏幕上输出两个整数的和。#include<stdio.h>
/*编译预处理指令*/intmain()
/*主函数*/{
int
m,n,s;
/*变量定义*/ m=100;
n=200;
/*为变量m
和n
赋值
*/ s=m+n;
/*m、n之和赋给s*/ printf("sumis
%d\n",s);
/*输出s
的*/}2.1C语言程序结构运行结果:sumis300【分析】本程序的功能是将两数相加并输出。①变量定义:int表示整型,定义了三个整型变量m、n、s。C程序中所有用到的变量都必须先定义再使用。②变量赋值:两个赋值语句,把100赋值给m,把200赋值给n。③赋值计算:将m和n的和赋值给s。④格式输出:“%d”是输入输出格式字符串,用来指定数据的类型。“%d”表示以十进制整数类型输出,在执行输出时,此位置上代以一个十进制整数数值(其他的格式字符串有%c,%s,%f…)。printf函数中双引号中普通字符原样输出,而格式字符串“%d”会被s变量的值代替,因此会输出“sumis300”的结果。C程序特点2.1C语言程序结构01C语言是一种函数式语言,程序基本组成(单位)是函数。03不管主函数main在程序中的位置如何,程序执行总是从主函数main开始。05C语言本身没有输入/输出语句,其输入/输出功能须通过调用标准函数来实现。02每个C程序必须有且只有一个主函数main。04在C程序中,语句和数据定义的最后必须有一个分号。但是预处理命令、函数头和函数体的定界符“{}”之后不能加分号。例如,#indude<stdio.h>采用预处理命令包含需要使用的文件,后面不能加分号。06可以用“/*”和“*/”
或是“//”对C程序中的任何部分进行注释。2.2C语言基本组成基本字符集大小写各26个共52个;英文字母主要指运算符其他符号0到9共10个;阿拉伯数字_;下划线标识符就是一个名称,用来表示变量、常量、函数、类型及文件等的名字。标识符只能由字母、数字或下划线组成,并且第一个字符不能是数字。给标识符取名时,最好能实现“见名知意”。C语言中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意义。标识符的有效长度是1~32个字符。标识符不能使用系统关键字,因为关键字是系统的保留字,它们已有特定的含义。例如:_12,max,min_a_9是合法的标识符,而n-12,2a是不合法的标识符。标识符就是一个名称,用来表示变量、常量、函数、类型及文件等的名字。标识符只能由字母、数字或下划线组成,并且第一个字符不能是数字。给标识符取名时,最好能实现“见名知意”。C语言中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意义。标识符的有效长度是1~32个字符。标识符不能使用系统关键字,因为关键字是系统的保留字,它们已有特定的含义。例如:_12,max,min_a_9是合法的标识符,而n-12,2a是不合法的标识符。基本字符集英文字母大小写各26个共52个;阿拉伯数字0到9共10个;下划线_;其他符号主要指运算符2.2C语言基本组成标识符2.2C语言基本组成语句是组成程序的基本单位,它能完成特定的操作。语句的有机组合能实现指定的计算处理功能。所有程序设计语言都提供了满足编写程序要求的一系列语句,它们都有确定的形式和功能。按语句功能或构成的不同,C语言的语句可分为控制语句、函数调用语句、表达式语句、空语句和复合语句。控制语句又可分为选择控制语句、循环控制语句、其他控制语句。2.2C语言基本组成函数库:函数库是由系统建立的,具有一定功能的函数的集合。函数库中存放函数的名称和对应的目标代码,以及链接过程中所需的重定位信息。用户也可以根据自己的需要建立自己的用户函数库。库函数:存放在函数库中的函数。库函数具有明确的功能、入口调用参数和返回值。库函数是语言处理系统中一种重要的软件资源,在编写C语言程序时,应当尽可能多地使用库函数。这样既可以提高程序的运行效率,又可以提高编程的质量,常常会收到事半功倍的效果。链接程序:将编译程序生成的目标文件链接在一起,生成一个可执行文件。头文件:有时也称为包含文件。C语言库函数与用户程序之间进行信息通信时要使用的数据和变量。在使用某一库函数时,只要把头文件包含在用户程序中,就可以直接调用相应的库函数,即在程序开始部分用如下形式:#include<头文件名>或#include"头文件名"2.3C语言基本数据类型及表示C语言提供的基本数据类型比较丰富,它不仅能表达基本数据类型(如整型、实型、字符型等),还能提供数组、结构体、共用体和指针等数据类型,人们可以利用这些数据类型组织一些复杂的数据结构(如链表、树等)。2.3C语言的基本数据类型及表示整型数据可分为基本型、短整型、长整型和无符号型4种。数据类型占用字节数取值范围int(基本整型)2-32768~327674-2147483648~2147483647unsignedint(无符号整型)20~6553540~4294967295short(短整型)2-32768~32767unsignedshort(无符号短整型)20~65535long(长整型)4-2147483648~2147483647unsignedlong(无符号长整型)40~4294967295整型数据可以用十进制、八进制和十六进制3种形式来表示。长整型long
int或long无符号型unsigned短整型short
int或short基本整型int十六进制整数以0x或0X开头,数码取值为0~9,A~F或a~f。八进制整数必须以数字0开头,数码取值为0~7。十进制整数无前缀,其数码为0~9,用+、-号表示数值的正负。2.3C语言的基本数据类型及表示C语言中实型数据又称浮点型数据,与数学中的实数概念相同,这种数据由整数和小数两个部分组成。在C语言中,实型数据只能采用十进制,有两种表达形式.单精度型--类型说明符为float。float型占4个字节(32位)内存空间,其数值范围为-3.4E-38~3.4E+38,能得到6位有效数字。双精度型--类型说明符为double。double型占8个字节(64位)内存空间,其数值范围为-1.7E-308~1.7E+308,可提供15位有效数字。长双精度型--类型说明符为long
double。不同的编译系统对long
double型的处理方法不同,TurboC2.0为每个longdouble型数据分配16个字节,而VisualC++6.0则对long
double型和double型一样处理,分配8个字节。数据类型分配字节数取值范围有效精度(位)float4-3.4×10-38~3.4×10386~7double8-1.7×10-308~1.7×1030815~16longdouble16-1.2×10-4932~1.2×10493218~19
01
02十进制小数形式。由+或-号、数字0~9和小数点组成(注意必须有小数点)。指数形式(科学计数法)。用大写字母E或小写字母e均可表示以10为底的指数。一般形式为:aE±n或ae±n,代表a×10±n(其中,a为十进制数,n为十进制整数),字母E(或e)后面的“+”号可以省略,E(或e)之前必须有数字,E(或e)后面的指数必须为整数。2.3C语言的基本数据类型及表示字符型的类型说明符为char,在内存中只占一个字节。字符型数据分为有符号型和无符号型。常用转义字符表转义字符ASCII码值转义字符的意义\n10回车换行\t9横向跳到下一制表位置\b8退格\r13回车\f12走纸换页\\92反斜线杠\'39单引号符\”34双引号符\ddd
1~3位八进制数所代表的字符\xhh
1~2位十六进制数所代表的字符转义字符:以反斜杠'\'开头的特殊字符。转义字符的作用就是表明反斜杠后面的字符不取原来意义。用一对单引号括起来的单个(不能是多个)字符。例如:'A'、'n'、'*'、'6'。【例2-3】
字符及转义字符的输出。#include<stdio.h>voidmain(){ printf("we\tare\tchine\163\x65!\rW\n");printf("I\tlove\tChina?\b!\n");}【分析】'\t'是制表符,使用多个'\t'字符时,各个制表位置之间间隔8格。'\163'表示字符s,'\x65'表示字符e。'\r'表示将当前输出位置回到本行的开头,然后,该行最前面的小写w字符会被后面输出的大写W字符代替。'\b'表示退格,其作用效果是将已输出字符?用后面的!代替。运行结果:we
are
chinese!I
love
China!2.4常量与变量常量是指在程序运行过程中其值不能被改变的量。常量包括整型常量、实型常量、字符型常量、字符串常量和符号常量。【例2-4】已知圆半径为3,求圆的面积和周长。程序代码:#definePI3.14voidmain(){ intr;floats,l; r=3; s=PI*r*r; l=2*r*PI; printf(“s=%fl=%f”,s,l);}【分析】程序中用define命令行定义PI代表常量3.14,此后凡是在本文件中出现的PI都代表3.14,可以和常量一样进行运算。运行结果:s=28.260000l=18.840000符号常量定义的一般格式如下:#define
符号常量名
常量值2.4常量与变量在程序中,其值可以改变的量称为变量。变量名变量类型说明:(1)数据类型与变量列表之间至少用一个空格隔开。(2)数据类型决定了变量的属性,即变量的取值范围、变量所占存储单元的字节数、所能施加于该变量的操作类型。(3)变量列表可以是一个或多个变量,多个变量之间要用逗号间隔。(4)变量名必须符合标识符的命名规则,习惯上变量名中的英文字母用小写。在C语言中,变量一定要先定义,后使用。变量的定义一般形式如下:数据类型
变量名表;例如:int
i,j,n:
/*定义
i、j、n为整型变量*/float
m,n:
/*定义m、n为实型变量*/char
a,b;
/*定义a、b为字符型变量*/C语言中变量的定义变量赋初值2.4
常量与变量NO.3NO.2NO.1先定义后赋值int
a,b,c;a=2;b=5;c=10;对几个变量同时赋一个初值正确方法:int
a=2,b=2,c=2;错误方法:int
a=b=c=2;在定义的同时赋值,也成为变量的初始化:int
a=5;算数运算符和算数表达式2.5运算符和表达式加法和减法运算符求余运算符(%)乘法和除法运算符自增运算符(++)和自减运算符(--)【例2-6】
运算符“/”和“%”的用法。#include<stdio.h>voidmain(){ intm,n; floatc; m=5/3; c=5/3.0;
//取余数运算符%,操作数必须为整型
n=5%3; printf(“m=%d,c=%f,n=%d”,m,c,b);}运行结果:a=1,c=1.666667,b=2【例2-5】
自增、自减运算符的用法与运算规则示例。#include<stdio.h>voidmain(){ inti=5; printf("%d",++i);
printf("%d",--i);
printf("%d",i++);
printf("%d",i--);
printf("%d",-i++);
printf("%d",-i--);
} 运行结果:6556-5-6赋值运算符和赋值表达式2.5运算符和表达式1、简单赋值运算符与表达式变量=表达式赋值运算符具有右结合性一般形式简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。定义功能赋值表达式的功能:先计算表达式的值,再将值赋予左边的变量。赋值运算符和赋值表达式2.5
运算符和表达式【例2-7】赋值运算中类型转换的规则示例。程序代码:#include<stdio.h>voidmain(){ intx,y=322,z; floata,b=5.5; charc1='A',c2; x=b; a=y; z=c1; c2=y; printf("%d,%.2f,%d,%c\n",x,a,z,c2);}类型转换如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:(1)实型赋予整型,舍去小数部分。(2)整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。(3)字符型赋予整型。由于字符型为1个字节,而整型为2个字节,故将字符的ASCII码放到整型量的低8位,高8位为0。若将整型赋予字符型,则只对低8位赋予字符量。运行结果:编译的时候出现两个警告:conversionfrom'float'to'int',possiblelossofdataconversionfrom'int'to'float',possiblelossofdata输出:5,322.00,65,B赋值运算符和赋值表达式2.5
运算符和表达式在赋值符“=”前加上其他二目运算符,可构成复合赋值符。例如,+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。构成复合赋值表达式的一般形式:变量双目运算符表达式等效于:变量=变量运算符表达式例如:a+=5等价于a=a+5x*=y+7等价于x=x*(y+7)r%=p等价于r=r%p复合赋值运算符关系运算符和关系表达式2.5
运算符和表达式关系运算实际上就是比较运算,即将两个数据进行比较,判定两个数据是否符合给定的关系。C语言提供6种关系运算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、!=(不等于)。所有的关系运算符都是双目运算符。关系运算符的优先级:前4种关系运算符(<,<=,>,>=)的优先级相同,后2种关系运算符(==,!=)的优先级相同。关系运算符算术运算符
关系运算符
赋值运算符
(低)
(高)
用关系运算符将两个数值或数值表达式连接起来的序列,称为关系表达式。例如,下面几个都是合法的关系表达式:a>b,a+b>b+c,(a=3)>(b=5),(a>b)>(b>c)。关系表达式的一般形式为:表达式关系运算符表达式;关系表达式关系运算符和关系表达式2.5
运算符和表达式【例2-8】关系表达式示例。程序代码:#include<stdio.h>voidmain(){charc='k';inti=1,j=2,k=3;floatx=3e5,y=0.85;printf("%d,%d\n",'a'+5<c,-i-2*j>=-k-2);printf("%d,%d\n",1<j<5,x-5.25<=x+y);printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);}运行结果:1,11,10,0【分析】本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。“==”和“=”的区别:在C语言中,“==”是关系运算符,而“=”则是赋值运算符。关系运算的结果是一个逻辑值,只有两种可能:要么关系成立,为“真”;要么关系不成立,为“假”。由于C语言没有逻辑型数据类型,所以用1代表“真”,用0代表“假”。因而,C语言关系表达式的运算结果实质上都是数值型(1或者0)。逻辑运算符和逻辑表达式2.5
运算符和表达式C语言提供以下3种逻辑运算符:(1)&&(逻辑与):双目运算符。表示“并且”,只有两个条件同时满足时,表达式的结果才为真。(2)||(逻辑或):双目运算符。表示“或者”,只需满足其中任意一个条件,表达式结果就为真。(3)!(逻辑非):单目运算符。表示“否定”,意思是对操作数的逻辑值进行取反。逻辑运算符的优先级:“!”最高,“&&”次之,“||”最低。逻辑运算符逻辑运算符和逻辑表达式2.5
运算符和表达式关系表达式只能描述单一条件。例如,x表示是一个非负数,可用关系表达式x>=0来描述。如果需要表示x的数值范围是[0,100],即x>=0且x<=100,也就是说,当需要描述的条件有2个或更多时,就要借助逻辑表达式了。用逻辑运算符将关系表达式或逻辑量连接起来的式子,就是逻辑表达式。其中,逻辑量就是值为“真”或“假”的数据。C语言规定,所有的“非0”数据判定为“真”,只有“0”判定为“假”即所有逻辑表达式的运算结果实质上也是数值型(1或者0)。逻辑表达式的一般形式为:表达式逻辑运算符表达式;逻辑表达式由于&&和||运算符的左结合性及运算特点,若&&运算符左边的表达式的值为“假”(为0),则其右边的表达式将不再运算,整个表达式的值必然为“假”。同理,若||运算符左边的表达式的值为“真”(非0),则其右边的表达式将不再运算,整个表达式的值必然为“真”。例如:a&&b=b-1当a=0时,表达式的运算结果为0,&&运算符右边的式子将不再运算,b的值不变。a||b=b-1当a=1时,表达式的运算结果为1,||运算符右边的式子将不再运算,b的值不变。逻辑运算符的短路现象逻辑运算符和逻辑表达式2.5
运算符和表达式【例2-9】逻辑表达式实例。程序代码:main(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d\n",!x*!y,!!!x);printf("%d,%d\n",x||i&&j-3,i<j&&x<y);printf("%d,%d\n",i==5&&c&&(j=8),x+y||i+j+k);}【分析】本例中!x和!y均为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x||i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x||i&&j-3的逻辑值为1。对i<j&&x<y式,由于i<j的值为1,而x<y为0,故表达式的值为0。对i==5&&c&&(j=8)式,由于i==5为假,即值为0,该表达式由两个与运算组成,所以整个表达式的值为0。对于式x+y||i+j+k,由于x+y的值为非0,故整个或表达式的值为1。运行结果:0,01,00,1条件运算符和条件表达式2.5
运算符和表达式条件运算符是C语言中唯一的三目运算符。条件运算符的形式是“?:”,由它构成的表达式称为条件表达式。其形式为表达式1?表达式2:表达式3如果表达式1成立,则表达式2的值是整个表达式的值,否则表达式3的值是整个表达式的值条件运算符例如,将a、b两个变量中的较大值赋值给变量max,我们可以利用条件运算来完成此操作。max=a>b?a:b。条件表达式的优先级高于赋值运算,但低于所有关系运算、逻辑运算和算术运算。其结合性是自右至左的,当多个条件表达式嵌套使用时,每个后续的冒号(:)总与前面最近的、没有配对的问号(?)相联系。例如:a>b?a:b>c?b:c等价于a>b?a:(b>c?b:c)。条件表达式逗号运算符和逗号表达式2.5
运算符和表达式C语言提供一种特殊的运算符———逗号运算符。逗号运算符为“,”。用逗号运算符可以将两个表达式连接起来。例如:2+3,2+5逗号运算符逗号表达式就是用逗号运算符将两个表达式连接起来所形成的表达式。其一般形式为表达式1,表达式2,…,表达式n求值过程:从左至右,分别求表达式的值,并以表达式n的值作为整个逗号表达式的值。条件表达式【例2-10】逗号运算符的规则示例。程序代码:#include<stdio.h>voidmain(){inti=1,j=2,k=3,x,y;y=((x=1+j),j+k);printf("y=%d,x=%d\n",y,x);}运行结果:y=5,x=3并不是所有出现逗号的语句都组成逗号表达式。例如,在变量说明中,函数参数表中的逗号只用作各变量之间的间隔。优先级:逗号运算符是所有运算符中级别最低的。例如,逗号表达式:x=2,4*5运算时,先算第一个赋值表达式x=2,再算算术表达式4*5,最后算整个逗号表达式的值。逗号表达式的值为算术表达式的值20。结合性:逗号表达式的结合性为自左至右结合。当多个逗号表达式串联在一起时,自左至右运算,依次求出每个表达式的值,整个逗号表达式的值为最后一个表达式的值。2.5
运算符和表达式sizeof是求字节数运算符,用于确定变量或数据类型在计算机系统中所占的字节数。变量或数据类型在不同的计算机系统中可能占用不同长度的内存空间。若想了解在自己所使用的计算机系统中,这些变量或数据类型所占用的内存空间大小,可以使用求字节数运算符sizeof。其一般应用形式为:sizeof(opr)其中,opr表示sizeof运算符所要运算的对象,opr可以是表达式或数据类型名,当opr是表达式时括号可省略。例如:sizeof(char)/*求字符型数据在内存中所占用的字节数,结果为1*/sizeof(int)(a*b)/*求整型数据在内存中所占用的字节数,结果为2*/sizeof运算符2.6混合运算及数据类型转换混合运算是指在一个表达式中参与运算的对象不是相同的数据类型。例如:2*3.1416*r,3.1416*r*r,3.6*a%5/(*b)+f。如果r为整型变量,a为浮点型变量,b为双精度浮点型变量,则以上三个表达式中涉及的数据类型有整型和浮点型,种表达式称为混合类型表达式。对于混合运算,首要的任务是对参与运算的数据进行类型转换。混合运算自动转换强制转换数据类型转换2.6混合运算及数据类型转换自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换【例2-11】自动转换的用法与运算规则示例。程序代码:#include<stdio.h>voidmain(){floatpi=3.14159;ints,r=5;s=r*r*pi;printf("s=%d\n",s);}运行结果:编译时出现警告;'initializing':truncationfrom'constdouble'to'float'conversionfrom'float'to'int',possiblelossofdata说明系统提示数据类型不匹配,但系统会自动转换。运行结果:s=78若参与运算量的类型不同,则先转换成同一类型,然后进行运算。1转换按数据长度增加的方向进行,以保证精度不降低。例如,int型量和long型量运算时,通常先把int型量转换成long型量,再进行运算。2浮点运算通常以双精度进行,即使仅含float型量运算的表达式,也要先转换成double型量,再进行运算。3char型量和short型量参与运算时,必须先转换成int型量。4在赋值运算中,如果赋值号两边量的数据类型不同,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长,可能丢失一部分数据,这样会降低精度。52.6混合运算及数据类型转换强制转换是通过类型转换运算来实现的,其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。其一般形式:(类型说明符)(表达式)例如:(float)a,(int)(x+y)强制转换【例2-12】
强制转换的用法与运算规则示例。程序代码:#include<stdio.h>voidmain(){inta=1;floatx=2.5,y=3;printf("(float)a=%f,a=%d\n",(float)a,a);printf("(int)(x+y)=%d,x+y=%f\n",(int)(x+y),x+y);}运行结果:(float)a=1.000000,a=1(int)(x+y)=5,x+y=5.500000【分析】a和x+y虽然被强制转换,但只在运算中起作用,是临时的类型转换,其本身的类型并不改变。因此,(int)(x+y)的值为5(舍去了小数部分),(float)a增加了小数部分的输出。无论是强制转换还是自动转换,都是为了满足本次运算的需要而对变量的类型进行临时转换,而不会改变数据说明时对该变量定义的类型。类型说明符和表达式都必须加括号(单个变量可以不加括号)。若把(int)(x+y)写成(int)x+y,则先把x转换成int型,再与y相加。2.7程序举例【例2-13】
写出下列程序的运行结果。#includ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机场地勤工作制度规范
- 主播形象管理制度规范
- 初级中学规范办学制度
- 财政经济活动及制度规范
- 全面规范学校管理制度
- 规范性文件动态管理制度
- 电焊管理制度标识牌规范
- 三乙诊疗制度规范要求
- 产科医院建设规范制度
- 小学饭堂陪餐制度规范
- 春运志愿者培训
- 养猪企业新员工职业规划
- 施工机械设备施工技术方案
- 人教版六年级上册数学解方程练习100道及答案
- DL∕T 2447-2021 水电站防水淹厂房安全检查技术规程
- 必修一实验复习+期末复习 高一上学期物理人教版(2019)必修第一册
- 人工费合同简易版
- JT∕T 795-2023 事故汽车修复技术规范
- 九年级上册英语英语阅读理解汇编含解析
- 机房搬迁服务搬迁实施方案
- 2023-2024年人教版八年级上册数学期末模拟试卷(含答案)
评论
0/150
提交评论