版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編輯版word編輯版word編輯版wordC語(yǔ)言部分一、選擇題(每小題2分,共10分)(下在各小題,分別有一個(gè)或多個(gè)正確答案,請(qǐng)將所有正確答案的編號(hào),填寫在該小題題干后的括號(hào)內(nèi)。錯(cuò)選或漏選均不得分)。1、若定義:inta[2][3]{0,2,4,6,8,10};以下描述正確的有(
A,C,D,E
)A、*(a+1)為元素6的地址
這里a+1=a[1]的地址;*(a+1)的值是6,故A正確。B、*(a[1]+1)的值為2為8,故B不正確C、**(a+1)+2的值為8這里a+1是一個(gè)指針,指向的是a[1].
*(a+1)為a[1],a[1]指向的是a[1][0].
**(a+1)為6,加2得8,故C正確;D、a[0]與a相同
因二者都是指針,指針的地址都是指向數(shù)組中的第一個(gè)元素的地址,故D正確。E、a[1][2]的值為10它是指第二行的第三個(gè)元素,為10,正確2、對(duì)函數(shù)的正確使用方法描述(
A,C,D
)。A、用數(shù)組做函數(shù)參數(shù)時(shí),必須在主調(diào)函數(shù)和被調(diào)函數(shù)中分別定義數(shù)組B、實(shí)參數(shù)組元素和形參數(shù)組元素類型可以不一致C、形參數(shù)組長(zhǎng)度可以不指定
D、形參數(shù)組長(zhǎng)度可以大于實(shí)參數(shù)組長(zhǎng)度E、數(shù)組名做參數(shù)屬于值傳遞3、對(duì)靜態(tài)變量的正確描述(
A,B,D,E
)A、靜態(tài)局部變量在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配單元(
)B、靜態(tài)外部變量可以賦初值,也可以不賦初值C、靜態(tài)外部變量的作用與外部變量相同D、靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束時(shí),仍保存其值,不會(huì)隨著消失。E、靜態(tài)局部變量只賦一次初值4、下列描述正確的是(
A
,C)。A、由main
函數(shù)及其參數(shù)argc和*argv[]可以實(shí)現(xiàn)命令行方式B、使用fclose關(guān)閉文件時(shí),先釋放文件指針,再寫緩沖區(qū)數(shù)據(jù)到文件中//先寫緩沖區(qū)數(shù)據(jù)到文件中,再釋放文件指針C、字符數(shù)組并不要求它的最后一個(gè)字符是‘\0’//是的,以字符指針指向的字符串才要求,因?yàn)橹挥羞@樣,才能知道字符串的長(zhǎng)度,而在字符數(shù)組中,不用\0,一樣可以知道到哪里是字符數(shù)組的結(jié)尾。D、‘A’和“A”都是字符串常量
E、若char*S=“\ta\017bc”;則指針變量S指向的字符串所占的字節(jié)數(shù)是75、在緩沖文件系統(tǒng)中用于讀寫的函數(shù)有(
A,B,D
)A、putchar()
B、fread()
C、rewind()
D、purw()
E、fseek()二、程序閱讀,并給出運(yùn)行結(jié)果(共10分,每題5分)。(1)main(){
unsigneda,b,x
intn;
a=0x763
輸出結(jié)果:
n=6;
b=a<<(12-n);
x=(a>>n-2)^b;
//+,-,的優(yōu)先級(jí)比<<,>>高。
printf(“\nb=%x,\nx=%x”,b,x);
}
在用2個(gè)字節(jié)表示整數(shù)的系統(tǒng)中結(jié)果為d8c0d8b6在用4個(gè)字節(jié)表示整數(shù)的系統(tǒng)中結(jié)果為1d8c01d8b6
故以上兩種結(jié)果都正確。
(2)#include
〈stdin.h〉
structm
{intx;int*y;
}
*p;
inta[4]={12,33,-40,100};
structmb[4]={10,&a[2],9,&a[3],8,&a[0],7,&a[1]}'
main(){
p=b;
輸出結(jié)果:
printf(“%d\n”,++p->x);//->的優(yōu)先級(jí)高于++,因此等于是++(p->x),為11
printf(“%d\n”,(++p)->x);//p后移一個(gè)元素,其x值為9;
printf(“%d\n”,++(*p->y));
//->的優(yōu)先級(jí)高于*,
此時(shí)p已指向b[1],故*(p->y)為a[3]為100.自加后為101;}故輸出結(jié)果為:119101
三、程序設(shè)計(jì)(共10分)設(shè)在文件a.txt和文件b.txt中分別存有兩個(gè)字符串,設(shè)計(jì)一個(gè)程序?qū)⑦@兩個(gè)字符串按依序交叉的方式合并為一個(gè)字符串(例如“aaaaa”與“bbb”的合并結(jié)果為“abababaa”,而“bbb”與“aaaaa”的合作結(jié)果為“
bababaa”,)并將結(jié)果存入文件a.txt中?!敬鸢浮繉懗绦驎r(shí),可以分別讀取a.txt文件和b.txt文件,注意(1),無(wú)論a文件先讀完還是b文件先讀完,程序都能作出適應(yīng)性的判斷。注意(2)把a(bǔ)和b合并的結(jié)果,寫到一個(gè)臨時(shí)文件c中,最后把c的文件覆蓋到a文件中,達(dá)到題意的要求。#include<stdio.h>main(){
FILE*fp,*fq,*fr;
charch;
if((fp=fopen("a.txt","r+"))==NULL)
{printf("cannotopenfilea.txt");
exit(0);
網(wǎng)址:/doc/26/9315.html}
if((fq=fopen("b.txt","r"))==NULL)
{printf("cannotopenfileb.txt");
exit(0);
}
fr=fopen("c.txt","w+");
while(!feof(fp))
{
ch=fgetc(fp);
fputc(ch,fr);
if(!feof(fq))
{
ch=fgetc(fq);
fputc(ch,fr);
}
}
while(!feof(fq))
{
ch=fgetc(fq);
fputc(ch,fr);
}
rewind(fp);rewind(fr);
while(!feof(fr))
{
ch=fgetc(fr);
fputc(ch,fp);
}
fclose(fp);
fclose(fq);fclose(fr);
}
1.2
四川大學(xué)2001年攻讀碩士學(xué)位研究生入學(xué)考試試題
及
答案1.2.1第2001年――C語(yǔ)言程序設(shè)計(jì)
題目一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼寫在答題紙上。請(qǐng)注意注明題號(hào)。每小題1分,共計(jì)6分)1、‘\t’表示什么?①字符串常數(shù)
②標(biāo)識(shí)符
③變量
④字符常量答案:④2、對(duì)宏定義不正確的描述是哪一個(gè)?①在進(jìn)行宏定義時(shí),可以引用已經(jīng)定義的宏名,可以層層置換//可以引用已經(jīng)定義了的宏名,可以層層置換②宏名的有效范圍包括本文件的任何位置//宏名的有效范圍定義命令之后到本源文件結(jié)束,可以用#define終止宏定義的作用域③寵定義不是語(yǔ)句,不必在行末加分號(hào)//是預(yù)處理定義語(yǔ)句④對(duì)程序中雙引號(hào)括起來(lái)的字符串,即使與宏名相同,也不進(jìn)行置換3、若定義staticchars[20]=”computer”;則執(zhí)行語(yǔ)句x=strlen(s);之后,x的值為多少?①20
②9
③8
④19//strlen函數(shù)計(jì)算char*型字符串的長(zhǎng)度的時(shí)候,并不包含末尾的\0;4、以下哪一個(gè)表達(dá)式取值是正確的?①6>5結(jié)果為6
②6&&5結(jié)果為7③6||5結(jié)果為7
④6<5結(jié)果為05、如定義enumweekday
{one,two,thr,fou,fiv};enumweekdayworking;以下哪個(gè)是不正確的枚舉變量的使用?①working=thr;
②working=2;③working=(enumweekday)2;④working=(enumweekday)(5-3);//不能對(duì)其賦值6、下列說(shuō)法中正確的是哪一個(gè)?①sizeof(char)
是結(jié)果為整型的表達(dá)式②sizeof(char)
是一個(gè)不合法的表示形式③sizeof(char)
是一種函數(shù)調(diào)用④sizeof(char)
是結(jié)果為實(shí)型的表達(dá)式二、閱讀程序,并回答問(wèn)題(共12分)1、下列程序的輸出是什么?(3分)#include<stdio.h>voidmain()﹛char*aplha[6]=
﹛“ABC”,“DEF”,“GHI”,“JKL”,“MNO”,“PQR”﹜;char**p;inti;p=aplha;for(i=0;i<4;i++)printf(“%s”,p[i]);printf(“\n”);﹜
//輸出結(jié)果ABCDEFGHIJKL剛好是字符串?dāng)?shù)組里面的前四個(gè)元素的內(nèi)容連接起來(lái)
2、下列程序?yàn)槭裁礋o(wú)法將用戶輸入的三個(gè)整數(shù)按從小到大排序輸出?應(yīng)該如何修改?(6分)#include<stdio.h>voidswap(intx,inty)﹛intt=x;x=y;y=t;﹜voidmain()﹛inta,b,c;scanf(“%d,%d,%d”,
&a,
&b,
&c);if(a>b)
swap(a,b);if(a>c)
swap(a,c);if(b>c)
swap(b,c);printf(“%d,%d,%d”,a,b,c);﹜//函數(shù)swap采用值傳遞,雖然將形參x和y交換了,但是并不影響到實(shí)參。將值傳遞改成指針傳遞就可以了。C函數(shù)參數(shù)采用值傳遞方式,雖然swap函數(shù)將形式參數(shù)x和y的值進(jìn)行了調(diào)換,但是影響不到相應(yīng)的實(shí)在參數(shù)。所以在主函數(shù)中,通過(guò)調(diào)用sawp函數(shù)調(diào)換a和b(或a或c,或b和c)的值是根本達(dá)不到目的的。修改:(1)(2分)voidswap(int*x,int*y)﹛intt=*x;*x=*y;*y=t;﹜(2)(2分)主函數(shù)if(a>b)
swap(&a,&b);if(a>c)
swap(&a,&c);if(b>c)
swap(&b,&c);
3、假設(shè)系統(tǒng)為基本整型量分配2個(gè)字節(jié),為字符型量分配1個(gè)字節(jié)。下列程序完成的功能是什么?(3分)#include<stdio.h>union﹛intn;charch[2];﹜u;voidmain()﹛intm;scanf(“%d”,&m);u.n=m;printf(“\n%u,%u”,u.ch[0],u.ch[1]);﹜
//該程序的功能,取用戶輸入的整數(shù)值的高字節(jié)和低字節(jié),并按照任意整數(shù)的低字節(jié)和高字節(jié)分別輸出。
三、程序設(shè)計(jì)題(12分)假設(shè)一個(gè)文本文件中保存著100個(gè)整數(shù),請(qǐng)將這100個(gè)整數(shù)按從小到大的順序?qū)懙搅硪粋€(gè)文本文件中去,并且在新文件中每10個(gè)整數(shù)占一行。源文件名和目標(biāo)文件名通過(guò)命令行參數(shù)獲取。
分?jǐn)?shù)分配:變量定義
2分命令行參數(shù)處理
1分文件打開(kāi)
1分文件讀
2分排序
3分文件寫
2分文件關(guān)閉
1分#include<stdio.h>voidmain(intargc,char*argv[])﹛FILE*fin,*fout;Inta[100],i,j,t;if(argc!=3)﹛printf(“Youforgottoenterafilename\n”);return;﹜fin=fopen(argv[1],“r”);fout=fopen(argv[2],“w”);for(i=0;i<100;i++)fscanf(fin,
“%d”,
&a[i]);for(i=0;i<99;i++)for(i=0;i<99-i;i++)if(a[j]>a[j+1])﹛t=a[j];a[j]=a[j+1];a[j+1]=t;﹜for(i=0;i<100;i++)﹛if(i%10=0)fprintf(fout,“%s”,“\n”);fprintf(fout,“%d”,a[i]);﹜fclose(fin);fclose(fout);﹜
1.3
四川大學(xué)2002年攻讀碩士學(xué)位研究生入學(xué)考試試題
及
答案1.3.1
第2002年――C語(yǔ)言題目C語(yǔ)言程序設(shè)計(jì)(共30分)一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確答案。每小題1分,共6分)1、如果I為整型變量,f為float型變量,c表達(dá)式'a'+I*f的類型為
。A、字符型
B、整型
C、單精度型
D、雙精度型//即使是兩個(gè)float型的數(shù)據(jù)相加,都化成double型
float型的數(shù)據(jù)在運(yùn)算時(shí)一律轉(zhuǎn)化成雙精度型,提高其運(yùn)算精度2、關(guān)于c表達(dá)式5||(a=b+c)==3的值,正確的說(shuō)法為
。A、值為1
B、值為5
C、值為0
D、僅這一個(gè)表達(dá)式,不能確定值,必須知道a,b,c的值后才能計(jì)算。//等號(hào)==的優(yōu)先級(jí)高于||所以先計(jì)算(a=b+c)==3但是不論它為真或假,在與5進(jìn)行或運(yùn)算時(shí),按照或運(yùn)算的法則,只要一方為真,表達(dá)式的結(jié)果為真。
3、若整型變量a的值為50,則c表達(dá)式a>>2的值為
。A、50
B、25
C、12.5
D、12//每右移一位除以2,且由于a為整型,結(jié)果為整型4、若c,c1,c2均為字符型變量,下列語(yǔ)句執(zhí)行后。c='a';c1=++c;c2=c++;c1,c2的值分別為
。A、c1='b',c2='c'
B、c1='a',c2='c'
C、c1='b',c2='b'
D、c1='a',c2='b'//前加加,先加1后使用值,后加加是先使用其值在加加,所以c加加后的值賦予c1,c1得值b,c2先使用值,再加加,c2得值b5、以下c
語(yǔ)句執(zhí)行后,
inti,
s=0;for(i=0;i<10;i++)s+=i;printf
('%d\n',i);輸出的內(nèi)容為
。A、0
B、9
C、10
D、11//i值在循環(huán)外定義,所以其值循環(huán)結(jié)束仍有意義,得值106、以下c語(yǔ)句執(zhí)行后,chars1[100]=″IlikeC1anguage″,s2[100];strcpy(s2,s1);strcat(s1,s2);puts(s2);輸出的內(nèi)容為
。A、I
B、IlikeClanguage
C、IlikeClanguageIlikeClanguageD、IlikeClanguageIlikeClanguageIlikeClanguage//連接后的串存在s1里,對(duì)s2沒(méi)有影響二、閱讀程序,寫出該程序的執(zhí)行結(jié)果。(4分)#include
〈stdio.h〉voidmain(
){
chara[3][10]={"Beijing","Shanghai","Chengdu"};charp1,(*p2)[10];p1=a[0];p2=a;printf("%c\n",*(a[1]+1));//a[1]代表是第一行字符串Shanghai,加1后得值第一個(gè)字符h的地址,*取出其地址里的值hprintf("%c\n",*(*(a+1)+2));//*(a+i)=a[i]
代表是第一行字符串Shanghai,加2后得值第2個(gè)字符a的地址,*取出其地址里的值printf("%c\n",*(p1+1));//p1是一字符指針,加一指向第零行第1個(gè)字符e的位置,*取出其地址里的值printf("%c\n",*(*(p2+1)+2));//p2為一指向數(shù)組的指針,p2是與數(shù)組名等價(jià)的指針,它指向2維數(shù)組的首行,p2+1指針指向了第一行字串Shanghai,加2后得值第2個(gè)字符a的地址,*取出其地址里的值printf("%s\n",*(p1+1));
//打印的從第一個(gè)字符開(kāi)始的第零行余下的字符串eijingprintf("%s\n",*(p2[2]);//p2[2]指的是第二行,打印第二行字符串Chengduprintf("%s\n",*(p2+1));
//p2+1指向的是第一行字符串shanghai三、按要求編寫函數(shù)。(8分)在一程序中定義了如下結(jié)構(gòu)類型用于處理單向鏈表:structlinkage
{
intvalue;
structlinkage*pNext;};現(xiàn)已經(jīng)編寫出按節(jié)點(diǎn)的成員a值從小到大建立初始鏈表的函數(shù)create(
),如下所示:
structlinkage*create(void){
structlinkage*pHead;inta[4]={2,1,3,5};pHead=NULL;for
(i=0;i<4;i++)pHead=addItem(pHead,a[i]);returnpHead;}在該函數(shù)的for循環(huán)前,pHead為NULL;在執(zhí)行整個(gè)for循環(huán)后,創(chuàng)建的鏈表如下所示:
即在被調(diào)函數(shù)addItem()中,需要?jiǎng)討B(tài)分配內(nèi)存,生成新節(jié)點(diǎn),將傳入的第二參數(shù)的值賦給該節(jié)點(diǎn)的成員value:并通過(guò)第一個(gè)參數(shù)鏈表首節(jié)點(diǎn)確定適當(dāng)位置放置該新節(jié)點(diǎn)。請(qǐng)完成函數(shù):structlinkage
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工聘用協(xié)議書2023
- 個(gè)人租房的合同協(xié)議書范本10篇
- 再婚離婚協(xié)議書2025年
- 重癥肌無(wú)力樣綜合征病因介紹
- T-CIECCPA 011-2024 高雜貴金屬冶煉渣資源化處理技術(shù)規(guī)范
- 中考?xì)v史復(fù)習(xí)第一部分教材知識(shí)速查模塊2中國(guó)近代史第1講列強(qiáng)的侵略與中國(guó)人民的抗?fàn)幑_(kāi)課一等獎(jiǎng)省
- (2024)汽車內(nèi)飾用品項(xiàng)目可行性研究報(bào)告寫作范本(一)
- 2023年金屬門窗及類似制品項(xiàng)目融資計(jì)劃書
- 2023年紡織產(chǎn)品項(xiàng)目籌資方案
- 《開(kāi)環(huán)伯德圖的繪制》課件
- 【MOOC】工程力學(xué)-浙江大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)4 擺臺(tái)技能(2)-中餐宴會(huì)擺臺(tái)
- 人教鄂教版五年級(jí)上冊(cè)科學(xué)復(fù)習(xí)資料
- 2024年政府采購(gòu)評(píng)審專家考試題庫(kù)含答案
- LLJ-4A車輪第四種檢查器使用方法
- 綠化工程竣工資料(全套)
- 《會(huì)診制度》PPT課件
- 場(chǎng)記單(標(biāo)準(zhǔn)模板)
- 鉛粉制造工藝介紹
- 水利水電工程單位分部工程施工質(zhì)量評(píng)定表(完整版)
- 往復(fù)壓縮機(jī)填料函結(jié)構(gòu)及原理課件講解
評(píng)論
0/150
提交評(píng)論