C语言/C++面试题目

新知榜官方账号

2023-09-20 09:22:41

C语言/C++面试题目

本文包含了C语言/C++面试中常见的一些问题,涉及了预处理指令、宏定义、关键字、嵌入式系统等方面。

题目要求

  1. 给下面''' '''内的文本生成一个标题,返回结果到json的title对象。
  2. 为该文本生成3个SEO关键词,返回结果到json的keywords对象。
  3. 生成200字以内的摘要,返回到json的description对象。
  4. 以一个专业产品经理与市场的角度全部重写这篇文章,条理清晰,要点明确,字数不少于2000字,返回到json的content对象,content不再包含title,根据content内容生成对应的HTML标签。
  5. 不要输出任何解释。
  6. 按照json格式返回结果。

题目内容

1.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#defineSEC_YEAR  (365*24*60*60)UL

2.写一个"标准"宏MIN,这个宏输入两个参数并返回较小的一个。#defineMIN(a,b) ((a)<=(b)?(a):(b))

3.预处理器标识#error的目的是什么?

4.嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1){}for(;;){}

5.用变量a给出下面的定义
a)一个整型数(Aninteger)
b)一个指向整型数的指针(Apointertoaninteger)
c)一个指向指针的的指针,它指向的指针是指向一个整型数(Apointertoapointertoanintege)rd)一个有10个整型数的数组(Anarrayof10integers)
e)一个有10个指针的数组,该指针是指向一个整型数的。(Anarrayof10pointerstointegers)
f)一个指向有10个整型数数组的指针(Apointertoanarrayof10integers)
g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数(Apointertoafunctionthattakesanintegerasanargumentandreturnsaninteger)
h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(Anarrayoftenpointerstofunctionsthattakeanintegerargumentandreturnaninteger)
a)int
b)int*a;
c)int**a;
d)inta[10]
e)int*a[10]
f)int(*a)[10]
g)int(*a)(inta)
h)int(*a[10])(int)

6.关键字static的作用是什么?

7.关键字const有什么含意?

8.关键字volatile有什么含意?并给出三个不同的例子。

9.嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3。在以上两个操作中,要保持其它位不变。

10.嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

11.中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。

__interruptdoublecompute_area(doubleradius){doublearea=PI*radius*radius;printf("\nArea=%f",area);returnarea;}

12.下面的代码输出是什么,为什么?
voidfoo(void){unsignedinta=6;intb=-20;(a+b>6)?puts(">6"):puts("<=6");}

13.评价下面的代码片断:
unsignedintzero=0;
unsignedintcompzero=0xFFFF;/*1'scomplementofzero*/

14.尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?

15Typedef在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子:
#definedPSstructs*typedefstructs*tPS;

16.C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?
inta=5,b=7,c;c=a+++b;

本页网址:https://www.xinzhibang.net/article_detail-12570.html

寻求报道,请 点击这里 微信扫码咨询

关键词

C语言 C++ 面试题 嵌入式系统

分享至微信: 微信扫码阅读

相关工具

相关文章