摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀
說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了
這有啥好說的
但素,,,,
今天小姐姐就遇到了一個(gè)這樣的事
所以說C語(yǔ)言里面坑還是很多的
今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目
可以助大家順利通過筆試
1. 以下敘述中不正確的是(D)
A.在不同的函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是在棧中保存
C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個(gè)函數(shù)內(nèi)復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效
(復(fù)合語(yǔ)句值函數(shù)中的成對(duì)括號(hào)構(gòu)成)
注:D項(xiàng)是有錯(cuò)誤的比如我舉個(gè)例子
#includeint man() { { int a=10; } printf("%d ",a); return 0; }
這個(gè)如果再編譯中,一定會(huì)出現(xiàn),a未定義的錯(cuò)誤的。
2.
#include#include int main() { int i; char acNEW[20]; for (i = 0; i < 5; i++) { acNEW[i] = "0"; } printf("%d ", strlen(acNEW)); system("pause"); return 0; }
問題是求輸出結(jié)果:
這個(gè)答案應(yīng)該不確定,因?yàn)樗跒樽址麛?shù)組賦值時(shí),并未賦 "0" ,但是strlen函數(shù)認(rèn)為結(jié)束的標(biāo)準(zhǔn)就是 "0" ,所以當(dāng)它讀到最后一位他會(huì)繼續(xù)走下去,直到它遇到 "0"。
因?yàn)楹竺媸抢鴶?shù)據(jù)都是隨機(jī)的,所以strlen函數(shù)在讀時(shí)直到遇到 "0" 它才會(huì)停下來,所以答案是不確定的。
3.全局變量可以定義在被多個(gè).c文件包含著的頭文件中?
錯(cuò)誤
這個(gè)在編譯時(shí)會(huì)報(bào)錯(cuò)的,但是如果使用static修飾就可以編譯通過。
4.在X86下,有這些程序:
includeinclude int main() { union { short k; char i[2]; }*s,a; s = &a; s->i[0] = 0x39; s->i[1] = 0x38; printf("%x ", a.k); system("pause"); return 0; } } ?
?
這道題問的是輸出的什么?這里牽扯的知識(shí)點(diǎn) 聯(lián)合體和大小端存儲(chǔ),x86是小端存儲(chǔ),這種東西就得靠記了。。沒辦法大家都知道聯(lián)合體空間公用對(duì)吧,short長(zhǎng)度為2B,char i[2]長(zhǎng)度也為2B.所以你的a.k雖然并未賦值,但是你等于輸出了char i[2]數(shù)組中的內(nèi)容,他們雖然名字不同現(xiàn)在他們內(nèi)容是一樣的。這就考驗(yàn)我們大小端的概念了。
接下來下面是我畫的這道題的理解圖:
大家也知道讀取數(shù)據(jù)一般是從高位開始讀,比如一個(gè)數(shù)字 120 我們肯定是先看他最大的位對(duì)吧(高位),所以這道題的答案是 3839
我再截圖驗(yàn)證一下:
5.求下列程序輸出結(jié)果
#include#include int main() { unsigned char a = 200; unsigned char b = 100; unsigned char c = 0; c = a + b; printf("%d %d", a + b, c); system("pause"); return 0; }
這道題主要考的是你對(duì)unsigned的理解,接下來我畫一張圖幫大家理解
現(xiàn)在我說的對(duì)不對(duì)呢?大家看看輸出結(jié)果
6.在x86,vc++ 6.0環(huán)境下,有下列程序
#include#include int main() { char c; unsigned char uc; unsigned short us; c = 128; uc = 128; us = c + uc; printf("0x%x ", us); us = (unsigned char)c + uc; printf("0x%x ", us); us = c + (char)uc; printf("0x%x ", us); system("pause"); return 0; }
做這道題前應(yīng)該知道 char 的取值范圍是-128 ~ 127,所以當(dāng)你給uc賦128的時(shí)候,它真實(shí)的值為-128。
具體我說的對(duì)不對(duì)?看看運(yùn)行結(jié)果。
7.
#include#include struct tagAAA { unsigned char ucld : 1; unsigned char ucpara : 2; unsigned char ucState : 6; unsigned char ucTail : 4; unsigned char ucAvail; unsigned char ucTail2; unsigned char ucData; }AAA_S1; struct tagAAA2 { unsigned int ucld : 1; unsigned int ucpara : 2; unsigned int ucState : 6; unsigned int ucTail : 4; unsigned int ucAvail; unsigned int ucTail2; unsigned int ucData; }AAA_S2; int main() { printf("%d %d ", sizeof(AAA_S1), sizeof(AAA_S2)); system("pause"); return 0; } ?
求AAA_S再分別為1字節(jié)對(duì)齊和四字節(jié)對(duì)齊的情況下,占用空間的大小:?
答案為 6 16.
這個(gè)問題就是位域的問題,我有專門關(guān)于結(jié)構(gòu)體對(duì)齊的博客,點(diǎn)擊這個(gè)鏈接就能看https://blog.csdn.net/Dawn_sf...
8.
#include#include #pragma pack(4); int main() { unsigned char puc[4]; struct sagPIM{ unsigned char ucpim1; unsigned char ucDate:1; unsigned char ucDate1:2; unsigned char ucDate2:3; }*pstPimData; pstPimData = (struct sagPIM*)puc; memset(puc, 0, 4); pstPimData->ucpim1 = 2; pstPimData->ucDate = 3; pstPimData->ucDate1 = 4; pstPimData->ucDate2 = 5; printf("%02x %02x %02x %02x ", puc[0], puc[1], puc[2], puc[3]); system("pause"); return 0; } ?
?
?
這個(gè)主要還是位域,還有存儲(chǔ)的一些關(guān)系了。
因?yàn)榘凑瘴挥虼鎯?chǔ),該結(jié)構(gòu)體只需要2個(gè)字節(jié)即可存儲(chǔ)全部?jī)?nèi)容,然后開始思考他內(nèi)部的結(jié)構(gòu)。
下來我畫一個(gè)圖理解一下。
再看看運(yùn)行的結(jié)果吧 有圖有真相。
這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀~~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43666.html
摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀 說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了 這有啥好說的 但素,,,, 今天小姐姐就遇到了一個(gè)這樣的事showImg(https://segmentfault.com/img/bVbrUQV); 所以說C語(yǔ)言里面坑還是很多的 今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目 可以助大家順利通過筆試 1. 以下...
摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀 說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了 這有啥好說的 但素,,,, 今天小姐姐就遇到了一個(gè)這樣的事showImg(https://segmentfault.com/img/bVbrUQV); 所以說C語(yǔ)言里面坑還是很多的 今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目 可以助大家順利通過筆試 1. 以下...
摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀 說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了 這有啥好說的 但素,,,, 今天小姐姐就遇到了一個(gè)這樣的事showImg(https://segmentfault.com/img/bVbrUQV); 所以說C語(yǔ)言里面坑還是很多的 今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目 可以助大家順利通過筆試 1. 以下...
摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀 說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了 這有啥好說的 但素,,,, 今天小姐姐就遇到了一個(gè)這樣的事showImg(https://segmentfault.com/img/bVbrUQV); 所以說C語(yǔ)言里面坑還是很多的 今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目 可以助大家順利通過筆試 1. 以下...
摘要:這些題目都是歷年筆試的必考題,大家一定要仔細(xì)看看這里面涉及的知識(shí)點(diǎn)呀,這樣筆試的時(shí)候才能過過過呀 說到C語(yǔ)言,可能有人覺得太簡(jiǎn)單了 這有啥好說的 但素,,,, 今天小姐姐就遇到了一個(gè)這樣的事showImg(https://segmentfault.com/img/bVbrUQV); 所以說C語(yǔ)言里面坑還是很多的 今天就給大家準(zhǔn)備了幾個(gè)筆試經(jīng)典的題目 可以助大家順利通過筆試 1. 以下...
閱讀 2433·2021-11-15 11:36
閱讀 1172·2019-08-30 15:56
閱讀 2243·2019-08-30 15:53
閱讀 1038·2019-08-30 15:44
閱讀 649·2019-08-30 14:13
閱讀 997·2019-08-30 10:58
閱讀 476·2019-08-29 15:35
閱讀 1293·2019-08-29 13:58