考考你的C/C++应用能力
<div class="Section0">考考你的C/C++应用能力
题目:
#include <iostream.h>/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){ cout<<"风声雨声读书声声声入耳\n"; return 0;}/////////////////////////////////////////////////////////////////////
以上是一段完整的C/C++语言代码,可以实现在控制台输出文本:
风声雨声读书声声声入耳
要求:利用你学过的C/C++知识,不改变main函数,编程在控制台输出文本:
风声雨声读书声声声入耳
家事国事天下事事事关心
--------------------------------------------------------------------------------
方法一:编写类A,析构函数中输出“家事国事天下事事事关心\n”,然后定义该类的全局变量a。
#include <iostream.h>class A{public:~A(){cout<<"家事国事天下事事事关心\n";}};A a;/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
方法二:编写出口函数A,紧接着定义全局变量N,其值等于atexit(A)。
#include <iostream.h>void A(){cout<<"家事国事天下事事事关心\n";}int N = atexit(A);/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
方法三:利用宏命令,重新指定cout的意义。
#include <iostream.h>#define cout cout<<"风声雨声读书声声声入耳\n家事国事天下事事事关心\n";if(0)cout/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
方法四:利用宏命令,重新指定return的意义。
#include <iostream.h>#define return cout<<"家事国事天下事事事关心\n";return/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
方法五:利用宏命令,重新指定main的意义。(特别注意“\”的用法!)
#include <iostream.h>#define main main(int argc, char* argv[])\{\cout<<"风声雨声读书声声声入耳\n家事国事天下事事事关心\n";\return 0;\}\int not_used/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
方法六:利用条件编译的宏命令,跳过旧版本的main函数,条件编译新的main函数。
#include <iostream.h>#define A#ifdef Aint main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n家事国事天下事事事关心\n";return 0;}#else/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////#endif
方法七:直接用/*...*/注释掉原来的main函数,更换main函数。(嘿嘿,够淫*荡吧!)
#include <iostream.h>/*/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////*/int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n家事国事天下事事事关心\n";return 0;}
方法八:重载运算符<<的实现方法,强制输出符合要求的文本!
#include <iostream.h>#include <stdio.h>void operator << (ostream& T, char* S){printf("风声雨声读书声声声入耳\n家事国事天下事事事关心\n");}/////////////////////////////////////////////////////////////////////int main(int argc, char* argv[]){cout<<"风声雨声读书声声声入耳\n";return 0;}/////////////////////////////////////////////////////////////////////
页:
[1]