高級語言程序設計期末考試客觀題及答案_第1頁
高級語言程序設計期末考試客觀題及答案_第2頁
高級語言程序設計期末考試客觀題及答案_第3頁
高級語言程序設計期末考試客觀題及答案_第4頁
高級語言程序設計期末考試客觀題及答案_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

一、單選題及答案

1、以下選項中,能用作C語言用戶自定義標識符的是

A.Auto

B.static

C.register

D.bool

正確答案:A

2、閱讀以下程序

#include<stdio.h>

intmain()

(

inta=2,b;

floatc=a+2.0F,d=b+3F;

printf("%f%f\n",c,d);

return0;

)

該程序存在的錯誤,如下說法正確的是:

A.聲明語句floatd=b+3F存在錯誤,3F為非法常量

B.聲明語句inta=2,b出錯,變量b未賦初值

C.printf("%f%f\n",c,d)應該改為printf("%d%d\n",c,d)

D.聲明語句floatd=b+3F存在錯誤,變量b未賦初值

正確答案:D

3、若a為int類型變量,初始值為0,則表達式

(int)(a=13,(double)a/3-l,++a)%3的值是

A.存在語法錯誤

B.1

C.2

D.0

正確答案:C

4、若a為int類型變量,初始值為0,則表達式a=(char)(255/2+l)的

值是

A.0

B.-128

C.128

D.127

正確答案:B

5、以下程序片段

inta=l,b=2,d=25;

{

inta=0;

a=d/10||9;

)

b=a||(a>b);

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

程序運行后的輸出結果是

A.1,1

B.1,0

C.2,1

D.存在語法錯誤

正確答案:A

6、有以下程序片段,

inta,b,c=2;

if(a=l,b=2,a+=2){

intc=l;

b=c>2?5:c++;

)

printf("%d,%d",b,c);

程序運行后的輸出結果是

A.1,2

B.2,2

C.2,3

D.存在語法錯誤

正確答案:A

7、有以下程序片段,

inta=O,b=l;

while(b)a+=b-;

程序運行后變量a的值是

A.1

B.0

C.死循環,無法計算結果

D.3

正確答案:A

8、已知C的ASCII碼值為48,有以下程序片段

chara='l',b='3,,c=,0';

if(a=b)

c=a++;

else

c=b;

printf("%d",c);

程序的運行結果是

A.3

B.2

C.51

D.50

正確答案:C

9、下面循環語句執行后sum的值?

charc='O';

intsum=O;

do{

sum+=c-'O';

C++;

}while(c<'5');

A.死循環

B.20

C.15

D.10

正確答案:D

10、設a,s為int型變量,則下面循環語句執行后s的值?

a=12345;

while(a)

(

s=s+a%10;

a/=10;

}

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

A.15

B.20

C.死循環

D.10

正確答案:A

11、有以下程序片段,

chars[]="1230456";

inti=0;

while(s[i]!='0'){

i++;

)

s[i]=0;

puts(s);

程序運行后的輸出結果是

A.1230

B.死循環

C.1230456

D.123

正確答案:D

12、執行下面的程序段后,輸出結果為多少

chara[]="NEU",b[10]="NEU";

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

A.3,3

B.3,10

C.4,10

D.4,4

正確答案:C

13、有以下函數

intswap(inta,intb)

(

intt;

t=a,a=b,b=t;

returnt;

)

執行如下代碼片段后

inta=100,b=200;

b=swap(a,b);

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

程序運行后的輸出結果是

A.存在語法錯誤

B.200

C.100

D.O

正確答案:C

14、有以下函數

intadd(intp)

{

intd=l;

d+=p;

returnd;

)

執行如下代碼片段后

inta=l;

add(add(++a));

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

程序運行后的輸出結果是

A.3

B.l

C.2

D.4

正確答案:C

15、如下程序段

enumdirection{left,right,up,down};

enumdirectiona=left;

printf("%d",a);

輸出結果為

A.存在語法錯誤

B.left

C.O

D.l

正確答案:C

16、有以下函數

intfun(chart[])

{

inti=0,s=0;

while(t[i]){

s=s+t[i]-'O';

i++;

)

returns;

)

執行如下代碼片段后

chars[]="12345";

printf("%d",fun(s));

程序運行后的輸出結果是

A.20

B.10

C.6

D.15

正確答案:D

17、有如下函數

intfun(intn)

{

inti=2;

while(i<n){

if(n%i==O)

returnn;

i++;

)

return0;

}

執行如下程序片段

inta[3][4]={1,2,3A5,6,7Z8,9);

ints=0,i=0;

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

s=s+fun(a[l][i]);

printf("%d",s);

程序運行后的輸出結果是

A.5

B.12

C.7

D.6

正確答案:D

18、有以下函數

voidfun(int*p,int*q)

{

int*t;

t=P;

p=q;

q=t;

)

執行以下程序片段

{

intA[5]={1,2,3,4,5};

inti;

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

fun(A[i],A[i+l]);

)

printf("%d",A[4]);

return0;

)

程序運行后的輸出結果是

A.5

B.4

C.3

D.l

正確答案:A

19、有如下函數

voidfun(chars[],char*t)

{

inti=0;

while(s[i]!='\0'){

if(s[i]>='0,&&s[i]<='9,){

*t=s[i];

t++;

)

i++;

)

*t=0;

}

執行以下程序片段

chartext[]="abcl23",t[64]="";

fun(text,t);

puts(t);

程序運行后的輸出結果是

A.程序運行出錯

B.abcl23

C.abc

D.123

正確答案:D

20、有以下函數

intfun(char*s)

{

char*p=s;

while(*s++);

returns-p;

)

執行以下程序片段

chars[]="x\0123yz";

printf("%d%d",fun(s),sizeof(s));

程序運行后的輸出結果是

A.65

B.74

C.66

D.56

正確答案:C

21、若函數fun定義如下

intfun(chara[],charb[])

{

inti=O,j=O;

while(a[i]=b[i])i++;

)

如下程序代碼執行結果為

chars[10][100]={"English","math"/'physical","Chinese");

inti=0;

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

if(s[i][O]>s[i+l][O])

fun(s[5],s[i]);

fun(s[i],s[i+l]);

fun(s[i+l]zs[5]);

)

)

printf("%s",s[3]);

程序運行后的輸出結果是

A.math

B.physical

C.English

D.Chinese

正確答案:B

22、若函數fun定義如下

intfun(chara[],charb[])

(

inti=O,j=O;

while(a[i]=b[i])i++;

}

如下程序代碼執行結果為

char*text="ThisisaCprogrammingcourse";

char*p=fun(text,'C);

if(p!=NULL)

printf("%d",p-text);

else

printf("%d",-l);

執行結果為

A.6

B.-l

C.7

D.C

正確答案:C

23、對于如下結構體定義

structPoint{

intid;

}point;

如下說法不正確的是

A.structPoint為數據類型

B.point為結構體變量

C.sizeof(point)的值為4

D.Point為數據類型

正確答案:D

24、對于如下結構體定義

structstudent{

intid;

charname[32];

struct{

unsignedintyear;

unsignedintmonth;

unsignedintday;

}birthday;

}sl={100,"zhao",{1999,10,1}};

如下說法正確的是

A.存在語法錯誤

B.表達式sizeof(sl.birthday)的值為4

C.表達式sizeof(sl.birthday)的值為12

D.sl.birthday.month的值為1

正確答案:C

25、對于如下結構體定義

structgrade{

charname[32];

union{

charc;

intg;

}v;

}sl={"zhao",{'A'}},s2={"Li",{80}};

如下語法不正確的表達式

A.scanf("%d",&sl.v.g)

B.s2.v.c=sl.v.g

C.s2.v.c=sl.v.c

D.=

正確答案:D

26、下面程序

structpoint

(

floatx,y,z;

);

structpointmid(structpointpl,structpointp2){

structpointm;

m.x=(pl.x+p2.x)/2;

m.y=(pl.y+p2.y)/2;

m.z=(pl.z+p2.z)/2;

returnm;

)

intmain()

{

structpointpl={l,2,3},p2,p3={0,0,0};;

p2=pl;

p3=mid(pl,p2);

printf("%.2f",p3.x);

)

執行結果為

A.0.50

B.0.00

C.1.00

D.無結果

正確答案:C

27、對于如下結構體定義

structpoint

(

floatx,y,z;

}pl={l,2,3},p2={4,5,6},p3;

如下語法正確的表達式

A.p2=pl

B.p3=p2+pl

C.p3=p2+1

D.scanf("%v",&p3);

正確答案:A

28、關于如下結構體說法正確的是

structnode{

intid;

structnode*next;

);

A.next指向下一個結構體變量的地址

B.node為數據類型

C.struct可以省略

D.此結構體定義存在錯誤

正確答案:A

29、關于如下結構體

structnode{

intid;

structnodenext;

};

如下說法正確的是

A.node為數據類型

B.struct可以省略

C.sizeof(structnode)的值為8

D.此結構體定義存在錯誤

正確答案:D

30、對于如下程序

#defineMAX(x,y)x>y?x:y

intmain()

(

printf("%d",MAX(10,20));

return0;

}

輸出結果為

A.10

B.O

C.存在語法錯誤

D.20

正確答案:D

31、如果文本文件"d:\data.txt"已經存在,如果執行如下操作(fp已

經聲明)

fp=fopen("d:\\data.txt","r");

如下描述正確的是

A.fp的值為NULL

B.此語句函數fopen調用錯誤

C.文件"d:\data.txt"的內容被清空

D.文件打開成功,后面可以執行讀操作

正確答案:D

32、如下標準設備文件中,代表鍵盤的是?

A.stdin

B.stdkeyborad

C.stdout

D.stderr

正確答案:A

33、如下語句中不能實現向屏幕輸出文本“NEU”的是

A.fprintf(stdout,"%s","NEU");

B.printf("%s","NEU");

C.puts("NEU");

D.sprintf(stdout,"%s",''NEU");

正確答案:D

34、對于如下程序

voidmain()

FILE*fp;

inta[]={10,ll,12};

fp=fopen("d:\\test.dat","wb");

fwrite(&a,sizeof(int),2,fp);

fclose(fp);

)

關于test.dat文件大小如下說法正確的是

A.8個字節

B.4個字節

C.2個字節

D.12個字節

正確答案:A

35、打開文件,將讀寫位置指向文件尾部的操作是

A.fseek(fp,OL,SEEK_CUR);

B.fseek(fp,OL,SEEK_BEGIN);

C.fseek(fp,OL,SEEK_SET);

D.fseek(fp,OL,SEEK_END);

正確答案:D

36、下面結構體的定義語句中,錯誤的是

A.struct{intx;inty;intz;}a;

B.structpoint{intx;inty;intz;}structpointa;

C.structpoint{intx,y,z;}a;

D.structpoint{intx;inty;intz;};structpointa;

正確答案:B

37、假設fp為FILE*指針變量,如下代碼執行后,

char*sl="China",*s2="Beijing";

FILE*fp=NULL;

fp=fopen("abc.dat","wb");

fwrite(s2,7,l,fp);

rewind(fp);

fwrite(sl,5,l,fp);

fclose(fp);

文件abc.dat的內容是

A.China

B.ChinaBeijing

C.Chinang

D.BeijingChina

正確答案:C

38、有以下程序

intmain()

inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

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

return0;

)

程序運行后的輸出結果是

A.6

B.16

C.10

D.8

正確答案:C

39、如下程序實現完數(除自身之外因子之后等于自身的數)的判定

intmain()

(

intn=0;

scanf("%d",&n);

inti=0,s=0;

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

(

if(el)

s+=i;

)

)

if(s==n)

(

printf("%5disthenumber",n);

)

return0;

)

則el對應的表達式是?

A.i%n==0

B.n%i==0

C.n%i

D.n/i

正確答案:B

40、如下程序實現素數(大于等于2,且除了1和自身之外沒有因子自

然數)的判定

intmain()

{

intn=0;

scanf("%d",&n);

inti=0;

for(i=2;i<n;i++)

(

if(n%i==O){

break;

}

)

if(el)

(

printf("%5d是素數",n);

)

return0;

)

則el對應的表達式是?

A.n>i

B.i<n

C.i>=n

D.i>n

正確答案:C

41、如下函數實現字符串拷貝(從s指向數組拷貝到t指向數組)

intmstrcpy(char*t,char*s){

char*p=t;

while(el);

returnp-t-1;

)

則el對應的表達式是?

A.++(*p)=++(*s)

B.*p++=*s++

C.(*p)++=(*s)++

D.p++=s++

正確答案:B

42、如下函數計劃通過函數返回值統計函數被調用次數,則el對應

聲明語句為

intfun(intx){

el

++n;

returnn;

)

A.intn=0;

B.intn=l;

C.staticintn=0;

D.staticintn=l;

正確答案:C

43、設有定義:

struct

{

charname[16];

intmath;

floatprogramming;

}xl,x2;

若變量均已正確賦初值,則以下語句中錯誤的是

A.xl.math=x2.math;

B.xl=x2;

C.gramming=gramming;

D.=;

正確答案:D

44、有如下結構體數組定義

structstudent

(

charname[16];

intmath;

floatprogramming;

}s[3]={{"LiMing",80,90.5},{"Joe",80,90.5},{"John",80,90.5}};

貝Ijputs((s+1)->name+1))的輸出

A.80

B.LiMing

C.oe

DJoe

正確答案:C

45、已定義函數

intfun(intx)

(

staticinti=0;

ints=0;

while(i<x){

s=s+i;

i++;

)

returns;

)

則如下語句的執行結果為

intn=l;

ints=0;

while(n<5)

s=s+fun(n++);

)

printf("%d",s);

A.6

B.20

C.15

D.10

正確答案:A

46、如下語句的執行結果為

int

溫馨提示

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

評論

0/150

提交評論