嵌入式笔试刷题(第8天)

6. i 最后等于多少?

int i = 1;
int j = i++;
if ((i > j++) && (i++ == j))
    i += j;


过程分析:

  • 初始:i = 1, j = i++ ⇒ j = 1, i = 2
  • 判断条件:(2 > 1) ⇒ true, 再判断 (2 == 2) ⇒ true
  • 所以 i += j ⇒ i = 2 + 2 = 4

最终:i = 4

7. 实现 atoi 函数

int atoi(const char *s) {
    int res = 0, sign = 1;

    while (*s == ' ') s++;
    if (*s == '-' || *s == '+') {
        if (*s == '-') sign = -1;
        s++;
    }

    while (*s >= '0' && *s <= '9') {
        res = res * 10 + (*s - '0');
        s++;
    }
    return res * sign;
}


8. 链表反转

struct Node {
    int val;
    struct Node *next;
};

struct Node* reverse(struct Node* head) {
    struct Node* prev = NULL;
    struct Node* curr = head;

    while (curr) {
        struct Node* next = curr->next;
        curr->next = prev;
        prev = curr;
        curr = next;
    }
    return prev;
}


9. 不使用库函数实现 strcatstrcmpstrcpystrlen

int strlen(const char *s) {
    int len = 0;
    while (*s++) len++;
    return len;
}

char* strcpy(char* dst, const char* src) {
    char* ret = dst;
    while ((*dst++ = *src++));
    return ret;
}

int strcmp(const char* s1, const char* s2) {
    while (*s1 && (*s1 == *s2)) {
        s1++;
        s2++;
    }
    return *(unsigned char*)s1 - *(unsigned char*)s2;
}

char* strcat(char* dst, const char* src) {
    char* ret = dst;
    while (*dst) dst++;
    while ((*dst++ = *src++));
    return ret;
}


10. 编写 Makefile

项目结构:

.
├── main.c
├── Makefile
├── project_1
│   ├── example_1.c
│   └── example_2.c
├── project_2
    ├── example_3.c
    └── example_4.c


CC = gcc
CFLAGS = -I. -Wall

SRCS = main.c \
       project_1/example_1.c \
       project_1/example_2.c \
       project_2/example_3.c \
       project_2/example_4.c

OBJS = $(SRCS:.c=.o)

TARGET = main

$(TARGET): $(OBJS)
	$(CC) -o $@ $^

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)

更多内容全在下方专栏

全网最受欢迎的嵌入式笔试专栏

笔试专栏包含全部最新的笔试必考考点,非常适合在找工作面经薄弱的同学

3000+订阅还会涨价,提前订阅提前享受,持续更新中。

专栏链接:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

#满分简历要如何准备?##嵌入式测试,嵌入式开发##嵌入式笔面经分享##面试经验谈#
全部评论

相关推荐

05-30 13:04
已编辑
门头沟学院 算法工程师
智谱和米哈游都是ai大模型agent的业务钱的话还是米更多,几乎翻倍了,有没有老哥是两个公司其中一个的,能问问转正率咋样嘛,我问的hr回答都是做的好就可以转正暑期实习
码农索隆:选米哈游:短期高薪、敢承担风险、具备强创新能力,且愿押注游戏AI赛道。 选智谱:稳定性与行业通用能力积累,接受薪资差距以换取更稳妥的职业基础。
投递北京智谱华章科技等公司9个岗位 > 实习期间如何提升留用概率?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务