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

1. 利用 while 语句,计算 1 - 1/2 + 1/3 - 1/4 + ... + 1/99 - 1/100 的值

答案解析:这是一道考察循环控制与数学计算的题目。使用 while 循环累加该级数,奇数项加,偶数项减。

#include <stdio.h>

int main() {
    int i = 1;
    double sum = 0.0;
    while (i <= 100) {
        if (i % 2 == 0)
            sum -= 1.0 / i;
        else
            sum += 1.0 / i;
        i++;
    }
    printf("Sum = %lf\n", sum);
    return 0;
}

2. char *string1 = "12345";char string2[5] = "12345"; 的区别

答案解析:

  • char *string1 = "12345";string1 是一个指针,指向只读字符串常量,不能修改其内容。
  • char string2[5] = "12345";会发生越界错误,因为 "12345" 是 6 个字符(包含 \0),但 string2 的大小只有 5,无法存储完整字符串,会造成内存问题。

正确方式是:char string2[6] = "12345";

3. 用 C 语言中的指针编写字符串翻转函数

答案解析:

void reverse(char *str) {
    char *start = str;
    char *end = str;
    char temp;

    while (*end != '\0') {
        end++;
    }
    end--;  // 指向最后一个字符

    while (start < end) {
        temp = *start;
        *start = *end;
        *

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式笔试专栏 文章被收录于专栏

本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。

全部评论

相关推荐

05-28 00:20
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务