計算機基礎(chǔ)與程序設(shè)計試題大匯總_第1頁
計算機基礎(chǔ)與程序設(shè)計試題大匯總_第2頁
計算機基礎(chǔ)與程序設(shè)計試題大匯總_第3頁
計算機基礎(chǔ)與程序設(shè)計試題大匯總_第4頁
計算機基礎(chǔ)與程序設(shè)計試題大匯總_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

NUMPAGES

62

頁第

PAGE

1

歷年真題匯總

全國2006年4月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.CPU處理數(shù)據(jù)和指令的基本單位是字(Word),一個字的字長是()

A.8bitsB.16bitsC.32bits D.與CPU數(shù)據(jù)總線有關(guān)的bit位數(shù)

2.與十進制1100等值的十六進制數(shù)是()

A.44AB.44CC.54AD.54C

3.退出TurboC2.0返回系統(tǒng),在主菜單File項中可選擇()

A.LoadB.NewC.SaveD.Quit

4.設(shè)有inta=3,b=-4,c=5;表達式(a<b)?a+b:(a-b,b+4,a-=b+4)的值是()

A.–1B.0C.3 D.7

5.若有下列程序段,欲使a=2、b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是()

(其中<CR>表示換行)

inta,b;

scanf(″a=%db=%d″,&a,&b);

A.2<CR> B.a=2b=3<CR>C.a=2,b=3<CR>D.2,3<CR>

3<CR>

6.下面程序段的輸出結(jié)果是()

main()

{ints,p;

s=p=5;

p=++s;

p++;++p;

printf(″%d\n″,p);

}

A.5 B.6C.7D.8

7.下列if語句中,有語法錯誤的是()

A.if(x>y);

B.if(x=y)x+y;

C.if(x!=y)scanf(″%d″,&x)elsescanf(″%d″,&y)

D.if(x<y){x++;y++;}

8.下面程序段執(zhí)行后的輸出結(jié)果是()

inti=-1;

if(i<=0)printf(″****\n″);

elseprintf(″%%%%\n″);

A.****B.%%%%C.%%%%cD.****c

9.下面程序段的循環(huán)次數(shù)是()

intk=2;

while(k==0)printf(″%d″,k);

k--;printf(″\n″);

A.0次B.1次C.2次D.無限次

10.下面程序段的輸出結(jié)果是()

a=100;

while(a>120);

a=a+1;

printf(″%d″,a);

A.100B.101C.120 D.121

11.下面程序執(zhí)行后,i的值是()

main()

{inta[5]={1,2,3,4,5},i=2

printf(″%d″,a[i++]);

}

A.1 B.2C.3 D.4

12.下面程序的輸出結(jié)果是()

main()

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

for(i=0;i<4;i+=2)printf(″%d″,x[i][1]);

}

A.5 1B.5 2C.8 2D.9 3

13.在C程序中,若用基本數(shù)據(jù)類型所定義的變量調(diào)用函數(shù),正確的說法是()

A.由系統(tǒng)自動指定對應(yīng)實參和形參是否共用存儲單元

B.對應(yīng)實參和形參各占一個獨立的存儲單元

C.對應(yīng)實參和形參共用一個存儲單元

D.可以由用戶指定對應(yīng)實參和形參是否共用存儲單元

14.下面敘述中不正確的是()

A.不同函數(shù)中可以使用相同名字的變量B.形式參數(shù)是局部變量

C.在一個函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)有效

D.在一個函數(shù)內(nèi)部的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效

15.設(shè)有語句inta[4][10],*p=*a;則下面表達式中屬于地址表達式的是()

A.a[1][2]B.a[1]C.*(p+1*10+2) D.*(a[1]+2)

16.下面定義不正確的是()

A.structstar B.structstar

{ {

intid intid;

char*name; char*name;

}star1={1001,″Moon″}; };star1={1001,″Moon″};

C.struct D.structstar

{ {

intid; intid;

char*name; char*name;

}star1={123,″Sun″}; }star1;

17.下面各個位運算符的優(yōu)先級從左到右依次升高的是()

A.|^&>>B.^>>&~C.<<|^~D.~|&>>

18.設(shè)有說明:intu=1,v=14;表達式u+v>>2的值是()

A.0 B.3C.5 D.7

19.如果將文件指針fp指向文件末尾,正確的語句是()

A.feof(fp);B.rewind(fp);C.fseek(fp,0L,0);D.fseek(fp,0L,2);

20.下面程序段中,不能完成的功能是()

FILE*fp;

charch=′v′;

fp=fopen(″boy″,″rb+″);

fputc(ch,fp);

A.建立文件指針fp與文件boy的聯(lián)系 B.從boy文件中讀取一個字符

C.向boy文件中寫一個字符 D.打開名為boy的二進制文件

二、多項選擇題(本大題共5小題,每小題2分,共10分)

21.總線是連接微機CPU、內(nèi)存和外設(shè)之間傳送信號的公共通道,微機的總線包括有()

A.電源線B.數(shù)據(jù)線C.地址線 D.控制線E.網(wǎng)絡(luò)線

22.若定義charc[11];可將字符串″Iamaboy″賦給數(shù)組c,下面正確的選項有()

A.c=″Iamaboy″;B.getchar(c);C.gets(c);D.scanf(″%s″,c);

E.for(i=0;i<10;i++)scanf(″%c″,&c[i];c[10])=’\0’;

23.若有如下定義和語句,則能正確表示數(shù)組a首元素地址的表達式有()

inta[10],*p;

p=a;

A.a[0]B.aC.p+1D.pE.*p

24.設(shè)有說明:intx=1,y=3;下面表達式的值為2的有()

A.y&~xB.x^yC.x|yD.y|x>>1E.x<<1|y>>2

25.在C語言中,關(guān)于符號FILE下面說法正確的有()

A.FILE是C的關(guān)鍵字B.FILE表示一種關(guān)于文件參數(shù)的結(jié)構(gòu)體類型

C.FILE表示一種關(guān)于文件參數(shù)的結(jié)構(gòu)體變量D.FILE*可以用來說明文件指針

E.文件指針指向的變量的數(shù)據(jù)類型是FILE

三、簡答題(本大題共4小題,每小題4分,共16分)

26.C語言中如何表示“真”和“假”?系統(tǒng)如何判斷一個量的“真”和“假”?

27.什么是“直接遞歸調(diào)用”?什么是“間接遞歸調(diào)用”?

28.判斷下面兩程序段正確與否,并說明原因。

(1)charstr[12];str=″program″;

(2)char*str;str=″program″;

29.設(shè)有說明:

structlanguage{longspearer;charcountry[20];}chinese;

試寫出對chinese的成員spearer和country分別賦值1250000000和”China”的C語句。

四、閱讀分析題(本大題共6小題,每小題5分,共30分)

30.閱讀下面程序,寫出運行結(jié)果(已知A的ASCII碼為65,a的ASCII碼為97)。

#include″stdio.h″

main()

{intk=100;charm;

m=k;putchar(m);

printf(″,%d,%c,%o,″k,m-32,m);

}

31.閱讀下面程序,并回答問題:

main()

{intx,y,z,c;

scanf(″%d%d%d″,&x,&y,&z);

if(x<z){c=y;y=z;z=c;}

if(x<z){c=x;x=z;z=c;}

if(x<y){c=x;x=y;y=c;}

printf(″%d,%d,%d″,x,y,z);

}

(1)若程序運行時,輸入3、2和5,則輸出結(jié)果是什么?

(2)寫出程序所實現(xiàn)的功能。

32.閱讀下面程序,并回答問題:

main()

{intm,n;

m=65;

n=14;

while(m!=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf(″m=%d\n″,m);

}

(1)程序輸出結(jié)果是多少?

(2)外循環(huán)執(zhí)行完一次時,m和n的值分別是多少?

(3)將while(n>m)n-=m;語句刪除后,程序運行情況如何?

33.閱讀下面程序,并回答問題:

gcd(intx,inty)

{inttemp;

while(y){temp=x%y;x=y;y=temp;}

returnx;

}

main()

{inta,b,y;

scanf(″%d,%d″,&a,&b);

y=gcd(a,b);

printf(″最大公約數(shù)是:%d″,y);

}

(1)gcd函數(shù)的返回值類型是什么?

(2)若將returnx寫成returny會得到什么樣的結(jié)果?

34.閱讀下面程序,寫出運行結(jié)果。

mian()

{char*str[]={″Pascal″,″CLanguage″,″Dbase″,″Cobol″};

intk;

for(k=0;k<4;k++)

printf(″%s\n″,str[k]);

}

35.閱讀下面程序段,寫出輸出結(jié)果。

structnum

{floatf1;

intj;

}u={5.6,8},*p=&u;

printf(″%.2f,%d\n″,u.f1,u.j);

printf(″%.2f,%d\n″,(*p).f1,p->j);

五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)

36.若有n行n列數(shù)組,試編寫一程序,分別求出兩條對角線元素之和。(從鍵盤輸入n*n個整型數(shù),n≤20)

37.若在c:\tclt路徑下有一個名為zz.dat的文本文件,它包括10個按升序排列的整數(shù),且每兩個數(shù)之間用逗號隔開,現(xiàn)要插入一個整數(shù)使該序列仍保持升序,并把新序列寫入到c:\tclt路徑下名為zzz.dat的文本文件中。

全國2006年7月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.存儲量1MB等于()

A.23字節(jié)B.210字節(jié)C.220字節(jié)D.230字節(jié)

2.下面數(shù)據(jù)中最小數(shù)是()

A.(0.1100)2B.(0.64)8C.(0.8125)10D.(0.D)16

3.在TurboC2.0中,尋求在線幫助可按鍵()

A.F1B.F5C.F9D.F10

4.設(shè)有inta=3,b=-4,c=0;表達式((a>b)?a:b)&&c<0的值是()

A.-4B.0C.1D.3

5.若有下列程序段,欲使a=2、b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是()

(其中<CR>表示換行)

inta,b;

scanf(″a=%d,b=%d″,&a,&b);

A.2<CR>B.a=2b=3<CR>C.a=2,b=3<CR>D.2,3<CR>

3<CR>

6.下面程序段的輸出結(jié)果是()

main()

{ints,p;

s=p=5;

p=--s;

p++;++p;

printf(″%d\n″,p);

}

A.5B.6C.7D.8

7.關(guān)于if語句下面敘述正確的是()

A.只有當if語句中表達式的值等于1時,才執(zhí)行if的內(nèi)嵌語句

B.只有當if語句中表達式的值為假時,才執(zhí)行if的內(nèi)嵌語句

C.只有當if語句中表達式的值等于0時,才執(zhí)行if的內(nèi)嵌語句

D.只要if語句中表達式的值非0時,就執(zhí)行if的內(nèi)嵌語句

8.若執(zhí)行下面程序時,從鍵盤輸入數(shù)據(jù)3和4,則程序的輸出結(jié)果是()

main()

{inta,b,s;

scanf(″%d″,&a,&b);

s=a;

if(a<b)s=b

s=s*s;

printf(″%d″,s);

}

A.9B.12C.16D.25

9.若intx=0;則while(x==0);的循環(huán)次數(shù)是()

A.0B.1C.2D.無限次

10.下面程序段的輸出結(jié)果是()

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

{for(j=1;j<3;j++)

printf(″%d″,i+j);

printf(″\n″);}

A.2334B.234C.23 D.2

34 34

11.下面程序的輸出結(jié)果是()

mian()

{inta[5]={2,4,6,8,10},i;

i=2;

printf(″%d″,a[i++]);

}

A.2B.4C.6D.8

12.下面程序的輸出結(jié)果是()

main()

{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

inti,j,k=0;

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

k=k+a[i][0];

printf(″%d\n″,k);

}

A.27B.33C.39 D.45

13.以下正確的函數(shù)定義形式是()

A.doublefun(intx,inty) B.doublefun(intx;inty)

C.doublefun(intx,inty); D.doublefun(intx,y);

14.關(guān)于變量以下不正確的說法是()

A.在不同函數(shù)中可以使用相同名字的變量

B.形式參數(shù)是全局變量

C.在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D.在函數(shù)內(nèi)的復(fù)合語句中定義的變量是局部變量

15.設(shè)有語句inta[4][10],*p=*a;則下列表達式中不是地址表達式的是()

A.&a[1][2]B.a[3]C.*(p+1*10+2)D.p+1*10+2

16.下面關(guān)于結(jié)構(gòu)體類型變量定義不正確的是()

A.structscore B.struct

{ {

intmath; intmath;

intChinese; intChinese;

}Li,Wang;}Li,Wang;

C.structscore D.structscore

{ {

intmath; intmath;

intChinese; intChinese;

}; };Li,Wang;

structscoreLi,Wang;

17.下面各個運算符的優(yōu)先級從左到右依次降低的是()

A.&>>|^B.~&>>|C.>>&^|D.~>>&^

18.設(shè)有說明:intu=1,v=2;表達式:u+v<<2的值是()

A.-1B.1C.9D.12

19.下面程序段中,不能完成的功能是()

FILE*fp;

charch;

fp=fopen(″file1″,″rb+″);

ch=fgetc(fp);

A.建立文件指針fp與文件file1的聯(lián)系 B.從file1文件中讀一個字符

C.向file1文件中寫一個字符 D.打開名為file1的二進制文件

20.在格式:fread(stu,size,n,fp);中,下面說法不正確的是()

A.stu是內(nèi)存中存放數(shù)據(jù)的首地址 B.n表示讀n次

C.size是一個數(shù)據(jù)塊的字節(jié)數(shù) D.fp表示文件指針

二、多項選擇題(本大題共5小題,每小題2分,共10分)

21.微機系統(tǒng)的主機包含的部件有()

A.輸入設(shè)備B.存儲器C.輸出設(shè)備D.運算器E.控制器

22.下面各選項中,能正確進行字符串操作的有()

A.chars[]={′a′,′b′,′c′,′d′,′e′,′\0′};

B.chars[10];s=″abcde″;

C.chars[10];strcpy(s,″abcde″)

D.chars[10];getchar(s);

E.chars[10];gets(s);

23.若有以下定義和語句,則能正確表示數(shù)組a首元素地址的表達式有()

doublea[5],*p1

p1=a;

A.aB.p1+1C.*p1 D.&a[1]E.p1

24.設(shè)有說明:intu=1,v=3,w=7;下面表達式的值為3的有()

A.w>>1&v|uB.u&v&wC.u|v&wD.w&v<<1E.v^w|u

25.在C語言中,下面關(guān)于文件說法正確的有()

A.按數(shù)據(jù)的組織形式,可分為文本文件和二進制文件B.文件只能是ASCII碼文件

C.文件能用fopen()函數(shù)打開D.文件只能是二進制文件

E.對打開的文件可以進行讀或?qū)懖僮?/p>

三、簡答題(本大題共4小題,每小題4分,共16分)

26.簡述C語言中標識符的命名規(guī)則并說明C語言中哪些名是用標識符來標識的?

27.變量有哪幾種存儲類別?指明它們存儲數(shù)據(jù)的區(qū)域。

28.定義char*str=″computer″;是將字符串″computer″賦值給變量str,這種說法對嗎?為什么?

29.設(shè)有說明:

structflower{char*part;char*color;}mum;

char*part_of_flower[3]={″花″,″莖″,″葉″};

char*seven_color[7]={″赤″,″橙″,″黃″,″綠″,″青″,″藍″,″紫″};

試寫出將mum的成員part定義為″花″、成員color定義為″黃″的C語句。

四、閱讀分析題(本大題共6小題,每小題5分,共30分)

30.閱讀下面程序,寫出運行結(jié)果。

main()

{inta=789,x,y,z;

x=a/100;

y=a/10-10*x;

z=a-10*y-100*x

printf(″%d,%o,%x,%d″,x,y,z,100*z+10*y+x);

}

31.閱讀下面程序,并回答問題:

main()

{inta,b,x,y;

scanf(″%d,%d″,&a,&b);

x=a*a+b*b

if(x>100)

{y=x/100;printf(″%d″,y);}

elseprintf(″%d″,a+b);

}

(1)若程序運行時,輸入6和9,輸出結(jié)果是什么?

(2)說明程序的功能。

32.閱讀下面程序,并回答問題:

main()

{intu,v,a,b,t,r;

u=24;v=16;

if(u>v){t=u;u=v;v=t;}

a=u;b=v;

while((r=b%a)!=0)

{b=a;a=r;}

printf(″a=%d\n″,a);

}

(1)程序輸出結(jié)果是什么?

(2)該程序完成什么功能?

(3)若將while循環(huán)替換為do-while循環(huán),請寫出相應(yīng)的程序段。

33.閱讀下面程序,寫出運行結(jié)果。

inta=5,b=5;

chang1()

{inta=4;

printf(″a1=%d,b1=%d\n″,a,b++);

}

chang2(inta,intb)

{a++;b--;

}

main()

{chang1();a++,b++;chang2(a,b);

printf(″a2=%d,b2=%d\n″,a,b);

}

34.閱讀下面程序,寫出運行結(jié)果。

#include<stdio.h>

#include<string.h>

main()

{charp1,p2,srt[50]=″abc″,str1[50];

p1=″abc″;p2=″abc″;

puts(str);

strcpy(str1,p1);

p1=str1;

printf(″%s\n″,strcat(p1,p2));

strcpy(str+1,p1);

printf(″%s\n″,str);

}

35.設(shè)有說明語句int*p;請分析下面語句的含義:

p=(int*)malloc(sizeof(int));

free(p);

五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)

36.從鍵盤輸入n*n個整型數(shù)(n≤20),組成n行n列數(shù)組,打印出其上三角數(shù)組。

37.用循環(huán)語句編程打印下列圖案,并以ASCII碼的形式寫到c盤根目錄下的1x.dat文件中。(第一行的″$″在第20列)

$

$$$

$$$$$

$$$$$$$

全國2007年4月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.I/O設(shè)備指的是計算機的()

A.存儲設(shè)備 B.輸入和輸出設(shè)備 C.控制器 D.運算器

2.具有只讀功能的內(nèi)存儲器是指()

A.ROM B.RAM C.硬盤 D.CD-ROM

3.十進制數(shù)-5在八位的微機內(nèi)的存儲形式是()

A.00000101 B.10000101 C.11111010 D.11111011

4.C語言源程序的基本單位是()

A.過程 B.函數(shù) C.子程序 D.語句

5.設(shè)有intp,q;以下不正確的語句是()

A.p*=3; B.p/=q; C.p+=3; D.p&&=q;

6.若有下列程序段,欲使a=2,b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是(其中<CR>表示換行)()

inta,b

scanf("%d%d",&a,&b);

A.2<CR> B.a(chǎn)=2b=3<CR> C.a(chǎn)=2,b=3<CR> D.2,3<CR>

3<CR>

7.設(shè)有說明intx=0,y=2;

則執(zhí)行if(x=0)y=1+x;

elsey=x-1;

后,變量y的值是()

A.-1 B.0 C.1 D.2

8.下面程序的輸出結(jié)果是()

main()

{

intx=5,y;

if(x>0)

y=1;

y=0;

if(x<0)

y=-1;

printf("%d",y);

}

A.-1 B.0 C.1 D.5

9.執(zhí)行下面程序段后,輸出字符B的個數(shù)是()

x=0;

while(x<=5){

printf("B");

x+=2;

}

A.0個 B.3個 C.5個 D.6個

10.在下述程序中,for循環(huán)執(zhí)行的次數(shù)是()

main()

{

inti=0,j=10,k=2,s=0;

for(;;)

{

i+=k;

if(i>j)

{

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

break;

}

s+=i;

}

}

A.4 B.5 C.6 D.7

11.若有定義:inta[10];則數(shù)組元素的下標的下限和上限分別是()

A.0和1 B.1和9 C.0和9 D.1和10

12.下列說法不正確的是()

A.一個源程序文件由一個或多個函數(shù)組成 B.一個C程序由一個或多個源程序文件組成

C.一個C程序以函數(shù)為獨立的編譯單位 D.一個C程序必須有一個main()函數(shù)

13.在C語言中,確定函數(shù)返回值的類型由()

A.return語句中的表達式類型決定 B.調(diào)用該函數(shù)的主函數(shù)類型決定

C.調(diào)用函數(shù)時臨時決定D.定義函數(shù)時所指定的函數(shù)類型決定

14.若有以下定義和語句,且0≤i<10,則對數(shù)組元素地址的正確表示是()

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

p=a;

A.&(a+1) B.a(chǎn)++ C.&p D.&p[i]

15.若有以下說明:

chars[10]=“ABCDEFGH”,*p=s;

不能表示字符C的是()

A.s[2] B.s[3] C.s['c'-'a'] D.*(p+2)

16.有下列程序:

func(intx,inty,int*jia,int*jian)

{*jia=x+y;

*jian=x-y;}

main()

{inti=10,j=3,x1,x2;

func(i,j,&x1,&x2);

printf("%d,&d\n",x1,x2);}

則其運行結(jié)果是()

A.0,0 B.10,3 C.13,7 D.7,13

17.設(shè)有結(jié)構(gòu)體的定義如下:

structdata{

intn;

charc;

floatf;

};

則sizeof(structdata)的值是()

A.1 B.3 C.7 D.11

18.如果在程序中要使用系統(tǒng)提供的函數(shù)sqrt,則需要書寫的編譯預(yù)處理命令是()

A.#include<stdio.h> B.#include<math.h>

C.#include<string.h> D.#include<malloc.h>

19.設(shè)有說明:intx=12,y=3;則x¦y的值是()

A.0 B.3 C.12 D.15

20.測試文件是否結(jié)束函數(shù)的函數(shù)名是()

A.feof B.EOF C.eof D.FEOF

二、多項選擇題(本大題共5小題,每小題2分,共10分)

21.下列設(shè)備中屬于外存儲設(shè)備的有()

A.RAMB.光盤C.硬盤D.軟盤E.磁帶

22.設(shè)a=1,b=3,c=0;下面表達式的值為1的有()

A.!a&&b||a&&(c+1) B.a(chǎn)-b+3 C.(a>b)==c

D.(a=0)&&(b=10) E.b>a&&a>c

23.設(shè)有說明:chars[20];()

下面各項中能夠正確的將一個字符串"abcd"賦給s數(shù)組的有

A.s="abcd";B.gets(s);C.scanf("%s",s);

D.strcpy(s,"abcd");E.strcpy("abcd",s);

24.關(guān)于結(jié)構(gòu)體,下面各項中不正確的有()

A.structperson{longbh;char*name;intage;}

psl={9100,"wang",20},*pst;

pst=psl;printf("%d",*pst→age);

B.structmy_data

{intnum;structmy_data*next;};

C.structtest

{char*course;char*class}

D.structworker

{charname[9];floatgz;}Li={"LiPing",532.67};

E.structint_num

{inti_num;structint_num*next;}ione,*pi;

pi=&ione;

25.設(shè)有說明:intx=1,y=2,z=3;則下面表達式的值為0的有()

A.x&y&zB.x¦y¦zC.x^x+y^yD.z>>yE.x&0xff00

三、簡答題(本大題共4小題,每小題4分,共16分)

26.C語言中的運算符“=”與運算符“==”的意義相同嗎?為什么?

27.變量的存儲類別分為哪幾種?它們分別存儲在什么區(qū)域?

28.試定義一個三行的二維字符數(shù)組s,并用"Iamaboy","youareagirl","heisateacher"對其進行初始化。

29.設(shè)有說明:inta[2][3];

請用四種方式來表示數(shù)組元素a[1][2]。

四、閱讀分析題(本大題共6小題,每小題5分,共30分)

30.從鍵盤輸入字符A時,寫出下面程序的運行結(jié)果。(注:字符A的ASCII碼是65)

#include"stdio.h"

main()

{

charch;

ch=putchar(getchar());

printf(",%d,%o,%c",ch+1,ch+1,ch+32);

}

31.閱讀下面程序:

voidmain(void)

{

ints=0,n=0,x;

label:scanf("%d",&x);

if(x>0){

s+=x;

n++;

printf("s=%d,n=%d,even=%f\n",s,n,1.0,*s/n);

}

if(x!=0)

gotolabel;

else

printf("goodbye!");

}

當依次輸入12-3-65130↙時,寫出程序的運行結(jié)果。

32.閱讀下面程序,寫出程序的運行結(jié)果。

chara[]={'9','8','7','6','5','4','3','2,'1','0','\0'};

voidmain(void)

{

inti=8,j;

for(j=0;j<4;j++)

printf("%s\n",&a[i-j]);

}

33.請寫出下面程序的運行結(jié)果。

longfun(intk)

{

longfac;

if(k==0)

return1;

else

{

fac=k*fun(k-1);

printf("fac=%ld\n",fac);

}

returnfac;

}

voidmain(void)

{

intn=3;

printf("result=%ld\n",fun(n+1)/n);

}

34.閱讀下面程序,寫出運行結(jié)果。

#include<stdio.h>

#include<string.h>

voidf(char*s)

{

char*t,c,*p=s;

for(t=s+strlen(s)-1;s<t;s++,t――)

{

c=*s,*s=*t,*t=c;

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

}

}

voidmain(void)

{

chara[20]="abcdefg";

f(a);

}

35.閱讀下面程序段,說明其功能:

intx,y=0,k;FILE*fp;

fp=fopen("data.txt","rb");

for(k=0;k<5;k++)

fread(&x,sizeof(int),1,fp),y+=x;

printf("%d,"y);

fclose(fp);

五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)

36.從鍵盤輸入10個整數(shù)并依次賦給整型數(shù)組中的元素,然后求該數(shù)組中值為正數(shù)的元素

的累加和并輸出該累加和。

37.在c盤根目錄下有一個ASCII碼文件month.dat,文件中有12個字符串分別為英文1~12

月的名字,現(xiàn)從鍵盤上輸入一個表示月份的整數(shù),輸出該月份的名字。若輸入的整數(shù)不在1~12之間,則打印“Illegalmonth”。

全國2007年7月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.微機中信息的最小單位是()

A.bitB.byteC.KBD.word

2.組成計算機硬件系統(tǒng)的是()

A.控制器、運算器和內(nèi)存儲器 B.CPU、顯示器和鍵盤

C.I/O設(shè)備、CPU和內(nèi)存儲器 D.控制器、內(nèi)存儲器和I/O設(shè)備

3.(75)10的二進制的表示是()

A.(01001001)2B.(01001010)2C.(01001011)2D.(01001100)2

4.字符串常數(shù)“CHINA”在內(nèi)存中存儲時占的字節(jié)數(shù)是()

A.5個B.6個C.7個D.8個

5.如果a=1,b=2,c=3,d=4,則表達式a>b?a:c<d?c:d的值是()

A.1B.2C.3D.4

6.輸出字符串的格式說明符是()

A.%cB.%sC.%uD.%g

7.設(shè)有說明intx=0,y=0;

則執(zhí)行if(x++)y=1+x;

elsey=2+x;

后,變量y的值是()

A.0B.1C.2D.3

8.以下程序段所表示的數(shù)學(xué)函數(shù)關(guān)系是()

y=-1

if(x!=0)if(x>0)y=1;elsey=0;

A.B.

C.D.

9.執(zhí)行下面程序段后,輸出字符A的個數(shù)是()

for(i=0;i<=5;i+=2)

printf(″A″);

A.0個B.3個C.5個D.6個

10.若有定義chara[]=″computer″;則存儲字符m的數(shù)組元素是()

A.a(chǎn)[1]B.a(chǎn)[2]C.a(chǎn)[3]D.a(chǎn)[4]

11.若有定義inta[4]={1,2,3,4};則a[a[3]-a[1]*a[1]]的值是()

A.1B.2C.3D.4

12.凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為()

A.自動(auto)B.靜態(tài)(static)C.外部(extern)D.寄存器(register)

13.如果一個C程序僅由一個源文件組成,則在一個源文件中定義的全局變量的作用域為()

A.源文件的全部范圍 B.本程序的全部范圍

C.本函數(shù)的全部范圍 D.從定義該變量的位置開始至本文件末尾

14.下列定義中,不是指針數(shù)組定義的是()

A.int*p[5];B.float*q[4];C.int(*r)[6];D.char*w[7];

15.若有語句int*point,a=4;和point=&a;下面代表地址的一組選項是()

A.a(chǎn),point,*&aB.&*a,&a,*pointC.*&point,*point,&aD.&a,&*point,point

16.下列程序的運行結(jié)果是()

#difineN9

fun(chars[])

{

char*p=s+4,*q=s;

inti;

for(i=0;i<4;i++,p++,q++)

{

s[i]=*p;

s[i+4]=*q

}

}

main()

{

charss[N]=″ABCDEFGH″;

fun(ss)

printf(″%s\n″,ss);

}

A.EFGHABCDB.EFGHEFGHC.ABCDEFGHD.ABCDABCD

17.設(shè)有結(jié)構(gòu)體的定義如下:()

structcjd{longbh;int*q;charxm[9];};

則sizeof(structcjd)的值是

A.14B.15C.16D.17

18.設(shè)有說明:intx=0x15,y=0x0f;則x&y的結(jié)果是()

A.0x5B.0x15C.0xf0D.0xf5

19.如果在程序中要使用系統(tǒng)提供的函數(shù)strlen,則需要書寫的編譯預(yù)處理命令是()

A.#include<stdio.h> B.#include<math.h>

C.#incLude<string.h> D.#incLude<malloc.h>

20.由FILE*fp;fp=\fopen(″a:\\abc.txt″,″r+″);可以推知fopen函數(shù)的原型是()

A.char*fopen(char,char); B.FILE*fopen(char*,char*);

C.intfopen(char*,char*); D.FILFfopen(char*,char*);

二、多項選擇題(本大題共5小題,每小題2分,共10分)

21.下面基本結(jié)構(gòu)和特性中符合結(jié)構(gòu)化程序設(shè)計的要求的有()

A.選擇結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.順序結(jié)構(gòu)

D.各結(jié)構(gòu)之間只有一個入口,至多兩個出口E.各結(jié)構(gòu)之間只有一個入口,一個出口

22.若有intx;float;y下面結(jié)果為整型數(shù)的表達式有()

A.(int)(x+y)B.(int)x+yC.′a′+xD.x+(int)yE.x*y

23.設(shè)有定義:inta[2][3];下面關(guān)于數(shù)組元素引用正確的有()

A.a(chǎn)[0][3]B.a(chǎn)[0][0]C.a(chǎn)[2][1]D.a(chǎn)[1][2]E.a(chǎn)[2][3]

24.設(shè)有關(guān)于結(jié)構(gòu)體類型的定義:()

structcar

{

char*name;

floatprice;

structcar*next;

}*p,*head=NULL;

下面各選項中正確的有

A.p=(structcar*)MALLOC(sizeof(structcar);

B.p=(structcar*)malloc(sizeof(structcar);

C.p.next=head;

D.p->next=head;

E.p=(structcar*)malloc(sizeof(car);

25.設(shè)有說明:intu=1,v=5;則下列表達式的值為1的有()

A.u&vB.v>>2C.u^uD.u|vE.(u<<3)/5

三、簡答題(本大題共4小題,每小題4分,共16分)

26.什么是常量?C語言中常量有哪幾種類型?

27.用while循環(huán)結(jié)構(gòu)完成下面程序段的功能。

s=0

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

s+=i;

28.若在一個函數(shù)中對變量a,b有如下定義:

staticinta;

autointb;

簡述它們之間的異同。

29.設(shè)有說明:inta[3][4],(*p)[4]=a;請解釋p的含義,并用p給出數(shù)組元素a[2][1]的二種表示。

四、閱讀分析題(本大題共6小題,每小題5分,共30分)

30.從鍵盤輸入字符A時,寫出下面程序的運行結(jié)果。(注:字符A的ASCII碼是65)

#include″stdio.h″

main()

{

intk;

k=getchar();putchar(k);

printf(″,%d,%x,%c″,k,k,k+32);

}

31.閱讀下面程序,寫出運行結(jié)果。

main()

{

intx,sum=0;

loop1:

scanf(″%d″,&x);

if(x!=8)

{

if(x%2==0)

{

sum+=x;

printf(″sum=%d\n″,sum);

}

gotoloopl;

}

sum-=x;

printf(″sum=%d\n″,sum);

}

當程序執(zhí)行時輸入數(shù)據(jù)12345678↙,寫出程序運行結(jié)果。

32.閱讀下面程序,寫出運行結(jié)果。

main()

{

inta[3][3],i,j;

for(i=0;i<3,i++)

for(j=0,j<3;j++)

a[i][j]=i+j

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

{

for(j=0;j<=i;j++)

printf(″%2d″,a[i][j]);

printf(″\n″);

}

}

33.閱讀下面程序,寫出運行結(jié)果。

longfactor(intm)

{

longintfc;

if(m==0||m==1)

fc=1;

else

fc=factor(m-1)*m;

return(fc);

}

main()

{

intn;

longintfac;

for(n=1;n<5;n++)

{

fac=factor(n);

printf(″%Id\n″,fac);

}

}

34.閱讀下面程序,寫出運行結(jié)果。

voidfl(chara[],charb[])

{

inti;

for(i=0;a[i];i++)

b[i]=a[i];

b[i]=′\0′;

}

voidf2(char*c,char*t)

{

while(*c++=*t++);

}

main()

{

chara[20]=″basic″,b[20]=″fortran″,c[20]=″pascal″;

char*p=b,*q=c;

fl(b,a);

printf(″%s\n″,b);

f2(p,q);

printf(″%s\n″,b);

}

35.閱讀下面程序段:

structnumber

{

intu[2];

}v={11,15},*p=&v;

intx;

請分析下面語句的含義:

x=(*p),u[0]>p->u[1]?(*p).u[0]:p->u[1];

五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)

36.用以下近似公式編一個求的近似值的程序。

,其中n的值由鍵盤輸入。

37.用循環(huán)語句編程打印下列圖案,并以ASCII碼的形式寫到c盤根目錄下的lx.dat文件中。(第一行的″$″在第20列)

$

$$$

$$$$$

$$$

$

全國2008年4月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.存儲容量1KB等于()

A.字節(jié)B.字節(jié)C.字節(jié)D.字節(jié)

2.在計算機中,指令通常是由()

A.操作碼、操作數(shù)組成 B.源操作數(shù)、目標操作數(shù)組成

C.反碼、補碼組成 D.直接尋址、目的尋址組成

3.與十進制數(shù)39等值的二進制數(shù)是()

A.00100111B.01001001C.10100111D.01011000

4.下列設(shè)備中屬于輸出設(shè)備的是()

A.掃描儀B.鍵盤C.鼠標D.顯示器

5.整數(shù)-2在機器內(nèi)存中的表示是()

A.1000000000000010B.1111111111111110

C.11111111111111101D.1111111111111111

6.下列運算符中優(yōu)先級最低的是()

A.>B.!C.%D.==

7.設(shè)有inta=3,b=-4,c=5;表達式++a-c+b++的值是()

A.-6B.-5C.-4D.-3

8.以十進制無符號形式輸出整數(shù)的格式說明符是()

A.%uB.%xC.%oD.%d

9.下列程序段的輸出結(jié)果是()

voidmain(void)

{

inyy=1,x=5;

if(x<0)y=-1;

if(x>=0)y=0;

printf("%d\n",y);

}

A.-1B.0C.1D.5

10.執(zhí)行如下程序段后,x的值是()

intx=1,y=-1;

if(y<0)x-=y;

elsex+=y;

A.-1B.0C.1D.2

11.執(zhí)行while(表達式)循環(huán)的條件是()

A.當表達式的值為0時 B.僅當表達式的值為1時

C.當表達式的值非0時 D.當表達式的值不為1時

12.下列程序段輸出的結(jié)果是()

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

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

printf("%d",i+j);

A.2334B.234C.23D.2

34 34

13.若有定義ints[4]={1,2,3,4};則a[a[2]-3*a[0]+1]的值是()

A.1B.2C.3D.4

14.下列關(guān)于C語言程序說法正確的是()

A.C語言程序總是從有定義的函數(shù)起順序執(zhí)行

B.在C語言程序中,被調(diào)用函數(shù)必須在main函數(shù)中定義

C.C語言程序中的main函數(shù)必須放在程序的開始部分

D.C語言程序總是從main函數(shù)起開始執(zhí)行

15.若有inta[]={1,2,3,4,5,6,7,8,9,10},且0≤i<10,則對數(shù)組元素地址正確表示的是()

A.&a+1B.&a++C.&aD.&a[i]

16.下列關(guān)于結(jié)構(gòu)體類型定義正確的是()

A.structABC B.structABC

{ {

inta inta;

charb charb;

char*p char*p;

} }

C.structABC D.structABC

{ {

inta; inta,

charb; charb,

char*p; char*p,

}; };

17.下列位運算符中,表示按位異或操作的是()

A.~B.│C.^D.&

18.下列各個位運算符的優(yōu)先級從左到右依次升高的是()

A.>>│&~B.│>>&~C.│&>>~D.~│&>>

19.設(shè)有說明:intu=1,v=3;則表達式u<<=v的值是()

A.0B.1C.3D.8

20.如果文件存儲的是數(shù)據(jù)在內(nèi)存中存放的字節(jié)形式,則該文件是()

A.ASCII文件B.文本文件C.二進制文件D.設(shè)備文件

二、多項選擇題(本大題共5小題,每小題2分,共10分)

21.存儲在下列哪些設(shè)備中的信息可以長期保存?()

A.RAMB.ROMC.硬盤D.軟盤E.光盤

22.下列語句中正確的有()

A.if(x>y);B.if(x=y)&&(x!=0)x+=y;

C.if(x!=y)scanf(“%d,&x);elsescanf(“%d”,&y);D.if(x<y){x++;y++;}

E.if(x<y)x++;y++;elsex――;y――;

23.下列循環(huán)將會產(chǎn)生死循環(huán)的有()

A.while(1);B.do{}while(0);C.do{}while(1);

D.for(k=1;k>―10;k++);E.for(k=1;k=10;k++,k――);

24.設(shè)有二維數(shù)組inta[4][3];下列表示數(shù)組元素a[0][2]地址的有()

A.a(chǎn)[2]B.*aC.*a+2D.a(chǎn)[0]+2E.&a[0][2]

25.設(shè)有關(guān)于結(jié)構(gòu)體類型的定義:()

structdata

{

intnum;

structdata*next;

}*p,*head=NULL;

下列語句中正確的有

A.p=(structdata*)malloc(sizeof(structdata));

B.p=(structdata)malloc(sizeof(structdata));

C.p=(structdata*)malloc(sizeof(data));

D.p->next=head;E.p.next=head;

三、簡答題(本大題共4小題,每小題4分,共16分)

26.C語言中的運算符“=”與數(shù)學(xué)中的“=”的意義相同嗎?為什么?

27.簡述C語言標準庫函數(shù)strcpy的格式(或函數(shù)原型)與功能。

28.請按照下列要求寫出相應(yīng)的C語句。

假設(shè)float類型的變量x1和x2已經(jīng)定義過,且x1已經(jīng)初始化為7.3。

(1)定義指向float類型變量的指針變量fpt;

(2)使fptr指向x1;

(3)利用fptr,將fptr指向變量的值賦給x2;

(4)利用fptr,輸出fptr指向變量的值。

29.fread(stu,size,n,fp);中stu、size、n和fp的含義各是什么?

四、閱讀分析題(本大題共6小題,每小題5分,共30分)

30.請閱讀分析下列程序,然后寫出運行結(jié)果。

main()

{

inta=0,b=1;

printf("a=%d,b=%d\n",a,b);

a+=b;b+=a;

printf("a=%d,b=%d\n",a,b);

}

31.若分別輸入0和5時,請閱讀分析下列程序,然后分別寫出兩種輸入情況下程序的運行結(jié)

果。

main()

{

intx,y;

scanf("%d",&x);

if(x>2&&x<=10)

y=x*(x+2);

elseif(x>-1&&x<=2)

y=2*x;

elseif(x<-1)y=x-1;

if(y!=-1)

printf("%d,y);

else

printf("error");

}

32.請閱讀分析下列程序,然后寫出程序的循環(huán)次數(shù)和運行結(jié)果。

main(void)

{

inti;

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

{

if(i%2)

{

printf("@");continue;

}

printf("*");

}

printf("\n");

}

33.請閱讀分析下列程序,然后寫出程序的運行結(jié)果。

voidfun();

voidmain(void)

{

fun();

fun();

}

voidfun()

{

staticinta[3]={0,1,2},b=10;

inti;

if(b==10)

{

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

a[i]+=a[i];

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

printf("%d,",a[i]);

printf("b=%d\n",b);

b++;

}

else

{

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

a[i]*=a[i];

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

printf("%d,"a[i]);

printf("b=%d\n",b);

}

}

34.請閱讀分析下列程序,然后寫出程序的運行結(jié)果。

voidmain(void)

{

inta[]={1,2,3,4,5,6},*p;

p=a;

p++;

*(p+3)+=2;

printf("%d\n",*p);

printf("%d\n",*(p+3));

}

35.設(shè)有下列創(chuàng)建單向鏈表的部分程序:

#include"malloc.h"

#include"string.h"

structautomobile

{

chartype[20];

intload;

structautomobile*next;

}*head=NULL;

voidmain(void)

{

structautomobile*p;

char*automobile_type[3]={"Red_Rock",Yellow_River","East_Wind"};

intautomobile_load[3]={24,18,42},j;

for(j=0;j<3;j++)

{

p=(①______________)malloc(sizeof(structautomobile));

strcpy(②_____________,automobile_type[j]);

p->load=automobile_load[j];

p->next=head;

head=p;

}

}

請閱讀分析程序,然后寫出①和②下劃線處應(yīng)該填寫的內(nèi)容。

五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)

36.若數(shù)組a中有十個整數(shù)8,2,5-3,7,-9,0,-4,10,15,請編程求出該數(shù)組中的最大值和最小值。

37.設(shè)在c盤根目錄下有一個ASCII碼文件zm.dat,且文件中有10個字符。請編程將文件中的字符讀出,再按照從大到小的次序排序并將排序結(jié)果在屏幕上顯示出來。

全國2008年7月計算機基礎(chǔ)與程序設(shè)計試題

一、單項選擇題(本大題共20小題,每小題1分,共20分)

1.一個完整的計算機系統(tǒng)應(yīng)該包括()

A.主機和外設(shè)B.主機和操作系統(tǒng)

C.硬件系統(tǒng)和系統(tǒng)軟件D.硬件系統(tǒng)和軟件系統(tǒng)

2.若用八位二進制表示一個整數(shù),則-4在計算機中的表示是()

A.11111100B.11111011C.10000100D.00000100

3.下列轉(zhuǎn)義字符中,表示回車的是()

A.\0B.\nC.\rD.\f

4.若定義doubled;則d在內(nèi)存中分配的字節(jié)數(shù)是()

A.1個B.2個C.4個D.8個

5.下列表達式中運算結(jié)果為3的表達式是()

A.(-7)%4B.7/4+2C.7/4*4-4D.8/3+8/3

6.設(shè)有inta=3,b=-4,c=5;表達式a++-c+b++的值是()

A.-6B.-5C.-4D.-3

7.在printf語句中,格式說明符u表示()

A.以十進制帶符號形式輸出整數(shù)B.以十六進制帶符號形式輸出整數(shù)

C.以十進制無符號形式輸出整數(shù)D.以十六進制無符號形式輸出整數(shù)

8.若有inta=3,b=4,c=5,d=6,x=4;執(zhí)行下列程序段后x的值是()

if(a<b)

{

if(c==d)

x=c;

}

else

x=d++

A.4B.5C.6D.7

9.關(guān)于switch中的表達式,正確的說法是()

A.它必須是算術(shù)表達式B.它必須是關(guān)系表達式

C.它必須是邏輯表達式D.它可以是任意類型的表達式

10.對do語句while(表達式);結(jié)構(gòu)的循環(huán),下列說法正確的是()

A.當表達式的值為非零時不執(zhí)行循環(huán)體B.循環(huán)體至少被執(zhí)行一次

C.當表達式的值為零時循環(huán)體一次也不執(zhí)行D.循環(huán)體僅被執(zhí)行一次

11.只能在循環(huán)語句中用于結(jié)束本輪循環(huán)的語句是()

A.break;B.continue;C.gotoD.if

12.若有定義inta[4]={1,2,3,4};則a[(a[1]*a[3]+a[0])3-1)]的值是()

A.1B.2C.3D.4

13.若有定義inta[3][5];則數(shù)組a在內(nèi)存中分配的字節(jié)數(shù)是()

A.8B.15C.24D.30

14.已知strl和str2是字符串數(shù)組,下列哪一個函數(shù)能正確的完成字符串的輸入?()

A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論