C语言钻石段位测试题答案
C语言测试题答案
C语言钻石段位测试题见此链接:https://blog.csdn.net/qq_23274715/article/details/106302027
- 常数
123ul,123.45l中的ul、l代表什么含义?(2分)- 答案:这属于数值后缀的知识点。具体请参看数值常量后缀相关介绍
- C语言中,数值16用十六进制表示为
0x10,哪用二进制如何表示?(2分)- 答案:
0b10000.具体请参看数值常量后缀相关介绍
- 答案:
- 举例谈谈
#define Mul(x,y) x*y这个带参宏的缺点?(2分)- 答案:如果使用Mul(3+5,6).得到的结果则为
3 + 5*6 = 33.和我们的预期不一致。所以定义带参宏时多用要用()。如应该使用#define Mul(x,y) (x)*(y)。
- 答案:如果使用Mul(3+5,6).得到的结果则为
- 谈谈
#undef预处理命令的应用。(2分)- 答案:取消之前定义的宏。可以用这个预处理命令来修改宏的值。具体请参看预处理指令使用
- 谈谈
#if,#ifdef,#ifndef的使用区别。(2分)- 答案:这是预处理命令的应用。具体请参看预处理指令使用
- 如果编译时,不满足某些条件,用户如何向编译器抛出警告或者错误。(2分)
- 答案:使用预处理命令
#error,#warning。具体请参看预处理指令使用
- 答案:使用预处理命令
- 谈谈函数指针的用途?(5分)
- 答案:常用于函数回调等。具体请参看弱函数与回调函数在模块化编程中的使用
- 谈谈弱函数的用途?(5分)
- 答案:具体请参看弱函数与回调函数在模块化编程中的使用
volatile关键字的行为发生在哪个阶段?(编译还是运行?).(5分)- 答案:编译阶段。体现在汇编代码中。具体请参看volatile关键字的使用你真的了解吗?
- 从函数、变量、作用范围角度谈谈
static,extern.(5分)- 答案:具体请参看
- 全局变量的存储类型
- 内部函数和外部函数
- 答案:具体请参看
- 什么是可重入函数,什么是不可重入函数?(5分)
- 答案:具体请参看可重入函数和不可重入函数
- 编写一个判断处理器为大端还是小端的函数(大端返回1,小端返回0)。(3分)
- 大小端的介绍和判断函数。见处理器的大小端模式
- 编写一个给二维数组
uint8_t data[4][8]分配内存的函数。(5分)- 函数见此链接。给二维数组分配空间
- 编写一个变参函数,实现类似
printf()功能。(5分)- 答案:首先需要知道什么是变参函数。具体请参看C语言的变参函数
- 编写一个变参调试宏
debug()。可以完成下面的打印控制。(5分)- 这涉及到了变参宏相关的知识点。具体请参看c语言中的变参宏
#define debug(MY_DEBUG_ENABLE,...) do{ \if(MY_DEBUG_ENABLE > 0){ \printf(__VA_ARGS__); \} \ }while(0) - 下面的这段程序,打印结果是什么?(5分)
- 答案:
a>b.具体请参看c语言中数据类型的自动转换原则
- 答案:
- 在
32bit的小端处理器上,下面的两个结构体各占多大内存,请画出内存分布图。(5分)- 答案:具体请参看C语言字节对齐介绍
- 下面两个函数中使用
const有何好处。(5分)- 答案:具体请参看const关键字的用法
- 下面程序函数WaitThread()中的循环能跳出吗?为什么?(5分)
- 答案:如果使用优化编译。跳不出。具体请参看volatile关键字的使用你真的了解吗?
- 下面程序中
***p5中的内容是什么?(5分)- 这是一个对指针理解深度的考察题。具体请参看
- 指针剖析(上)
- 指针剖析(下)
- 这是一个对指针理解深度的考察题。具体请参看
- 分析下面程序的打印结果。(5分)
- 答案输出如下。详细使用请参考C语言中字符串拼接之#,##的妙用:
guoweilkd,“guoweilkd”,12
guoweilkd123
- 答案输出如下。详细使用请参考C语言中字符串拼接之#,##的妙用:
- 在下面程序中使用
sprintf()函数将一个浮点数转换为字符串.其中浮点数的小数位由输入参数决定。(5分)- 答案:
sprintf()具体的格式化字符串可以参看printf函数使用大全.
char *GetfloatStr(char *pBuff,float value,int nbit){sprintf(pBuff,"%.*f",nbit,value);return pBuff; } - 答案:
- 下面程序的
__attribute__属性有什么作用。(5分)- 答案:这是一个有关编译、链接的问题。具体请参看c编程----段定义的使用
关于技术交流
此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏、点赞、评论。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
