嵌入式笔试面试题(12)---字符串和字符的笔试题

1、输入一个字符串,将其逆序后输出。

 

2、下面的代码有什么问题?并请给出正确的写法。
void DoSomeThing(char* p)
{
 char str[16];
 int n;
 assert(NULL != p);
 sscanf(p, "%s%d", str, n);
 if (0 == strcmp(str, "something"))
 {
  ...
 }
}

3、不使用系统库函数,请写一个在一个字符串中查找一个子串的程序。

 

4、字符串”\\\”A100\”\\”的长度是多少?

 

5、用下列程序判断字符串s是否是对称的,对称返回1,否则返回0,填空

Int f(_______)

{

Int i = 0,j = 0;

While(s[j])

_________;

For(j--;i<j&&s[i] == s[j]; i++,j--);

Return ________________;

 

}

 

6、编程实现,将一个字符串中的首尾空格全部删除,中间的空格只保留一个,例如:“   I   LOVE  MY    HOME   ”删除后的结果为“I LOVE MY HOME”

 

7、请写一个将整形转换成字符串的函数,函数接口自己定义,如 123 转变成“123”。

 

8、strcopy和memcopy的区别

 

9、请找出下面代码中的所有错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”   

#include"string.h"   

main()   

{   

char*src="hello,world";   

char* dest=NULL;   

int len=strlen(src);   

dest=(char*)malloc(len);      

char* d=dest;   

char* s=src[len];           

while(len--!=0)   

d++=s--;          

printf("%s",dest);   

return 0;   

}  

 

10、下述程序执行后的输出结果是
include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
A.g     B.h     C.i       D.j

11、若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
A.def
B.d
C.e
D.0

12、下列转义字符中错误的是
A.′\000′
B.′\14′
C.′\x111′
D.′\2′

 


13、表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个
A.非零整数
B.浮点数
C.0
D.字符

14、这个程序有什么问题:

main() 
{ char cl,c2; 
cl='9'; 
c2='10'; 
printf(”cl=%c,c2=%c\n”,c1,c2); 
}

 

15、不使用循环语句,如何自己编程得出字符串str的长度,int  myStrlen(char * str);

 

16、strcpy、sprintf、memcpy有什么区别?

 

17、编写程序实现atoi(),讲一个字符串转化为一个整型数值。如:“65321”转化后为65321

 

18、编写一个函数,有如下函数原型:

函数:int continum(char *intputstr,char *outputstr).

给一个字符串,要求找到里面连续的串,并且串的长度是所有连续串中最长的;结果是返回最长连续串的长度和对应的串;

例如:有字符串“abc123ef456ss123456789”其首地址是intputstr,最长的连续串是 123456789,长度是9,该串由outputstr返回。

 

19、Strcat函数的返回值为什么是char *

 

20、Char *str=“//thtp.www.”sizeof(str)=?

     Char *p=str; sizeof(p)=?

     Char buf[100];sizeof(buf);


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
嵌入式Linux面试笔试题通常包括以下几个方面的问题: 1) 嵌入式系统的特点:面试官可能会问你嵌入式系统和普通计算机系统的区别,嵌入式系统的应用场景,以及与Linux系统的关系。 2) C语言基础:面试中可能会问到一些C语言的基础知识,比如C语言的数据类型、指针、数组等。你可以参考引用中的内容来回答这些问题。 3) volatile关键字:面试官可能会问你volatile关键字的作用和使用场景。可以参考引用中的内容来回答这个问题。 4) 字符串操作:面试中可能会涉及字符串操作的问题,比如字符串倒序的实现。你可以使用C语言的库函数和循环来实现字符串倒序。 5) 输入函数的选择:面试官可能会问你scanf()和gets()函数的使用场景和优缺点。可以提到scanf()函数可以用来读取不同类型的输入,而gets()函数更适合读取一行字符串,但存在缓冲区溢出的风险。 6) 循环语句的选择:面试官可能会问你for循环和while循环在实现循环时的差异和选择。可以提到for循环适用于已知循环次数的情况,而while循环适用于未知循环次数的情况。 以上是一些常见的嵌入式Linux面试笔试题的主题。具体问题会根据面试官的要求和公司的需求而有所不同。希望对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux嵌入式软件面试整理](https://blog.csdn.net/weixin_42145502/article/details/107743404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屁小猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值