學(xué)校迎新年對聯(lián)
導讀:盡管C語(yǔ)言提供了許多低級處理的功能,但仍然保持著(zhù)良好跨平臺的特性,以一個(gè)標準規格寫(xiě)出的C語(yǔ)言程序可在許多電腦平臺上進(jìn)行編譯。以下是由應屆畢業(yè)生網(wǎng)小編J.L為您整理推薦的C語(yǔ)言軟件開(kāi)發(fā)筆試系列題目收集分享,歡迎參考閱讀。

(1)什么是預編譯,何時(shí)需要預編譯:
答案:
1、總是使用不經(jīng)常改動(dòng)的大型代碼體。
2、程序由多個(gè)模塊組成,所有模塊都使用一組標準的包含文件和相同的編譯選項。在這種
情況下,可以將所有包含文件預編譯為一個(gè)預編譯頭。
預編譯又稱(chēng)為預處理,是做些代碼文本的替換工作。處理#開(kāi)頭的指令嗎,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等,就是為編譯做的預備工作的階段,主要處理#開(kāi)始的預編譯指令,預編譯指令指示了在程序正式編譯前就由編譯器進(jìn)行的操作,可以放在程序中的任何位置。c編譯系統在對程序進(jìn)行通常的編譯之前,先進(jìn)行預處理。c提供的預處理功能主要有以下三種:1)宏定義 2)文件包含 3)條件編譯。
(2)char* const p, char const* p,const char*p 上述三個(gè)有什么區別?
答案:
char * const p; /pic/p>
char const * p;/pic/p>
const char *p;/pic/p>
(3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc";
const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < <( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout <
< ( str7 == str8 ) < < endl;
結果是:0 0 1 1 str1,str2,str3,str4 是數組變量,它們有各自的內存空間;而str5,str6,str7,str8
是指針,它們指向相同的常量區域。
(4)以下代碼中的兩個(gè)sizeof 用法有問(wèn)題嗎?
void UpperCase( char str[] ) /pic/p>
{
for( size_t i=0;i
if( 'a' <=str[i] && str[i] <='z' )
str[i] -= ('a'-'A' );
}
char str[] = "aBcDe"; cout < < "str 字符長(cháng)度為: " < < sizeof(str)/sizeof(str[0]) < < endl;
UpperCase( str ); cout < < str < < endl;
答案:函數內的sizeof 有問(wèn)題。根據語(yǔ)法,sizeof 如用于數組,只能測出靜態(tài)數組的大小,無(wú)法檢測動(dòng)態(tài)分配的或外部數組大小。函數外的str 是一個(gè)靜態(tài)定義的數組,因此其大小為6,因為還有'\0',函數內的str 實(shí)際只是一個(gè)指向字符串的指針,沒(méi)有任何額外的與數組相關(guān)的信息,因此sizeof 作用于上只將其當指針看,一個(gè)指針為4 個(gè)字節,因此返回4。
(5)一個(gè)32 位的機器,該機器的指針是多少位答案:
指針是多少位只要看地址總線(xiàn)的位數就行了。80386 以后的機子都是32 的數據總線(xiàn)。所以
指針的位數就是4 個(gè)字節了。
【學(xué)校迎新年對聯(lián)】相關(guān)文章:
迎新年的對聯(lián)01-18
學(xué)校的對聯(lián)04-12
學(xué)校對聯(lián)02-01
迎新年的對聯(lián)大全12-13
蛇年迎新年對聯(lián)310副01-07
公司迎新年對聯(lián)帶橫批01-25
單位迎新年對聯(lián)大全08-30
兔年學(xué)校對聯(lián)01-21
- 相關(guān)推薦