2018年至2018年計算機基礎與程序設計考題及答案_第1頁
2018年至2018年計算機基礎與程序設計考題及答案_第2頁
2018年至2018年計算機基礎與程序設計考題及答案_第3頁
2018年至2018年計算機基礎與程序設計考題及答案_第4頁
2018年至2018年計算機基礎與程序設計考題及答案_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全國2011年4月自學考試計算機基礎與程序設計試題

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

1.計算機處理信息時,CPU一般是以一組二進制數碼為單位進行處理的,這組二進制數碼稱為()

A.wordB.MBC.KBD.bit

2.下列不用于計算機硬件系統的是()

A.操作系統B.控制器C.存儲器D.運算器

3.下面轉義字符中,表示換頁的是()

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

4.在TurboC2.0中,保存源程序在主菜單File項中可選擇()

A.LoadB.NewC.SaveD.Quit

5.下面表達式結果為3的是()

A.(-7)%4B.(-7.0)%4.0C.7%(-4)D.7.0%4.0

6.設有intx=2,y,z;執行z=y=x++;后變量z的值是()

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

7.下面不氐頤的關系表達式是()

A.a=3B.a<3C.a>=b>cD.a>b>c

8.設有聲明intx=l,y=2,z;執行z=x>y?x+2:y-2后變量z的值是()

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

9.設有intb=-l;則執行printf("%u\n",b);后的輸出是()

A.-1B.ffffC.177777D.65535

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

main()

{inta=3,b=5,c;

c=a+b;a=b;b=c;

printfC%d,%d”,a,b);}

A.3,5B.5,3C.5,8D.8,13

11.設有聲明intx=-l;執行if(x<0)x=-xT;后變量x的值是()

A.-lB.OC.1D.2

12.關于break語句,以下說法不事硬的是()

A.它可以用于循環語句中B.它可以用于switch語句中

C.可以從最內層循環結構中直接跳出最外層循環結構

D.可以從當前switch結構中跳出

13.下面能正確將字符串"Boy”進行完整賦值操作的語句是()

A.chars[3]={'B',,(/,'y'};B.chars[]="Boy";

C.chars[3]={"Boy”};D.chars[3];

s[0]=,;s[1]=ro';s[2]='y';

14.下列函數中向文件一次讀一串字符的函數是()

A.fgetcB.fgetsC.fputcD.fputs

15.在一個c源程序文件中,若要定義一個只允許本源文件中所有函數使用的全局變量,則該變量需要使

用的存儲類別是()

A.externB.registerC.autoD.static

16.C語言規定,簡單變量做實參時,它和對應形參之間的數據傳遞方式是()

A.地址傳遞B.單向值傳遞

C.由實參傳給形參,再由形參傳回給實參D.由用戶指定方式

17.設有聲明語句inta[2][3],(*p)[3]=a;則對a數組元素正確引用的是()

A.(p+1)[0]B.*(*(p+2)+l)C.*(pEl]+1)D.p[1]+2

18.設有下面的結構體和結構變量定義:)

structcar

(

longid:

char*name;

);

structcarcarl;

關于結構體類型變量賦值個F破的是

A.carl.id=10101;B.carl,name="BlueSky”;

C.carl.*name=〃BlueSky”;D.carl.id=123456L;

19.設有聲明和語句:()

unsignedintx=Ly=2;

x?=y+l;

則x的值是

A.1B,4C.5D.8

20.設有下面程序:()

#include,zstdio.h〃

voidmain(void)

(

unsignedx=Ly=3,z=5;

printf(〃%d\n〃,x|y);

}

該程序的運行結果是A.1B.3C.5D.7

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

在每小題列出的五個備選項中至少有兩個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、

多選、少選或未選均無分。

21.與十進制10.625等值的數有()

A.(10.101)2B.(1010.101)2C.(12.101)8D.(12.5)8E.(A.A)16

22.下面合法的C語言用戶定義的標識符有()

A.autoB._123C.ABCD.Turbo_cE.int

23.下面屬于TurboC提供的數學函數有()

A.acosB.tanC.putsD.sqrtE.exp

24.自定義函數有nl,n2,n3三個形式參數且為整型,函數正確的定義形式有()

A.intfun(intnl,n2,n3){???}

B.intfun(intnl,intn2,intn3){??,}

C.intfun(nl,n2,n3)

intnl,n2,n3;{…}

D.intfun(nl,n2,n3)

(intnl,n2,n3;…}

E.intfun(nl,n2,n3)

{intnl,intn2,intn3;??,}

25.設有關于結構體類型的定義:()

structmankind

(

charname[20];

intage;

floatweight:

}person,*p;

下面各個供選項中語句都正確的有

A.person,name二〃Li〃;

person.age=15;

B.strcpy(person,name,〃Wang〃);

Person->age=15;

C.p=&person;

p->age=25;

D.strcpy(person,name,〃Tom〃);

p=&person;

E.strcpy(person,name,〃Tom〃),p=&person;

p->weight=97.2;

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

26.設有下面程序:

voidmain(void)

(

intx:

x=l:

while(x<20){

printfCx=%d\n”,x);

x+=2:

)

)

請把程序改寫為for結構。

27.聲明語句chars[20]=〃computer”;

能用下面的語句替代嗎?為什?么?

chars[20];

s="computer”;

28.設有說明:

structnode{

intnum;

charname[12];

charsex;

floatincome;

}a,*ptr=&a;

寫出對ptr所指成員num,name,sex,income分別賦值123,"zhang",'m',654.25的賦值語句。

29.設有說明:unsignedx=10;試寫出通過僅對x進行移位操作的表達式,使表達式的值為16。

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

30.閱讀下列程序并寫出運行結果。

voidmain(void)

(

intx=Ly=2;

charch=,a':

x++;y-=2;++ch;

printf(〃%c,%d,%d\n〃,ch,x,y);

)

31.閱讀下列程序并寫出運行結果。

voidmain(void)

(

intx=ll;

switch(x-1){

case0:

printf("x二%d\n”,x++);

break:

case10:

printf(〃x=%d\n〃,x*2);

case20:

printf("x=%d\n”,x*4);

default:

printf(〃x=%d\n”,x);

)

}

32.閱讀下列程序,當依次輸入11,12,13,14,16這5個數時,請寫出程序的運行結果。

voidmain(void)

{intx,i,s=0;

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

scanf(〃%d〃,&x);

if(x%2)continue;

printf("%d\x);

s+=x;

)

printf(〃\n〃);

printf(〃s=%d\s);

)

33.閱讀下列程序并寫出運行結果。

voidmain(void)

(

intx=3,y[7]={L3,5,8,9,11,12};

intt=0,b=7,f=0,m;

(b+t)/2;

while(b-t>=0)

if(y[m]==x){f=l;

printf(zz\ny[%d]二%d\n”,m,y[m]);

break;

}

elseif(y[m]>x)

(

b=m-l;printf(〃%d\t”,y[m]);

m=(b+t)/2;}

else{

t=m+l;printf("%d\t",y[m]);

m=(b+t)/2;}

if(!f)

printfC\nnotfind!\nz,);

34.閱讀下列程序序并寫出運行結果。

intfun(inty);

voidmain(void)

(

intx[4]={3,5,7,0},s=0,i=0;

while(x[i]){

s+=fun(x[i]);

i++;

printf(〃s=%d\n〃,s);

)

)

intfun(inty)

(

staticinta=0;

a=a+y;

returna;

}

35.閱讀下列程序并寫出運行結果。

voidfl(char*t,charts);

voidmain(void)

(

charsi[20]="abcdl2345〃,tl[20]二〃xyz”;

printf(〃%s\n%s\n〃,si,tl);

fl(tl,si);

printf(〃%s\n〃,tl);

)

voidfl(char*t,char*s)

(

while((*t=*s)!=,\0'){

t++;

s++;

)

五、編程題(本大題共2小題,每小題12分,共24分)

36.從鍵盤輸入20個整數存放到數組a中,計算數組a中下標為奇數的所有元素的和。

37.從鍵盤上輸入20個字符存放到一個字符數組s中。對數組s中的元素按升序(由小到大)排序,再將排

序后的結果寫到c:\abc.dat文本文件中。

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

1.A2.A3.D4.C5.c

6.C7.A8.A9.D10.c

11.B12.C13.B14.H15.D

16.B17.C18.C19.D20.D

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

21BDE22.BCD23.ABDE24.BC25.CDE

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

26.voidmain(void)

intx;(1分)

for(x=I;x=V20;x+=2)(2分)

printf("x=%d\n",x);(1分)

27.不能(1分)

因為數組名s?是代表數組起始地址的常量.(2分)

不能對地址常量進行賦值操作。(1分)

28.ptr-*-num-123;

strcpy(ptr->name,"zhang");

ptLsexu'm';

ptr-*income=654.25;

(注:4句中每答對一句羽1分.)

29.(x?2)?3(注:右移2分,左科2分.)

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

30.b,2,0

(注:0)3個結果中壽正項1個科分;

②2個逗號中每正確一個得1分。)

31.x=22

x=44

x=ll

(注:3個結果,每個結果1分,2個換行,每個換行1分.)

32.121416

s=42

(注:①4個結果中每答對1個得】分;

②換行將1分。)

33.8(2分)

y[l]=3(3分)

34.§=3。分)

s=ll(2分)

8=26(2分)

35.abcdl2345(l分)

xyz(1分)

abcdl2345(3分)

五、編程題(本大題共2小題海小題12分,共24分)

36.voidmain(void)

inta[20],i,s=0;

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

$canf(M

if(i%2!=0)

s=s+a]i[;

}

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

}

(注:聲明語句正確得2分,循環及輸入數據正確得3分?,求下標為奇數元素之和正確得

4分,輸出結果正確得3分.)

37.#include"stdio.h"

voidmain(void)

chars[20],ch;

intitj;聲明語句正確(2分)

FILE*fp?

for(i=0|i<20;i4-4-)

scanf("%c"輸入正確(2分)

for(E0;iV191i++)雙重循環正確(2分)

for(j=i+l;jV2O;j++)判斷與交換正確(2分)

if(s[i]>s[j])

ch=s[ij;

計算機基礎與程序設計試題答案及評分參考第2頁(共3頁)

s[i1=s[j];

s[j]=ch;

}

fp=fopen("cs\\abc.dat","w*');打開文件正確(1分)

for(i=0;i<20;i14)循環及文件寫操作正確(2分)

fputc(s[i],fp);

fcloscCfp);關閉文件正確(1分)

第6頁第7頁為2011年4月份答案

全國2011年7月自學考試計算機基礎與程序設計試題

課程代碼:02275

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

在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選

或未選均無分。

1.下列存儲設備中,屬于主機范疇的是()

A.光盤B.硬盤C.內存D.U盤

2.下列屬于計算機軟件系統的是()

A.內存儲器B.操作系統C.顯示器D.CPU

3.在TurboC2.0中,在主菜單File項中選擇OsShell后,要重新回到TurboC2.0,應使用的命令是()

A.ReturnB.ExitC.QuitD.New

4.下面合法的C語言標識符是()

A.int_B.intC.nD.file.c

5.若有inta,b;下面正確使用變量a,b的表達式是()

A.7.0%3.0B.(a+b)++C.7++D.a+'a'+b

6.下面幾種運算符中,優先級最低的是()

A.||B.,OD.?:

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

A.OB.lC.3D.-4

8.設有intx=2,y,z;執行z=y=x++;后變量y的值是()

A.OB.lC.2D.3

9.若有inta=8,b=5;語句printf("%d",a>b);的執行結果是()

A.OB.lC.5D.8

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

main()

{inta=3,b=5;

a+=b;b+=a;

printf("%d,%d”,a,b);}

A.3,5B.5,3C.8,13D.13,21

11.若有inta=8,b=12,max,min;執行語句

if(a>b){max=a;min二b;}

else{max=b;min=a;}

的結果是()

A.max的值是8,min的值是12B.max的值是8,min的值是8

C.max的值是12,min的值是8D.max的值是12,min的值是12

12.執行下面程序段后,a的值是

inta=100;

do

{a++;}while(a>120);()

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

13.若有定義intch[5][4];則數組ch中的元素的個數是()

A.9B.12C.15D.20

14.若有定義charstr[20];能使數組str得到字符串"1amaboy”的正確輸入方法是()

A.gets(str);B.str=getchar();C.scanf(”%c",str);D.scanf("%s",str);

15.若主函數調用funl函數,而funl函數調用fun2函數,這種逐級調用稱為()

A.直接遞歸調用B.間接遞歸調用C.并行調用D.嵌套調用

16.下面關于函數參數的說法中,不iE班的是()

A.實參可以是常量、變量或表達式B.形參可以是常量、變量或表達式

C.實參可以是數組元素或數組名D.形參應與其對應的實參類型一致

17.若有定義intb⑵[3]={0},(*p)[3]=b;對b數組第i行第j歹U(設i,j已正確說明并賦

值)元素的不無聊的引用是()

A.*(*(p+i)+j)B.*(p[i]+j)C.*(p+i)+jD.(*(p+i))|j]

18.設有下面的結構體和結構變量定義:

Structtea

char*name;

floatprice,weight;

);

structteateal={"green_tea",2.0,28.5};

structtea*p_struct=&teal;

語句:

printf(M%s,%.1f”,p_struct—>name,p_struct—>price*p_struct—>weight);

的輸出結果是()

A.57.0B.57.0,green_teaC.green_tea,57.0D.green_tea

19.若有定義intx=5,y=6;下面表達式值為。的是()

A.xAxB.x&yC.x|yD.y?2

20.下列函數中向文件一次讀一個字符的函數是()

A.fgetcB.fputcC.fgetsD.fputs

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

在每小題列出的五個備選項中至少有兩個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多

選、少選或未選均無分。

21.與十進制100等值的數有()

A.(1100100)2B.(1011011)2C.(144)8D.(64)sE.(5F)16

22.下面合法的C語言常量有()

A.'tc'B.3e2.5C.OxfdeD.le8E/\n'

23.下面屬于C語言中輸入或輸出函數的有()

A.scanfB.printfC.putcharD.main

E.pow

24.下面關于函數的說法中,不氐碰的有()

A.定義函數時,形參的類型說明可以放在函數體內

B.retum后邊的值不能為表達式

C.如果函數值的類型與返回值類型不一致,以函數值類型為準

D.如果形參與實參的類型不一致,以實參類型為準

E.形參與實參的對應關系由形參名和實參名決定

25.設有關于結構體類型的定義:

structdatabase

charname[20];

floatspeed;

}dbl={HOracle,',125600.56},db2,*p=&db2;

下面選項中語句正確的有()

A.p=&dbl;B.p=dbl;

C.strcpy(p—>name,"Sybase");D.p—>speed=dbl.speed;

E.strcpy(p->name,)

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

26.下面是求1到100之和的程序

main()

{inti,sum=0;

for(i=l;i<=100;i++)

sum+=i;

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

)

問如何修改循環體,使其僅求前10個數之和。

27.若有下面定義:

intnum[10]={0,1,2,3,4,5,6,7,8,9),*p=num;

設數組num的首地址是65484o

問:(1)表達式p+8表示什么?其值是多少?

⑵表達式*(p+8)表示什么?其值是多少?

28.設有說明:unsignedx=0xl234;下面表達式(1)、(2)的運算結果的十六進制值是什么?

(1)(x&0xff00)?8|(x&0xff)?8

(2)x&0xfro0?8|x&0xff?8

29.設有說明:

structisland{intid;charname[10];floatarea;}a,*p=&a;寫出對p所指的成員id、area分別賦值101>34521.65,

使p所指的指針成員name指向“Wang”的C語句分別是:

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

30.閱讀下列程序并寫出運行結果。

main()

{inta=55,x,y;

x=(int)(a/8.0);

y=a-8*x;

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

)

31.閱讀下列程序并寫出運行結果。

main()

{floatx;inta=0;

scanf(n%fn,&x);

switch(x/10-5)

{case7:a++;

case6:a++;printf("%d,”,a);

case5:a++;break;

case4:a++;

default:a++;printf(n%d,”,a);

case1:a+=2:

)

printf(n%d\nu,a);

)

(1)當程序運行后輸入115.5后,寫出程序的執行結果。

(2)當再次運行程序后輸入45后,寫出程序的執行結果。

32.閱讀下列程序并寫出運行結果。

main()

{ints=0,k=l,i;

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

{k=k+i;

s+=k;

if(i>3)break;

s+=2*k:

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

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

33.閱讀下列程序并寫出運行結果。

main()

{inta[4][4],i,j;

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

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

a[i][j]=i+j;

for(i=l;i<4;i++){

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

printf("%3d",a[il|j]);

printf("\n");

)

}

34.閱讀下列程序并寫出運行結果。

intsuml;

main()

{intsum2=0,i,fl(int),f2(int);

for(i=l;i<=5;i++)

suml+=fl(i);

for(i=l;i<=5;i++)

sum2+=f2(i);

printf(Hsuml=%d\n”,suml);

printf(Hsum2=%d\nnsum2);

)

intfl(inta)

{staticintsl=l;

sl*=a;

returns1;

}

intf2(inta)

{autoints2=l;

s2*=a;

returns2;

)

35.閱讀下列程序并寫出運行結果。

main()

{chars[]=,^abcdel2345'^,*q=s;

inta=0;

for(;q<s+5;q++)

printf(M%c'\*q);

a=f(s);

printfC,\na=%d\n",a);

intf(char*p)

{intx=0;

while(*p++!='\0')

x++;

returnx;

)

五、編程題(本大題共2小題,每小題12分,共24分)

36.從鍵盤上輸入30個整數,輸出其中能被3整除的數,并求出所有能被3整除的數之和。

37.從二進制文件c:\abc.dat中讀出10個float型數據存放于數組a中,然后將數組a中的數據按從小到大

的次序輸出在屏幕上。

2011.7計算機基礎與程序設計試題答案

12345678910

cBBADBACBC

11121314151617181920

cBDADBCCA

12345

ACDCDEABCABCACDE

三、簡答題

26>main()

{inti,sum=0;

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

sum+=i;

printf(n%d\nn,sum);

)

27、(1)65484+16(2)8

29、p->id=101;p->area=345212.65;strcpy(p->name,^^wang^^);

31、(1)12(2)13Sum2=15

32、S=335、abode

S=9a=10

S=2136、

S=42#include"stdio.h"

S=53main()

33、2(

34inta[30],i,sum=0;

456printf("input30nubmers:");

34、Suml=153for(i=0;i<=29;i++)

scanf("%d",&a[i]);

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

if(a[i]%3==0)

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

sum=sum+a[i];

}

printf(,,\n%d',,sum);

getch();

)

37、

#includenstdio.h"

main()

{FILE*fp;

floataflO],x;

inti=0,j=0;

if((fp=fopen(nc:\abc.datM,nrn)=NULL)

exit(O);

while(fscanf(fp,M%fH,&a[i++])!=EOF);

fclose(fp);

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

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

if(a[j]>a[j+l])

{x=a[j];

a[j]=a[j+l];

a[j=l]=x;

)

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

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

2012年4月高等教育自學考試

計算機基礎與程序設計試題

課程代碼:02275

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

在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選

或未選均無分。

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

A.23字節B.210字節C.220字節I).230字節

2.下面哪種設備是輸出設備?()

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

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

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

4.設有intx,y;表達式y=(x=l,++x,x+2)的值是()

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

5.以十六進制形式輸出整型數的格式說明符是()

A.%xB.%uC.%oD.%d

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

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

C.if(x!=y)scanf(H%d",&x)elsescanf("%d",&y);

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

7.設有程序段intx=l,y=-l;

if(y<0)x-=y;

elsex+=y;

執行完該程序段后,x的值為()

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

8.下面程序段的循環次數是()

intk=2;

while(k-=0)printf{"%d",k);

k一;printf("\n");

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

9.下面程序段的輸出結果是()

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

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

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

A.2334B.234

c.34D.34

10.若有定義inta[4]={l,2,3,4};則表達式a[a[2]-3*a[0]+l]的值是()

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

11.在C語言程序中,關于函數的定義和調用,以下描述正確的是()

A.函數的定義可以嵌套,但函數的調用不可以嵌套

B.函數的定義不可以嵌套,但函數的調用可以嵌套

C.函數的定義和函數的調用均不可以嵌套

D.函數的定義和函數的調用均可以嵌套

15

12.關于main函數,以下說法中正確的是()

A.C語言程序總是從有定義的函數起順序執行,在main函數中結束

B.在C語言程序中,被調用的函數必須在main。函數中定義

C.C語言程序中的mainO函數必須放在程序開始部分

D.C語言程序總是從mainO函數開始執行

13.若要定義一個長整型的變量a和一個指向變量a的指針變量q,下面正確的定義語句是()

A.longa,*q=a;B.longa,*q=&a;C.long*q=&a,a;D.longa,q=&a;

14.若有說明longintx[5];下面能正確表示數組元素地址的是()

A.&x[3]B.&xC.&x+lD.*x

15.下面關于結構體類型的定義正確的是()

A.structABCB.structABC

((

intainta;

charbcharb;

char*pchar*p;

)}

C.structABCD.structABC

((

inta;inta,

charb;charb,

char*p;char*p,

);};

16.下面列出的位運算符中,表示按位與操作的是()

A.~B.!C.&D."

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

A.>>|&-B.|>>&~C.|&>>~D.?|&>>

18.設有說明:intu=l,v=3;表達式:u〈爛v的值是()

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

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

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

20.若要在C盤TC目錄下,建立一個al.dat的文本文件,正確使用打開文件的函數是()

A.fopen("C:\\TC'\\al.dat","r")B.fopen("C:\TC\al.dat","r")

C.fopen(wC:\\TC\\al.dat","w")D.fopen(,zC:\TC\al.dat","w")

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

在每小題列出的五個備選項中至少有兩個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多

選、少選或未選均無分。

21.下面屬于合法的C語句的有()

A.表達式語句B.函數調用語句C.子程序調用語句D.空語句E.循環語句

22.下面循環語句中,沒有“無限循環”錯誤的循環語句有()

A.for(;;);B.for(i=l;i<10;i++);C.while(l);D.while(0);

E.do{循環體)while(1);

23.設有聲明:inta[5]={l,3,5,7,9);下面表達式的結果為10的有()

A.a[l]+a[3]B.a[2]-2*a[l]C.2*a[2]D.a[0]+a[4]E.a[l]+[-a[2]+a[3]

24.若有如下定義及賦值:

intx=5,*p,*pl;

p=&x;

16

pl=p;

則可以輸出變量X的值的語句有()

A.printf(,z%d\n",x);B.printf(/z%d\n”,*p);

C.printf(/z%d\n",pl);D.printf(,z%d\n",&x);E.printf(z,%d\n",*pl);

25.設有關于結構體類型的定義:

structboat

{charname[10];

intweight;

}myboat,*ps;

下面各項中語句都正確的有()

A.="Li"。

myboat.weight=1600;

B.ps=&myboat;

strcpy(ps->name,"Wuhan");

C.ps=&myboat;’

Ps->weight=2700;

D.strcpy(myboat?name,"Wine");

ps=&myboat;

E.ps=&myboat,strcpy(,“Shanghaiu);

Ps->weight=5512;

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

26.寫出將x,y,z,w分別聲明為整型變量、短整型變量、長整型變量和無符號整型變量的語句。

27.將下面for循環的程序段,用含while循環的程序段實現。

for(s=0,i=l;i<=10;i++)

s+=i;

28.簡述聲明語句:char*p[4];的含義。

29.設有聲明:

structcjd

{longbh;

longintxq;

charxm[9];

floatscore[3];

}x=(201101,2,”張大力〃,76,85.0,90);

簡單回答⑴結構體名;(2)結構體類型變量;(3)結構體類型變量所占字節數;(4)結構體成

員x.score[2]的值。

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

30.寫出下面程序的運行結果

main()

inta=l,b=2,c=3;

17

++a;

b=b+a:

c=c/2;

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

)

31.寫出下面程序的運行結果

main()

(

charch;

ch='az;

switch(ch)

(

case'a':printf("*\n");

case'b':printf(z,**\n");

case'c1:printf("***\n");

)

ch='b';

switch(ch)

(

case'b,:printf("**\n");

case'a':printf('*\n");break;

case,c?:printf("***\n");

)

)

32.寫出下面程序的運行結果

voidmain(void)

(

intx;

for(x=l;x<10;x+=2)

printf%d\t%d\n",x,x*x);

)

33.寫出下面程序的運行結果

#include

main()

(

chara[5][8]={,rjava"fortran"basic","cobol,r,"pascal,f},b[8],c[8];

inti;

strcpy(b,a[0]);

strcpy(c,a[0]);

for(i=l;i<5;i++)

(

if(strcmp(b,a[i])<0)strcpy(b,a[i]);

if(strcmp(c,a[i])>0)strcpy(c,a[i]);

)

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

printf(/z%s\n",c);

18

)

34.寫出下面程序的運行結果

voidmain(void)

(

intx;

for(x=l;x<=5;x++)

/z

printf(%d9%d\n",x,fun(x));

}

intfun(intx)

(

staticintfac=l;

fac*=x;

returnfac;

)

35.寫出下面程序的運行結果

voidf2(char*t,charts)

(

while(*t!=,\0/)t++;

while(*s!='\0f)

(

*t=*s:

s++;t++;

)

*t=*s;

)

voidmain(void)

(

chars[80]="",*ps[3]={"there","isa","carn];

inti;

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

f2(s,ps[i]);

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

)

五、編程題(本大題共2小題,每小題12分,共24分)

36.從鍵盤輸入10個整數并存放到一維數組中,計算下標為奇數的元素的累加和并輸出運行結果。

37.從鍵盤上輸入10個浮點型數,求出10個數的總和與平均值,并將總和與平均值寫到d盤根目錄下的

文本文件array.dat中。</y){x++;y++;}

19

2012年4月高等教育自學考試全國統一命題考試

計算機基礎與程序設計試題答案及評分參考

(課程代碼02275)

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

1.B2.D3.B4.D5.A

6.C7.D8.A9.A10.B

11.B12.D13.B14.AIS.C

16.C17.C18.D19.D20.C

二、多項選擇。(本大?共5小■,每小?2分.共10分)

21.ABDE22.BD23.ACD24.ABE25.BCDE

三、海答■(本大?共4小?.?小?4分,共16分)

26.intXi《】分)

short力或shortinty>(1分)

long*1或longintx>(1分)

unsignedw?或unsignedintw1(1分)

27.8-0|

i-h(1分)

while(i<?10)(1分)

s+-i,

i++i(2分)

28.定義P是具有4個元素的字符型指針敷組.(4分)

若僅即WP是4個元1?的敷組給1分.若僅回答p是字符壑指針敷蛆給2分.其他回

谷卓考以上評分標準.

29.(1)結構體名是6<1(1分)

(2)結

溫馨提示

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

評論

0/150

提交評論