C Primer Plus读书笔记
AnSwEr不是答案
Github:https://github.com/AnSwErYWJ
技术博客:www.answerywj.com
展开
-
第三章 数据和C
1.计算机中的存储方式:整数和浮点数类型;对于一些算术运算(如两个很大的数相减),使用浮点数会损失更多精度。2.1byte=8bits,一个8位的字节可表示0~255(2的8次方个)3.字(word),自然的存储单位,如64位PC,一个字就是64位。4.浮点数:3.16E7表示3.16乘以10的7次方。7称为10的指数。浮点数存储如下图:5.%0——八进制;%x——原创 2015-03-26 10:40:51 · 614 阅读 · 0 评论 -
第十一章 字符串和字符串数组
1.字符串(character string)是以空字符(\o)结尾的char数组。2.字符串常量属于静态存储(static storage)类。静态存储是指如果在一个函数中使用字符串常量,即使多次调用,该字符串在整个运行过程中只存储一份。3.*“string”应该产生所指向的地址中的值。即字符串“string”中的第一个字符。4.指定数组大小时,一定要确保数组元素比字符串长度多1(放原创 2015-04-07 20:47:23 · 777 阅读 · 1 评论 -
第十章 数组和指针
1.求数组元素个数:sizeof (num)/num[0]。2.指定初始化项目(C99):int arr[6]={[5]=212};//未初始化的元素都被设置为0特性:a)如果在一个指定初始化项目后跟有不知一个值,则这些值用来对后续的数组元素初始化。b)如果多次对一个元素初始化,则最后一次有效。3.C不支持把数组作为一个整体进行赋值,也不支持用花括号括起来的列表形式进行赋值(初始化原创 2015-04-06 15:54:39 · 619 阅读 · 0 评论 -
第九章 函数
1.函数(function)是用于完成特定任务的程序代码的自包含单元。使用函数可以省去重复代码的编写,在需要的地方调用即可;使程序更加模块化,有利于程序的阅读,修改和完善。2.实际参数是函数调用时出现在圆括号中的表达式。而形式参量则是函数定义中在函数头部声明的变量。3.returne 语句会终止函数执行并把控制返回给调用函数。4.无参数:void printf_name(void);原创 2015-04-01 15:15:06 · 553 阅读 · 0 评论 -
第八章 字符输入/输出和输入确认
1.非缓冲输入:输入字符立即回显。2.缓冲输入:延迟回显。缓冲输入分为两类:完全缓冲(fully buffered)I/O和行缓冲(line-buffered)I/O。对完全缓冲来说,缓冲区填满时被清空(内容被发送至其目的地),这种类型的缓冲通常出现在文件输入中。缓冲区的大小取决于系统,但512和4096字节是常见的值。对行缓冲来说,遇到一个换行字符时被清空缓冲区。键盘输入是标准的行缓原创 2015-03-31 14:25:40 · 1021 阅读 · 0 评论 -
第七章 C控制语句:分支和跳转
1.getchar()和putchar():专门为面向字符I/O而设计的一对C函数,仅仅能够处理字符,所以比scanf()和printf()更加简洁和快。这两个函数通常在stdio.h头文件中定义。(而且,它们通常只是预处理器宏(macro),而不是真正的函数)。2.while((ch=getchar()) != '\n')上面这行代码,体现了典型的C编程风格:将两个动作合并为一个表达式。原创 2015-03-30 13:33:17 · 670 阅读 · 0 评论 -
第六章 C控制语句:循环
1.关系表达式可以用于字符的比较,比较时使用的是机器的字符代码(一般为ASCII)。不能使用关系运算符比较字符串。2.浮点数只能使用>和3._Bool类型:只具有值1(真)和0(假),C把任何非零的数值变量都认为是真。C99还提供了stdbool.h头文件,包含这个头文件可以使用bool代替_Bool,把true和false定义为1和0。4.关系运算符的优先级低于算术运算符,高于赋值运原创 2015-03-29 14:00:00 · 610 阅读 · 0 评论 -
第五章 运算符、表达式和语句
1.符号=左边的项目必须是一个变量的名字。实际上,赋值运算符左边必须指向一个存储位置。2.数据对象(data object):是泛指数据存储区的术语,数据存储区能用于保存值。3.操作数(operand):操作数是运算符操作的对象。4.C可以接受多重赋值。(a=b=c=4)5.一元运算符(unary operator):表示它只需要一个操作数。6..除法运算(/):浮点型原创 2015-03-28 13:16:38 · 643 阅读 · 0 评论 -
第四章 字符串和格式化输入\输出
1.空字符:'\0',C用来标记字符串的结束。空字符不是数字0。是非打印字符,ASCII码的值为0。该字符的存在意味着数组的单元数至少比要存储的字符数多1。2.空白字符:包括空格、制表符和换行符。C使用空白字符分隔各个语言符号;scanf()函数使用空白字符分隔相邻的输入项。3.strlen()函数:以字符为单位给出字符串的长度,在string.h中定义。4.sizeof()函原创 2015-03-27 14:32:09 · 1064 阅读 · 0 评论 -
第一章 概览
可移植性:在一个系统编写的C程序经过很少的改动或不经修改就可以在其他系统上运行。编写C程序的7个步骤:1.定义程序目标2.设计程序3.编写代码4.编译5.运行程序6.测试和调试程序7.维护和修改程序编译器和链接器:编译器将源代码转换为中间代码(机器语言代码),链接器再将中间代码与库代码、启动代码等结合起来生成可执行文件。原创 2015-03-26 10:27:40 · 590 阅读 · 0 评论 -
第二章 C语言概述
变量名字的选择:可以使用小写字母、大写字母、数字和下划线。第一个字符必须是字母或者下划线。另外需要注意编译器可以识别的最大字符数。(如最多识别8个字符,Shakespeare和shakespencil被看作是一个名字)。语法错误:违背了如何把语句或程序放置在一起的规则。如:printf "weher are you?";语义错误:含义上的错误,如:thrice_n = n * 3;原创 2015-03-26 10:29:28 · 543 阅读 · 0 评论 -
第十二章 存储类、链接和内存管理
1.作用域:程序中可以访问一个标识符的一个或多个区域。一个代码块是指在开始花括号和对应结束花括号之间的一段代码,可是C99规定语句若为循环语句或者if语句,即使没有花括号,也为一个代码块。2.函数原型作用域从变量定义到原型声明结尾。3.一个在所有函数之外定义的变量具有文件作用域。文件作用域变量也被称为全局变量。4.空链接:具有代码块作用域或函数原型作用域的变量。5.具有文件作用域的原创 2015-04-14 21:41:02 · 666 阅读 · 0 评论