c語言 文件夾是否純真,C語言面試題大匯總之華為面試題(轉)

1、局部變量能否和全局變量重名?

答:能,局部會屏蔽全局。要用全局變量,需要使用 ":: "

局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對于有些編譯器而言,在同一個函數內可以定義多個同名的局部變量,比如在兩個循環體內都定義一個同名的局部變量,而那個局部變量的作用域就在那個循環體內。

2、如何引用一個已經定義過的全局變量?

答:extern

可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。

3、全局變量可不可以定義在可被多個.C文件包含的頭文件中?為什么?

答:可以,在不同的C文件中以static形式來聲明同名全局變量。

(因此全局變量可定義在被多個c文件包含的頭文件中,但必須是static的)

可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此時連接不會出錯

4、語句for(?;1?;)有什么問題?它是什么意思?

答:和while(1)相同。

5、do……while和while……do有什么區別?

答:前一個循環一遍再判斷,后一個判斷以后再循環

6、請寫出下列代碼的輸出內容

#include

main()

{

int?a,b,c,d;

a=10;

b=a++;

c=++a;

d=10*a++;

printf( "b,c,d:%d,%d,%d ",b,c,d);

return?0;

}

答:10,12,120

7、static全局變量與普通的全局變量有什么區別?static局部變量和普通局部變量有什么區別?static函數與普通函數有什么區別?

全局變量(外部變量)的說明之前再冠以static?就構成了靜態的全局變量。全局變量本身就是靜態存儲方式,?靜態全局變量當然也是靜態存儲方式。?這兩者在存儲方式上并無不同。這兩者的區別雖在于非靜態全局變量的作用域是整個源程序,?當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。?而靜態全局變量則限制了其作用域,?即只在定義該變量的源文件內有效,?在同一源程序的其它源文件中不能使用它。由于靜態全局變量的作用域局限于一個源文件內,只能為該源文件內的函數公用,?因此可以避免在其它源文件中引起錯誤。

從以上分析可以看出,?把局部變量改變為靜態變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量后是改變了它的作用域,?限制了它的使用范圍。

static函數與普通函數作用域不同。僅在本文件。只在當前源文件中使用的函數應該說明為內部函數(static),內部函數應該在當前源文件中說明和定義。對于可在當前源文件以外使用的函數,應該在一個頭文件中說明,要使用這些函數的源文件要包含這個頭文件

static全局變量與普通的全局變量有什么區別:static全局變量只初使化一次,防止在其他文件單元中被引用;

static局部變量和普通局部變量有什么區別:static局部變量只被初始化一次,下一次依據上一次結果值;

static函數與普通函數有什么區別:static函數在內存中只有一份,普通函數在每個被調用中維持一份拷貝

8、程序的局部變量存在于(堆棧)中,全局變量存在于(靜態區?)中,動態申請數據存在于(?堆)中。

9、設有以下說明和定義:

typedef?union?{long?i;?int?k[5];?char?c;}?DATE;

struct?data?{?int?cat;?DATE?cow;?double?dog;}?too;

DATE?max;

則語句?printf( "%d

",sizeof(struct?date)+sizeof(max));的執行結果是:___52____

答:DATE是一個union,?變量公用空間.?里面最大的變量類型是int[5],?占用20個字節.?所以它的大小是20

data是一個struct,?每個變量分開占用空間.?依次為int4?+?DATE20?+?double8?=?32.

所以結果是?20?+?32?=?52.

當然...在某些16位編輯器下,?int可能是2字節,那么結果是?int2?+?DATE10?+?double8?=?20

10、隊列和棧有什么區別?

隊列先進先出,棧后進先出

11、寫出下列代碼的輸出內容

#include

int?inc(int?a)

{

return(++a);

}

int?multi(int*a,int*b,int*c)

{

return(*c=*a**b);

}

typedef?int(FUNC1)(int?in);

typedef?int(FUNC2)?(int*,int*,int*);

void?show(FUNC2?fun,int?arg1,?int*arg2)

{

INCp=&inc;

int?temp?=p(arg1);

fun(&temp,&arg1,?arg2);

printf( "%d\n ",*arg2);

}

main()

{

int?a;

show(multi,10,&a);

return?0;

}

答:110

12、請找出下面代碼中的所以錯誤

說明:以下代碼是把一個字符串倒序,如“abcd”倒序后變為“dcba”

1、#include "string.h "

2、main()

3、{

4、?char*src= "hello,world

";

5、?char*?dest=NULL;

6、?int?len=strlen(src);

7、?dest=(char*)malloc(len);

8、?char*?d=dest;

9、?char*?s=src[len];

10、?while(len--!=0)

11、?d++=s--;

12、?printf( "%s

",dest);

13、?return?0;

14、}

答:

方法1:

int?main()

{

char*?src?=?"hello,world ";

int?len?=?strlen(src);

char*?dest?=?(char*)malloc(len+1);//要為\0分配一個空間

char*?d?=?dest;

char*?s?=?&src[len-1];//指向最后一個字符

while(?len--?!=?0?)

*d++=*s--;

*d?=?0;//尾部要加\0

printf( "%s\n ",dest);

free(dest);//?使用完,應當釋放空間,以免造成內存匯泄露

return?0;

}

方法2:

#include?

#include?

main()

{

char?str[]= "hello,world

";

int?len=strlen(str);

char?t;

for(int?i=0;?i

{

t=str[i];

str[i]=str[len-i-1];?str[len-i-1]=t;

}

printf( "%s ",str);

return?0;

}

1. -1,2,7,28,,126請問28和126中間那個數是什么?為什么?

第一題的答案應該是4^3-1=63

規律是n^3-1(當n為偶數0,2,4)n^3+1(當n為奇數1,3,5)

答案:63

2.用兩個棧實現一個隊列的功能?要求給出算法和思路!

設2個棧為A,B,?一開始均為空.

入隊:

將新元素push入棧A;

出隊:

(1)判斷棧B是否為空;

(2)如果不為空,則將棧A中所有元素依次pop出并push到棧B;

(3)將棧B的棧頂元素pop出;

這樣實現的隊列入隊和出隊的平攤復雜度都還是O(1),?比上面的幾種方法要好。

3.在c語言庫函數中將一個字符轉換成整型的函數是atol()嗎,這個函數的原型是什么?

函數名:?atol

功?能:?把字符串轉換成長整型數

用?法:?long?atol(const?char?*nptr);

程序例:

#include?

#include?

int?main(void)

{

long?l;

char?*str?=?"98765432

";

l?=?atol(str);

printf( "string?=?%s?integer?=?%ld\n

",?str,?l);

return(0);

}

13.對于一個頻繁使用的短小函數,在C語言中應用什么實現,在C++中應用什么實現?

c用宏定義,c++用inline

14.直接鏈接兩個信令點的一組鏈路稱作什么?

PPP點到點連接

15.接入網用的是什么接口?

16.voip都用了那些協議?

17.軟件測試都有那些種類?

黑盒:針對系統功能的測試

白合:測試函數功能,各函數接口

18.確定模塊的功能和模塊的接口是在軟件設計的那個隊段完成的?

概要設計階段

19.

enum?string

{

x1,

x2,

x3=10,

x4,

x5,

}x;

問x=??0x801005,0x8010f4?;

20.

unsigned?char?*p1;

unsigned?long?*p2;

p1=(unsigned?char?*)0x801000;

p2=(unsigned?long?*)0x810000;

請問p1+5=?;

p2+5=?;

選擇題:

21.Ethternet鏈接到Internet用到以下那個協議?

A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

22.屬于網絡層協議的是:

A.TCP;B.IP;C.ICMP;D.X.25

23.Windows消息調度機制是:

A.指令隊列;B.指令堆棧;C.消息隊列;D.消息堆棧;

24.

unsigned?short?hash(unsigned?short?key)

{

return?(key>

> )%256

}

請問hash(16),hash(256)的值分別是:

A.1.16;B.8.32;C.4.16;D.1.32

找錯題:

25.請問下面程序有什么錯誤?

int?a[60][250][1000],i,j,k;

for(k=0;k <=1000;k++)

for(j=0;j <250;j++)

for(i=0;i <60;i++)

a[i][j][k]=0;

把循環語句內外換一下

26.

#define?Max_CB?500

void?LmiQueryCSmd(Struct?MSgCB?*?pmsg)

{

unsigned?char?ucCmdNum;

......

for(ucCmdNum=0;ucCmdNum

{

......;

}

死循環

27.以下是求一個數的平方的程序,請找出錯誤:

#define?SQUARE(a)

((a)*(a))

int?a=5;

int?b;

b=SQUARE(a++); //b = ((a++)*(a++))

28.

typedef?unsigned?char?BYTE

int?examply_fun(BYTE?gt_len;?BYTE?*gt_code)

{

BYTE?*gt_buf;

gt_buf=(BYTE?*)MALLOC(Max_GT_Length);

......

if(gt_len> Max_GT_Length)

{

return?GT_Length_ERROR;

}

.......

}

問答題:

29.IP?Phone的原理是什么?

IPV6

30.TCP/IP通信建立的過程怎樣,端口有什么作用?

三次握手,確定是哪個應用程序使用該協議

31.1號信令和7號信令有什么區別,我國某前廣泛使用的是那一種?

32.列舉5種以上的電話新業務?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

virtual析構函數的作用?

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 大家知道&#xff0c;析構函數是為了在對象不被使用之后釋放它的資源&#xff0c;虛函…

[codevs1039]數的劃分

這一題實際上是組合數學里面的經典問題&#xff0c;跟第二類Stirling數有些相似。可以把一個數值為n的數看成n個小球&#xff0c;劃分的份數k看作是k個盒子&#xff0c;那么本題的要求就是&#xff1a; 將n個小球放到k個盒子中&#xff0c;小球之間與盒子之間沒有區別&#xff…

c語言中用文件處理數據,C語言文件處理 -C語言從文件中讀寫格式化數據

從圖 1 所示的文件 fin.txt 中讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值&#xff0c;并且將顯示結果保存到文件 fout.txt 中。圖 1&#xff1a;輸入輸出文件示例C語言代碼清單 1&#xff1a;讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值#in…

MySQL于ON DUPLICATE KEY UPDATE采用

今天我們做的推斷插入用途MySQL于ON DUPLICATE KEY UPDATE。現在&#xff0c;Mark下面&#xff01;假設你想做的事&#xff0c;再有就是在數據庫中插入數據沒有數據、如果有數據更新數據&#xff0c;然后你可以選擇ON DUPLICATE KEY UPDATE。 ON DUPLICATE KEY UPDATE可以在UNI…

C++中Static作用和使用方法

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 1、什么是static? static 是C中很常用的修飾符&#xff0c;它被用來控制變量的…

三星+android+7.0+自動糾正單詞,升級黨必看!三星S/Note系列更新Android 7.0指南

上周&#xff0c;雷科技(微信ID&#xff1a;leitech)曾為大家提供了一份Android 7.0升級預測名單。現在為了增加針對性&#xff0c;這次筆者就以三星最熱門的兩大旗艦S和Note系列為例&#xff0c;給大家提供一個全方面的更新指南。截至目前&#xff0c;三星S系列和Note系列的正…

iOS開發出錯whose view is not in the window hierarchy!的解決

大熊貓豬侯佩原創或翻譯作品.歡迎轉載,轉載請注明出處. 如果覺得寫的不好請多提意見,如果覺得不錯請多多支持點贊.謝謝! hopy ;) 一個簡單的單窗口App在運行時出現錯誤: 2016-04-07 14:28:48.411 BlurViewAndPopView[4364:168520] Warning: Attempt to present <UIAlertCon…

互聯網年鑒

最近互聯網行業&#xff0c;有一個詞說的比較多了&#xff0c;“資本寒冬”。作為&#xff0c;一個在這個行業里干的人&#xff0c;真心是好怕怕呢。 媽蛋&#xff0c;真怕哪天就突然失業了呀。所以&#xff0c;無聊的(操蛋的)去整理了一些98年開始一直到現在的互聯網中一些自己…

android oreo 開機動畫,Android O添加了一個 Splash Screen API幫助簡化啟動屏制作

大多數開發者對閃屏(splash screen)都持不同的態度。一些人支持用閃屏隱藏app的加載&#xff0c;然后自然過渡到主界面&#xff0c;而另一些人認為閃屏不管是對用戶還是開發者都是浪費時間。谷歌在這個問題上的立場也是不一的&#xff0c;以前不推薦使用閃屏的使用&#xff0c;…

C++空類默認函數

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 定義一個空的C類&#xff0c;例如 class Empty { } 一個空的class在C編譯器處理過后就…

拼接SQL的一個技巧

2019獨角獸企業重金招聘Python工程師標準>>> 為了避免判斷是否要在字符串中加 AND 來連接查詢條件&#xff0c;我們可以直接在在WHERE 后面寫 id>0。 這樣&#xff0c;我們在拼接條件的時候&#xff0c;就可以直接寫 AND 了。 SELECT* FROM t_table WHEREid>0…

【Linux導論】Linux引導流程(The Boot Process)

原文 LFS101x.2 Introduction to Linux (Linux Foundation) Chapter 03: Linux Structure and Installation - Section 2: The Boot Process 引導流程 - (The Boot Process) 你是否想過&#xff0c;在你按下電源開關直至Linux登陸提示出現時&#xff0c;后臺到底發生了哪些事&a…

String類 寫出類的成員函數實現

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 已知String類定義如下&#xff1a; class String { public: String(const char *str …

android 管理類,android 線程管理類

1. 延時任務以及取消延時的應用場景&#xff1a;實時搜索&#xff0c;文字內容變化時候不發送請求&#xff0c;當停止變化指定時間后再發送請求2. 使用方法&#xff1a;// 回到主線程MainThreadHelper.runOnUIthread(new Runnable() {Overridepublic void run() {// pushActivi…

計算一行文本的高度

計算一行文本的高度 說明 有時候我們需要知道指定的幾行文本的高度&#xff0c;此工具用于解決此種問題。 源碼 // // NSStringLabelWidthAndHeight.h // ZiPeiYi // // Created by YouXianMing on 15/12/9. // Copyright © 2015年 YouXianMing. All rights reserved.…

python筆記-python編程優化:常用原則和技術介紹

本人翻譯自《Exper Python Programming》 Premature optimization is the root of all evil in programming -Donald Knuth 優化的三原則 讓它跑起來先一個非常常見的錯誤就是在編寫代碼之初我們就開始對代碼進行優化。讓人傷心的是這通常做的都是無用功&#xff0c;很多軟…

C++成員函數重載、覆蓋和隱藏的區別

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** C成員函數重載、覆蓋和隱藏的區別class Base{public:void Walk(int x){ cout <<…

用fputc()函數以字符串形式寫入字符到磁盤文件

2019獨角獸企業重金招聘Python工程師標準>>> #include <stdio.h> #include <stdlib.h>int main(){FILE *fp;char ch;if((fpfopen("testfile", "a")) NULL){fprintf(stderr, "Error opening file.\n",fp);exit(1);}print…

android 浮動文字提示,Android實現自由拖動并顯示文字的懸浮框

項目中需要實現一個狀態顯示的懸浮框&#xff0c;要求可以設置兩種模式&#xff1a;拖動模式和不可拖動模式。實現效果圖如下&#xff1a;實現步驟&#xff1a;1.首先要設置該懸浮框的基本屬性&#xff1a;/*** 顯示彈出框** param context*/SuppressWarnings("WrongConst…

Android4.2.2的Stagefright維護編解碼器的數據流

這里是他們自己的源代碼閱讀點滴總結屬性&#xff0c;轉請注明出處&#xff0c;謝謝。歡迎和大家分享。qq:1037701636 email:gzzaigcn2012gmail.comAndroid源代碼版本號Version&#xff1a;4.2.2; 硬件平臺 全志A31前沿&#xff1a;在前面的博文中&#xff0c;基本提到的是stag…