IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C Primer Plus 学习笔记 -> 正文阅读

[C++知识库]C Primer Plus 学习笔记

1

当printf()使用%c打印336时, 它只会查看储存336的2字节中的后1字节,这种截断(见图4.8)相当于用一 个整数除以256,只保留其余数。以为%c取值为无符号数,故不需要进行关于正负号的改变

#2:

#include <stdio.h>
int main()
{
?? ?long long a=65565462;
?? ?int b=54152;
?? ?int c=54521;
?? ?printf("%d,%d,%d",a,b,c);
?? ?

return 0;
}

输出结果为? 65565462,0,54152,由此可以证明

1:在初始化一个变量的第一步是格式化这个内存空间

2:printf函数实现输出是先以“”将外的变量在内存中排序,然后再以转换说明依次读取相应大小的空间进行输出

#3:printf()函数也有一个返回值,它返回打印字符的个数,注意计算针对所有字符数,包括空格和不可见的换行符(\n)。如果有输出错误, printf()则返回一个负值

#4:连接两个字符串可以使用两个” “,如”young “? “girl”等价于"young girl"

#5:scanf()把输入的字符串转换成整数、浮点数、字符或字符串,而 printf()正好与它相反,把整数、浮点数、字符和字符串转换成显示在屏幕上 的文本。

#6:scanf()函数返回成功读取的项数。如果没有读取任何项,且需要读取一 个数字而用户却输入一个非数值字符串,scanf()便返回0。当scanf()检测 到“文件结尾”时,会返回EOF

#7:*在printf中的作用? 如:printf("%*.*f",(参数一),(参数二),(参数三)),其中参数一二是对*所代表的数进行修饰,即控制字宽和精度。scanf()中*的用法与此不同。把*放在%和转换字符之间时,会使得 scanf()跳过相应的输出项

#include int main(void)

{ int n;

printf("Please enter three integers:\n");

scanf("%*d %*d %d", &n);

printf("The last integer was %d\n", n);

return 0; } scanf()跳过两个整数,把第3个整数拷贝给n。 下面是一个运行示例:

Please enter three integers:

2013 2014 2015? ? ?//用户输入

?The last integer was 2015? ? //在程序需要读取文件中特定列的内容时,这项跳过功能很有用

#8:,C 的标准数学库提供了一个pow()函数用于指数运算,例如,pow(3.5, 2.2)返回3.5的2.2次幂)。

#9:注意,整数除法会截断计算结果的小数部分(丢弃整个小数部分),不 会四舍五入结果。混合整数和浮点数计算的结果是浮点数

#10:在C99中:如果第1个运算对象是负数,那么求模的结 果为负数;如果第1个运算对象是正数,那么求模的结果也是正数??例如:

11 / 5得2,11 % 5得1 ????????11 / -5得-2,11 % -2得1???????? -11 / -5得2,-11 % -5得-1????????

-11 / 5得-2,-11 % 5得-1

如果当前系统不支持C99标准,会显示不同的结果。实际上,标准规 定:无论何种情况,只要a和b都是整数值,便可通过a - (a/b)*b来计算a%b。

#11:如果一个变量出现在一个函数的多个参数中,不要对该变量使用递增或 递减运算符; 如果一个变量多次出现在一个表达式中,不要对该变量使用递增或递减 运算符。

#12:有赋值运算符(=)的表达式的值,这些表达式的值与赋值运算符左侧变量的值相同。因此,表达式q = 5*2 作为一个整体的值是10。

#13:序列点(sequence point)是程序执行的点,在该点上,所有的副作用都 在进入下一步之前发生。在 C语言中,语句中的分号标记了一个序列点。另外,任何一个完整表达式的结束也是一个序列点。什么是完整表达式?所谓完整表达式(full expression),就是指这个表达式不是另一更大表达式的子表达式。例如,表达式语句中的表达式和 while循环中的作为测试条件的表达式,都是完整表达式

#14:.在赋值表达式语句中,计算的最终结果会被转换成被赋值变量的类型。

#15:在C语言中,许多类型转换都是自动进行的。当char和short类型出现在 表达式里或作为函数的参数(函数原型除外)时,都会被升级为int类型; float类型在函数参数中时,会被升级为double类型。在K&R C(不是ANSI C)下,表达式中的float也会被升级为double类型。当把一种类型的值赋给 另一种类型的变量时,值将被转换成与变量的类型相同。当把较大类型转换 成较小类型时(如,long转换成short,或 double 转换成 float),可能会丢失 数据。根据本章介绍的规则,在混合类型的运算中,较小类型会被转换成较 大类型。 定义带一个参数的函数时,便在函数定义中声明了一个变量,或称为形 式参数。然后,在函数调用中传入的值会被赋给这个变量。这样,在函数中 就可以使用该值了。

#16:关系运算符的优先级比算术运算符(包括+和-)低,比赋值运算符高。关系运算符之间有两种不同的优先级。 高优先级组:>= 低优先级组: ==? != 。关系运算符的结合律也是从左往右。

#17:逗号运算符并不局限于在for循环中使用,但是这是它最常用的地方。 逗号运算符有两个其他性质。首先,它保证了被它分隔的表达式从左往右求 值(换言之,逗号是一个序列点,所以逗号左侧项的所有副作用都在程序执 行逗号右侧项之前发生)。整个逗号表达式的值是右侧项的值

#18:

#19:!运算符的优先级很高,比乘法运算符还高,与递增运算符的优先级相 同,只比圆括号的优先级低。&&运算符的优先级比||运算符高,但是两者的 优先级都比关系运算符低,比赋值运算符高。C保证逻辑表达式的求值顺序是 从左往右。&&和||运算符都是序列点,所以程序在从一个运算对象执行到下 一个运算对象之前,所有的副作用都会生效。而且,C 保证一旦发现某个元 素让整个表达式无效,便立即停止求值。正是由于有这些规定,才能写出这 样结构的代码: while ((c = getchar()) != ' ' && c != '\n')

#20:?条件运算符需要3个运算对象,每个运算对象都是一个表达式。其通用 形式如下: expression1 ? expression2 : expression3 如果expression1为真,整个条件表达式的值是expression2的值;否则, 是expression3的值。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章           查看所有文章
加:2021-12-24 18:17:43  更:2021-12-24 18:20:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码