c++寒假作业1

问答题:

  1. 如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。
    如果你已经了解C++请回答以下问题:你觉得C++和C语言比有什么优点。
    答:我不了解c++。
    在我看来,从自身学习来看,我认为c语言编码较多,书写较为复杂。C语言的学习包含很多的运算符之类的很容易会导致使用错误。
    根据查询的资料还得知c语言的三大缺陷:
    (1) 危险性高
    C语言的语法限制不太严格,程序设计自由度大。这个特点使得程序设计更主动、灵活,但也埋藏了许多危险。例如:C语言中可以将一个浮点型数据赋给一个整型数据,会丢失精度但不影响程序运行;C语言对数组下标越界不检查,容易造成数据在内存中的混乱等。
    对于这些细小的问题,不仅要求使用者对程序设计更熟练,而且制造了许多小漏洞,容易被利用,引起程序的安全问题。
    (2) 运算符多样,易混淆
    C语言具有多种运算符,如果运用熟练,能充分体现C语言表达灵活和效率高等特点,但这也增加了使用难度,多样的运算符和优先级可能会混浠造成错误。
    (3) 许多运算符具有不同意义
    例如C语言中static在函数内部,表达该变量的值在各个调用间一直保持延续性,类似于全局变量;在函数外部,表达该函数或者变量只对本文件可见。多重意义的还有extern,void,*,&等。这对于初学者程序设计时造成了许多麻烦和困扰。
    我是个初学者,经常饱受C语言语法限制不严格的恶意,正如C语言浮点型可以赋给整型,且不会提示错误,这在我前期的程序设计和作业考试中带给我不少的麻烦。多样的运算符也带给我不少的困扰,最深刻的还是学习scanf函数时,经常忘记加&以致于错误。
  2. 查阅相关资料,简述一下C语言/C++的编译过程:
    (以下内容均由百度提供)
    第一步:编辑源文件
    第二步:预处理
    (1) 将所有的#define删除,并且展开所有的宏定义
    (2) 处理所有的条件编译指令(带#的指令)
    (3) 处理#include,将#include指向的文件插入到该行处
    (4) 删除所有注释
    (5) 添加行号和文件标示,这样在调试和编译出错的时候才知道是哪个文件的哪一行
    (6) 保留#pragma编译器指令
    第三步:编译
    (1) 词法分析
    (2) 语法分析
    (3) 语义分析
    (4) 优化后生成相应的汇编代码
    (5) 汇编代码转换为机器码
    第四步:链接
    将源文件中用到的库函数与汇编生成的目标文件合并生成可执行文件。

实践题:
1.查看自己的C++编译器版本 :

  1. 使用命令行编译一份C语言/C++代码:
    假设运行计算ab的值的代码(由于未学过任何关于命令行以及c++语言的知识,只能通过摘自百度学习参考!)
    现在有一段简单C代码(文件名为 demo.c),用于计算a
    b的值

    include

    using namespace std;
    int main(){
    int a,b;
    while(cin>>a>>b){
    cout<<a<<""<<b<<"="<<ab<<endl;
    }
    return 0;
    demo.cpp文件的位置是在 C:\Users\Administrator\Desktop 目录下
    第一步:打开DOS进入此目录:
    第二步:用g++ 加上文件名,注意要加上文件扩展名,这样会生成一个a.exe的可执行文件。
    第三步:直接输入a.exe并回车, 即可执行由demo.cp编译链接生成的程序。。
    第四步:此时,输入参数即a与b的值,敲击回车之后即可出结果。
    编程题:
    题目要求:输入中文对所花的钱进行计算,最后计算出钱包里还剩多少钱
    不相关内容:钱包
    模板:输入汉字一到十之后通过函数转化为数字1~10,然后进行相加减。

猜你喜欢

转载自www.cnblogs.com/laizhanye/p/12236002.html