【C语言面试题详解】掌握嵌入式开发岗位笔试题中的基础C语言知识(9)
【C语言面试题详解】掌握嵌入式开发岗位笔试题中的基础C语言知识(9)
一般来说,嵌入式开发岗位,学习C语言是必须的,以下基础C语言的知识考查,希望不会难倒你。本期知识点:三元表达式相关知识。
1 写在前面
C语言的编程能力在嵌入式开发中,还是非常重要的。为了帮助刚入门C语言编程的童鞋尽快掌握其核心基础知识,我会从本期开始输出若干期经典的笔试原题解析,力求从原题的角度深入剖析每一个知识点。
2 本期知识点
本期给大家带来的基础知识点是:三元表达式
-
三元表达式的语法定义:C语言中,三元表达式的定义是这样的:
- 表达式1 ?表达式2 :表达式3
- 它的含义其实就是一个隐式的 if-else 条件语句,只不过它看起来更简洁。
-
三元表达式的嵌套使用:三元表达式与其他表达式一样,也是可以嵌套使用的,形如:
表达式1 ?(表达式4 ?表达式5 :表达式6) :表达式3
-
三元表达式的几个约束:
- 三元表达式必须是 3个表达式一起存在,缺一不可;这与条件语句是有点差别的;
- 三元表达式中,每一个表达式的结果都是一个逻辑结果,要么真,要么是假,没有具体的数值的。
3 几道笔试原题
3.1 考察点:三元表达式的基础使用
题目原题:
假如有以下以下变量定义和三元表达式,那么下列选项中与该三元表达式等效的是()?
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = a > b ? c : d;
A
if (a > b) {
c = d;
}
B
if (a = b) {
e = d;
} else {
e = c;
}
C if (a > b) {
e = c;
} else {
e = d;
}
D if (a > b) {
e = c / d;
}
题目考查的知识点:C语言的三元表达式的含义。
题目解析:
题干中的三元表达式是一个标准的三元表达式,它表示当a大于b时,将c的值赋值为e,否则就将d的值赋值给e。
由此,可以翻译成if-else的条件语句如下:
if (a > b) {
e = c;
} else {
e = d;
}
对比各选项答案,可知本题应选C;其他几个选项错误。
题目答案:C
3.2 考察点:三元表达式的运算
题目原题:
下列程序段执行后t3的结果是()。
int t1 = 2, t2 = 3, t3;
t3 = t1 < t2 ? t1 : (t2 + t1);
A 2
B 4
C 5
D 6
题目考查的知识点:三元表达式的运算。
题目解析:
三元表达式就等效与一个if-else的条件语句,所以对应的三元表达式可以翻译成:
if (t1 < t2) {
t3 = t1;
} else {
t3 = t2 + t1;
}
本题中,t1=2, t2=3;很明显t1<t2是成立的,因此t3=t1=2
所以本题答案应选A。
题目答案:A
3.3 考察点:三元表达式的嵌套使用
题目原题:
有以下嵌套使用的三元表达式,那么最后h变量的值为()?
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int h;
h = a < b ? ( c > d ? e : f) : g;
A 4
B 5
C 6
D 7
题目考查的知识点:
C语言中,三元表达式是允许嵌套使用的,它的效果就等同于if条件语句的嵌套使用。
题目解析:
对题干的嵌套三元组使用条件语句的方式展开后可得:
if (a < b) { //成立
if (c > d) { // 不成立
h = e;
} else { // 走这个分支
h = f;
}
} else {
h = g;
}
因此可知,最后h变量的值为f变量的值,即为6。
题目答案:C
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)