C語言期末考試試卷及答案4_第1頁
C語言期末考試試卷及答案4_第2頁
C語言期末考試試卷及答案4_第3頁
C語言期末考試試卷及答案4_第4頁
C語言期末考試試卷及答案4_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

1.構成一個可執(zhí)行的C程序的是

A.一個主函數和若干個非主函數B.若干個主函數和若干個非主函數

C.一個主函數和最多一個非主函數C.若干個主函數和最多一個非主函數

2.下面那一個是合法的C語言標識符:()

A.abcB.longC.4thD.a-3

3.用十進制數表示表達式“121012”的運算結果是()

A.1B.0C.14D.12

4.以下哪一個不是C語言合法的運算符()

A.*B.&C.?D.+

5?按照結構化程序設計的概念,C語言程序設計的基本單位是()

A.過程B.函數C.子程序D.語句

6.下面哪個表達式的值為4.()

A.11/3B.11.0/3

C.(float)11/3D.(int)(11.0/3+0.5)

7.下面C代碼的輸出結果是()

intanswer,result;answer=l00;result=answer_10;printf("Theresultis%d”,result+5);

A.Theresultis90

B.Theresultis95

C.Theresultis10

D.Theresultis100

8.設x和y均為int型變量,則執(zhí)行下面的循環(huán)后,y的值為()

for(y=l,x=l;y<=50;y++)

{if(x>=10)break;

if(x%2==l){x+=5;continue;}

x-=3;

}

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

9.有如下程序,輸出結果是()

main()

(

floatx=4.0,y;

if(x<0.0)y=0.0;

elseif(x<8.0)y=l.0/x;

elsey=l.0;

printf("%f\n”,y);

}

A.0.000000B.0.250000C.0.500000D.1.000000

10.合法的數組定義是()

A.inta口={"String”};B.inta[5]={0,1,2,3,4,5}

C.chara二{“String”};D.chara[]={0,1,2,3,4,5}

11.語句printf("%d\n",strlen("ats\n\\g"));的輸出結果是()

A.5B.6C.7D8

12.設有定義:chars[20]={"Goodmorning”};則s所占的字節(jié)數為:

A.20B.12C.13D.21

13.C語言規(guī)定,函數返回值的類型由什么決定()

Areturn語句中的表達式類型B調用該函數時的主調函數類型

C調用該函數時的形參類型D在定義該函數時所指定的函數類型

14.C語言中函數的隱含存儲類型是

A.autoB.staticC.externD.無存儲類型

15.以下函數的功能是交換x和y的值,不正確的是:

A.funa(int*x,int*y)B.funb(intx,inty)

{int*p;{intt;

*p=*x;*x=*y;*y=*p;}t=x;x=y;y=t;}

C.func(int*x,int*y)D.fund(int*x,int*y)

{intp;{*x=*x+*y;*y=*x-*y;*x=*x-*y;

p=*x;*x=*y;*y=p;}

)

16.設有以下宏定義,則執(zhí)行語句z=2*(N+Y(5+1));后,z的值為()

#defineN3

ttdefineY(n)((N+l)*n)

A.出錯B.42C.48D.54

17.以下程序的輸出結果是()

itdefineADD(x)(x)+(x)

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

printf("d=%d",d);}

Ad=70Bd=140Cd=280Dd=80

18.設有定義語句struct{intx;inty;}d[2]={{l,3},{2,7}};則printf("%d\n”,

d[0].y/d[O].x*d[l].x);的輸出是()

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

19.設intb[20];則對b數組元素的錯誤引用是:

A.b[5]B.*(b+l)C.b[20%2]D.b(5)

20.若文件型指針fp已指向某文件的末尾,則函數feof(fp)返回值是()

A.0B.-1C.非零值D.NULL

二、填空題(本大題共10小題,每小題2分,共20分)

1.若自定義函數要求返回一個值,則應在該函數體中有一條語句,若自定義函數要求

不返回值,則應該在定義該函數時的返回類型是.

2.當a=3,b=4,c=5時,寫出下列各式的值。a〈b的值為(),c<=b的值為()

3.符號常量的定義方法是.

4.算法就是為解決問題而采取的()

5.a數組定義如下chara□二"ab”,則a數組中的所有元素依次是()

6.設有以下宏定義,則執(zhí)行賦值語句a=PP*20;(a為int型變量)后,a的值是()

^definePR80

#definePPPR+403

7.設union{inta;charc[99];}b;

則sizeof(b)的值是________________________________

8.若有int4[3]={10,12,30};則@+1是()的地址,*(a+2)=()。

9.C語言中調用()函數打開文件,調用()函數關閉文件,調用()函數可

實現文件的隨機定位。

10.按數據在磁盤上的存儲方式,可將文件分為文件和文件。

三、程序分析題(本大題共5小題,每小題5分,共25分)

1.下列程序的輸出結果是_________________________________

main()

(

int1=010,j=10;

printf(u%d,%d\nw,I,j);

)

2.寫出下列程序的輸出結果

main()

inty=9;

for(;y>0;y一)

if(y%3==0){printf(,--y);}

}

3.寫出下面程序的運行結果()

#include"stdio.h"

voidmain()

{inti,sum;

i=5;

sum=0;

do

{sum=sum+2*i;

i-;

}while(i>0);

printf("i=%d,sum=%d\n”,i,sum);

}

4.寫出下列程序的輸出結果:

unsignedfun6(unsignednum)

(

unsignedk=l;

do{k*二num%10;num/=10;}

while(num);

return(k);

)

main()

(

unsignedn=26;

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

5.在執(zhí)行以下程序時,如果從鍵盤上輸入:八1^016£<回車〉,則輸出為

#include<stdio.h>

main()

{charch;

while((ch=getchar())!=,\nf)

{if(ch>=,A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<,z')ch=ch-32;

printf("%c”,ch);}

printf("\n”);

)

A)ABCdefB)abcDEFC)abcD)DEF

四、程序填充題(本大題共5小題,每小題4分。共20分)

0(x<—1.0)

1.下列程序計算分段函數1(-1.04工41.0)x由鍵盤輸入,請?zhí)羁?

10(1.0<x)

main()

{inty;

floatx;

scanf(;

if(x<-1.0)y=0;

elseif()y=l;

elsey=10;

printf(ay=___\n",y);

)

2.根據對n的輸入,求F+22+32+…+”2的和,請?zhí)羁铡?/p>

doublesum(intx)

(

intI;

doubles;

for(1=1;K=x;I++)s+=I*I;

returns;

)

main()

{intn;

scanf("”,&n);

printf(,sum(n));}

3.下面函數的功能是將一個字符串的內容顛倒過來,請?zhí)羁?

voidfun(charstr[])

(

intI,j,__________________

for(1=0,j=;Kj;I++,j-)

k=str[I];

str[I]=str[j];

)

4.下列程序的功能是輸入一個正整數,判斷是否是素數并輸出結果,請?zhí)羁?

main()

(

intj,x,y=l;

scanf("%d”,&x);

for(j=2;j<=x/2;)

if{y=0;break;}

if()

printf(“素數”);

else

printf(“非素數”);

)

5.下面的程序用來統(tǒng)計文件mytest.dat中非空格字符個數,請?zhí)羁眨?/p>

#include<stdio.h>

main()

(

FILE*fp;

longnum=0;

charch;

if((fp=)=NULL)

{printf("Can'topenfile!\nw);exit(0);}

while()

{if(ch!=32)num++;

ch=fgetc(fp);

)

fclose(fp);

)

五、程序設計題(本大題共2小題,第一題7分,第二題8分,共15分)

1.輸入整數x,如果該數為0則輸出“zero”,否則判斷奇偶性,若為奇數則輸出“odd”,若為偶數則

輸出“even”0

2.編寫一個程序,輸入下列學生成績表中的數據,并用結構體數組存放。然后統(tǒng)計并輸出三門課程的名

稱和平均分數。

NameFoxbaseBasicC

Zhao97.589.078.0

Qian90.093.087.5

Sun75.079.068.5

提示:結構體可以定義如下:

structstudent

(

charname[10];

floatfoxbase;

floatbasic;

floatc;

)

參考答案:

一、單項選擇題

1.A2.A3.C4.C5.B

6.D7.B8.C9.B10.D

11.B12.A13.D14.A15.B

16.C17.D18.D19.D20.C

二、填空題

1.returnvoid

2.10

3.ttdefine常量名常量值

4.方法和步驟

5.'a'、'b'、'\0‘

6.8140

7.99

8.a[l]30

9.fopen()fcloseOfseekO

10.ASCH文件(或文本文件)二進制文件

三、程序分析題

1.8,10

2.852

3.i=0,sum=30

4.12

5.abcDEF

四、程序填充題

1.&X

x<=l.0

溫馨提示

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

評論

0/150

提交評論