嵌入式笔试刷题(第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 内核、以及实用电路知识等内容。