试题5:编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”  函数头是这样的:

//pStr是指向以''结尾的字符串的指针//steps是要求移动的nvoid LoopMove ( char * pStr, int steps ){ //请填充...}

解答:  正确解答1:

void LoopMove ( char *pStr, int steps ){ int n = strlen( pStr ) - steps; char tmp[MAX_LEN]; strcpy ( tmp, pStr + n ); strcpy ( tmp + steps, pStr); *( tmp + strlen ( pStr ) ) = ''; strcpy( pStr, tmp );}

正确解答2:

void LoopMove ( char *pStr, int steps ){ int n = strlen( pStr ) - steps; char tmp[MAX_LEN]; memcpy( tmp, pStr + n, steps ); memcpy(pStr + steps, pStr, n ); memcpy(pStr, tmp, steps );}

剖析:  这个试题主要考查面试者对标准库函数的熟练程度,在需要的时候引用库函数可以很大程度上简化程序编写的工作量。  最频繁被使用的库函数包括:  (1) strcpy  (2) memcpy  (3) memset  试题6:已知WAV文件格式如下表,打开一个WAV文件,以适当的数据结构组织WAV文件头并解析WAV格式的各项信息。  WAVE文件格式说明表

偏移地址

字节数

数据类型

内 容

文件头

00H

4

Char

"RIFF"标志

04H

4

int32

文件长度

08H

4

Char

"WAVE"标志

0CH

4

Char

"fmt"标志

10H

4

过渡字节(不定)

14H

2

int16

格式类别

16H

2

int16

通道数

18H

2

int16

采样率(每秒样本数),表示每个通道的播放速度

1CH

4

int32

波形音频数据传送速率

20H

2

int16

数据块的调整数(按字节算的)

22H

2

每样本的数据位数

24H

4

Char

数据标记符”data”

28H

4

int32

语音数据的长度

解答:  将WAV文件格式定义为结构体WAVEFORMAT:

typedef struct tagWaveFormat{ char cRiffFlag[4]; UIN32 nFileLen; char cWaveFlag[4]; char cFmtFlag[4]; char cTransition[4]; UIN16 nFormatTag ; UIN16 nChannels; UIN16 nSamplesPerSec; UIN32 nAvgBytesperSec; UIN16 nBlockAlign; UIN16 nBitNumPerSample; char cDataFlag[4]; UIN16 nAudioLength;} WAVEFORMAT;

假设WAV文件内容读出后存放在指针buffer开始的内存单元内,则分析文件格式的代码很简单,为:

WAVEFORMAT waveFormat;memcpy( &waveFormat, buffer,sizeof( WAVEFORMAT ) );

直接通过访问waveFormat的成员,就可以获得特定WAV文件的各项格式信息。  剖析:  试题6考查面试者组织数据结构的能力,有经验的程序设计者将属于一个整体的数据成员组织为一个结构体,利用指针类型转换,可以将memcpy、memset等函数直接用于结构体地址,进行结构体的整体操作。透过这个题可以看出面试者的程序设计经验是否丰富。  试题7:编写类String的构造函数、析构函数和赋值函数,已知类String的原型为:

class String{ public:  String(const char *str = NULL); // 普通构造函数  String(const String &other); // 拷贝构造函数  ~ String(void); // 析构函数  String & operate =(const String &other); // 赋值函数 private:  char *m_dat

c语言面试题大汇总之华为面试题,计算机c语言面试题大汇总之华为面试题6.doc...相关推荐

  1. 大工19春专业英语计算机英语2,汇编选集大工20春《专业英语(计算机英语)》在线作业123(答案)...

    汇编选集大工20春<专业英语(计算机英语)>在线作业123(答案) 汇编选集大工20春专业英语(计算机英语)在线作业123(答案)大工20春专业英语(计算机英语)在线作业1试卷总分:100 ...

  2. c语言输入252则输出应该是20,[转载]计算机C语言二级上级考试套题(一)

    第一套 1.程序填空题 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为: 2,在程序中定义的变量名要与公式的变量相同). 例如,输入圆的半径 ...

  3. 计算机专业内存8g和16g差距大吗,原始8G和16G计算机内存之间有很大区别吗?

    大家好,我是Compatible Computer Home的小牛. 计算机内存是除CPU外最重要的组件之一. 运行大型软件和多任务处理时,计算机内存量直接影响计算机的流畅性. 许多玩家不知道什么时候 ...

  4. 【全年汇总】2023年CCF计算机图形学与多媒体会议截稿时间汇总(持续更新)

    本博文是根据2022年CCF会议推荐的计算机图形学与多媒体领域相关会议目录撰写,更多信息详见公众号CS Conference内容.(完整PDF大家搜集好了,公众号后台回复"CCF" ...

  5. navigator 与语言相关的属性在各大浏览器的差异,及获取浏览器语言的正解

    问题描述 各浏览器对 navigator 对象中几个与语言相关的属性(language.userLanguage.browserLanguage. systemLanguage)的返回值存在很大的差异 ...

  6. 常用的计算机C语言,计算机c语言基础知识

    计算机c语言基础知识 C语言程序设计是高效计算机专业学生必修的一门基础课程,那么你对计算机c语言了解多少呢?下面是小编整理的计算机c语言基础知识,欢迎大家阅读参考. 计算机c语言的特性 C语言是世界上 ...

  7. 计算机编辑c语言,计算机C语言编辑程序探讨

    程娴 吴玉 摘 要:随着网络技术的发展,电子计算机技术也开始在各领域广泛引用,成为主要引用的技术之一.当然,在技术发展的过程中,如何高效应用计算机C语言,成为研究探讨的重要课题,合理运用计算机C语言, ...

  8. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘) 题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出 ...

  9. 校招c语言笔试题数组,华为校园招聘考试C语言C笔试题

    华为校园招聘考试C语言C笔试题 华为校园招聘考试C语言C++笔试题 1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2)在模块 ...

  10. c语言中在按回车键继续的这句话后面大什么程序可移执行,2018年C语言程序设计期末考试试题及其答案...

    2018年C语言程序设计期末考试试题及其答案 一.单项选择题(本大题共20题,每题2 分,共40分) 1.以下不是C语言的特点的是( ) A.C语言简洁.紧凑 B.能够编制出功能复杂的程序 C.C语言 ...

最新文章

  1. P4764-[CERC2014]Pork barrel【主席树,LCT,最小生成树】
  2. lambda 表达式定制操作
  3. 实战:Redis 慢查询
  4. pcie16x能插1x的卡嘛?_上高速后关掉ETC过龙门架,下高速再插上会更便宜吗?
  5. Laravel核心解读--Facades
  6. 服务器监控工具_8款服务器和应用性能监控工具
  7. topcoder srm 661 div1
  8. Nginx源码分析 - 核心模块初始化顺序,根据ctx创建上下文
  9. 易语言计算机设备获取,易语言获取混音设备名称
  10. 学习使用NMF非负矩阵分解算法
  11. KMS激活工具 HEU_KMS_Activator_CH_v7.8.4
  12. 中兴新支点操作系统——背景、徽标大起底
  13. 中文邮件分类[朴素贝叶斯、支持向量机、Logistic,TF-IDF,词袋模型]
  14. Paypal 与Moneybookers
  15. 选对流程引擎,玩转流程设计不是梦
  16. Android蓝牙手柄摇杆 十字按键监听手机focus焦点
  17. C# Excel数据验重及Table数据验重
  18. 感恩人生的每一段经历
  19. VB连接Sql Server,Oracle,SyBase,Access数据库操作实例
  20. android的图形旋转与点内判断

热门文章

  1. Hadoop大数据——mapreduce的join算法
  2. Nginx实现高可用的工作原理
  3. html制作手机预览效果,新移动端Html5方式预览报表插件
  4. Python标准库collections模块的Counter类
  5. linux下安装微信
  6. python 控制系统音量_pygame学习笔记(4):声音控制
  7. 乐鑫代理启明云端分享:用ESP32单片机控制LED教程示例
  8. linux中256错误,YUM安装遭遇: [Errno 256] No more mirrors to try
  9. docker php 多端口,docker使用之php-fpm+apache多容器的xdebug和phpstorm的配置
  10. bs模型Nd怎么用计算机算,BS模式的下试卷自动生成系统的设计与实现