学习C++primer心得08.5.25以前
来源:互联网 发布:windows配置ntp客户端 编辑:程序博客网 时间:2024/05/18 13:30
1.2. 初窥输入/输出
endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。通过刷新缓冲区,用户可立即看到写入到流中的输出。
#include <iostream>---〉 std::cin>>
#include <iostream.h>---〉cin>>
标准库的头文件用尖括号 < > 括起来,非标准库的头文件用双引号 " " 括起来。
当调用成员函数时,(通常)指定函数要操作的对象。语法是使用点操作符(.):
std::cout<<sizeof(int)<<std::endl;
std::cout<<sizeof(bool)<<std::endl;
std::cout<<sizeof(char)<<std::endl;
std::cout<<sizeof(wchar_t)<<std::endl;
std::cout<<sizeof(short)<<std::endl;
std::cout<<sizeof(long)<<std::endl;
std::cout<<sizeof(float)<<std::endl;
std::cout<<sizeof(double)<<std::endl;
std::cout<<sizeof(long double)<<std::endl;
4,1,1,2,2,4,4,8,8
zz
void fun( int input)
{
if (input >= 8)
fun(input/8);
printf("%c","0123456789ABCD"[input%8]);
}
printf("%c","0123456789ABCD"[input%14]);
详情可以参见expert c programming
“01234...."是一个字符串,C默认把它当作一个字符数组,引用的时候以首地址作为数组第一个元素的地址,而[]算符可以被看作是一个加法算法,将其换算到以& '0'为首地址的数组的相应位置。
顺便说一个比较有趣的内容
int a[10]={。。。};
3[a]和a[3]的结果是一样的
在字符字面值前加 L 就能够得到 wchar_t 类型的宽字符字面值。如:L'a'
我们可以将任何字符表示为以下形式的通用转义字符:/ooo
处理长字符串有一个更基本的(但不常使用)方法,这个方法依赖于很少使用的程序格式化特性:在一行的末尾加一反斜线符号可将此行和下一行当作同一行处理。
浮点常量可以使用日常的书写方法。如果整数部分或小数部分为0,则可以省略这一部分,但要保留小数点。
变量名,即变量的标识符,可以由字母、数字和下划线组成。变量名必须以字母或下划线开头,并且区分大小写字母:C++ 中的标识符都是大小写敏感的。
C++ 支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中:
int ival(1024); // direct-initialization
int ival = 1024; // copy-initialization
std::cin >> int input_value; wrong
声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern:
extern int i; // declares but does not define i
int i; // declares and defines i
如果声明有初始化式,那么它可被当作是定义,即使声明标记为 extern:
extern double pi = 3.1416; // definition
只有当 extern 声明位于函数外部时,才可以含有初始化式。
Exercise 2.20: Given the following program fragment, what values are printed?
下列程序段将会输出什么?
int i = 100, sum = 0;
for (int i = 0; i != 10; ++i)
sum += i;
std::cout << i << " " << sum << std::endl;
Exercise 2.21: Is the following program legal?
下列程序合法吗?
int sum = 0;
for (int i = 0; i != 10; ++i)
sum += i;
std::cout << "Sum from 0 to " << i
<< " is " << sum << std::endl;
在 C++ 标准制定之前,在 for 循环中声明的变量在循环外也可以访问. 然而,在 ISO C++ 中,for 循环变量的作用域被限制为循环本身。虽然这一改变不可否认地具有其意义,但是它却影响到了老代码以及新代码。
- 学习C++primer心得08.5.25以前
- 学习C++primer心得08.5.26
- 学习C++primer心得08.5.27
- 学习C++primer心得08.6.25
- 学习C++primer心得08.5.31--有关string类
- 学习C++primer心得08.6.26
- 学习C++primer心得08.7.1
- 学习C++primer心得08.6.2--有关vector类
- 学习C Primer Plus第3章之心得
- 【C++】C++Primer 阅读心得 九月总结
- C++Primer的练习和心得
- c++primer学习小记
- C++Primer学习小记
- C++PRIMER学习笔记
- C++Primer 学习
- c++primer学习笔记
- c++primer学习笔记
- C Primer Plus学习
- 如何在系统登陆桌面运行程序
- AltiVec综述
- Ajax技术实现树菜单
- 80后的你,是这样么?
- ASP.NET的Request对象的属性介绍
- 学习C++primer心得08.5.25以前
- HelloRequest.java
- new说透 C#---.net 学习
- Request对象探讨
- 发愁中~
- JAVA正则表达式4种常用功能
- Request 对象
- 开发者眼中的Android手机平台
- 文字图片滚动的html代码