《C Primer Plus》第六版笔记--4~6章
虽然匆匆忙忙,但还是要做笔记,虽然大概都知道......
挑一些容易忘记的地方
第四章 字符串和格式化输入/输出
- C语言没有专门储存字符串的变量类型,字符串通常被存储在char类型的数组中,字符串在末尾会有一个空字符\0,一种非打印字符,ASCⅡ码是0。C语言中字符串一定以空字符结束,这意味着数组的容量至少比存储字符串的字符数多1。通常可以用'\0'字符来作为遍历字符串的结束条件。
strlen()
函数可以给出字符串的字符长度,包含在string.h的头文件内- sizeof与strlen的区别:sizeof会算出数组占用的总储存空间,strlen会算出数组内用来储存字符串的储存空间数
#define
通常用于设定常量,用法:#define MONEY 100
意思是MONEY就是一个常量,数值为100,没有分号和'='号。C90标准新增了个const
,用于限定一个变量为只读,用法:const int Pen = 1.5
,用法较#define
更为灵活printf
函数的转换说明与各自输出类型
转换说明及其打印的输出结果
转换说明 | 输出 |
---|---|
%a | 浮点数、十六进制数和p计数法(C99/C11) |
%A | 浮点数、十六进制数和p计数法(C99/C11) |
%c | 单个字符 |
%d | 有符号十进制整数 |
%e | 浮点数,e计数法 |
%E | 浮点数,e计数法 |
%f | 浮点数,十进制计数法 |
%g | 根据值的不同,自动选择%f或%e。%e格式用于指数小于-4或者大于等于精度值 |
%G | 根据值的不同,自动选择%f或%e。%e格式用于指数小于-4或者大于等于精度值 |
%i | 有符号十进制整数(与%d相同) |
%o | 无符号八进制整数 |
%p | 指针 |
%s | 字符串 |
%u | 无符号十进制整数 |
%x | 无符号十六进制整数,采用十六进制数of |
%X | 无符号十六进制整数,采用十六进制数oF |
%% | 打印一个百分号 |
第五章 运算符、表达式和语句
while
语句在使用中,首次到达while循环时,会先去判断括号内条件的情况,括号中内容为真即可开始循环的语句- 运算符优先级:运算符优先级(从高到低)
运算符 | 结合律 |
---|---|
() | 从左往右 |
+ - (一元) | 从右往左 |
* / | 从左往右 |
+ - (二元) | 从左往右 |
= | 从右往左 |
- ++i比i++效率更高
- 形参与实参
形参:变量
实参:函数调用提供的值
#include <stdio.h>
void pound(int n);// ANSI函数原型
int main()
{
int times = 5;
char ch = '!';//ASCII码是33
float f = 6.0;
pound(times);
pound(ch);
pound(f);
getchar();
return 0;
}
void pound(int n)
{
while (n-- > 0)
printf("#");
printf("\n");
}
第六章 C控制语句:循环
_Bool
使用
_Bool
类型的变量只能储存1(真)和0(假)
#include <stdio.h>
int main(void)
{
long num;
long sum = 0L;
_Bool input_is_good;
printf("Please enter an integer to be summed");
printf("(q to quit): ");
input_is_good = (scanf_s("%ld", &num) == 1);
while (input_is_good)
{
sum += num;
printf("Please enter next integer (q to quit): ");
input_is_good = (scanf_s("%ld", &num) == 1);
}
printf("Those integers sum to %ld.\n", sum);
getchar();
getchar();
getchar();
return 0;
}
C99标准提供了stdbool.h
的头文件,可以用bool
作为_Bool
的别名
OK,这里就是4~6章的大概的重难点啦,祝大家双十一快乐:)
《C Primer Plus》第六版笔记--4~6章的更多相关文章
- C++ Primer Plus 第六版笔记
C++ Primer Plus 第六版笔记 关于对象声明的思考 转自:http://www.cnblogs.com/weiqubo/archive/2009/11/02/1930042.html C+ ...
- 《C Primer Plus》第六版笔记--7~10章
目录 第七章 C控制语句:分支和跳转 第八章 字符输入/输出和输入验证 第九章 函数 第十章 数组和指针 第七章 C控制语句:分支和跳转 if else 用法 if (expression) //ex ...
- 《C Primer Plus》第六版笔记--1~3章
目录 第一章 初识C语言 1 使用C语言的7个步骤 1.1 定义程序目标 1.2 设计程序(功能实现) 1.3 编写代码 1.4 编译 1.5 运行程序 1.6 测试和调试程序 1.7 维护和修改代码 ...
- c++ primer plus 第6版 部分三 9章 - 章
c++ primer plus 第6版 部分三 9章 - 章 第9章 内存模型和名称空间 1.单独编译 ...
- 《C++Primer》第五版习题答案--第一章【学习笔记】
C++Primer第五版习题解答---第一章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2022/1/7 第一章:开始 练习1.3 #includ ...
- 《C++Primer》第五版习题答案--第二章【学习笔记】
C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类 ...
- c++ primer plus 第6版 部分二 5- 8章
---恢复内容开始--- c++ primer plus 第6版 部分二 5- 章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...
- c++ primer plus 第6版 部分一 1-4章
c++ primer plus 第6版 源代码 ---编译器---目标代码---连接程序(启动代码--库代码)---可执行代码 源代码扩展名:c cc cxx C cpp ...
- 《C++ Primer Plus 第六版》读书笔记
CH1-3:处理数据 1 列表初始化 char c={31325}:不允许缩窄 char c={66}; char c={x}:不能为变量 2 强制类型转换 (typename) value type ...
随机推荐
- AMS分析 -- 启动过程
一. AMS简介 AmS可以说是Android上层系统最核心的模块之一,其主要完成管理应用进程的生命周期以及进程的Activity,Service,Broadcast和Provider等. 从系统运行 ...
- 小程序安卓端播放不了音频解决方法wx.createInnerAudioContext()
在小程序播放音频时,使用组件wx.createInnerAudioContext(),安卓端无法播放音频. 我的情况:播放服务器上传来的音频,格式为mp3.首先查看你的格式是否符合文档要求 在安卓端进 ...
- Zabbix-Proxy 部署和运行
Zabbix-Proxy 部署&运行 前提 版本: zabbix-server 5.4 任务: 通过SNMP监控网络设备,需要需通过zabbix-proxy 发送到zabbix-server. ...
- Angular项目构建指南 - 不再为angular构建而犹豫不决(转)
如果你不知道什么是Angular或者根本没听说过,那么我接下来所说的对你来说毫无益处,不过如果你打算以后会接触Angular或者干脆要涨涨姿势~读下去还是有点用的. Angular和它之前所出现的其余 ...
- 被人DDoS攻击了,分析一下原理和防护
一.行业现象 1.1 为什么要攻击? 常见的,一个是同行恶意竞争,一个是敲诈勒索. 无论是传统行业的线下门店,还是互联网行业的门户网站.APP产品,都存在着竞争关系,争相获得更多客源,究其目的,无非是 ...
- C++中 指针的指针是什么?指针的引用又是什么?你可能需要看看这篇文章
关于变量的定义 我们都知道变量的定义包括一个基本数据类型(base type)和一组声明符,在同一条定义语句中,输入基本数据类型不同,但是声明符的形式却可以不同. //如:i是一个int的整数,a是一 ...
- RAID5加热备盘
RAID 5加热备盘 RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失.换句话说,在RAID 10 ...
- linux开机报警无法进入系统
一.开机无法进入系统提示如下 二.输入"journactl"命令查看红色的日志提示什么错误 三.问题分析: 这是由于swap告警,根据报错信息可以分析出是这两个device设备访问 ...
- 配置Docker镜像源为国内镜像源
镜像加速 /etc/docker/daemon.json 没有这个文件 创建这个文件 vi /etc/docker/daemon.json 按 i 进行插入 { "registry-mirr ...
- Solon 1.7 重要发布,更现代感的应用开发框架
相对于 Spring Boot 和 Spring Cloud 的项目 启动快 5 - 10 倍 qps 高 2- 3 倍 运行时内存节省 1/3 ~ 1/2 打包可以缩小到 1/2 ~ 1/10(比如 ...