C Primer Plus (一)
摘要:重读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 (一)的更多相关文章
- C Primer Plus 学习体会
		本月刚刚开始学习<C primer plus>,之前课上草草学过一遍,讲到指针就结束了.现在重新开始看感觉难度不大只是刚开始接触有些语言细节比较琐碎.学习这一周的体会如下: 诸多前辈推荐的 ... 
- C++ Primer Plus 第六版笔记
		C++ Primer Plus 第六版笔记 关于对象声明的思考 转自:http://www.cnblogs.com/weiqubo/archive/2009/11/02/1930042.html C+ ... 
- 《3D Math Primer for Graphics and Game Development》读书笔记2
		<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ... 
- 《3D Math Primer for Graphics and Game Development》读书笔记1
		<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ... 
- 再读《C++ Primer》——变量和基本类型
		刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ... 
- 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 ... 
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
		Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ... 
- C++Primer 5th 练习 12.19
		这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C+ ... 
- [翻译]Primer on Cognitive Computing(认知计算入门)
		Source Kelly J., Primer on Cognitive Computing 20150216. 侵删,联系方式:zhoujiagen\@gmail.com. 按A candidate ... 
- c++ Primer 第四版  第一阶段 const总结
		由于期末值考一门软件安全,所以果断看起c++Primer ,因为之前看谭浩强的c++感觉没什么用啊.所以这本书每阶段做个总结!!! 1.Const限定符作用: 在for循环中上限应该用一个固定变量来设 ... 
随机推荐
- 我的mongoDb之旅(二)
			题序:上一回,咱们简单的操作了一些增减改查的操作,这一次,再来进行一场奇妙之旅 一.案例讲解 (1).字段有值与没值时的单条数据 第一条数据title这个字段(mysql用久了,习惯这么叫了)是没有数 ... 
- 白话HTTPS加密机制
			在讲主题之前,我们先来区分两个概念:签名和加密有什么区别? 我们从字面意思看: 签名就是一个人对文件签署自己的名字,证明这个文件是我写的或者我认可的,所以只要别人看到我的签名,认识我字迹的人就知道这个 ... 
- Java 并发编程(三):如何保证共享变量的可见性?
			上一篇,我们谈了谈如何通过同步来保证共享变量的原子性(一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行),本篇我们来谈一谈如何保证共享变量的可见性(多个线程访问同一个变 ... 
- Android OkHttp + Retrofit 取消请求的方法
			本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求.对于OkHttp来说,具体是调用Call的cancel方法. 如何 ... 
- smp_processor_id()获取当前执行cpu_id
			基于Linux 2.6.32内核进行分析,看本篇文章前,建议先看看percpu变量这篇文章 smp_processor_id()用来获取当前cpu的id,首先来看smp_processor_id的定义 ... 
- 落谷P3941 入阵曲
			题目背景 pdf题面和大样例链接:http://pan.baidu.com/s/1cawM7c 密码:xgxv 丹青千秋酿,一醉解愁肠. 无悔少年枉,只愿壮志狂. 题目描述 小 F 很喜欢数学,但是到 ... 
- python urllib2实现http GET PUT DELETE POST的方法
			#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/11 下午8:33 # @Author : liubing # @File ... 
- tesseract 测试样例
			该图片的链接为https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png,可以直接保存或下载. 首先用命令 ... 
- python 中的一点新知识
			逻辑行与物理行 所谓物理行(Physical Line)是你在编写程序时 你所看到 的内容.所谓逻辑行(Logical Line)是 Python 所看到 的单个语句.Python 会假定每一 物理行 ... 
- 自学web前端达到什么水平,才能满足求职的标准?
			大多数野生程序员最棘手的问题就是如何依靠技术解决温饱,通俗来讲就是技术折现的问题. 如果是单纯出于兴趣,或者只是为了突击某一阶段或者某一项目技术壁垒,不跟就业挂钩的自学倒也是无关痛痒.但是当上岗成为自 ... 
