【15】
if(s[*k]return【16】;
}
main()
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a, 10, &k);
printf("%d, %d\n ", k, a[k]);
}
解析: 本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開(kāi)始應(yīng)認(rèn)*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。
(12)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/P>
int mystrlen(char *str)
{ int i;
for(i=0;【17】!= ′\0′;i++);
return(i);
}
解析: str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用 *(str+i)來(lái)訪問(wèn)字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到 *(str+i)的值為′\0′為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。
(13)以下程序的輸出結(jié)果為【18】。
#define JFT(x)x*x
main()
{ int a, k=3;
a=++JFT(k+1);
printf("%d",a);
}
解析: 宏替換的原則是按原樣替換,本題中遇到形參x則以實(shí)參k+1替換,其他字符不變。所以JFT(k+1)經(jīng)替換后為k+1*k+1,所以a=++k+1*k+1,若k+1,若k的值為3,則經(jīng)過(guò)運(yùn)算為a=4+1*4+1=9。
(14)以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
struct node
{ int info;
【19】link;
};
解析: 本題中的結(jié)構(gòu)類型名為struct node,所以空白處應(yīng)填:struct node *。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
(15)設(shè)有以下結(jié)構(gòu)體類型:
struct st
{ char name[8];
int num;
float s[4];
}student[50];
并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫到硬盤文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:
fwrite(student,【20】,1,fp);
解析: fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp),其中:
buffer:是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址
size:要寫的字節(jié)數(shù)
count:要進(jìn)行寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)
fp:文件型指針
相關(guān)推薦:2010年全國(guó)計(jì)算機(jī)等考二級(jí)C:程序設(shè)計(jì)實(shí)戰(zhàn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |