六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

考考你的C/C++应用能力

[复制链接]

升级  43.67%

95

主题

95

主题

95

主题

举人

Rank: 3Rank: 3

积分
331
 楼主| 发表于 2013-1-26 13:35:23 | 显示全部楼层 |阅读模式
 
<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;}/////////////////////////////////////////////////////////////////////   
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表