C语言程序,键盘输入你的名字和学号在屏幕显示: Hello,名字 你的学号是,xxx

C语言程序,键盘输入你的名字和学号在屏幕显示: Hello,名字 你的学号是,xxx,第1张

1、打开Codeblock。

2、点击"create a new project”,新建一个工程。选择"console application",新建一个控制台程序。

3、在语言选择时,选择"C","Next"。

4、填写文件保存目录,以及工程名,"Next"。

5、工程创建完毕,codeblock自动给"main.c"文件添加了一段代码,如下:#include <stdio.h>#include <stdlib.h>int main(){    printf("Hello world!\n")    return 0}。

6、点击"Bulid and Run",可以看到这个程序的运行情况。

1 最经典的“Hello world!”,直接用 printf 输出 “Hello world!”

#include <stdio.h>

#include <iostream>

int main(){

printf("Hello world! ")// 教科书的写法

puts("Hello world!")// 我最喜欢的

puts("Hello" " " "world!")// 拼接字符串

std::cout <<"Hello world!" <<std::endl// C++风格的教科书写法

return 0}

2、用宏写的“Hello world!”

“#”可以“提取”参数的名 字,把它变成字符串。

#include <stdio.h>

#define Say(sth) puts (#sth)

int main(){

return Say(Hello world!)

}

3. 断章取义的“Hello world!”

#include <stdio.h>

int main(){

return puts ("Do not say: Hello world! "[12])

}

4. 退出时运行的“Hello world!”

atexit()注册回调函数。这个函数可以调用多次,最后注册的函数最先执行。

#include <stdio.h>

#include <stdlib.h>

void say(){printf("world! ")}

void sth(){printf("Hello ")}

int main(){

return atexit(say), atexit (sth)

}

5. 读取自己的“Hello world!”

// Hello world!

#include <iostream>

#include <fstream>

#include <string>

int main(){

std::ifstream ifs(__FILE__)

std::string say, some, word

ifs >>say >>some >>word

std::cout <<some <<" " <<word

return 0

}

6. 话分两头的“Hello world!”

声明一个全局的类的实例,在 main 函数执行之前会调用这个类的构造函数,结束之后则会调用析构函数。

#include <iostream>

class say{

public:say(){std::cout <<"Hell"}

~say(){std::cout <<"world!"}

}hello

int main(){

std::cout <<"o "

return 0

}

7. 传入模板的“Hello world!”

#include <iostream>

template <char * words>

class say{

public:

void operator () (){std::cout <<words}

}

char hello[] = "Hello world!"

int main(){

return say<hello>()(), 0

}

8. 调用私有函数的“Hello world!”

#include <iostream>

#include <cstddef>

class secret{

private:

virtual void say(){std::cout <<"Hello world!"}

}

int main(){

secret word

(reinterpret_cast<void (*)()>(**(intptr_t**)(&word)))()

return 0

}

9. 直接修改函数的返回地址

#include <stdio.h>

#include <stdlib.h>

#include <stddef.h>

void say(){

puts("Hello world!")

exit(0)

}

int main()

{

volatile intptr_t a = 0

volatile intptr_t * p = &a

*(p + 2) = (intptr_t)say

*(p + 3) = (intptr_t)say

return 0

}

10. 外星人说的“Hello world!”

#include <stdio.h>

void alien_say (char * p){

while (putchar (*(p += *(p + 1) - *p)))

}

int main(){

return alien_say ("BETHO! Altec oh liryom(a loadjudas!) dowd."), 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7780485.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存