摘要:重读C Primer Plus ,查漏补缺

  重读C Primer Plus,记录遗漏的、未掌握的、不清楚的知识点。

一、概览

  1、链接器的作用是将这3个目标元素(目标代码、系统的标准启动代码和库代码)结合在一起,并将它们存放在单个文件,即可执行文件中。

二、C语言概述

  1、对于标识符,一些旧的编译器只识别8个字符,C99标准识别63个字符。在只识别8个字符的编译器上,Shakespeare和Shakespencil不会报错,但他们将被看作是一个名字。

三、数据和C

  1、%#0d,%#xd,%0Xd 可以打印出 0、0x、0X前缀。

  2、在常量数值后加 U、L或u、l 表示希望将这个常数以什么形式存储。

  3、最小长度类型 int_least8_t、最快最小长度类型int_fast8_t。 (inttype.h)

  4、float:至少6位有效数字,8位用来表示指数及符号,24位用来表示非指数部分。
    double:至少13位有效数字。
    2.0e10 + 1.0 会出错,因为float类型只有6、7位的有效数字。

四、字符串和格式化输入输出

  1、sizeof(n) 等价于 sizeof n 当n是变量是,括号可加可不加,一般采取第一种。

  2、limits.h中定义了一些有关类型的常量。

  3、t,和整数转换说明符一起使用,表示一个ptrdiff_t值(与两个指针之间的差相对应的类型);z,和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型)。示例:%td、%zd。

  4、printf("%ld %ld %ld %ld", n1, n2, n3, n4),函数根据变量类型开辟相应大小的堆栈内存,但是根据格式说明符去读取相应的字节数,从而打印。

  5、printf("%*d\n", wideth, num),通过修饰符*动态控制字段宽度;scanf("%*d"),则是通过修饰符*跳过一个字段。

  6、scanf("%10s"),读取特定长度的字符串,有助于防止较短的缓冲区溢出。

五、运算符、表达式和语句

  1、使用%zd可以直接打印size_t类型。

  2、对于表达式,y = (4 + x++) + (6 + x++); 再明确一点,C可以保证的是再这条语句结束后,x的值会比之前增加2,但是在当前语句中,哪一个自增被优先计算取决于具体的实现,所以尽量避免使用该类型的语句。

  3、用 ‘{}’ 包围的语句称之为一个复合语句,也就是一个代码块(block),C将其视为一个语句。

  4、表达式:是运算符和操作数的组合。最简单的表达式只有一个常量或一个变量。
    语句:是对计算机的命令,有简单语句和复合语句。
    简单语句:声明语句、赋值语句、函数调用语句、结构化语句、空语句。

  5、关于类型转换。在同一语句中包含不同类型的变量,一般会发生发生。
    类型级别从高到底的顺序是:long double、double、float、unsigned long long 、long long、unsigned long、long、unsigned int、int。
    当 long 和 int 具有相同的大小时,此时 unsigned int 的级别比 long 高。之所以没有出现 char 和 short,是因为它们已经被提升为 int 或 unsigned int。

六、C控制语句:循环

  1、‘,’ ,逗号运算符,它可以用作一个顺序点,所有逗号左边的操作,都在逗号之后生效。

  2、int i = 249, 500; 等价于 int i = 249; 500;。
    int i = (249, 500); 等价于 249; int i = 500;。

  3、没了。

C Primer Plus (一)的更多相关文章

  1. C Primer Plus 学习体会

    本月刚刚开始学习<C primer plus>,之前课上草草学过一遍,讲到指针就结束了.现在重新开始看感觉难度不大只是刚开始接触有些语言细节比较琐碎.学习这一周的体会如下: 诸多前辈推荐的 ...

  2. C++ Primer Plus 第六版笔记

    C++ Primer Plus 第六版笔记 关于对象声明的思考 转自:http://www.cnblogs.com/weiqubo/archive/2009/11/02/1930042.html C+ ...

  3. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  5. 再读《C++ Primer》——变量和基本类型

    刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ...

  6. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  7. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  8. C++Primer 5th 练习 12.19

    这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C+ ...

  9. [翻译]Primer on Cognitive Computing(认知计算入门)

    Source Kelly J., Primer on Cognitive Computing 20150216. 侵删,联系方式:zhoujiagen\@gmail.com. 按A candidate ...

  10. c++ Primer 第四版 第一阶段 const总结

    由于期末值考一门软件安全,所以果断看起c++Primer ,因为之前看谭浩强的c++感觉没什么用啊.所以这本书每阶段做个总结!!! 1.Const限定符作用: 在for循环中上限应该用一个固定变量来设 ...

随机推荐

  1. Zeppelin 学习笔记之 Zeppelin安装和elasticsearch整合

    Zeppelin安装: Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化.背后可以接入不同的数据处理引擎,包括spark, hive, taj ...

  2. web前端之浏览器: 知识汇总

    一.URL到页面 准备阶段: 输入URL,Enter进入查找 浏览器在本地查找host文件,匹配对应的IP: 找到返回浏览器并缓存 没有,则进入路由查找: 找到返回浏览器并缓存 再没有,再进入公网DN ...

  3. 1. SOFAJRaft源码分析— SOFAJRaft启动时做了什么?

    我们这次依然用上次的例子CounterServer来进行讲解: 我这里就不贴整个代码了 public static void main(final String[] args) throws IOEx ...

  4. Ubuntu server 安装及jdk+mysql安装教程

    Ubuntu server 安装教程 1.查找及下载Ubuntu镜像文件 可以在以下页面下载想要的版本,我这里选择19.04 server版的iso镜像文件: http://mirrors.163.c ...

  5. 斐波那契数列n项的值。(递归和非递归算法Golang实现)

    递归实现: func f(num int) int { if num == 1 || num == 2 { return 1 } return f(num-1) + f(num-2) } 非递归实现: ...

  6. SEER区块浏览器开发指南

    区块浏览器基本功能 区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅.用户可以使用区块链浏览器查询记录在区块中的交易信息,包括转账.预测.账户管理和社区治理 ...

  7. python常用算法学习(4)——数据结构

    数据结构简介 1,数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成.简单来说,数据结构就是设计数据以何种方式组织并存贮在计算机中.比如:列表,集合与字 ...

  8. PE 文件格式详解

    PE文件 是微软 Win32 环境下可执行文件的标准格式. 所谓的可执行文件并不仅仅是常见的 EXE 文件,DLL,SYS,VXD 等文件也都属于 PE 格式. |-------> DOS_MZ ...

  9. Kali Linux开启ssh服务设置自启

    几天没写 水一些今天遇到的问题 0x01 配置SSH参数 修改sshd_config文件,命令为:   vi /etc/ssh/sshd_config 将#PasswordAuthentication ...

  10. PMP 德尔菲技术

    1.德尔菲技术,必须遵守以下几个规则: 每个专家只与主持人单线联系. 专家之间完全背靠背,更不能进行讨论.为保证专家提出独立见解,甚至需要把专家分散在不同的物理地点. 专家以匿名的书面形式提出意见. ...