C语言面试题

C语言面试题,第1张

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面就由我为大家介绍一下C语言面试题的文章,欢迎阅读。

C语言面试题篇1

1、已知字母b的ASCII码的十进制代码为98,则执行下列语句输出为( C)

ch=’b’

ch–

printf(%d,%c\n”,ch,ch)

A)a,b B)运算不合法,故有语法错 C)97,a

D)格式描述和输出项不匹配,输出无值

2、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( C)

A)a=(a*100+0.5)/100.0 B)a=(a*100+0.5)/100 C)a=(int)(a*100+0.5)/100

D)a=(a/100+0.5)*100.0

3、下列程序段的输出结果是(B )

int a=5,b=7

printf(“%d,%d”,a++,++b)

A)5, 7 B)5, 8 C)6, 7 D)6, 8

   C语言面试题篇2

1、下列程序的输出结果是(D )

main()

{ int a=4

a*=a+=6

printf(“%d\n”,a)

}

A)40 B)60 C)80 D)100

2、下列程序的输出结果是( C)

main()

{int a=8

printf(“%a”,(a=a*5,a+6))

}

A)14 B)40 C)46 D)50

   C语言面试题篇3

1、定义a为整型,下列表达式a=3>6的运行后,a的值为(A )

A)0 B)1 C)3 D)表达式错误

2、、如果a=1,b=2,c=3,d=4,则条件表达式a>b?a: c>d?c: d的值为( D)

A)1 B)2 C)3 D)4

3、下述程序段的输出结果是( A)

{int a=5

a%=7

printf(“%d, ”,a)

a+=a*=a-=a*=2

printf(“%d”,a)

}

A)5, 0 B)0, 0 C)5, 12 D)0, 12

4、下列变量名中合法的是(A )

A)Tom B)3a6b C)6a7b D)5ABC

5、对于条件表达式(M)?(a++): (a–),其中的表达式M等价于(C )

A)M= =0 B)M= =1 C)M!=0 D)m!=1

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

}


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

原文地址: http://www.outofmemory.cn/yw/11444696.html

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

发表评论

登录后才能评论

评论列表(0条)

保存