一、编程练习
- 身高转换(英寸转换为英尺)
//in_to_ft.cpp
#include <iostream>
int main()
{
using namespace std;
const float in_ft=0.0833333;
int height;
cout<<"please enter your height "<<endl;
cout<<"____ inch\b\b\b\b\b\b\b\b\b";
cin>>height;
cout<<"your height is "<<in_ft*height<<" ft";
}
- 秒数转换成天、时、分、秒显示输出
//sec_convert.cpp
#include <iostream>
int main()
{
using namespace std;
const float in_ft=0.0833333;
int sec_num;
cout<<"Enter the number of seconds= "<<endl;
cin>>sec_num;
int days,hours,minutes,seconds;
days=sec_num/(24*60*60);
hours=(sec_num-days*24*60*60)/(60*60);
minutes=(sec_num-days*24*60*60-hours*60*60)/60;
seconds=sec_num-days*24*60*60-hours*60*60-minutes*60;
cout<<sec_num<<" seconds= "<<days<<" days, "<<hours<<"hours, "<<minutes<<" minutes, "<<seconds<<"seconds";
}
二、复合类型
在我们开发比较复杂的系统时我们会需要比C++简单基本类型更复杂的东西,C++刚好还提供了这些,即复合类型,这种类型是基于整型和浮点型创建的。其中影响最为深远的是类,它是学习OOP的堡垒,同时C++还支持几种更普遍的复合类型,比如数组、结构、指针等。
三、数组
数组(array)是一种数据格式,能够存储多个同类型的值,其中每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。
要创建数组需要三点:
- 存储数据的类型
- 数组名
- 数组的元素个数
例如:short months[12];
四、字符串
字符串是存储在内存的连续字节中的一系列字符。C++处理字符串有两种方式,一种是C-风格字符串,另一种是基于string类库的方法。
C-风格字符串有一个特殊的性质:以空字符结尾,空字符被写作\0,其ASCII码为0,用来标记字符串的结尾。
有时候,字符串很长无法放在一行中,C++允许我们拼接字符串字面值,任何两个由空白(空格、制表符和换行符)分隔的字符串常量都将被自动拼接成一个。注意,拼接时不会在连接处添加空格,第二个字符串将紧跟在第一个字符串的后面,且第二个字符串的第一个字符会取代第一个字符串结尾的\0。
对于字符串的读取,每次读取一个单词通常不是最好的选择,istream中的类cin提供了一些面向行的类成员函数:getline()和get(),这两个函数都将读取一行输入,直到到达换行符,其中getline()将丢弃换行符,而get()将换行符保留在输入列表中。
C++程序常使用指针(而不是数组)进行字符串操作。