嵌入式軟件工程師試題匯_第1頁
嵌入式軟件工程師試題匯_第2頁
嵌入式軟件工程師試題匯_第3頁
嵌入式軟件工程師試題匯_第4頁
嵌入式軟件工程師試題匯_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

char*constpcharconst*pconstchar*p上述三個有什么區(qū)別?char*constp;常量指針,pcharconst*p;//constchar*p//charconst*pcharstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";char*str7="abc";char*str8="abc";cout<<(str1==str2)<<endl;cout<<(str3==str4)<<endl;cout<<(str5==str6)<<endl;cout<<(str7==str8)<<0011str1,str2,str3,str4是數(shù)組變量,它們有各自的內(nèi)存空間;而[C易]voidUpperCase(charstr[])//將str中的小寫字母轉(zhuǎn)換成大寫字母 for(size_ti=0;i<sizeof(str)/sizeof(str[0]);++i if('a'<=str[i]&&<='z') str[i]-=('a'-'A');}charstr[]="aBcDe";cout<<"str字符長度為:"<<sizeof(str)/sizeof(str[0endl;UpperCase(strcoutstrendl;sizeof有問題。根據(jù)語法,sizeof如用于數(shù)組,只能測出靜態(tài)數(shù)組的大小,無法檢測因為還有'\0'str實際只是一個指向字符串的指針,沒有任何額外的與數(shù)組sizeof4個字節(jié),因此返回6{intint*ptr=(int*)(&a+1);}a數(shù)組的偏移,是偏移了一個數(shù)組的大?。?int)*ptr=(int*)(&a+1);ptr實際是&(a[5]),a+5&a是數(shù)組指針,其int(*)[5];1要根據(jù)指針類型加上一定的值,不同類型的指針+1之a(chǎn)5int5*sizeof(int)ptr實際是a[5]但是prt與(&a+1)類型是不一樣的(這點很重要)所以prt-1只會減去a[5]. main(){chara;char*str=&a; o");printf(str);return0;答案:沒有為str分配內(nèi)存空間,將會發(fā)生異常問題出在將一個字符串進一個字序。答案:.#defineMin(X,Y)((X)>(Y)?(Y):(X)) 14。int*s[10])(int)答案:int*s[10])(int)intfunc(intparam)答案:有兩種解法,一種用算術(shù)算法,一種用^(異或)a=a+b;b=a-b;a=a-b;ora^b;//int,charba^b;aa^b;ora^b^#include<stdio.h>#includevoidgetmemory(char{p=(char*)malloc(100);strcpy(p,"o}intmain({char*str=NULL; return}答案:程序,getmemory中的malloc不能返回動態(tài)內(nèi)存, ()對str操作很charszstr[10]; 答案:長度不一樣,會造成的OS列舉幾種進程的同步機制,并比較其優(yōu)缺點。答案:原子操作信號量機制自 統(tǒng)4個必要條件??????????????????答案:互斥、請求保持、不可、環(huán)路答案:virtualvoidf()=0;答案:數(shù)組:數(shù)據(jù)順 ,固定大小連表:數(shù)據(jù)可以隨 ,大小可動態(tài)變ISOtcp/udp是屬于哪一層?tcp/udp答案:應(yīng)用層表示層會話層層網(wǎng)絡(luò)層物理鏈路層物理層tcp/udp屬于層TCPUDPIP由于UDP比較簡單,UDP頭包含很少的字節(jié),比TCP負載消耗少。tcp:提供udp:不提供穩(wěn)定的服務(wù),30:(void*)ptr(*(void**))ptrptr答案:.(void*)ptr(*(void**))ptr31:intmain(){intx=3;printf("%d",x);return1;}問函數(shù)既然不會被其它函數(shù)調(diào)1?320x100000(unsignedint*)0x1000001234;那么要是想0x100000去執(zhí)行,應(yīng)該怎么做?答案:*((void*0x1000000x100000強制轉(zhuǎn)換成函數(shù)指針,即void(*)())0x100000然后再調(diào)用它:*((vovd(*)())0x100000)();typedef可以看得更直觀些:typedefvoid(*)()voidFuncPtr;*((voidFuncPtr)0x100000)();答案:#defineNTBL#defineNTBLsizeof(table)/sizeof(table[0]))34。線程與進程的區(qū)別和聯(lián)系?線程是否具有相同的堆棧?dll是否有獨立的堆棧?DLLEXE中的DLL中刪除,很有可能導(dǎo)致程序35unsignedshortA10;printf("~Au\n~Acharc=128~A11-1,2,7,28,,12628126答案第一題的答案應(yīng)該是4^3-1=63規(guī)律是n^3-1(當n為偶數(shù)0,2,4) n為奇數(shù)1,3,5)2A,B一開始均為空.入隊:pushA;出隊:(1)判斷棧B是否為空;(2)A中所有元素依次pop出并push到棧B;(3)將棧B的棧頂元素popO(1),比catol()嗎,這個函數(shù)的原型是什答案:函數(shù)名:atol功能:把字符串轉(zhuǎn)換成長整型數(shù)用法:longatol(const*nptr);程序例:#include<stdlib.h>#include<stdio.h>intmain(void){longl;char*str= ";l=atol(lstr);printf("string=%sinteger=%ld\n",str,l);return(0);} inta[60][250][1000],i,j,k;for(k=0;k<=1000;k++)for(j=0;j<250;j++)for(i=0;i<60;i++)同名,在函數(shù)內(nèi)這個變量時,會用到同名的局部變量,而不會用到全局變量。答案:extern可以用頭文件的方式,也可以用extern關(guān)鍵字,如果用頭文件方式來某個在頭文件中的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式時,假定你犯了同樣的錯誤,那么在編譯文件中同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此4、for(;1;)1、static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?答案:全局變量(外部變量)的說明之前再冠以static就構(gòu)成了靜態(tài)的全局變量。全局 方式。這兩者在而靜態(tài)全局變量則限制了其作用域,即只在定義該變量的源文件內(nèi)有效,在同一上分析可以看出,把局部變量改變?yōu)殪o態(tài)變量后是改變了它的方式即改變了它static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被;static局部變量和普通局部變量有什么區(qū)別:staticstatic函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個被調(diào)用中維持一份答案:slnodetype*Delete(slnodetype*Head,intkey中if(Head{Head=Pointer->next;(Pointer);break;}Back=Pointer;Pointer=Pointer->next;if(Pointer->number==key){ Back->next=Pointer->next;(Pointer);break;}voiddelete(Node*p){if(Head=Node)while(p)}4、char*src="o,world";5、char*dest=NULL;6int7dest=(char*)malloc(len);8、char*d=dest;9char*s=src[len];10while(len--!=0)11、d++=s--;12printf("%s",dest);13、return0;答案:還要加上#include<stdio.h>intmain(){char*src="o,world";intlen=strlen(src);char*dest=(char*)malloc((len+1)*sizeof(char));//要為\0分配一個空間char*ddest;char*s&src[len-1whilelen0*d++=*s*d0;尾部要加\0printf("%s\n",dest);(dest);//內(nèi)存匯return0;}筆試題(3)2006-09-29一、判斷題(TF420分1inta[2][2]={{1},{2,3}};a[0][1]0(正確2int*ptrptr是一維數(shù)組的名字(錯誤int*ptr定義一個指向函數(shù)的指針變量)3、指針在任何情況下都可進行(錯誤4、switch(c)cintlong,charfloatunsignedint(錯,不能用實形)1windows210charstr[]="o"*p=str;intn=10;sizeof(str)=()sizeof(p)=()sizeof(n)=()voidfunc(charstr[100]){}sizeof(str)=()6444,具體解釋請參看我的空間里的“C/C++2、voidgetmemory(char**p,intnum){*p=(char*)malloc(num);}void{char*str=NULL;getmemory(&str,100);strcpy(str,"o");printf(str);}行test函數(shù)有什么結(jié)果 )10分答案:輸 內(nèi)存泄漏。1、不使用庫函數(shù),編寫函數(shù)intstrcmp(char *source,char*dest)相等返回0,不等 if(source[i]=='\0'&&dest[i]=='\0') return0; return-1; }}答案:二、intstrcmp(char*source,char*dest){ while((*source!='\0')&&(*source== {source++; return((*source)-(*dest))?-1:0;筆試網(wǎng)絡(luò)題(3)2006-09-30OSI7層模型中,網(wǎng)絡(luò)層的功能有()A.確保數(shù)據(jù)的傳送正確無誤B.確定數(shù)據(jù)包如何轉(zhuǎn)發(fā)與路由C.在信道上傳送比特 FDDI使用的 局域網(wǎng)技術(shù)。( LANCSMA/CD協(xié)議的 TCPUDP() 報文.(A.TCP請求報文。B.TCP應(yīng)答報文。C.ICMPD.ICMP以下說法錯誤的是(多中繼器是工作在物理層的設(shè) B.集線器和以太網(wǎng)交換機工作在數(shù)據(jù)連路層 D.橋能網(wǎng)絡(luò)層廣當橋接收的分組的目的MAC地址在橋的映射表中沒有對應(yīng)的表項時,采取的策略是()A.丟掉該分組B.將該分組分 LANSwitch在網(wǎng)絡(luò)層次模型中的地位 的TCP/UDP端已保留與現(xiàn)有服務(wù)一一對應(yīng),此數(shù)字以上的端可由分配。() 當一臺主機從一個網(wǎng)絡(luò)移到另一個網(wǎng)絡(luò)時,必須

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論