【C语言面试题详解】掌握嵌入式开发岗位笔试题中的基础C语言知识(2)
【C语言面试题详解】掌握嵌入式开发岗位笔试题中的基础C语言知识(2)
一般来说,嵌入式开发岗位,学习C语言是必须的,以下基础C语言的知识考查,希望不会难倒你。本期知识点:for循环。
1 写在前面
C语言的编程能力在嵌入式开发中,还是非常重要的。为了帮助刚入门C语言编程的童鞋尽快掌握其核心基础知识,我会从本期开始输出若干期经典的笔试原题解析,力求从原题的角度深入剖析每一个知识点。
2 本期知识点
本期给大家带来的基础知识点是:for循环
-
语法定义:定义语法为:
for (初始条件; 循环比较条件;循环体执行后的执行语句)
{
真正的循环体
}
-
循环次数问题:判断for循环的循环次数,主要看起始条件和循环比较条件,比如典型的for如下:
int i;
for (i = 0; i < 10; i++)
{
; //循环体
}
这个for循环将会循环10次。
3 几道笔试原题
3.1 考察点:for循环的定义
原题如下:
下列for循环语句中,语法正确的是()
int i;
A)for (i = 100, i < 1; i++) { }
B)for {i = 100; i < 1; i++} ( )
C)for (; i < 1; i++) { }
D)for (i = 100; i < 1; i++); { }
题目考查的知识点:主要考查for循环的语法定义,其定义语法为:for (初始条件; 循环比较条件;循环体执行后的执行语句) { 真正的循环体 }
题目解析:
A选项错误:因为它在初始条件后使用的是逗号,而不是分号;
B选项错误:因为它把for循环中的小括号和大括号的位置调反了;
C选项正确:允许初始条件为空;
D选项错误:因为它在for循环的括号后又新增了一个逗号,这是多余的;
题目答案:C
3.2 考察点:for循环的循环次数
原题如下:
下列for循环中,能正确使得循环体恰好执行10次的代码是()
int i;
A)for (i = 0; i <= 10; i++) { }
B)for (i = 1; i <= 10; i++) { }
C)for (i = 11; i > 0; i–) { }
D)for (i = 10; i > 1; i–) { }
题目考查的知识点:for循环体的执行次数
题目解析:
A选项错误:结合初始条件和循环比较条件,可知该循环会执行11次;
B选项正确:结合初始条件和循环比较条件,可知该循环会执行10次;
C选项错误:结合初始条件和循环比较条件,可知该循环会执行11次;
D选项错误:结合初始条件和循环比较条件,可知该循环会执行9次;
题目答案:B
3.3 考察点:for循环和字符串
原题如下:
int main() {
char s[]=“ABCD”, *p;
for (p = s + 1; p < s + 4; p++)
printf("%s\n", p);
}
程序运行后的输出结果是()
A)ABCD BCD CD D
B)A B C D
C)B C D
D)BCD CD D
题目考查的知识点:
- for循环 :for循环的一般写法是 for(i=0; i < n; i++); 它表示执行循环体n次;
- 字符串:字符串是字符的集合,必须以’\0’结束,在printf输出时,使用 %s 格式化输出。
题目解析:
这个输出时围绕for循环的,从for循环的基础结构可以知道,这段代码的循环体会执行3次;因为 s+1 到 s+4(不含)正好是3次。
第1次循环时,p指向s+1,即指向s数组的第1个数组&s[1],所以此时输出p的结果是:BCD;
第2次循环时,p指向s+1+1,即指向s数组的第2个数组&s[2],所以此时输出p的结果是:CD
第3次循环时,p指向s+1,即指向s数组的第3个数组&s[3],所以此时输出p的结果是:D
综上可知,最后的输出是:BCD CD D
题目答案:D
4 更多分享
架构师李肯(全网同名),一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、主流IoT云平台的对接、嵌入式IoT系统的架构设计等等。拥有多项IoT领域的发明专利,热衷于技术分享,有多年撰写技术博客的经验积累,连续多月获得RT-Thread官方技术社区原创技术博文优秀奖,荣获CSDN博客专家、CSDN物联网领域优质创作者、2021年度CSDN&RT-Thread技术社区之星、2022年RT-Thread全球技术大会讲师、RT-Thread官方嵌入式开源社区认证专家、RT-Thread 2021年度论坛之星TOP4、华为云云享专家(嵌入式物联网架构设计师)等荣誉。坚信【知识改变命运,技术改变世界】!
- 点赞
- 收藏
- 关注作者
评论(0)