(16)以下程序的輸出結(jié)果是【18】 。
#define MAX(x,y)(x)>(y)?(x):(y)
main()
{ int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
解析: 本題綜合考查帶參數(shù)的宏以及三目運(yùn)算符的計(jì)算方法,“?”運(yùn)算符是一個(gè)三目運(yùn)算符,其一般形式是:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>!?” 運(yùn)算符的含義是:先求表達(dá)式1的值,如果為真,則求表達(dá)式2的值并把它作為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假,則求表達(dá)式3的值并把它作為整個(gè)表達(dá)式的值。注意,在本題中宏替換時(shí)可采用逐步求解,最終為7>6?7:6*10,即t=7>6?7:60,其值為t=7。
(17)用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡?/P>
st=(char*)【19】 ;
解析: malloc函數(shù)的參數(shù)可以是一個(gè)具體的常數(shù),也可以是一個(gè)表達(dá)式。在本題中,可以是malloc(11),也可以借助于sizeof運(yùn)算符來(lái)表示。
(18)以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/P>
FILE *myf; long f1;
myf=【20】 ("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftell(myf);
fclose(myf);
printf("%d\n",f1);
解析: 函數(shù)fopen的原型為FILE *fopen(char *filename,char *mode),功能為以mode指定的方式打開名為filename的文件;函數(shù)fseek的原型為int fseek(FILE *fp,long offset,int base),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準(zhǔn)。以offset是以字節(jié)為單位的位移量;函數(shù)ftell的原型為long ftell(FILE *fp),功能為返回fp所指向的文件中的讀寫位置;函數(shù)fclose的原型為int fclose(FILE *fp),功能為關(guān)閉fp所指的文件,釋放文件緩沖區(qū)。
相關(guān)推薦:2010年全國(guó)計(jì)算機(jī)等考二級(jí)C:程序設(shè)計(jì)實(shí)戰(zhàn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |