《C語言程序設(shè)計(jì)》課件第4章_第1頁
《C語言程序設(shè)計(jì)》課件第4章_第2頁
《C語言程序設(shè)計(jì)》課件第4章_第3頁
《C語言程序設(shè)計(jì)》課件第4章_第4頁
《C語言程序設(shè)計(jì)》課件第4章_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

綜合模擬試題一

綜合模擬試題一參考答案

綜合模擬試題二

綜合模擬試題二參考答案第四部分

綜合模擬試題綜合模擬試題一

2010年3月全國計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題(考試時(shí)間90分鐘,滿分100分)一、選擇題(1~10、21~40每題2分,11~20每題1

分,共70分)。

1.下列敘述中正確的是()。

A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞清況下需要的比較次數(shù)為n

B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)

C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)

D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(nlog2n)2.算法的時(shí)間復(fù)雜度是指()。A.算法的執(zhí)行時(shí)間

B.算法所處理的數(shù)據(jù)量C.算法程序中的語句或指令條數(shù)D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)3.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是()。A.編輯軟件 B.操作系統(tǒng)

C.教務(wù)管理系統(tǒng) D.瀏覽器4.軟件(程序)調(diào)試的任務(wù)是()。A.診斷和改正程序中的錯(cuò)誤B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤

D.確定程序中錯(cuò)誤的性質(zhì)5.數(shù)據(jù)流程圖(DFD圖)是()。A.軟件概要設(shè)計(jì)的工具B.軟件詳細(xì)設(shè)計(jì)的工具C.結(jié)構(gòu)化方法的需求分析工具

D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?.軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。A.定義階段 B.開發(fā)階段 C.維護(hù)階段 D.上述三個(gè)階段7.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言 B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言 D.數(shù)據(jù)控制語言8.在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。A.文件B.數(shù)據(jù)庫C.字段 D.記錄

9.數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。A.需求分析階段 B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段 D.物理設(shè)計(jì)階段10.有兩個(gè)關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是()。A.選擇B.投影 C.交 D.并11.以下敘述中正確的是()。A.

C語言程序是由過程和函數(shù)組成的B.

C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))C.

C語言函數(shù)不可以單獨(dú)編譯D.

C語言中除了main()函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在12.以下關(guān)于C語言的敘述中正確的是()。A.

C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間B.

C語言中的變量可以在使用之前的任何位置進(jìn)行定義C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致D.

C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示13.以下C語言用戶標(biāo)識(shí)符中,不合法的是()。A.

_1

B.

AaBc

C.a_b

D.a--b14.若有定義:doublea=22;inti=0,k=18;,則不符合C語言規(guī)定的賦值語句是()。A.a=a++,i++;

B.i=(a+k)<=(i+k);

C.i=a%11;

D.i=!a;15.有以下程序:#include<stdio.h>main(){ chara,b,c,d; scanf("%c%c",&a,&b); c=getchar();d=getchar(); printf("%c%c%c%c\n",a,b,c,d);}當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開始,<CR>代表回車,注意:回車也是一個(gè)字符)12<CR>34<CR>則輸出結(jié)果是()。A.1234

B.12 C.12 D.12

3

?3416.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是()。A.若要準(zhǔn)確無誤差地表示自然數(shù),應(yīng)使用整數(shù)類型B.若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型17.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是()。A.1

B.0C.2

D.不知道a的值,不能確定

18.以下選項(xiàng)中與if(a==1)a=b;elsea++;語句功能不同的switch語句是()。A.switch(a)

{ case1:a=b; break; default:a++;}B.switch(a==1)

{case0: a=b;break;

case1: a++; }C.switch(a)

{ default:a++;break;

case1:a=b;

}D.switch(a==1)

{ case1:a=b;break;

case0:a++;}19.有如下嵌套的if語句:if(a<B) if(a<C)k=a; elsek=c;else if(b<C)k=b; elsek=c;以下選項(xiàng)中與上述if語句等價(jià)的語句是()。A.k=(a<B)?a:b;k=(b<C)?b:c;B.k=(a<B)?((b<C)?a:B):((b>C)?b:c);C.k=(a<B)?((a<C)?a:C):((b<C)?b:c);D.k=(a<B)?a:b;k=(a<C)?a:c;20.有以下程序:#include<stdio.h>main(){ inti,j,m=1;

for(i=1;i<3;i++)

{ for(j=3;j>0;j--) { if(i*j)>3)break; m*=i*j; } } printf("m=%d\n",m);}程序運(yùn)行后的輸出結(jié)果是()。A.m=6

B.m=2C.m=4

D.m=521.有以下程序:#include<stdio.h>main(){ inta=1,b=2; for(;a<8;a++){b+=a;a+=2;}

printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.9,18

B.8,11

C.7,11

D.10,1422.有以下程序(其中,k的初值為八進(jìn)制數(shù)):#include<stdio.h>main(){ intk=011; printf("%d\n",k++);}程序運(yùn)行后的輸出結(jié)果是()。A.12

B.11 C.10

D.923.下列語句組中,正確的是()。A.char*s;s=“Olympic”;

B.chars[7];s="Olympic“;

C.char*s;s={“Olympic”};

D.chars[7];s={"Olympic"};24.下列關(guān)于return語句的敘述中正確的是()。A.一個(gè)自定義函數(shù)中必須有一條return語句B.一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句C.定義成void類型的函數(shù)中可以有帶返回值的return語句D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處25.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。A.intnum[0..2008];

B.intnum[];C.intN=2008; D.#defineN2008

intnum[N];

?intnum[N];26.有以下程序:#include<stdio.h>voidfun(char*c,intd){ *c=*c+1;d=d+1;

printf("%c,%c,",*c,d);}main(){ charb='a',a='A';

fun(&b,a);printf("%c,%c\n",b,a);}程序運(yùn)行后的輸出結(jié)果是()。A.b,B,b,A

B.b,B,B,AC.a,B,B,a

D.a,B,a,B27.若有定義int(*pt)[3];則下列說法中正確的是()。A.定義了基類型為int的三個(gè)指針變量B.定義了基類型為int的具有三個(gè)元素的指針數(shù)組ptC.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組D.定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(shù)元素的二維數(shù)組28.設(shè)有定義doublea[10],*s=a;以下能夠代表數(shù)組元素a[3]的是()。A.(*s)[3]

B.*(s+3)

C.*s[3]

D.*s+329.有以下程序:#include<stdio.h>main(){ inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=0;i<5;i++)s=s+a[b[i]];

printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.6

B.10C.11

D.1530.有以下程序:#include<stdio.h>main(){ intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t+=b[i][b[j][i]]; printf("%d\n",t);}程序運(yùn)行后的輸出結(jié)果是()。A.1

B.3 C.4

D.931.若有以下定義和語句:chars1[10]="abcd!",*s2="\n123\\";printf("%d%d\n",strlen(s1),strlen(s2));則輸出結(jié)果是()。A.55

B.105

C.107

D.5832.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){ *x=*(x+i);}main(){ inta[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++){ printf("%d",a[i]);} printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.1313

B.2234 C.3234

D.123433.有以下程序:#include<stdio.h>intf(intt[],intn);main(){ inta[4]={1,2,3,4},s; s=f(a,4);printf("%d\n",s);}intf(intt[],intn){ if(n>0)returnt[n-1]+f(t,n-1); elsereturn0;}程序運(yùn)行后的輸出結(jié)果是()。A.4

B.10 C.14

D.634.有以下程序:#include<stdio.h>intfun(){ staticintx=1; x*=2;returnx;}main(){ inti,s=1,

for(i=1;i<=2;i++)s=fun();

printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.0

B.1 C.4

D.835.有以下程序:#include<stdio.h>#defineSUB(a)(a)-(a)main(){ inta=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是()。A.0

B.-12

C.-20 D.1036.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯(cuò)誤的是()。A.data2=data1;

B.data2=(2,6);C.data2.real=data1.real;

D.data2.real=data1.unreal;37.有以下程序:#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};voidf(structAt);main(){ structAa={1001,"ZhangDa",1098.0}; f(A.;printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}voidf(structAt){t.a=1002;strcpy(t.b,“ChangRong”);t.c=1202.0;}程序運(yùn)行后的輸出結(jié)果是()。A.1001,ZhangDa,1098.0

B.1002,ChangRong,1202.0C.1001,ChangRong,1098.0

D.1002,ZhangDa,1202.038.有以下定義和語句:structworkers{ intnum;charname[20];charc; struct {intday;intmonth;intyear;}s;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是()A.*pw.year=1980;

B.w.year=1980;

C.pw->year=1980;

D.w.s.year=1980;39.有以下程序:#include<stdio.h>main(){ inta=2,b=2,c=2; printf("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0 B.1

C.2

D.340.有以下程序:#include<stdio.h>main(){ FILE*fp;charstr[10]; fp=fopen("myfile.dat","w"); fputs("abc",fp);fclose(fp); fp=fopen("myfile.data","a+");

fprintf(fp,"%d",28);

rewind(fp);

fscanf(fp,"%s",str);puts(str); fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。A.abc

B.28c

C.abc28

D.因類型不一致而出錯(cuò)二、填空題(每空2分,共30分)

1.一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F(xiàn),5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)?/p>

2.設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針front=45(指向隊(duì)頭元素的前一位置),尾指針rear=10(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有

個(gè)元素。

3.設(shè)二叉樹如下圖:對(duì)該二叉樹進(jìn)行后序遍歷的結(jié)果為

。

4.軟件是

、數(shù)據(jù)和文檔的集合。

5.有一個(gè)學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號(hào),姓名,班級(jí),年齡),課程的關(guān)系模式為:課程(課號(hào),課程名,學(xué)時(shí)),其中兩個(gè)關(guān)系模式的鍵分別是學(xué)號(hào)和課號(hào),則關(guān)系模式選課可定義為:選課(學(xué)號(hào),

,成績(jī))。

6.設(shè)x為int型變量,請(qǐng)寫出一個(gè)關(guān)系表達(dá)式

,用以判斷x同時(shí)為3和7的倍數(shù)時(shí),關(guān)系表達(dá)式的值為真。

7.有以下程序:

#include<stdio.h>

main()

{ inta=1,b=2,c=3,d=0; if(a==1) if(b!=2) if(c==3) d=1; else d=2; elseif(c!=3) d=3; else d=4;

else d=5; printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是

8.有以下程序:

#include<stdio.h>

main()

{ intm,n;

scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m=m-n; while(m<n)n=n-m; } printf("%d\n",m);

}程序運(yùn)行后,當(dāng)輸入1463<回車>時(shí),輸出結(jié)果是

。

9.有以下程序:

#include<stdio.h>

main()

{ inti,j,a[][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) for(j=i;j<3;j++)printf("%d",a[i][j]); printf("\n");

}程序運(yùn)行后的輸出結(jié)果是

10.有以下程序:

#include<stdio.h>

main()

{ inta[]={1,2,3,4,5,6},*k[3],i=0; while(i<3) { k[i]=&a[2*i]; printf("%d",*k[i]); i++; }}程序運(yùn)行后的輸出結(jié)果是

。

11.有以下程序:

#include<stdio.h>

main()

{ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}}; intb[3]={0},i;

for(i=0;i<3;i++)b[i]=a[i][2]+a[2][i]; for(i=0;i<3;i++)printf("%d",b[i]); printf("\n");

}

程序運(yùn)行后的輸出結(jié)果是

。

12.有以下程序:

#include<stdio.h>

#include<string.h>

voidfun(char*str)

{ chartemp;intn,i;

n=strlen(str); temp=str[n-1]; for(i=n-1;i>0;i--)str[i]=str[i-1]; str[0]=temp;

}

main()

{ chars[50]; scanf("%s",s);fun(s);printf("%s\n",s);

}

程序運(yùn)行后輸入:abcdef<回車>,則輸出結(jié)果是

。

13.以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個(gè)位、十位、百位的順序拆分并輸出。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{ intx=256;

printf("%d-%d-%d\n",

,x/10%10,x/100);

}

14.以下程序用以刪除字符串所有的空格,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{

chars[100]={"OurteacherteachClanguage!"};inti,j;

for(i=j=0;s[i]!='\0';i++)

if(s[i]!=''){s[j]=s[i];j++;}

s[j]=

printf("%s\n",s);

}

15.以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標(biāo)值。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{

inta[10],*p,*s; for(p=a;p-a<10;p++)scanf("%d",p); for(p=a,s=a;p-a<10;p++)if(*p>*s)s=

;

printf("index=%d\n",s-a);}

綜合模擬試題一參考答案

2010年3月全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言參考答案

一、選擇題(1~10、21~40每題2分,11~20每題1分,共70分)。二、填空題(每空2分,共30分)1.?A,B,C,D,E,F,5,4,3,2,1 2.?153.?EDBGHFCA 4.程序5.課號(hào) 6.?(x%3==0)&&(x%7==0)7.?4 8.?79.?123569 10.?13511.?101418 12.?fabcde13.?x%10(或x-x/10*10) 14.?'\0'?(或0,或NULL)15.?p 綜合模擬試題二

2010年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題(考試時(shí)間90分鐘,滿分100分)一、選擇題(1~10、21~40每題2分,11~20每題1分,共70分)。

1.下列敘述中正確的是()。

A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)

D.以上三種說法都不對(duì)

2.下列敘述中正確的是()。

A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化

C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化

D.以上三種說法都不對(duì)

3.軟件測(cè)試的目的是()。A.評(píng)估軟件可靠性

B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤

D.發(fā)現(xiàn)程序中的錯(cuò)誤4.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。A.軟件過程不規(guī)范

B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制

D.軟件成本不斷提高5.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過程C.結(jié)構(gòu)的開發(fā)過程D.軟件的運(yùn)行維護(hù)過程6.面向?qū)ο蠓椒ㄖ?,繼承是指()。A.一組對(duì)象所具有的相似性質(zhì)

B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)

D.類之間共享屬性和操作的機(jī)制

7.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫劃分原則是()。

A.記錄長(zhǎng)度 B.文件的大小

C.聯(lián)系的復(fù)雜程度

D.數(shù)據(jù)之間的聯(lián)系方式

8.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。

A.一對(duì)一 B.一對(duì)多

C.多對(duì)多 D.多對(duì)一

9.數(shù)據(jù)庫設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式

10.有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

11.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是()。

A.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成

B.結(jié)構(gòu)化程序使用goto語句會(huì)很便捷

C.在C語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的

D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題

12.以下關(guān)于簡(jiǎn)單程序設(shè)計(jì)的步驟和順序的說法中正確的是()。

A.確定算法后,整理并寫出文檔,最后進(jìn)行編碼和上機(jī)調(diào)試

B.首先確定數(shù)據(jù)結(jié)構(gòu),然后確定算法,再編碼,并上機(jī)調(diào)試,最后整理文檔

C.先編碼和上機(jī)調(diào)試,在編碼過程中確定算法和數(shù)據(jù)結(jié)構(gòu),最后整理文檔

D.先寫好文檔,再根據(jù)文檔進(jìn)行編碼和上機(jī)調(diào)試,最后確定算法和數(shù)據(jù)結(jié)構(gòu)

13.以下敘述中錯(cuò)誤的是()。

A.?C程序在運(yùn)行過程中所有計(jì)算都以二進(jìn)制方式進(jìn)行

B.?C程序在運(yùn)行過程中所有計(jì)算都以十進(jìn)制方式進(jìn)行

C.所有C程序都需要編譯鏈接無誤后才能運(yùn)行

D.?C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)

14.有以下定義:inta;longb;doublex,y;則以下選項(xiàng)中正確的表達(dá)式是()。

A.

a%a(int)(x-y)

B.

a=x!=y;

C.

(a*y)%b;

D.

y=x+y=x

15.以下選項(xiàng)中能表示合法常量的是()。

A.整數(shù):1,200

B.實(shí)數(shù):1.5e2.0

C.字符斜杠:'?\?‘ D.字符串:"\007"

16.表達(dá)式a+=a-=a=9的值是()。

A.?9

B.?-9

C.?18

D.?0

17.若變量已正確定義,在if(W)printf("%d\n",k);中,以下不可替代W的是()。

A.?a<>b+c B.?ch=getchar()

C.?a==b+c D.?a++

18.有以下程序:

#include<stdio.h>

main()

{ inta=1,b=0; if(!a)b++; elseif(a==0)if(a)b+=2; elseb+=3; printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。

A.?0

B.?1

C.?2

D.?3

19.若有定義語句inta,b;doublex;則下列選項(xiàng)中沒有錯(cuò)誤的是()。A.?switch(x%2)

{ case0:a++;break;

case1:b++;break;

default:a++;b++;

}B.?switch((int)x/2.0)

{ case0:a++;

break; case1:b++;break; default:a++;b++; }C.?switch((int)x%2)

{ case0:a++;break;

case1:b++;break;

default:a++;b++;

}D.?switch((int)(x)%2)

{ case0.0:a++;break;

case1.0:b++;break;

default:a++;b++;

}

20.有以下程序:

#include<stdio.h>

main()

{ inta=1,b=2; while(a<6) {b+=a;a+=2;b%=10;}

printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。

A.?5,11

B.?7,1C.?7,11 D.?6,1

21.有以下程序:

#include<stdio.h>

main()

{ inty=10; while(y--); printf("y=%d\n",y);

}程序運(yùn)行后的輸出結(jié)果是()。

A.?y=0

B.?y=-1

C.?y=1

D.?while構(gòu)成無限循環(huán)

22.有以下程序:

#include<stdio.h>

main()

{chars[]="rstuv";

printf("%c\n",*s+2);

}程序運(yùn)行后的輸出結(jié)果是()。

A.tuv

B.字符t的ASCII碼值C.t

D.出錯(cuò)

23.有以下程序:

#include<stdio.h>

#include<string.h>

main()

{charx[]="STRING"; x[0]=0;x[1]='\0';x[2]='0';

printf("%d%d\n",sizeof(x),strlen(x));

}程序運(yùn)行后的輸出結(jié)果是()。

A.61 B.70C.63

D.71

24.有以下程序:

#include<stdio.h>

intf(intx);

main()

{intn=1,m; m=f(f(f(n))); printf("%d\n",m);

}

intf(intx)

{returnx*2; }程序運(yùn)行后的輸出結(jié)果是()。

A.1

B.2C.4

D.8

25.以下程序段完全正確的是()。

A.int*p;

scanf("%d",&p);

B.int*p;

scanf("%d",p);

C.intk,*p=&k;

scanf("%d",p);

D.intk,*p;*p=&k;scanf("%d",p);

26.有定義語句:int*p[4];以下選項(xiàng)中與此語句等價(jià)的是()。

A.intp[4];

B.int**p;

C.int*(p[4]);

D.int(*p)[4];

27.下列定義數(shù)組的語句中,正確的是()。

A.intN=10;

B.#defineN10

intx[N]; ?intx[N];

C.intx[0…10];

D.intx[];

28.若要定義一個(gè)具有5個(gè)元素的整型數(shù)組,以下錯(cuò)誤的定義語句是()。

A.inta[5]={0};

B.intb[]={0,0,0,0,0};

C.intc[2+3];

D.inti=5,d[i];

29.有以下程序:

#include<stdio.h>

voidf(int*p);

main()

{ inta[5]={1,2,3,4,5},*r=a; f(r); printf("%d\n",*r);

}

voidf(int*p)

{ p=p+3; printf("%d,",*p); }程序運(yùn)行后的輸出結(jié)果是()。

A.1,4

B.4,4

C.3,1

D.4,1

30.有以下程序:

#include<stdio.h>

voidfun(int*a,intn)

{inti,j,k,t;

for(i=0;i<n-1;i+=2)

{ k=i;

or(j=i;j<n;j+=2)if(a[j]>a[k])k=j;

t=a[i];a[i]=a[k];a[k]=t;

}

}

main()

{ intaa[10]={1,2,3,4,5,6,7},i;

fun(aa,7); for(i=0;i<7;i++)printf("%d,",aa[i]); printf("\n");

}程序運(yùn)行后的輸出結(jié)果是()。

A.7,2,5,4,3,6,1

B.1,6,3,4,5,2,7

C.7,6,5,4,3,2,1

D.1,7,3,5,6,2,1

31下列選項(xiàng)中,能夠滿足“若字符串s1等于字符串s2,則執(zhí)行ST”要求的是()。

A.if(strcmp(s1,s2)==0)ST;

B.if(s1==s2)ST;

C.if(strcpy(s1,s2)==1)ST;

D.if(s1-s2==0)ST;

32.以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是()。

A.while(*t=*s){t++;s++}

B.for(i=0;t[i]=s[i];i++);

C.do{*t++=*s++;}while(*s);

D.for(i=0,j=0;t[i++]=s[j++];);.

33.有以下程序(strcat函數(shù)用以連接兩個(gè)字符串):

#include<stdio.h>

#include<string.h>

main()

{ chara[20]="ABCD\0EFG\0",b[]="IJK";

strcat(a,b);printf("%s\n",a);

}程序運(yùn)行后的輸出結(jié)果是()。

A.ABCDE\0FG\0IJK

B.ABCDIJK

C.IJK

D.EFGIJK

34.有以下程序(程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母):

#include<stdio.h>

#include<ctype.h>

voidfun(char*p)

{ inti=0; while(p[i]) { if(p[i]==''&&islower(p[i-1]))p[i-1]=p[i-1]-'a'+'A'; i++;

D.abcdEfg! }}main(){ chars1[100]="abcdEFG!"; fun(s1);printf("%s\n",s1);}程序運(yùn)行后的輸出結(jié)果是()。

A.abcdEFG!

B.AbCdEfg!

C.aBcDEFG!

35.有以下程序:

#include<stdio.h>

voidfun(intx)

{if(x/2>1)fun(x/2); printf("%d",x);

}

main()

{fun(7);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

A.137

B.731

C.73

D.37

36.有以下程序:

#include<stdio.h>

intfun()

{

staticintx=1;

x+=1;returnx;

}

main()

{ inti,s=1; for(i=1;i<=5;i++)s+=fun(); printf("%d\n",s);

}程序運(yùn)行后的輸出結(jié)果是()。

A.11

B.21

C.6 D.12037.有以下程序:#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c; a=b=c=(int*)malloc(sizeof(int));

*a=1;*b=2,*c=3;

a=b; printf("%d,%d,%d\n",*a,*b,*c);}程序運(yùn)行后的輸出結(jié)果是()。A.3,3,3

B.2,2,3 C.1,2,3

D.1,1,338.有以下程序:#include<stdio.h>main(){ ints,t,A=10;doubleB=6; s=sizeof(A.;t=sizeof(b);

printf("%d,%d\n",s,t);}在VC6平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是()。A.2,4

B.4,4C.4,8

D.10,639.若有以下語句:typedefstructS{ intg;charh;}T;下列敘述中正確的是()。A.可用S定義結(jié)構(gòu)體變量

B.可用T定義結(jié)構(gòu)體變量

C.?S是struct類型的變量

D.?T是structS類型的變量40.有以下程序:#include<stdio.h>main(){shortc=124; c=c

; printf("%d\n",c);}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()A.>>2

B.|248C.&0248 D.<<1

二、填空題(每空2分,共30分)1.一個(gè)棧的初始狀態(tài)為空。首先將元素5,4,3,2,1依次入棧,然后退棧一次,再將元素A,B,C,D依次入棧,之后將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序?yàn)?/p>

。2.在長(zhǎng)度為n的線性表中,尋找最大項(xiàng)至少需要比較

次。3.一顆二叉樹有10個(gè)度為1的節(jié)點(diǎn),7個(gè)度為2的節(jié)點(diǎn),則該二叉樹共有個(gè)節(jié)點(diǎn)。4.僅有順序、選擇(分支)和重復(fù)(循環(huán))結(jié)構(gòu)構(gòu)成的程序是

程序。5.數(shù)據(jù)庫設(shè)計(jì)的四個(gè)階段是:需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì)和

。6.以下程序運(yùn)行后的輸出結(jié)果是

。#include<stdio.h>main()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論