Reading as a god

Chapter 195 C Programming for Experts

Chapter 195 C Programming for Experts
Tracing back to the history when the number of SCI papers became the quantitative standard for scientific research assessment, it is not difficult to see that, to some extent, SCI "forces" Chinese scientists to submit papers to international core academic journals and put their scientific research results on the international scientific exhibition platform , to accept the judgment of scientists all over the world.

As one scientist said: "This is the only way for Chinese scientists to go global."

Although there are different opinions, it is not Zhang Shan's turn to worry about things like the system~
What he has to do now is to understand the rules and make full use of them.

Instead of being a rule breaker~
Although I suddenly got the easter egg of the system during writing:

"The host is completing a level 0 thesis, so when the host completes the main part of the thesis, the system can automatically generate a complete thesis~
Note: This effect can only take effect when the host is located in the office-like building donated by the system. "

Zhang Shan was a little surprised, but this little situation did not stop Zhang Shan from moving forward.

Followed by Zhang Shan and started to consolidate the knowledge in the textbook according to the original plan~
Speaking of consolidating the knowledge in the textbooks, Zhang Shan didn't hold onto the textbooks to read!

Instead, I took out a copy of "C Expert Programming" in the study and read it.

Although the book is only 291 pages including the appendix!
But it has been recommended by countless relevant practitioners~
This book showcases the coding techniques used by the best C programmers, and includes a chapter devoted to the basics of C++.

The book gives a detailed explanation and in-depth analysis of C's history, language features, declarations, arrays, pointers, links, runtime, memory, and how to further learn C++.

The book extracts dozens of examples to explain, which has very high practical value for C programmers.

This book can help C programmers with certain experience to become experts in C programming. For programmers with considerable C language foundation, this book can help them understand and learn C++ from the height of C.

This is more in line with Zhang Shan's situation, and Zhang Shan immediately started reading this book.

The beginning of the book attracted Zhang Shan, not because the book was a grand narrative at the beginning~
Quite the contrary, the initial narrative reads:

"As absurd as it may sound, the birth of C came from a failed project. In 1969, General Electric, MIT, and Bell Laboratories jointly created a huge project - the Multics project. The purpose of the project was to create An operating system, but it was clearly in trouble: not only could it not deliver the fast and easy online system it had promised, it didn't even make anything useful.

Although the development team eventually managed to get Multics going, they were stuck in the mud, just as IBM was with OS/360.They tried to build a very large operating system that could be applied to very small hardware systems. Multics became a treasure trove of engineering lessons, but it also paved the way for the C language to embody "small is beautiful"..."

Although these words are relatively empty narration of history, but Zhang Shan just eats this set~
Zhang Shan didn't have the slightest liking for using extremely professional language to describe how to use C language!

A good start is half the battle~
Unknowingly, Zhang Shan was fascinated~
The author is still very serious. In the book, he seriously discussed whether there was C language or UNIX first?
Speaking of this issue, it is easy for people to fall into the endless loop of which comes first, the chicken or the egg~
However, the author is not discussing poultry anecdotes, but programming stories.

The author in this book seriously pointed out that UNIX appeared earlier than the C language.

This is why the system time of UNIX is calculated in seconds from January 1970, 1, and it was generated at that time~
But speaking of it, the space describing the history of C in this book is quite limited!
After that, it is completely full of dry goods
"Try not to use unsigned types in your code, so as not to add unnecessary complexity. In particular, don't use unsigned numbers to represent quantities just because they don't have negative values ​​(such as age, national debt). Try to use something like int , so that you don't have to worry about edge cases (such as -1 being translated to a very large positive number) when it comes to the complex details of promoting mixed types. Only when using bitfields and binary masks, you can use Unsigned numbers. Casting should be used in the expression so that the operands are both signed or unsigned, so that the compiler does not have to choose the type of the result."

"Many binary operators whose operands are of type arithmetic type induce a conversion and similarly produce the result type.. If one of the operands is of type unsigned long int, then the other operand is also converted to unsigned long int.Secondly, if the type of one of the operands is long int and the type of the other operand is unsigned int, if long int can fully represent all the values ​​of unsigned int, then the unsigned int type operand is converted to long int, If long int cannot fully represent all values ​​of unsigned int, then both operands are converted to unsigned long int. Again, if one of the types of grass is long int, then the other operand is converted to long int. Again Again, if the type of one of the operands is unsigned int, then the other operand is converted to unsigned int."

"..."

"Except for recursive calls, the stack is not necessary. Because the fixed size of the space required for local variables, parameters, and return addresses can be known at compile time, and they can be allocated in the bss segment. Early compilers for BASIC, COBOL, and FORTRAN did not Recursive calls to functions are not allowed, so they don't need a dynamic stack at runtime. Allowing recursive calls means having to find a way to allow multiple instances of a local variable to exist at the same time, but only the most recently created one is accessed, much like the classic definition of a stack."

Although it is often a long story, but one thing to say, the writing style of this book is still very comfortable~
Basically, the contents of the book are step by step.

Rather than books like "Teaching You to Learn XXX Hands-On"/"XXX From Beginner to Master", the difficulty of chapters is arranged irregularly!

Zhang Shan really likes the title of the chapter on 11.18 in this book - "If my goal is there, I won't start here"

According to the words in the book, "The main goal of a programming language is to provide a framework to express the solution to a problem in a way that a computer can handle. The more a programming language can embody this principle, the more successful it will be..."

Under the guidance of this sentence, Zhang Shan has some new insights into the various programming languages ​​​​that he has learned in the past.

Although this cognition does not mean a qualitative change, it is the accumulation of a little bit of quantitative change that brews a qualitative change!
(End of this chapter)

Tap the screen to use advanced tools Tip: You can use left and right keyboard keys to browse between chapters.

You'll Also Like