亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》?紗(wèn)題

時(shí)間:2024-09-11 08:29:22 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

2017計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》常考問(wèn)題

  為了提高大家復(fù)習(xí)計(jì)算機(jī)二級(jí)考試的效率,百分網(wǎng)小編搜索整理了計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》?紗(wèn)題,希望對(duì)大家有所幫助。

  第1 章 聲明和初始化

  問(wèn)題:

  1.1 我如何決定使用那種整數(shù)類(lèi)型?

  1.2 64 位機(jī)上的64 位類(lèi)型是什么樣的?

  1.3 怎樣定義和聲明全局變量和函數(shù)最好?

  1.4 extern 在函數(shù)聲明中是什么意思?

  1.5 關(guān)鍵字auto 到底有什么用途?

  1.6 我似乎不能成功定義一個(gè)鏈表。我試過(guò)typedef struct { char *item; NODEPTR next; } *NODEPTR; 但是編譯器報(bào)了錯(cuò)誤信息。難道在C語(yǔ)言中一個(gè)結(jié)構(gòu)不能包含指向自己的指針嗎?

  1.7 怎樣建立和理解非常復(fù)雜的聲明?例如定義一個(gè)包含N 個(gè)指向返回指向字符的指針的函數(shù)的指針的數(shù)組?

  1.8 函數(shù)只定義了一次, 調(diào)用了一次, 但編譯器提示非法重定義了。

  1.9 main() 的正確定義是什么?void main() 正確嗎?

  1.10 對(duì)于沒(méi)有初始化的變量的初始值可以作怎樣的假定?如果一個(gè)全局變量初始值為“零”, 它可否作為空指針或浮點(diǎn)零?

  1.11 代碼int f() { char a[] = "Hello, world!";} 不能編譯。

  1.12 這樣的初始化有什么問(wèn)題?char *p = malloc(10); 編譯器提示“非法初始式” 云云。

  1.13 以下的初始化有什么區(qū)別?

  第2 章 結(jié)構(gòu)、聯(lián)合和枚舉

  問(wèn)題列表

  2.1 聲明struct x1 { ... }; 和typedef struct { ... } x2; 有什么不同?

  2.2 為什么struct x { ... }; x thestruct; 不對(duì)?

  2.3 一個(gè)結(jié)構(gòu)可以包含指向自己的指針嗎?

  2.4 在C 語(yǔ)言中實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型什么方法最好?

  2.5 在C 中是否有模擬繼承等面向?qū)ο蟪绦蛟O(shè)計(jì)特性的好方法?

  2.6 我遇到這樣聲明結(jié)構(gòu)的代碼: struct name { int namelen; char namestr[1];}; 然后又使用一些內(nèi)存分配技巧使namestr 數(shù)組用起來(lái)好像有多個(gè)元素。這樣合法和可移植嗎?

  2.7 是否有自動(dòng)比較結(jié)構(gòu)的方法?

  2.8 如何向接受結(jié)構(gòu)參數(shù)的函數(shù)傳入常數(shù)值?

  2.9 怎樣從/向數(shù)據(jù)文件讀/寫(xiě)結(jié)構(gòu)?

  2.10 我的編譯器在結(jié)構(gòu)中留下了空洞, 這導(dǎo)致空間浪費(fèi)而且無(wú)法與外部數(shù)據(jù)文件進(jìn)行”二進(jìn)制” 讀寫(xiě)。能否關(guān)掉填充, 或者控制結(jié)構(gòu)域的對(duì)齊方式?

  2.11 為什么sizeof 返回的值大于結(jié)構(gòu)的期望值, 是不是尾部有填充?

  2.12 如何確定域在結(jié)構(gòu)中的字節(jié)偏移?

  2.13 怎樣在運(yùn)行時(shí)用名字訪問(wèn)結(jié)構(gòu)中的域?

  2.14 程序運(yùn)行正確, 但退出時(shí)卻“core dump” 了,怎么回事?

  2.15 可以初始化一個(gè)聯(lián)合嗎?

  2.16 枚舉和一組預(yù)處理的#define 有什么不同?

  2.17 有什么容易的顯示枚舉值符號(hào)的方法?

  第 3 章 表達(dá)式

  問(wèn)題列表:

  3.1 為什么這樣的代碼: a[i] = i++; 不能工作?

  3.2 使用我的編譯器,下面的代碼int i=7; printf("%d\n", i++ * i++); 返回49?不管按什么順序計(jì)算, 難道不該打印出56嗎?

  3.3 對(duì)于代碼int i = 3; i = i++; 不同編譯器給出不同的結(jié)果, 有的為3, 有的為4, 哪個(gè)是正確的?

  3.4 這是個(gè)巧妙的表達(dá)式: a.=b.=a.=b 它不需要臨時(shí)變量就可以交換a 和b 的值。

  3.5 我可否用括號(hào)來(lái)強(qiáng)制執(zhí)行我所需要的計(jì)算順序?

  3.6 可是&& 和|| 運(yùn)算符呢?

  3.7 我怎樣才能理解復(fù)雜表達(dá)式?“序列點(diǎn)” 是什么?

  3.8 那么, 對(duì)于a[i] = i++; 我們不知道a[] 的哪一個(gè)分量會(huì)被改寫(xiě),但i的確會(huì)增加1, 對(duì)嗎?

  3.9 ++i 和i++ 有什么區(qū)別?

  3.10 如果我不使用表達(dá)式的值, 我應(yīng)該用++i 或i++ 來(lái)自增一個(gè)變量嗎?

  3.11 為什么如下的代碼int a = 100, b = 100; long int c = a * b; 不能工作?

  3.12 我需要根據(jù)條件把一個(gè)復(fù)雜的表達(dá)式賦值給兩個(gè)變量中的一個(gè)。

  第 4 章 指針

  問(wèn)題列表:

  4.1 我想聲明一個(gè)指針并為它分配一些空間, 但卻不行。這些代碼有什么問(wèn)題?char *p; *p = malloc(10);

  4.2 *p++ 自增p 還是p 所指向的變量?

  4.3 我有一個(gè)char * 型指針正巧指向一些int 型變量, 我想跳過(guò)它們。

  為什么如下的代碼((int *)p)++; 不行?

  4.4 我有個(gè)函數(shù),它應(yīng)該接受并初始化一個(gè)指針void f(int *ip) { static int dummy = 5; ip = &dummy;} 但是當(dāng)我如下調(diào)用時(shí): int *ip; f(ip); 調(diào)用者的指針卻沒(méi)有任何變化。

  4.5 我能否用void** 指針作為參數(shù), 使函數(shù)按引用接受一般指針?

  4.6 我有一個(gè)函數(shù)extern int f(int *); 它接受指向int 型的指針。我怎樣用引用方式傳入一個(gè)常數(shù)?

  4.7 C 有“按引用傳遞” 嗎?

  4.8 我看到了用指針調(diào)用函數(shù)的不同語(yǔ)法形式。到底怎么回事?

  4.9 我怎樣把一個(gè)int 變量轉(zhuǎn)換為char * 型?

  第 5 章 空(null) 指針

  問(wèn)題列表:

  5.1 臭名昭著的空指針到底是什么?

  5.2 怎樣在程序里獲得一個(gè)空指針?

  5.3 用縮寫(xiě)的指針比較“if(p)” 檢查空指針是否可靠?如果空指針的內(nèi)部表達(dá)不是0 會(huì)怎么樣?

  5.4 NULL 是什么, 它是怎么定義的?

  5.5 在使用非全零作為空指針內(nèi)部表達(dá)的機(jī)器上, NULL 是如何定義的?

  5.6 如果NULL 定義成#define NULL ((char *)0) 難道不就可以向函數(shù)傳入不加轉(zhuǎn)換的NULL 了嗎?

  5.7 如果NULL 和0 作為空指針常數(shù)是等價(jià)的, 那我到底該用哪一個(gè)呢?

  5.8 但是如果NULL 的值改變了, 比如在使用非零內(nèi)部空指針的機(jī)器上, 難道用NULL ( 而不是0) 不是更好嗎?

  5.9 用預(yù)定義宏#define Nullptr(type) (type *)0 幫助創(chuàng)建正確類(lèi)型的空指針。

  5.10 這有點(diǎn)奇怪。NULL 可以確保是0, 但空(null) 指針卻不一定?

  5.11 為什么有那么多關(guān)于空指針的疑惑?為什么這些問(wèn)題如此經(jīng)常地出現(xiàn)?

  5.12 我很困惑。我就是不能理解這些空指針一類(lèi)的東西。

  5.13 考慮到有關(guān)空指針的所有這些困惑, 難道把要求它們內(nèi)部表達(dá)都必須為0 不是更簡(jiǎn)單嗎?

  5.14 說(shuō)真的, 真有機(jī)器用非零空指針嗎, 或者不同類(lèi)型用不同的表達(dá)?

  5.15 運(yùn)行時(shí)的“空指針賦值” 錯(cuò)誤是什么意思?

  char a[] = "string literal"; char *p = "string literal"; 當(dāng)我向p[i] 賦值的時(shí)候, 我的程序崩潰了。

  1.14 我總算弄清除函數(shù)指針的聲明方法了, 但怎樣才能初始化呢?

【計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》常考問(wèn)題】相關(guān)文章:

計(jì)算機(jī)二級(jí)考試java?贾R(shí)點(diǎn)09-06

計(jì)算機(jī)二級(jí)《VB》?贾R(shí)點(diǎn)歸納09-02

全國(guó)計(jì)算機(jī)二級(jí)《VB》?贾R(shí)點(diǎn)06-06

公共英語(yǔ)二級(jí)?荚~匯100個(gè)10-14

計(jì)算機(jī)二級(jí)C++C++語(yǔ)言概述09-24

英語(yǔ)閱讀?级陶Z(yǔ)08-21

GMAT?伎萍荚~匯10-15

軟考程序員輔導(dǎo):程序員C語(yǔ)言新人常見(jiàn)問(wèn)題09-03

盤(pán)點(diǎn)英語(yǔ)閱讀?级陶Z(yǔ)07-20

考研英語(yǔ)?嫉墓潭ǘ陶Z(yǔ)08-15