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,一经查实,立即删除!

相关文章

java 打印三维数组_Java基础第三天_数组

1.定义一个函数&#xff0c;函数功能是动态提取int[]中元素的最大值。2.定义一个函数&#xff0c;从数组中查询指定的元素首次出现的位置。3.定义函数&#xff0c;完成冒泡排序&#xff0c;大数下沉。4.折半查找。5.阐述6.定义一个函数&#xff0c;实现矩阵的转置.arr[i][j] a…

DEVICE_ATTR设置0777引发血案

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

试用Mono Beta 1.0

下载地址: http://www.go-mono.com/download.html测试环境:Windows XP、Windows 2003测试代码:F:\HelloWorld.csusing System;namespace mynamespace { public class HelloWorld { public static void Main(string [] args) { Console.WriteLine("hello, world"…

线性链表java实现_java实现线性单链表

/**** 线性单链表*/public class LinkedLinearList {private Node head;private int length;// 实际长度/*** 初始化顺序表,长度为length*/public LinkedLinearList() {length 0;head new Node(0, null);length;}/*** 将index位置赋值为c&#xff0c;会覆盖掉原值** param in…

「任性」的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的主要思路 遍历整个…

C# 2.0对现有语法的改进

C# 2.0对现有语法的改进 原注&#xff1a;lover_P出处&#xff1a; [自序] 尽管Microsoft Visual Studio .NET 2005&#xff08;过去好像叫Visual Studio .NET 2004&#xff09;一再推迟其发布日期&#xff0c;但广大开发者对其的猜测以及各种媒体对其各方面的“曝光”也似乎已…

一个java类运行时从哪个方法开始_Java的应用程序是从类中的

【填空题】还不走,车来了。【填空题】进路是 运行时所经由的路径。【单选题】()是仿照法国巴黎圣母院设计建造的:【简答题】结合你学习的感受,你认为会计核算程序三大会计要素顺序可以颠倒吗?【填空题】一往无前马当先。【听力题】【判断题】企业所得税是直接税,其纳税人与负税…

C# 第一章 笔记

目录&#xff1a;硬盘 - 工具软件 - 编程开发 - Visual Studio软件&#xff1a;序列号、安装包、魔方虚拟光驱(win7) Visual Studio 2013.exeVisual Studio 2013.msiVisual Studio 2013.iso光盘 -> 光驱光盘镜像文件 -> 虚拟光驱 Win7安装会警告&#xff1a;您当前系统IE…

一粒老鼠屎

我又老生常谈了。本来很久都不去CSDN看文档的评论了。但是今天忍不住又瞄到了几眼&#xff0c;一看那些不屑的&#xff0c;骂人的腔调的评论&#xff0c;就心里堵得难受。CSDN的blog现在可想而知&#xff0c;当应很热闹。但透明和曾毅还有我都没有去用它的blog&#xff0c;我想…

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

最近&#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…

java长连接例子_java实现长连接

();public Client(String serverIp, int port) {this.serverIpserverIp;this.portport;}public void start() throws UnknownHostException, IOException {if(running)return;socket new Socket(serverIp,port);System.out.println("本地端口&#xff1a;"socket.ge…

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

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

日本語勉強資源

ウェブ頁注音 http://www.hiragana.jp/ &#xff08;看新闻学背单词容易多了&#xff09;通訳 http://www.excite.co.jp &#xff08;单词&#xff0f;句子&#xff0f;网页翻译&#xff09;

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…

java调用sql返回list_Spring JdbcTemplate实现有java.sql.ResultSet结果集返回的存储过程调用 | 学步园...

一、调用存储过程方式一&#xff1a;/*** 方法功能说明&#xff1a;通过存储过程分页&#xff0c;获取分页信息以及查询记录(装在list中)&#xff1b;* List.get(0) hsTable; //存放分页信息(tableName/token/pageNo/pageSize/recordsCount/pagesCount)--hsTable.get(key)* Lis…

今天研究了一下关于Asp.net文件上传时的内存消耗问题

晕啊&#xff0c;写了半天&#xff0c;突然间所有的格式都没了&#xff0c;我不得不在写字板中重新排版&#xff0c;DuDu哥&#xff0c;你还是快捷键都去掉吧。 简单研究了一下如何解决Asp.net连续上传文件时对内存占用越来越多的问题。但目前只能解决一部份问题&#xff0c;要…

Linux系统编程-管道入门

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