• C++primerplus书摘2(第五到第八章)


    1.字符函数

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<cctype>
     6 using namespace std;
     7 /*
     8 需要添加 #include<cctype>
     9 isalnum() 如果参数是字母数字,即字母数字,该函数返回>0否则为0
    10 isalpha() 如果参数是字母,该函数返回>0否则为0
    11 iscntrl() 如果是控制字符,返回>0否则为0
    12   控制字符是不可打印字符。可打印的字符是可以从键盘上输入的字符
    13 第0~32号及第127号(共34个)是控制字符或通讯专用字符。
    14 如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)等
    15 通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等
    16 
    17 isdigit() 如果参数是0~9,返回true
    18 isgraph() 如果参数除空格以外的打印字符,返回>0否则为0
    19 islower() 如果参数是小写字母,返回true
    20 isprint() 如果参数是打印字符包括空格,返回true
    21 ispunct() 如果参数是标点符号,返回true
    22 isspace() 如果参数是标准空白字符,如空格、进纸、换行符、回车、水平制表符,返回true
    23 isxdigit() 如果参数是十六进制数字,返回true
    24 tolower() 如果参数是大写字符,则返回其小写,否则返回该参数
    25 toupper() 如果参数是小写字符,则返回其大写,否则返回该参数
    26 */
    27 int main()
    28 {
    29    cout<<isalnum('+')<<" "<<isalnum('9')<<endl;
    30    cout<<isalpha('a')<<" "<<isalpha('8')<<endl;
    31    cout<<iscntrl('')<<" "<<iscntrl('a')<<endl;
    32    cout<<isdigit('a')<<" "<<isdigit('0')<<endl;
    33    cout<<isgraph(' ')<<" "<<isgraph('1')<<" "<<isgraph('1')<<endl;
    34    cout<<islower('a')<<" "<<islower('A')<<endl;
    35    cout<<isxdigit('A')<<" "<<isxdigit('1')<<endl;
    36    cout<<toupper('a')<<" "<<toupper(1)<<" "<<toupper('1')<<endl;
    37    cout<<tolower('A')<<" "<<tolower('1')<<endl;
    38     return 0;
    39 }

    2.简单文件的输入输出

    写入到文件

     1)必须包含头文件iostream,头文件iostream 定义了一个用处理输出的ostream类,声明了一个名为cout的ostream变量(对象)

     2)必须指明名称空间std;

     3)必须包含头文件fstream,定义了一个用于处理输出的ofstream类,需要声明一个或多个ofstream变量(对象)

     4)必须指明名称空间std

     5)需要将ofsream对象与文件关联起来,方法之一是使用open(),使用完文件后,应使用方法close()将其关闭

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<fstream>
     6 using namespace std;
     7 char a[50];
     8 int year;
     9 double aprice;
    10 double bprice;
    11 int main()
    12 {
    13    ofstream outFile;
    14    outFile.open("key.txt");
    15    cin.getline(a,50);
    16    cout<<"aprice:"<<endl;
    17    cin>>aprice;
    18    cout<<"bprice:"<<endl;
    19    cin>>bprice;
    20    outFile<<"Make and model:"<<a;
    21    outFile<<"aprice:"<<aprice;
    22    outFile<<"bprice:"<<bprice;
    23    outFile.close();
    24     return 0;
    25 }

    读取文件

     1)头文件iostream定义了一个用处理输入的istream类

     2)头文件iostream声明了一个名为cin的istream变量

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<fstream>
     6 #include<cstdlib>
     7 using namespace std;
     8 char a[50];
     9 int main()
    10 {
    11     ifstream inFile;
    12     inFile.open("key.txt");
    13     if(!inFile.is_open())
    14     {
    15         cout<<"cannot open the file"<<a<<endl;
    16         cout<<"program terminating"<<endl;
    17         exit(EXIT_FAILURE);
    18     }
    19     double value;
    20     double sum=0.0;
    21     int num=0;
    22    23     while(inFile.good())
    24     {
    25         ++num;
    26         sum+=value;
    27         inFile>>value;
    28     }
    29     if(inFile.eof())
    30     cout<<"end of file reached."<<endl;
    31     else if(inFile.fail())
    32         cout<<"input terminated by data mismatch"<<endl;
    33     else
    34         cout<<"input terminated for unknown reason"<<endl;
    35     if(num==0)
    36     cout<<"no data processed"<<endl;
    37     else
    38     {
    39         cout<<num<<endl;
    40         cout<<sum<<endl;
    41         cout<<sum/num;
    42     }
    43     inFile.close();
    44     return 0;
    45 }


    3.数组与指针

    arr[i]=*(arr+i);

    &arr[i]=arr+i;

    4.arr2[r][c]

    arr2 指针

    arr2+r 指向arr2+r指针

    *(arr2+r) 即arr2[r]

    *(arr2+r)+r 即arr2[r]+2

    *((arr2+r)+c) 即arr2[r][c]

    5.int data[3][4]={{1,2,3,4},{5,6,7,8,9},{2,4,6,8}};

    正确的原型 int sum(int (*ar2)[4],int size); int sum(int ar2[][4],int size);

    声明一个4个指向int的指针组成的数组,而不是由4个int组成的数组的指针;指针类型指定了列数,这就是没有将列数作为独立的函数参数进行传递的原因。

    6.const数据或非const数据的地址赋给指向const指针,但只能将非const数据的地址赋给非const指针。

  • 相关阅读:
    每天30分钟搞Software Rendering(0)搜集资料,阅读,了解
    [Flash开发笔记]如何让Flash的swf文件在客户端不缓存
    FMS 中文帮助 (下载)
    [Flash开发笔记] List控件删除指定label或data的项
    用C#截取指定长度的中英文混合字符串 改进版
    [Flash开发笔记] AS中保留多少位小数的函数
    [Flash开发笔记] ComboBox,List组件的二个函数
    [FMS开发笔记]理解应用程序实例(聊天室房间的划分)
    [Flash开发笔记] 系列
    FMS如何连接FlashRemoting?(附示例源码下载)
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11196751.html
Copyright © 2020-2023  润新知