第二次上机作业

第二次上机作业

XD的数据结构上机题真是绝了,源代码怕是来自盘古开天,这语法过时了都依然不改……没接触过C++的我,硬是被这过时的语法烦到了,记录一下坑~

1.#include<iostream.h>报错处理办法

上次上机我是直接修改了上机文件,把C++的代码部分修改为了C语言代码,属于无奈的半违规操作,现在刚好有时间,于是整理了错误处理方案。

#include <iostream>

C++标准的写法

#include <iostream.h>

C++上古时代的写法,现在等于错误的写法

修改办法就是直接删去".h"

2.void main()报错处理

很多人甚至市面上的一些书籍,都使用了void main( ),其实这是错误的。C/C++中从来没有定义过void main( )。C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main( ) { /* ... */ } is not and never has been C++, nor has it even been C.( void main( )从来就不存在于C++或者C)。
  在C89中,main( )是可以接受的。Brian W. Kernighan和Dennis M. Ritchie的经典巨著The C programming Language 2e(《C 程序设计语言第二版》)用的就是main( )。不过在最新的C99标准中,只有以下两种定义方式是正确的:

  int main(void)

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

  (参考资料:ISO/IEC 9899:1999 (E) Programming languages ? C 5.1.2.2.1 Program startup)

  当然,我们也可以做一点小小的改动。例如:char *argv[]可以写成char **argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。

  如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc, char *argv[])。

  main函数的返回值类型必须是int,这样返回值才能传递给程序的调用者(如操作系统)。

  如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc3.2(Linux下的C编译器)会在生成的目标文件中加入return 0;。

修改办法为将"void"改为"int"

3.cout,cin,endl错误

cout 是C++中 ostream 类型的对象,该类被封装在 < iostream > 库中,该库定义的名字都在命名空间 std 中,所以 cout 全称是 std::cout 。

  1. cout使用的三种方式
    前提:如果程序中想使用 cout ,需要包含库 < iostream > 。
    因为 cout 是 std 库中的一个类的对象,所以使用的方法是 std::cout ,如下:
#include <iostream>
int main(){
	int i;
	std::cin >> i;
	std::cout << i << std::endl;
	return 0;
}

如果程序中频繁出现 cout ,这样的操作极为不便,所以可以使用下面两种方法来解决。

方法一 :使用 std 命名空间

#include <iostream>
using namespace std;
int main(){
	int i;
	cin >> i;
	cout << i << endl;
	return 0;
}

这样,后面程序中可以直接使用 cout ,而且std中的其他名字也可以直接使用,如 cin 、 endl 等。

方法二 :使用 std 命名空间中的 cout

#include <iostream>
using namespace std::cout;
int main(){
	int i;
	std::cin >> i;
	cout << i << std::endl;
	return 0;
}

这样,后面程序中只可以直接使用 cout ,而 std 中的其他名字不可以可以直接使用。
综上,修改方法为添加"std::"

4.愉快写代码了

仅供参考

ok,完工!!!

posted @ 2021-10-19 07:53  LiXintao  阅读(56)  评论(0)    收藏  举报