c++.code.1

来源:互联网 发布:石楠小札 知乎 编辑:程序博客网 时间:2024/05/22 06:28
    最近在看《C++程序设计语言》,里面有些代码和《C程序设计语言》的思路差不多,记录一下代码,算是强迫自己敲一遍,顺便记录下自己的看书进度。今天看了P19--P95,课后习题没有细作,因为之前有点基础,所以看这本书的时候不是特别困难。
1.一个用来返回各种数值的范围的小程序
<pre name="code" class="cpp">#include <iostream>#include <limits>#include <typeinfo>template<typename T>struct Type{    static void print(){        std::cout << typeid(T).name() << ": range is ("            <<std::numeric_limits<T>::min() << ","            <<std::numeric_limits<T>::max() << ")\n";    }};int main(){    Type<char>::print();    Type<short>::print();    Type<int>::print();    Type<long>::print();    Type<float>::print();    Type<double>::print();    Type<long double>::print();    Type<unsigned>::print();    return 0;}


   今天群里有个大神说在.h文件中不要出现using namespace std;的语句,还不太能理解,难道是可能出现递归地一直include?先记录下来吧。
2.写一个程序打印出字母a,b,...,z和数字0,1,...9,以及他们的整数值。对所有其他可打印字符做同样的事情,再用十六进制形式做同样的事情。
<pre name="code" class="cpp"><pre name="code" class="cpp">#include <iostream>char const char_table[] = "abcdefghijklmnopqrstuvwxyz0123456789-*&@";int main(){    //第一个和第二个是一种情况,因为十进制是默认形式    for(int k = 0;k < sizeof(char_table)-1;k++)        std::cout << char_table[k] << "\t"                << std::dec << int(char_table[k]) << std::endl;    for(int k = 0;k < sizeof(char_table)-1;k++)        std::cout << char_table[k] << "\t"                << int(char_table[k]) << std::endl;    //显示指定为十六进制    for(int k = 0;k < sizeof(char_table)-1;k++)        std::cout << char_table[k] << "\t"                << std::hex << int(char_table[k]) << std::endl;    return 0;}



3.打印月份和天数
<pre name="code" class="cpp">#include<iostream>#include<string>struct Month{    //char const *name;    std::string name;    int length;};const int n_months = 12;const Month month[n_months]            = {{"January",31},{"February",28},{"March",31},{"April",30},{"May",31},{"June",30},                {"July",31},{"August",31},{"September",30},{"October",31},{"November",30},{"December",31}};int main(){    for(int k = 0;k != n_months;k++)        std::cout  << month[k].name << ":\t" << month[k].length << std::endl;    return 0;}
比较奇怪,对不齐,还是基础不够好,对齐的代码写不出来。

                                             
0 0
原创粉丝点击