• c++基础


    第一节 C++编程基础

    C++在语法结构上和QBASIC有着很大的区别,QBASIC语言适合大多数初学者使用,初学者在学习时不用关心变量的定义,程序的结构等诸多的细节,甚至QBASIC编程环境可以帮初学者将程序进行标准化和有一定的改错能力,让初学者可以顺利的学习程序设计的知识。但是QBASIC毕竟只是一种入门性语言,目前已经基本没有任何实用价值。对于即将进入中学的学生,将要学习的就是C++程序设计。而C++语言无论从结构要求上,还是语法的严格性上和QBASIC都有着巨大的差别。

    下面简单列出C++程序的基本结构和相关语法说明。

    一、C++的程序结构

    【例1】分析下面的程序的功能:

    #include //“包含命令”,向程序提供输入输出所需的一些信息

    using namespace std; //“使用标准的命名空间”

    int main()

    {

    cout<<“This is a C++ program.”; //输出This is a C++ program.

    cout<<endl; //输出回车

    system(“pause”); //DOS屏幕处于等待状态

    return 0; //结束主函数并将值返回值

    }

    【例2】 分析下面的程序的功能:

    #include

    using namespace std;

    int main()

    {

    int x,y,sum; //声明(定义)变量x,y,sun为整型数

     cout<<"Input first integer: x=";         //输出(显示)提示信息
    
     cin>>x;                                             //从键盘上输入一个整数并存储在变量x中
    
     cout<<"Input second integer: y=";     //显示提示信息
    
     cin>>y;                                             //从键盘上输入变量y的值
    
     sum=x+y;                                          //求x,y的和并存储在变量sum中
    
     cout<<"Sum is "<<sum<<endl;         //输出结果
    
     system("pause");
    
     return 0;
    

    }

    【例3】 输入两个整数a和b,输出其中较大的一个数。

    #include

    using namespace std;

    int max(int a,int b) //自定义函数

    {

    If (a>b)

    return a;

    else

    return b;

    }

    int main()

    {

    int a,b,m;

    cout<<"Input a,b:";
    
    cin>>a>>b;
    
    m=max(a,b);                 //函数调用语句
    
    cout<<"max="<<m<<endl;
    
    system("pause");
    
    return 0;
    

    }

    通过以上例题,可以看出C++程序的结构有以下特点:

    (1)C++程序由一个或多个函数组成(即函数是C++程序的基本构成单位)

    其中必须有且只能有一个主函数main(),程序从主函数开始执行,由主函数来调用其它函数。被调用的其它函数可以是系统提供的库函数,也可以是用户自定义的函数。例如,例3的C++程序就是由主函数main()和用户自定义函数max()组成的。

    (2)C++函数组成

    ① 函数说明部分:函数类型、函数名、函数参数(函数参数类型,函数参数名)

    函数类型为函数返回值的类型,函数参数可以没有,也可以有多个。

    ② 函数体{}:变量定义和执行语句两部分。

    (3)语句和数据说明以分号结束,分号是C++语句的必要组成部分。例如:int z;

    (4)程序书写规则

    ① 同一层语句同列书写。同一层次的开花括号最好与对应的闭括号在同一列上。

    ② 内层语句缩进两个字符的位置。

    ③ 函数定义第一列书写。

    (5)C++输入/输出通过流cin和cout来实现的

    例如: cin>>a>>b; 用来输入变量a和b的值。

    又例如: cout<<“max=”<<m<<endl; 用来输出变量m的值。

    (6)严格区分字母的大小写

    例如:int a,A; 表示定义两个不同的变量a、A。

    (7)注释

    ① /* 注释内容 */ ② // 注释内容(单行注释)

    它表示从此开始到本行结束为注释内容。例如://说明变量x,y,sun为整型数

    (8)编译预处理命令

    以“#”开头的行称为编译预处理命令。例如:#include

    二、C++的数据类型及变量定义

    除了完整的程序结构的要求外,C++对数据类型的要求更加严格,不在C++程序中,未定义过的变量,是无法在程序中直接使用的。而C++也对变量的类型进行了严格的归类。下面列出主要的数据类型和其数值范围。1.710-380~1.710380

    类型

    类型标示

    字节

    数值范围

    短整型

    short int

    2

    -32768~32767

    整型

    int

    4

    -2147483648~2147483647

    长整型

    long int

    4

    -2147483648~2147483647

    字符型

    char

    1

    -128~127

    单精度型

    float

    8

    -3.41038~3.41038

    双精度型

    double

    8

    -1.710380~1.710380

    在把握了上面这些类型后,就可以定义不同的变量用来满足程序的使用需求。定义形式如下:

    int a;

    long int b;

    float f;

    int shu1,shu2,shu3;

    均是可以的。

    三、C++的输入/输出语句

    在程序设计中,最最基础的就是输入输出命令。在C++中对输入输出语句都相应的做了简化。如输入语句cin,就是可以从键盘上得到一个值存储在指定的变量中。它的使用形式如下:

    int a;

    cin>>a;

    int a,b;

    cin>>a>>b;

    然后可以再利用输入进来的值,进行相关运算。

    而输出语句cout,就是可以将相应的值或字符等数据输出到屏幕上,它的使用形式如下:

    int a;

    a=100;

    cout<<a*100;

    四、C++的算术运算符

    C++和其他的语言一样有几个极其重要的算术运算符,但是这些运算符有着重要的特点。

    符 号

    说明

    加法运算,如3+2

    减法运算,如3-2

    乘法运算,如3*2

    /

    除法运算,如3/2

    %

    取余运算,如3%2。因为为取余运算,所以%左右两边的数据必须为整数

    这其中需要特殊说明的是,除法运算符,“/”。因为在C++中没有单独的整除符号,所有在处理整除时,采取一个特殊的方法,即:两个整数相除的结果为整数。如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。例如,-5/3在有的C++系统上得到的结果为-1,有的C++系统则给出结果-2。但多数编译系统采取“向零取整”的方法,即5/3的值等于1,-5/3的值为-1,取整后向零靠拢。

    (特别需要说明的是,在DEV-C++中就是采取这种向零靠拢的形式,请各位选手一定注意。)

    【例4】

    #include

    #include

    using namespace std;

    int main(int argc, char *argv[])

    {

    int n;
    
    n=5/3;
    
    cout<<n;
    
    system("PAUSE");
    
    return EXIT_SUCCESS;
    

    }

    在例4中,我们求的是5/3,因为5和3都是整数,且n的类型也为整数,所有输出的n值为1。如果采取下面的变化,将n的类型改为float类型(实数)。则因为上面阐述的除法规则,得到的n值仍然为1。如【例5】所示。

    【例5】

    #include

    #include

    using namespace std;

    int main(int argc, char *argv[])

    {

    float n;
    
    n=5/3;
    
    cout<<n<<endl;
    
    system("PAUSE");
    
    return EXIT_SUCCESS;
    

    }

    但是,如果我们需要除的值为实数时,该如何处理呢?这就需要改变“/”号两边的值的类型,达到这样的变化。如【例6】所示。

    【例6】

    #include

    #include

    using namespace std;

    int main(int argc, char *argv[])

    {

    float n;
    
    n=5/3.0;
    
    cout<<n<<endl;
    
    system("PAUSE");
    
    return EXIT_SUCCESS;
    

    }

    只是将5/3改为了5/3.0,看起来好像没什么变化,但是实质上,数据的类型就改变了。造成的结果也就不同。

    上面举出了C++中的基本运算符,在C++中不但有这些其他语言中有类似的运算符,还有两个很有C++代表意义的运算符,就是自加运算符(++)和自减运算符(–)。

    ++和–是C++很有特点的运算符号,一个变量使用自加或自减运算符很类似于对这个变量做一次+1或-1的运算,如i++;很类似于i=i+1;但是有不完全相同,++或–符号可以放在变量之前也可以放在变量之后,但是具体操作起来的效果有着很大的不同。

    【例7】

    #include

    #include

    using namespace std;

    int main(int argc, char *argv[])

    {

    int x,y;
    
    int m,n;
    
    x=1;
    
    y=1;
    
    m=x++;
    
    n=++y;
    
    cout<<m<<endl<<n<<endl;
    
    system("PAUSE");
    
    return EXIT_SUCCESS;
    

    }

    输出的结果是m的值为1,而n的值为2,但是如果我们增加x和y值的显示会发现x和y的值都变成了2。这就能够体现出自加(或自减)运算符放在变量前后的区别。放在变量前,代表要先进行自加(或自减),再给左面的变量赋值;而放在变量后面时,则需要先把变量的值提取出来给“=”号左边的变量赋值,然后再对自加(或自减)变量做加(或减)的操作。

    但如果自加或自减运算符作为一个单独的语句来使用,则其效果是完全一致的。如下:

    x=1;

    y=1;

    x++;

    y++;

    cout<<x<<endl<<y<<endl;

    这样的使用就只相当于最基本的x=x+1;y=y+1;的使用了。

    五、C++的文件操作

    C++的文件操作,要比QBASIC方便的多,它的读取路径和存储.cpp文件的路径一致。需要说明一下,如果采用新建工程的方法的话,则默认和工程文件所在目录一致。所以建议新建工程并保存.cpp文件后,关闭整个DEV-C++环境,再打开.cpp文件进行操作,这样就不会因为目录问题对文件的读取操作有任何的影响了。

    在C++对文件的操作要定义文件操作命令,且需要引用fstream头文件。

    【例8】

    #include

    #include

    using namespace std;

    ifstream fin(“file.in”);

    ofstream fout(“file.out”);

    int main(int argc, char *argv[])

    {

    int x,y;
    
    int m,n;
    
    fin>>x>>y>>m>>n;
    
    fout<<x+1<<endl<<y+1<<endl<<m+1<<endl<<n+1<<endl;
    
    return EXIT_SUCCESS;
    

    }

    在【例8】中,将默认的iostream调用改为了fstream的调用,这是因为文件的读写命令是包含在fstream头文件中的,而如果程序中不使用cin或cout就可以不用调用iostream了。在例题中通过

    ifstream fin(“file.in”);

    ofstream fout(“file.out”);

    两句语句定义了两个类似与cin和cout的命令fin和fout,并且把这两个命令和输入文件”file.in”及输出文件”file.out”相关联。输入文件应该和例题的.cpp文件在同一个目录下,而输出文件也会出现在相同目录中。而关联后的fin和fout命令的使用几乎完全和cin及cout类似。
    ————————————————
    版权声明:本文为CSDN博主「fatship」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fatship/article/details/85244353

  • 相关阅读:
    Win7停止更新升Win10教程
    linux 进程管理
    linux vi/Vim编辑器
    linux 文件管理
    linux 目录管理
    [开发笔记]-C#判断文件类型
    [开发笔记]-C#获取pdf文档的页数
    [转载]每周问问你的团队这10个问题
    [转载]番茄时间管理法(Pomodoro Technique):一个番茄是如何让你工作更有效率的
    [开发笔记]-Linq to xml学习笔记
  • 原文地址:https://www.cnblogs.com/coding365/p/12872443.html
Copyright © 2020-2023  润新知