MTK联发科2021 嵌入式C笔试题分析

题目-分割字符串

因为题目是考试的同学凭记忆记下来的,没有记得特别仔细,题目只是写了个大概,我也是凭自己的想法来理解。

输入aaa;bbb;ccc输出aaa
bbb
ccc
/*--------------------------------------------*/
输入,hello,hello,,输出hello
hello

这个题目会使用到什么知识点呢?

C库字符串分割函数 strtok

函数声明:

char *strtok(char *str, const char *delim)

作用:  使用分隔符delim分解字符串str。

返回值

该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。

注意:分割处理后原字符串 str 会变。

举个例子

#include <string.h>
#include <stdio.h>int main () {char str[80] = "my,name,is,weizenan,happy,,,,";const char s[2] = ",";char *token;/* 获取第一个子字符串 */token = strtok(str, s);/* 继续获取其他的子字符串 */while( token != NULL ) {printf( "%s\n", token );printf("str:%s\n",str);token = strtok(NULL, s);}printf("\n%s\n",str);return(0);
}

输出

my
str:my
name
str:my
is
str:my
weizenan
str:my
happy
str:mymy--------------------------------
Process exited after 0.02338 seconds with return value 0
请按任意键继续. . .

上面题目的答案

# include <string.h>
# include <stdio.h>int split(char *src,const char *separator,char **dest) 
{/*src 需要分割的字符串 separator 指定的分割字符dest 接收子字符串的数组返回分割字符串个数 */char *pNext = NULL;int count = 0;/*如果传入的地址为空或长度为0,直接终止 */if (src == NULL || strlen(src) == 0) return (0);/*如未指定分割的字符串,直接终止 */if (separator == NULL || strlen(separator) == 0) return (0);/*第一次,先保存下第一次的分割结果*/pNext = (char *)strtok(src,separator); while(pNext != NULL) {/*把分割结果存放在 字符串数组里面*/ *dest++ = pNext;++count;/*必须使用(char *)进行强制类型转换*/pNext = (char *)strtok(NULL,separator);  }  return count;
}  int main()
{int i;char buf[30];/*"aaa;bbb;ccc"*//*存放分割结果*/ char *revbuf[8] = {0};/*分割后子字符串的个数*/int num = 0;gets(buf);num = split(buf,";",revbuf); //调用函数进行分割 /*输出分割结果*/for(i = 0;i < num; i ++) {printf("%s\n",revbuf[i]);}return 0;
}

输出

124;oajsidfji;jijdiji990;;9090;90
124
oajsidfji
jijdiji990
9090
90--------------------------------
Process exited after 15.47 seconds with return value 0
请按任意键继续. . .

其他题目

这部分的答案先不放出来,我觉得大家可以讨论看看,有哪道题不明白的,可以在留言回复,也可以自己去寻找答案。

这题应该是送分题

int Add(int Number-1,int Number2)
{int Sum = Number-1;Sum+=Number2;retrun sum;
}

which one is correct (multi selections) 1)There will be compile errors at the first line 2)Number-1 is an illegal varibale name 3)Number2 is an illegal variable name 4)Sum and sum refer to the same variable

这题应该也是送分题

int a = 0x0077;
int b = 0x0088;
int c = 0xff00;
int d = a | b | c;
int e = c & d;
d=?
e=?
int sum(int n)//calc the sum for 1+2+3+...n
{int i=1;intnSum =0;while(i<=n)nSum+= i;i++;retrun nSum;
}

which ones are correct

1)Use while loop is wrong use if loop isthe only choice. 2)we should change all int to unsigned int in the codes 3)at line 007, we should change (i<=n)to (i<n) 4)this function will cause infinite loop confidotn-进入死循环

int foo(int x ,int y)
{while(x){++x;++y;}if(y)--y;return x+y;
}

求下面两个函数的输出结果 

foo(-1,0)=?

foo(0,-1)=?

int Test(int n)
{int i;int ret=0;for(i=1;i<=n;i++){if(i>10)break;if(i>=3&&i<=5)continue;++ret;}return ret;
}int main(int argc,char*argv[])
{Test(4);Test(12);
}
  • 定义一个宏计算一年有多少秒

  • 写strcopy 函数原型

  • 写一个宏返回两个数比较的最小值

总结

按照常规操作,字符串的笔试题是少不了的,大家在准备的时候,需要准备好,比如我们字符串操作的很多函数都在头文件strings.h里面,我们要急着这个函数。

在Linux 下面,我们经常使用 getopt_long 函数来解析用户输入,这个函数也非常牛逼,如果有感兴趣的同学,可以去研究看看。

我在公众号里面准备了一个笔试的资料,在公众号后台回复 「C笔试宝典」获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DEVICE_ATTR设置0777引发血案

这个宏我们在内核里面使用非常频繁&#xff0c;这个宏的作用可以抛出sys设备节点给用户使用。用户可以读写sys/class下面的文件节点&#xff0c;以达到控制内核驱动的功效。比如&#xff0c;像这样的设备节点weiqifa:/sys/class/zigbee/onoff $ ls gpio_en power subsystem uev…

「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日...

他是C语言之父、1983年图灵奖得主&#xff0c;还是Unix的关键开发者。然而&#xff0c;他却因为「任性」没有拿到博士学位&#xff0c;而且当年写的博士论文一丢就是半个世纪。如今&#xff0c;这一神秘的博士论文终于重见天日。很多人可能听说过 Dennis Ritchie 这个人。上世纪…

CS224n笔记3 高级词向量表示

本文转自&#xff1a;http://www.hankcs.com/nlp/cs224n-advanced-word-vector-representations.html 这节课从传统的基于计数的全局方法出发&#xff0c;过渡到结合两者优势的GloVe&#xff0c;并介绍了词向量的调参与评测方法。 复习&#xff1a;word2vec的主要思路 遍历整个…

我在深圳,但是家里托人在老家找了一份工作

最近&#xff0c;在微信公众号后台收到一份读者的留言&#xff0c;而且这位读者也是我们GX的&#xff0c;而且更幸运的是&#xff0c;跟我是一个地方的。她是疑惑如下~前辈你好~ 今天看到最新一篇有关读书的推文发现同是HC老乡&#xff0c;斗胆向您请教一些问题&#xff0c;有点…

Django之项目搭建和配置总结(一)

安装和创建虚拟环境 参考&#xff1a;linux系统下Python虚拟环境的安装和使用安装Django包 先进入虚拟环境&#xff0c;在联网下执行&#xff1a;pip install django1.8.7 1.8.7表示django的版本&#xff0c;如果不指定&#xff0c;会默认安装最新版的django。包会被安装到/usr…

怎么把一个bool数组转成char?

这个是在知乎上看到的问题&#xff0c;分享给大家&#xff0c;如果有不同的答案&#xff0c;欢迎评论回复。知乎惯例谢邀人在厕所&#xff0c;刚刚蹲下因为最近都流行长文&#xff0c;但是作为日更而且更喜欢表达自己看法的我&#xff0c;力争文章是自己想发的&#xff0c;而且…

mysql的高阶用法_MySQL的经典用法(十四)-高级优化

mysql的经典用法(十四)----高级优化基于/application/search/mysql/mysql-5.5.28/support-files/my-innodb-heavy-4G.cnf二次优化【删除--如果不使用主从同步】注释&#xff0c;去除无用日志文件# log-binmysql-bin# binlog_formatmixed【修改链接】# 最大链接值从100增加到512…

Kotlin——初级篇(二):变量、常量、注释

在Kotlin中的变量、常量以及注释多多少少和Java语言是有着不同之处的。不管是变量、常量的定义方式&#xff0c;还是注释的使用。下面详细的介绍Kotlin中的变量、常量、注释的使用。以及和Java的对比。 如果您还没有搭建环境和不了解Kotlin的&#xff0c;请看我的上一篇博文Kot…

Linux系统编程-管道入门

晚上好&#xff0c;继续记录我的学习心得。当你厌倦了自己的目标时&#xff0c;怎样继续保持专注&#xff1f;误区&#xff1a;成功人士说的都是自己如何“满怀热情”去努力实现他们的目标。不管是在商业、体育还是艺术界&#xff0c;我们听到的都是“一切都归结于激情”或者“…

JavaScript 基础,登录前端验证

1、<script></script>的三种用法&#xff1a; 1.放在<body>中 2.放在<head>中 3.放在外部JS文件中 2、三种输出数据的方式&#xff1a; 1.使用 document.write() 方法将内容写到 HTML 文档中。 2.使用 window.alert() 弹出警告框。 3.使用 innerHTML 写…

Meta的用法

----------------------------------------------- ? 这就是meta标签的典型运用。meta标签有多少参数&#xff0c;有什么作用&#xff0c;为什么我们要特别重视它呢&#xff1f;让我们一起来发掘meta标签的奥妙! ? 根据HTML语言标准注释&#xff1a;meta标签是对网站发展非常…

iOS10 打开APP设置界面和WIFI界面

在iOS10以上&#xff0c;权限这块有了一些变化 首先在info的URL Types 添加 prefs 1、打开APP设置界面 //打开设置let url:NSURL NSURL(string: UIApplicationOpenSettingsURLString)!if UIApplication.shared.canOpenURL(url as URL){ UIApplication.shared.openURL(url as…

一种简单、实用的测量程序运行时间的方法

前言 平时我们可能很少去关注程序运行的时间&#xff0c;但是在一些情况下可能需要对程序进行一个整体的复盘、优化。那么&#xff0c;程序运行的时间就是一个可以考虑的方面&#xff0c;可以测一下某些代码块、函数、算法的运行时间&#xff0c;然后整体考虑看看有没有必要进行…

可以这样给DataGrid加个序号列。

先给DataGrid加个绑定列&#xff0c;该列设置页眉文本&#xff0c;但“数据字段”留空&#xff0c;然后在ItemDataBound事件中加入下面代码。 privatevoiddgScore_ItemDataBound(objectsender, System.Web.UI.WebControls.DataGridItemEventArgs e) { …

工作几天被裁员,难受

前两天&#xff0c;一个读者朋友私聊我说&#xff0c;自己被公司裁员了&#xff0c;这是他的第一份工作&#xff0c;只工作了不到半个月就收到了裁员信息。他非常不甘心&#xff0c;也非常恐慌&#xff0c;不甘心的是&#xff0c;自己觉得工作已经非常努力&#xff0c;也有做出…

cad2017单段线_没想到啊,我平时用的CAD多段线有这么多学问

很多人都说&#xff0c;CAD用多段线来代替直线绘图会比较方便&#xff0c;因为多段线除了常规直线功能之外&#xff0c;也能画弧线&#xff0c;更重要的是&#xff0c;一次命令执行的线条为一个整体&#xff0c;操作方便。难道多段线PL仅仅只有这明面上的实力吗&#xff1f;当然…

一个超强的逆向分析软件

IDA 超强逆向分析工具先说下&#xff0c;想获取这个工具的同学&#xff0c;请在公众号后台回复 「逆向分析」获取下载链接。IDA Pro&#xff08;交互式反汇编其专业版&#xff0c;后续简称为IDA&#xff09;软件是由Hex-Rays SA公司发布&#xff0c;属于当前最炙手可热的一款世…

你还不知道怎么退出 Vim?

提起文本编辑器&#xff0c;你一定会想到编辑器之神 Vim。据 Stack Overflow 的开发者调查&#xff1a;2015 年程序员中最流行的编辑器是 Notepad&#xff0c;Vim 的使用比例占 15.2%。到了 2019 年&#xff0c;最流行的开发环境变成 VS Code&#xff0c;而 Vim 的使用比例已占…

我的大学6年

这篇文章是郭天祥前辈写的&#xff0c;想起来我上大学那时候&#xff0c;也是看他的视频入门的单片机开发&#xff0c;而且那时候&#xff0c;没有这么多渠道了解外面的东西。当时最喜欢的是一个技术论坛&#xff0c;现在还因为某种原因开始收费了&#xff0c;更甚的是如果不按…

2017.10.25水题大作战题解

rank: T1P1615 西游记公司 https://www.luogu.org/problemnew/show/P1615 scanf直接秒 1 #include<iostream>2 #include<cstdio>3 #include<cstring>4 #include<cmath>5 #define LL long long 6 using namespace std;7 inline LL read()8 {9 char …