c最常用的知识点
1.C语言知识总结
c语言概要 第一章、概述1、c语言的基本知识1.1、c语言的执行步骤 编辑-程序代码的录入,生成源程序*.c 编译-语法分析查错,翻译生成目标程序*.obj (语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等) 链接-与其他目标程序或库链接装配,生成可执行程序*.exe 执行1.2、main函数的基本知识 main()函数的位置 c程序总是从main( )函数开始执行 一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数1.3、c程序的结构 函数与主函数 程序由一个或多个函数组成 必须有一个且只能有一个主函数main() 程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行 程序语句 C程序由语句组成 用“;”作为语句终止符 注释// 或/* */ 为注释,不能嵌套 不产生编译代码1.4、c 程序书写的规则 习惯用小写字母,大小写敏感 不使用行号,无程序行概念:通常一个语句占一行 可使用空行和空格 常用锯齿形的书写格式;同一层次结构的语句上下对齐。
第二章、基本数据类型与运算2.1、c程序的数据类型 注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字) 变量占用的存储空间 数据类型 基本类型:整型、字符型、浮点型(单精度型,双精度型) 构造类型:数组类型、结构体类型 指针类型 空类型 注意基本类型赋初值的方式 基本数据类型的表示形式 整形数据 十进制:以非0数字开头,如:123,-9,0 八进制;以0数字开头,如:0123,067 十六进制:以0x开头,如:0x123,0xff 实型数据 十进制:必须带小数点,如:123.0,-9.0 指数形式;如:1.23E3,0.9e-2,5e2 字符型数据 普通字符:如:'a','2','H','#' 转义字符:如:'\n','\167','\xlf,'\\' (实现几列的对齐:指定宽度。如%100\ '\t'制表位) (字符串长度。
“abc\n\t\\” strlen 6; sizeof 7) 基本数据类型的存储长度 整型 Int 字节数 2 位数 16 数的表示范围 -32768—32767 Short 2 16 -32768—32767 Long 4 32 -2147483648—2147483647 实型 Float 4 32 3.4e-38---3.4e38 Double 8 64 1.7e-308---1.7e308 字符型 Char 1 8 -128----1272.2、标识符命名规则 C语言标志符命名规则 标识符有数字,字母,下划线组成 标识符的首字符必须为字母和下划线 标识符不能为c语言的保留字(关键字) 如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed 算术运算符 + - * / % 关系运算符 > < == >= <= != 逻辑运算符 ! && || 位运算符 << >> ~ | ^ & 赋值运算符 = 及其扩展赋值运算符 条件运算符 ? :逗号运算符 ,指针运算符 * & 求字节数运算符 sizeof 强制类型转换运算符 (类型) 分量运算符 . -> 下标运算符 [ ] 其他 如函数调用运算符() 运算符的优先级 由高到低:单目运算符,算数运算符,关系运算符,赋值运算符 说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左 如:++--I 先—i.。
算术运算 结合方向自左至右2.3基本运算和表达式 关系表达式和逻辑表达式(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b) A&&b.a为0.不执行b A||b a为1.不执行b 在 c 中逻辑运算结果:1代表“真”,0代表“假”;判断一个表达式是否真:0代表“假”,非0代表“真” 条件表达式 逗号表达式 如:k=5,k++ 逗号值为5;k为6.表达式1?表达式2 :表达式3 K=5>6 ? 1 : 02.4、混合运算的数据类型转换2/3+0.5 双精度浮点型 第三章、顺序结构程序设计3.1、c语句的分类 简单语句 表达式语句 表达式+分号 空语句 只有分号的语句 复合语句 用花括号将若干语句括起来 流程控制语句 选择语句 if ,switch 循环语句 while, do while , for 转移语句 break ,continue ,return goto3.2、格式输入函数scanf 一般形式:scanf(“格式控制字符串“,地址列表);使用scanf函数时,需要注意:格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。输入实行数据时,可以不带小数点,即按整型数据输入 数值型数据与字符或字符串混合输入时,需要注意输入方式。
3.3、格式输出函数printf Printf(“格式控制字符串“,输出列表);指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。%[标志][输出最小宽度][.精度][长度]类型 标志:- 左对齐;+ 右对齐;%f, %d, %c, %s3.4、其他输入输出函数 Putchar getchar puts gets 第四章、选择结构程序设计 If选择结构 单分支 If(表达式) 语句 双分支 If(表达式) 语句1 Else 语句2 多分支 If (表达式1) 语句1 Else if(表达式2) 语句2 。
Else if(表达式m) 语句m Else 语句n Switch(表达式) { Case 常量表达式1:语句1;break;Case 常量表达式2:语句2;break;。
Case 常量表达式m:语句m;break; Default:语句n;break; } 注意break的使用 第五章、循环结构程序设计 循环三要素 初始条件 ;终止条件 ;在初始条件和终止条件间反复做某件事情(循环体) While(表达式) 语句 Do 语句 While(表达式); For(循环体变。
2.c 语言的基本知识
1.C提供了三种主要的预处理功能,分别是__宏定义_______、___文件包含______、____条件编译____。
2.C语言中,数组元素下标下限为___0_____。
3.数组名作函数参数传递时是__数组首地址______传递。变量作函数参数时是_值_______传递,
4.一个编辑好的*.C源程序,必须经过编译、_连接_______、后才能运行。
5.在C语言中可以用__逐个引用______法和________法引用数组元素。
6.C语言的程序结构有_顺序___、_选择___、循环____三种。
7.在C中,Char类型变量值可以赋值给___int_____类型变量。
8.使指针P指向数组int a[ ]的首址,写作 __p=a______ ,*(P+1)是a[ _1__ ]的值
9.所谓指针是指_______;指针变量是用于存放___变量地址___的变量;字符串的指针是指__字符串的首地址________ ;函数的指针是指__函数首地址____________。
10.在函数调用中,一个函数无论直接还是间接地调用自身,该调用称为__递归_____调用。
3.C语言的基本语法有哪些
基本语法介绍预处理命令把小写字母转换成大写字母chara,b;a='x';b='y';a=a-32;b=b-32;printf("%c,%c\n%d,%d\n",a,b,a,b);复合赋值语句有利于编译处理,能提高编译效率并产生质量较高的目标代码C语言中的空语句:while(getchar!='\n');//这里包含了空循环体scanf与printf:scanf输入数据可以指定数据字段的宽度,但不能规定数据的精度,而printf则可以printf(“%3,2f”,a);//这里的3.2表示按实数形式输出,输出宽度为3,如果输出的数不足3,位,则按实际宽度输出,四舍五入保留两位小数预处理命令宏定义(1)不带参数的宏定义#definePI3.1415926//不用加分号(2)带参数的宏定义#defineMAN(a,b)((a)>(b)?(a):(b))在语句块内定义的变量称之为局部变量,又称为内部变量,仅在定义它的语句块内有效,并且拥有自己独立的存储空间。
全局变量:在函数之外定义的变量成为全局变量。如果在同一个源文件中,全局变量和局部变量同名,则在局部变量的作用范围内,全局变量不起作用,即被“屏蔽”。
说明:(1)一个函数中既可以使用本函数的局部变量,又可以使用有效的全局变量。(2)利用全局变量可以增加函数联系的渠道,从而得到一个以上的返回值(3)全局变量一般第一个字母用大写表示(4)建议在一般情况下不要使用全局变量,因为全局变量一直占用存储空间,降低ile函数的通用性和程序的清晰性,容易出错。
变量的存储类型:(1)自动型变量autointi=1;auto关键字只能用于定义局部变量,为默认的类型(2)寄存器型变量register(3)静态型变量static该变量只有在所在的函数内有效,退出该函数时该变量的值仍然保留,下次进入后仍然可以使用。退出程序时值才消失。
(4)外部型变量externC程序在编译时当遇到extern,先在本文件中找外部变量的定义,如果找到,就在本文件中扩展作用域,如果找不到就在连接时从其他的文件中找到外部变量的定义如果找到,就将作用域扩展到本文件,否则按出错处理。在高级语言的学习中一方面应数量掌握该语言的语法,因为它是算法实现的基础,另一方面必须认识到算法的重要性,加强思维训练,以便写出高质量的程序。
getchar()getch()getche()函数和putchar()putch()函数putchar(c)putch(c)把单个字符c输出到标准设备上getchar()getche()getch()函数用于从终端输入数据getchar()按enter键之后才接受数据,只接收第一个数据getch()和getche()在输入一个字符后立刻被函数接受,不用按enter键。getch()不回显输入的数据getche()显示输入的数据指针与数组一维数组二维数组字符数组二维字符串指针与一维数组一维数组:不允许对数组的长度进行动态定义数组必须先定义后使用数组的定义:inti[10]intb[]={1,2,3,0,0,0}等价于intb[6]={1,2,3}字符数组:字符数组是由若干个有效字符构成且以字符'\0'作为结束标志的一个字符序列。
字符数组的定义:chara[10];字符数组的初始化:对字符数的各个元素分别进行初始化chara[3]={'a','b'};/*余下的自动补'\0',这时字符数组就变成了字符串*/用字符串常量来给字符数组进行初始化chara[13]="helloworld!"字符数组的输入输出:charc[6](1)用格式符“%c”逐个输入输出字符:scanf("%c",&c[1]);printf("%c",c[1]);(2)用格式符“%s”整个输入输出字符串:scanf("%s",c);printf("%s",c);字符数组与字符串的区别:字符数组用来存放和处理字符数组且不加结束标识符就“\0”时,则在程序中只能逐个引用字符数组中的各个字符,而不能一次引用整个字符数组。而字符串则可以对其引用整个数组。
其操作的方式一个是数组元素,一个是数组名。字符串处理函数:(1)输入字符串函数char*gets(char*str);//stdio.h在使用gets()输入字符串时,可以包括空格在内的字符,在回车时,自动骄傲字符串结束标志'\0'赋予字符数组的最后一个元素。
(2)输出字符串函数intputs(char*str);//stdio.h在使用puts()输出字符串时,将字符串结束标志'\0'转换成'\n'输出。(3)字符串复制函数char*strcpy(char*strl,char*str2);//string.h不能使用‘=’赋值语句对字符数组整体赋值,只能使用strcpy()处理。
(4)字符串比较函数intstrcmp(char*str1,char*str2);//string.h字符串比较不能使用if(str1==str2)的形式,只能使用strcmp();(5)字符串长度测量函数unsignedintstrlen(char*str);不包括字符串结束字符'\0'(6)找字符或字符串位置函数查找字符的位置:char*strchr(char*str,charch);查找字符串的位置:char*strstr(char*str1,charstr2);指针可以简单的认为“指针”就是地址,地址就是指针。一个变量的地址只能使用&符号获得。
指针变量:在C语言中指针被用来标识号内存单元的地址,如果把这个地址用一个变量来保存,则这中噢噢那个变量就成为指指针变量。如指针变量pi只想变量i,那么pi就表示变量i的地址,*pi就表示变量i的值,pi=&i。
i=3与*pi=3等价指针变量的使用:先定义,后使用。定义的一般形式:数据类型*指针变量名;指针变量与普通变量建立联系的方法(为指针赋值):指针变量名=&普通变量名;说明:(1)由于数组名就是该数组的首地址,所以指针变量与数组建。
4.学习C语言需要掌握哪些基本知识
(这是别人回答我的问题,感觉很有帮助你可以了解了解)如何学好c语言 教了多年《C程序设计》课程,大多学生觉的这门课程难学。
其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,克服心理上畏难、不轻言放弃,是完全可以学好的。 《C程序设计》的内容很丰富,按照我们现在的教学大纲,教学的主要内容是基础知识、四种结构的的程序设计、函数与数组的应用和一些简单的算法。
在学习时,同学们应该把主要精力放在这些部分,通过实践(练习和上机调试等熟练掌握。当然,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题,回答是听不懂、不想听、放弃这样三个过程,我反问,这节课你听过课吗?回答又是没有,根本就没听过课,怎么说自己听不懂呢?相应的根本就没学习,又谈何学的好? 学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。
比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
那么,我们如何学好《C程序设计》呢? 一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。下面我们通过几个例子来说明: (1) 5*8/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算5 *8=40,然后被4除,结果为10,最后是%(求余数)运算,所以表达式的最终结果为10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 对于c=++a*b来说,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。
这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b部分,若结果为真,则取问号后a的值,否则取冒号后b的值,因此c的值应该为6,这个运算可以用来代替if…else…语句的简单应用。
二.学好C语言的四种程序结构 (1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。 例如;a = 3,b = 5,现交换a,b的值,这个问题就好象交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
(2) 分支结构 顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。
分支结构的执行是依据一定的条件选择。
5.c语言的难点
c学起来也不是很难,主要是指针和其他的知识点入数组、函数等组合起来难理解一些
要想学习,主要有几点需要注意
一、记忆部分
1、保留字,如if,int,for等
2、常规的结构,如条件,循环,switch、数组的结构,指针定义,结构体的定义等
3、语法的构成,如printf,scanf等一些语句的构成
4、一些系统带的函数,常用的要记住,如strlen,printf等
5、一些经典的算法,如素数的计算,排序的写法等
二、算法,语法等
这个就是解决问题的方法,没有好的捷径,只要慢慢的积累,数学方面的算法要加深
其实,c基础也就是那么一些基础点
1、保留字
2、定义变量等,int,float等
3、条件语句if,选择语句switch,循环,do--while、for、while、goto
4、注意逗号语句,scanf和printf要熟练,知道格式(这个很基础,用错了很麻烦)
5、数组,这里注意二维数组和字符串的一些函数
6、指针,这个是难点,也就是说很难理解,特别是和数组函数结构体等结合使用的时候
7、结构体共用体,这个不难,就是繁琐而已。这里涉及到链表,其实不难理解,可以想象成一串珠子,next指针就是串珠子的线,结构体就是珠子
8、文件操作,这个就是套用格式,没难度
9、宏定义,这个没难度,就是最简单的直接替换。注意一点就是在定义宏的时候多用几个括号增加优先级没坏处
10、函数。这个难度不大,主要是要理解,参数是在调用的时候另外开辟内存空间。除了数组和用&定义的参数。要不然子函数改变了参数变量,调用它的地方的变量时不会改变的
其实就是这些基本的知识点
6.C的一些基本知识是什么(化学)
碳,符号C,元素周期表中第6种元素,原子量12,它与其他元素结合形成有机化合物的大家族,碳元素在大气中主要以有机物未完全燃烧而形成的炭黑(soot)形式出现。
碳是一种非金属元素,位于元素周期表的第二周期IVA族。拉丁语为Carbonium,意为“煤,木炭”。
汉字“碳”字由木炭的“炭”字加石字旁构成,从“炭”字音。碳是一种很常见的元素,它以多种形式广泛存在于大气和地壳之中。
碳单质很早就被人认识和利用,碳的一系列化合物——有机物更是生命的根本。碳是生铁、熟铁和钢的成分之一。
碳能在化学上自我结合而形成大量化合物,在生物上和商业上是重要的分子。生物体内大多数分子都含有碳元素。
碳元素简介 碳化合物一般从化石燃料中获得,然后再分离并进一步合成出各种生产生活所需的产品,如乙烯、塑料等。 碳的存在形式是多种多样的,有晶态单质碳如金刚石、石墨;有无定形碳如煤;有复杂的有机化合物如动植物等;碳酸盐如大理石等。
单质碳的物理和化学性质取决于它的晶体结构。高硬度的金刚石和柔软滑腻的石墨晶体结构不同,各有各的外观、密度、熔点等。
常温下单质碳的化学性质不活泼,不溶于水、稀酸、稀碱和有机溶剂;不同高温下与氧发生的反应不同,可以生成二氧化碳或一氧化碳;在卤素中只有氟能与单质碳直接反应;在加热下,单质碳较易被酸氧化;在高温下,碳还能与许多金属反应,生成金属碳化物。碳具有还原性,在高温下可以冶炼金属。
化学符号:C 元素原子量:12.01 质子数:6 原子序数:6 周期:2 族:IVA 碳元素周期表电子层分布:2-4 原子体积: 4.58立方厘米/摩尔 原子半径(计算值):70(67)pm 共价半径:77 pm 范德华半径: 170 pm 电子构型 :1s22s22p2 电子在每能级的排布: 2,4 氧化价(氧化物): 4,3,2(弱酸性) 颜色和外表:黑色(石墨), 无色(金刚石) 木炭,活性炭,炭黑 物质状态 :固态 物理属性: 反磁性 熔点:约为3727 ℃(金刚石3550 ℃) 沸点:约为4827 ℃(升华) 摩尔体积 :5.29*10-6m3/mol 元素在太阳中的含量:(ppm) 3000 元素在海水中的含量:(ppm) 太平洋表面 23 元素在地壳中含量:(ppm)4800 莫氏硬度:石墨1-2 ,金刚石 10 氧化态: 主要为-4,,C+2, C+4 (还有其他氧化态) 化学键能: (kJ /mol) C-H 411 C-C 348 C=C 614 C≡C 839 C=N 615 C≡N 891 C=O 745 C≡O 1074 晶胞参数: a = 246.4 pm b = 246.4 pm c = 671.1 pm α = 90° β = 90° γ = 120° 电离能:(kJ/ mol) M - M+ 1086.2 M+ - M2+ 2352 M2+ - M3+ 4620 M3+ - M4+ 6222 M4+ - M5+ 37827 M5+ - M6+ 47270 单质密度:3.513 g/cm3(金刚石)、2.260 g/cm3(石墨,20 ℃) 电负性:2.55(鲍林标度) 比热:710 J/(kg·K) 电导率:0.061*10-6/(米欧姆) 热导率:129 W/(m·K) 第一电离能 1086.5 kJ/mol 第二电离能 2352.6 kJ/mol 第三电离能 4620.5 kJ/mol 第四电离能 6222.7 kJ/mol 第五电离能 37831 kJ/mol 第六电离能 47277.0 kJ/mol 成键:碳原子一般是四价的,这就需要4个单电子,但是其基态只有2个单电子,所以成键时总是要进行杂化。最常见的杂化方式是sp3杂化,4个价电子被充分利用,平均分布在4个轨道里,属于等性杂化。
这种结构完全对称,成键以后是稳定的σ键,而且没有孤电子对的排斥,非常稳定。金刚石中所有碳原子都是这种以此种杂化方式成键。
烷烃的碳原子也属于此类。 根据需要,碳原子也可以进行sp2或sp杂化。
这两种方式出现在成重键的情况下,未经杂化的p轨道垂直于杂化轨道,与邻原子的p轨道成π键。烯烃中与双键相连的碳原子为sp 2杂化。
由于sp2杂化可以使原子共面,当出现多个双键时,垂直于分子平面的所有p轨道就有可能互相重叠形成共轭体系。苯是最典型的共轭体系,它已经失去了双键的一些性质。
石墨中所有的碳原子都处于一个大的共轭体系中,每一个片层有一个。编辑本段碳的同位素 目前已知的同位素共有十二种,有碳8至碳19,其中碳12和碳13属稳定型,其余的均带放射性,当中碳14的半衰期长达五千七百三十年,其他的均全不足半小时。
在地球的自然界里,碳12在所有碳的含量占98.93%,碳13则有1.07%。C的原子量取碳12、13两种同位素丰度加权的平均值,一般计算时取12.01。
碳12是国际单位制中定义摩尔的尺度,以12克碳12中含有的原子数为1摩尔。碳14由于具有较长的半衰期,被广泛用来测定古物的年代。
编辑本段单质碳的形式 最常见的两种单质是高硬度的金刚石和柔软滑腻的石墨,它们晶体结构和键型都不同。金刚石每个碳都是四面体4配位,类似脂肪族化合物;石墨每个碳都是三角形3配位,可以看作无限个苯环稠合起来。
常温下单质碳的化学性质比较稳定,不溶于水、稀酸、稀碱和有机溶剂。1. 金刚石(diamond)(又名钻石)金刚石结构图最为坚固的一种碳结构,其中的碳原子以晶体结构的形式排列,每一个碳原子与另外四个碳原子紧密键合,成空间网状结构,最终形成了一种硬度大、活性差的固体。
金刚石的熔点超过3500℃,相当于某些恒星表面温度。 主要作用:装饰品、切割金属材料等2.石墨(。