C陷阱与缺陷
“C陷阱与缺陷”相关的资料有哪些?“C陷阱与缺陷”相关的范文有哪些?怎么写?下面是小编为您精心整理的“C陷阱与缺陷”相关范文大全或资料大全,欢迎大家分享。
《C陷阱与缺陷》笔记
C中的经典,经过半个月的时间,慢慢的看了,感觉挺好的!做了点小总结
在初读《C陷阱与缺陷》时,前几章介绍的问题经常遇到,较容易掌握。又因懒
于动手未做笔记,越到后面越觉得自己记忆力有限才补做笔记。毕竟好记性不如烂笔
头。前四章时在别的笔记中粘贴过来。后面几章的学习中遇到似是而非的问题也参照
了其他人得笔记并整理出自己的东西。现在一并发出来,为更多的人提供参考。
让我们一起坚定的走下去!
第1章 词法“陷阱”
1.1 = 不同于 ==
== 为比较运算符, = 为赋值运算符
例: while( c = ' ' || c == '\t' || c == '\n' )
c = getc( f );
本意是c和 ' ' 比较,但错用成赋值符。这样的后果是将 ' ' || c == '\t'
|| c == '\n' 这个表达式的值给了c, 而使c = 1。
同样: if ( ( filedesc == open( argv[i], 0 ) ) < 0 ) error();
open的返回值和filedesc比较的结果只能是0或1,所以,error没有机会调用。
但是,此时filedesc的值于open返回值无关,编译器这里不会报错。容易被忽视,
达不到检查效果。
1.2
《C陷阱与缺陷》笔记
C中的经典,经过半个月的时间,慢慢的看了,感觉挺好的!做了点小总结
在初读《C陷阱与缺陷》时,前几章介绍的问题经常遇到,较容易掌握。又因懒
于动手未做笔记,越到后面越觉得自己记忆力有限才补做笔记。毕竟好记性不如烂笔
头。前四章时在别的笔记中粘贴过来。后面几章的学习中遇到似是而非的问题也参照
了其他人得笔记并整理出自己的东西。现在一并发出来,为更多的人提供参考。
让我们一起坚定的走下去!
第1章 词法“陷阱”
1.1 = 不同于 ==
== 为比较运算符, = 为赋值运算符
例: while( c = ' ' || c == '\t' || c == '\n' )
c = getc( f );
本意是c和 ' ' 比较,但错用成赋值符。这样的后果是将 ' ' || c == '\t'
|| c == '\n' 这个表达式的值给了c, 而使c = 1。
同样: if ( ( filedesc == open( argv[i], 0 ) ) < 0 ) error();
open的返回值和filedesc比较的结果只能是0或1,所以,error没有机会调用。
但是,此时filedesc的值于open返回值无关,编译器这里不会报错。容易被忽视,
达不到检查效果。
1.2
C陷阱与缺陷笔记
笔记
术语“符号”(token)指的是程序的一个基本组成单元,其作用相当于一个句子中的单
词。
在C语言中,符号之间的空白(包括空格符,制表符或换行符)将被忽略。 赋值运算符的优先级要低于任何一个比较运算符。
C语言中只有一维数组?(说的是本质上);
对于数组结尾之后的下一个元素,取它的地址是合法的。而试图实际读取这个元素的值,
这种做法的结果是未定义。
连接器的输入是一组目标模块和库文件,连接器的输出是一个载入模块。连接器读入目
标模块和库文件,同时生成载入模块。
Toupper() 将所有的小写字母转换为相应的大写字母。
#define T1 struct foo*:
1T1 a,b; ○a被定义为一个指向结构的指针,而b却被定义为一个结构(而不是指针) NULL指针并不指向任何对象,因此,除非是用于赋值或比较运算,出于其他任何目的
的使用NULL指针都是非法的。
在调试时强制不允许对输出进行缓冲,要做到这一点可调用setbuf(stdout, (char*)0); 格式字符串中的每个格式项都由一个%符号打头,后面接一个称为格式码的字符,格式
码指明了格式转换的类型,格式码不一定要紧跟在%符号之后,它们中间可能夹一些可选
阅读《C陷阱与缺陷》的知识增量
看完《C陷阱与缺陷》,忍不住要重新翻一下,记录一下与自己的惯性思维不符合的地方。记录的是知识的增量,是这几天的流量,而不是存量。 这本书是在ASCI C/C89订制之前写的,有些地方有疏漏。 第一章 词法陷阱
?
1.3 C语言中解析符号时使用贪心策略,如x+++++y将被解析为x++ ++ +y,并编译出错。
? 1.5 单引号引起的一个字符代表一个对应的整数,对于采用ASCII字符集的编译器而言,'a'与0141、97含义一致。
?
练习1.1 嵌套注释(如/*/**/*/)只在某些C编译器中允许,如gcc4.8.2编译时是不支持的。
第二章 语法陷阱
? 2.6 else始终与同一个括号内最近的未匹配的if结合 第三章 语义陷阱
?
3.1 int a[12][31]表示的是一个长度12的数组,每个元素是一个长度31的数组。 ? 3.1 在需要指针的地方如果使用数组名来替换,那么数组名就被视为其下标为0的元素的指针,p = &a的写法是非法的(gcc4.8.2只是警告)。 ?
3.2 如何连接两个给出的字符串s、t?细节很重要,书中给出的答案如下:
char *r,*malloc() //原文称不能直接声明一个s、t长度之和的数组,但
阅读《C陷阱与缺陷》的知识增量
看完《C陷阱与缺陷》,忍不住要重新翻一下,记录一下与自己的惯性思维不符合的地方。记录的是知识的增量,是这几天的流量,而不是存量。 这本书是在ASCI C/C89订制之前写的,有些地方有疏漏。 第一章 词法陷阱
?
1.3 C语言中解析符号时使用贪心策略,如x+++++y将被解析为x++ ++ +y,并编译出错。
? 1.5 单引号引起的一个字符代表一个对应的整数,对于采用ASCII字符集的编译器而言,'a'与0141、97含义一致。
?
练习1.1 嵌套注释(如/*/**/*/)只在某些C编译器中允许,如gcc4.8.2编译时是不支持的。
第二章 语法陷阱
? 2.6 else始终与同一个括号内最近的未匹配的if结合 第三章 语义陷阱
?
3.1 int a[12][31]表示的是一个长度12的数组,每个元素是一个长度31的数组。 ? 3.1 在需要指针的地方如果使用数组名来替换,那么数组名就被视为其下标为0的元素的指针,p = &a的写法是非法的(gcc4.8.2只是警告)。 ?
3.2 如何连接两个给出的字符串s、t?细节很重要,书中给出的答案如下:
char *r,*malloc() //原文称不能直接声明一个s、t长度之和的数组,但
状语从句讲解与陷阱题
状语与状语从句
考情分析:历年高考考查的热点语法项目之一,考查主要体现在对连词的选择以及时态的正确使用上。因此,弄清连词的意思,根据语境选用合适的连词,注意主从句时态的呼应是解题的关键。
状语(adverbial)
英语中,修饰动词、形容词、副词等的句子成分叫状语(adverbial)。
状语的功用:状语说明地点、时间、原因、目的、结果、条件、方向、程度、方式和伴随状况等。状语一般由副词、介词短语、分词和分词短语、不定式或相当于副词的词或短语来担当。其位置一般放在句末,但也可放在句首或句中。
副词是一种用来修饰动词,形容词,副词或全句的词,说明时间,地点,程度,方式等概念。 1. Naturally, our grandparents were pleased to get our phone call. (副词) 2. We worked hard, from sunrise to sunset. (介词短语)
3. Seen from a distance, the farmhouse looked deserted. (过去分词)
状语的位置比较灵活,可以位于句首、句末或句中。enough用作状语修饰形容词和副词时必须后置。
状语从句讲解与陷阱题
状语与状语从句
考情分析:历年高考考查的热点语法项目之一,考查主要体现在对连词的选择以及时态的正确使用上。因此,弄清连词的意思,根据语境选用合适的连词,注意主从句时态的呼应是解题的关键。
状语(adverbial)
英语中,修饰动词、形容词、副词等的句子成分叫状语(adverbial)。
状语的功用:状语说明地点、时间、原因、目的、结果、条件、方向、程度、方式和伴随状况等。状语一般由副词、介词短语、分词和分词短语、不定式或相当于副词的词或短语来担当。其位置一般放在句末,但也可放在句首或句中。
副词是一种用来修饰动词,形容词,副词或全句的词,说明时间,地点,程度,方式等概念。 1. Naturally, our grandparents were pleased to get our phone call. (副词) 2. We worked hard, from sunrise to sunset. (介词短语)
3. Seen from a distance, the farmhouse looked deserted. (过去分词)
状语的位置比较灵活,可以位于句首、句末或句中。enough用作状语修饰形容词和副词时必须后置。
晶体缺陷习题与答案
晶体缺陷习题与答案
1 解释以下基本概念
肖脱基空位、弗仑克尔空位、刃型位错、螺型位错、混合位错、柏氏矢量、位错密度、位错的滑移、位错的攀移、弗兰克—瑞德源、派—纳力、单位位错、不全位错、堆垛层错、汤普森四面体、位错反应、扩展位错、表面能、界面能、对称倾侧晶界、重合位置点阵、共格界面、失配度、非共格界面、内吸附。
2 指出图中各段位错的性质,并说明刃型位错部分的多余半原子面。
3 如图,某晶体的滑移面上有一柏氏矢量为b的位错环,并受到一均匀切应力?。(1)分析该位错环各段位错的结构类型。(2)求各段位错线所受的力的大小及方向。(3)在?的作用下,该位错环将如何运动?(4)在?的作用下,若使此位错环在晶体中稳定不动,其最小半径应为多大?
4 面心立方晶体中,在(111)面上的单位位错b?a2[110],在(111)面上分解为两个肖克莱不
Gb24??2全位错,请写出该位错反应,并证明所形成的扩展位错的宽度由下式给出ds?模量,?层错能)。
(G切变
[101]能与肖克莱不全位错a[121]相结合形成弗兰克不全位错,试说明:5 已知单位位错a26(1)新生成的弗兰克不全位错的柏氏矢量。(2)判定此位错反应能否进行?(3)这个位错为什么称固定位错?
晶体缺陷习题与答案
晶体缺陷习题与答案
1 解释以下基本概念
肖脱基空位、弗仑克尔空位、刃型位错、螺型位错、混合位错、柏氏矢量、位错密度、位错的滑移、位错的攀移、弗兰克—瑞德源、派—纳力、单位位错、不全位错、堆垛层错、汤普森四面体、位错反应、扩展位错、表面能、界面能、对称倾侧晶界、重合位置点阵、共格界面、失配度、非共格界面、内吸附。
2 指出图中各段位错的性质,并说明刃型位错部分的多余半原子面。
3 如图,某晶体的滑移面上有一柏氏矢量为b的位错环,并受到一均匀切应力?。(1)分析该位错环各段位错的结构类型。(2)求各段位错线所受的力的大小及方向。(3)在?的作用下,该位错环将如何运动?(4)在?的作用下,若使此位错环在晶体中稳定不动,其最小半径应为多大?
4 面心立方晶体中,在(111)面上的单位位错b?a2[110],在(111)面上分解为两个肖克莱不
Gb24??2全位错,请写出该位错反应,并证明所形成的扩展位错的宽度由下式给出ds?模量,?层错能)。
(G切变
[101]能与肖克莱不全位错a[121]相结合形成弗兰克不全位错,试说明:5 已知单位位错a26(1)新生成的弗兰克不全位错的柏氏矢量。(2)判定此位错反应能否进行?(3)这个位错为什么称固定位错?
晶体缺陷习题与答案
晶体缺陷习题与答案
1 解释以下基本概念
肖脱基空位、弗仑克尔空位、刃型位错、螺型位错、混合位错、柏氏矢量、位错密度、位错的滑移、位错的攀移、弗兰克—瑞德源、派—纳力、单位位错、不全位错、堆垛层错、汤普森四面体、位错反应、扩展位错、表面能、界面能、对称倾侧晶界、重合位置点阵、共格界面、失配度、非共格界面、内吸附。
2 指出图中各段位错的性质,并说明刃型位错部分的多余半原子面。
3 如图,某晶体的滑移面上有一柏氏矢量为b的位错环,并受到一均匀切应力?。(1)分析该位错环各段位错的结构类型。(2)求各段位错线所受的力的大小及方向。(3)在?的作用下,该位错环将如何运动?(4)在?的作用下,若使此位错环在晶体中稳定不动,其最小半径应为多大?
4 面心立方晶体中,在(111)面上的单位位错b?a2[110],在(111)面上分解为两个肖克莱不全位错,请写出该位错反应,并证明所形成的扩展位错的宽度由下式给出ds?模量,?层错能)。
a5 已知单位位错a2[101]能与肖克莱不全位错6[121]相结合形成弗兰克不全位错,试说明:
Gb224??(G切变
(1)新生成的弗兰克不全位错的柏氏矢量。(2)判定此位错反应能否进行?(3)这个位错为什么称固定位错?