日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/10/8 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言面试题大汇总之华为面试题,计算机c语言面试题大汇总之华为面试题6.doc... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

試題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...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。