云计算百科
云计算领域专业知识百科平台

嵌入式C语言面试题

1、阅读一下代码,分析代码最终会输出什么内容?

#include <stdio.h>

typedef unsigned char u8;

void led_toggle(void);

void mian(){

led_toggle();
}

void led_toggle(void)
{
u8 count = 0;
for(count=64;count>=0;count–)
{
printf("hello\\r\\n");
}

}

参考答案:

本题会陷入死循环,因为u8,无符号8位整型的值域范围0-255,对于条件count>=0而言永远为真。

此段代码的真实意图应该是循环输出64遍“hello\\r\\n”,只需要将条件修改为count>0即可,这是在实际项目开发过程中,容易踩的小坑。

2、下列哪些选项可以作为变量名 ()

A    int         B  2b          C   $2       D  main

参考答案:D

此题为基础题,考察C语言变量的命名规则

(1)只能有数字、字母、下划线组成,排除C

(2)不能以数字开头  排除B

(3)不能是关键字,排除A,这里需要注意,main只是一个函数名,不是关键字

3、分析以下代码块,执行完毕后,a和b的值是什么?

#include <stdio.h>

void main()
{

int a=10;
int b = a++;
printf("a=%d\\nb=%d\\n",a,b);
}

参考答案:  a=11

                    b=10

4、分析以下代码段,执行完毕后会输出什么?

#include <stdio.h>

void main()
{

printf("%d\\n",sizeof(float));
}

参考答案:不确定

此题看似简答,实则容易踩坑,

sizeof()是C中的一个运算符,返回对象在计算机内存中占用的字节数,通常float占4个字节,但并不是绝对的,这取决于程序的运行环境,在某些嵌入式系统或特殊架构中,可能占用2个字节,也可能不确定

赞(0)
未经允许不得转载:网硕互联帮助中心 » 嵌入式C语言面试题
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!