2025大學(xué)C語言考試題及參考答案_第1頁
2025大學(xué)C語言考試題及參考答案_第2頁
2025大學(xué)C語言考試題及參考答案_第3頁
2025大學(xué)C語言考試題及參考答案_第4頁
2025大學(xué)C語言考試題及參考答案_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

A)3axB)xC)caseD)-e2E)union

(2025)大學(xué)C語言考試題及答案

7.下列四組選項中,正確的C語言標識符是(C

A)%xB)a*bC)al23D)123

姓名成饋8、下列四組字符甯中都可以用作C語言程序中的標識符的是(A)。

A,print_3ddb8aBeB、l\amone_haIfstartSit3pai

溫馨提示:同學(xué)們,經(jīng)過培訓(xùn)學(xué)習(xí),你一定積累了很多知識,現(xiàn)在請認真'仔細C、str_1CpppowwhileD、PxqMy->bookIne#His.age

地完成這張試題吧。加油!9.C語言中的簡單數(shù)據(jù)類型包括(D).

Ax整型'實型'邏輯型B、整型、實型、邏輯型、字符型

一單項選擇題C、整型'字符型、邏輯型D,整型、實型、字符型

10.在C語言程序中,表達式552的結(jié)果是

1.在C語言中,以0作為字符串結(jié)束標志A)2.5B)2C)1D)3

A"\n'B)''C)'O'D)'\0'11.如果inta=3,b=4;剜條件表達式“a〈b?a:b”的值是

2.下列數(shù)據(jù)中屬于“字符串常量”的是(A).A)3B)4C)0D)1

A."a"B.{ABC}C.'abc\O'D.*a'

若干個字符構(gòu)成字符串12.若intx=2,y=3.z=4則表達式x〈z?y:z的結(jié)果是(B).

在C語言中,用單5I號標識字符;用雙引號標識字符事A)4B)302D)0E)1

選項B,C,分別用。和''標識字符串13.C語言中,關(guān)系表達式和邏輯表達式的值是(B),

選項D,標識字符。A)0B)0或101D)T或'F,

3、以下說法中正確的是(C).14.下面(D)表達式的值為4.

A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行A)11/3B)11.0/3

B、在C語言程序中,要調(diào)用的函數(shù)必須在main。函數(shù)中定義C)(float)11/3D)(int)(11.0/3+0.5)

、語言程序總是從)函數(shù)開始執(zhí)行

CCmain(15.設(shè)整型變量a=2,則執(zhí)行下列語句后,浮點型變量b的值不為0.5的是(B)

D、C語言程序中的main()函數(shù)必須放在程序的開始部分A.b=1.0/aB.b=(float)(1/a)

4.下列關(guān)于C語言的說法錯誤的是(B).Cb=1/(:loat)aD.b=1/(a*1.0>

A)C程序的工作過程是編輯、編譯、連接、運行16.若“intn;floatf=13.8;”,則執(zhí)行“n=(int)f$3”后,n的值是(A)

B)C語言不區(qū)分大小寫。A.1B.4C.4.333333D.4.6

C)C程序的三種基本結(jié)構(gòu)是順序,選擇、循環(huán)17.以下對一堆數(shù)組a的正確說明是:。

D)C程序從main函數(shù)開始執(zhí)行A)chara(1U);B)inta[];

5.下列正確的標識符是(C).C)intk=5,a[k];D)chara[3]={'a',*b','c');

A-alB.a[i]Ca2_iD.intt18.以下能對一維數(shù)組a進行初始化的語句是:(C:

6.下列C語言用戶標識符中合法的是(B).

A.inta[5]=(0,1,2.3.4.)B.inta(5)={]C.函數(shù)間的數(shù)柩傳遞不可以使用全局變量

C.inta[3]=(0,1.2}D.inta{5)=(10*1)D主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里

19.在C語言中對一維整型數(shù)組的正確定義為D.28.在C語言中.表示他態(tài)存儲學(xué)別的關(guān)僚字品:(C)

A)inta(10):B)intn=10.a[n];A)autoB)registerC)staticD)extern

C)intn:a[n]:D)#defineN1029.未指定存儲類別的變量,其隱含的存儲類別為(A).

inta[N]:A)autoB)staticC)externD)register

20、已知:inta[l0];則對a數(shù)組元素的正確引用是(D).30.若有以下說明語句:

A、a[10]B、a[3.5]C、a(5)D、a[0]structstudent

21.若有以下數(shù)組說明,則i=10:a[式i]]元素數(shù)值是(C).(intnum;

inta(12]={1,4,7,10.2.5,8.11.3.6,9,121:charname[];

A.10B.9C.6D.5floatscore:

22.若有說明:inta口=2.3).{4.5},{6.71};則數(shù)組a的第一維的大小)stu:

為:(B)則下面的敘述不正確的是:(D)

A.2B3C.4D,無確定值A(chǔ)struct是結(jié)構(gòu)體類型的關(guān)鍵字

57D)369B.structstudent是用戶定義的結(jié)構(gòu)體類型

23.對二維數(shù)組的正確定義是(C)C.num,score都是結(jié)構(gòu)體成員名

D.stu是用戶定義的結(jié)構(gòu)體類型名

Ainta[][]=(1,2,3.4.5.6|;Binta⑵[]=(1,2,3.4.5.61:31.若有以下說明語句:

C.inta[][3]={1,2.3.4.5.6};D.inta[2,3]={1,2.3,4.5.6);structdate

24.已知inta[3][4]:則對數(shù)組元素引用正確的是(intyear;

A)a⑵⑷B)a[l.3]C)a⑵⑹3a⑵⑴intmonth;

25.C語言中函數(shù)返回值的類型是由A決定的.

intday:

A)函數(shù)定義時指定的類型B)return語句中的表達式類型}brithday:

C)調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D)形參的物據(jù)類型則下面的敘述不正確的是―.

26.在C語言中,函數(shù)的數(shù)據(jù)類型是指(A)A)struct是聲明結(jié)構(gòu)體類型時用的關(guān)健字

A函數(shù)返回值的數(shù)據(jù)類型B.函數(shù)形參的數(shù)據(jù)類型B)structdate是用戶定義的結(jié)構(gòu)體類型名

C調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D.任意指定的數(shù)據(jù)類型Obrithday是用戶定義的結(jié)構(gòu)體類型名

2/.在函數(shù)倜用時,以下猊法止確的是(B)D)year,day都是結(jié)構(gòu)體成員名

A.函數(shù)調(diào)用后必須帶回返回值32.以下對結(jié)構(gòu)變量stul中成員age的非法引用是_B

B.實際參數(shù)和形式參數(shù)可以同名structstudent

(intage;C.inti.*p=ii;D.inti,*p:

intnum;37.若有說明:intn=2.*p=&n,*q=p,則以下非法的賦值語句是:(D

)stul.*p;A)p=qB)*p=*qC)n=*qD)p=n

p=Xstu1;38.有語句:inta[10].:則是對指針變量P的正確定義和初始化。

A)stul.ageB)student,ageC)p->ageD)(*p).ageA)intp=*a;B)int*p=a:C)intp=&a;D)int*p=ia:

.若有說明語句,則對數(shù)組元素的正確引用是(

33.設(shè)有如下定義:39“inta[5].*p=a;"C).

struckskA.a[p]B.p[a]C.*(p+2)D.p+2

{inta;40.有如下程序

floatb;inta[10]=(1,2,3,4.5,6.7,8,9.10).*P=a;

Idata;則數(shù)值為9的淺達式是」

int*p;A)*P+SB)*(P+8)C)*P*=9D)F

若要使P指向data中的3域,正確的賦值語句是」

A)p=ia:B)p=data.a;C)p=4data.a:D)*p=data.a;一、讀程序

34.設(shè)有以下說明語句:

typedefstructstu

基本檢入輸出及流程拄制

{inta;

floatb;

)stutype;

則r面敘述中錯誤的是(D).#incIude<8tdio.h>

A、struct是結(jié)構(gòu)類型的關(guān)鍵字mainO

B、structstu是用戶定義的結(jié)構(gòu)類型

{inta=1,b=3,c=5:

C、a和b都是結(jié)構(gòu)成員名

thstutype是用戶定義的結(jié)構(gòu)體變量名if(c=a+b)

35.語句int*p:說明了C。printf(nyes\nB):

A)p是指向一維數(shù)組的指針

else

B)p是指向函數(shù)的指針.該函數(shù)返回一int型數(shù)據(jù)

C)p是指向int型數(shù)據(jù)的指針//指針的定義教材P223printf("no\n");

D)P是函數(shù)名.該函數(shù)返回一指向int型數(shù)據(jù)的指計

)

36.下列不正確的定義是(A).

A.int*p=4i,i:B.int*p.i:運行結(jié)果為ino

if(min>b)

詳見教材P89選擇結(jié)構(gòu)?in=b:

詳見教材P91關(guān)系符號if(min>c)

詳見附錄Dp378符號的優(yōu)先級?in=c:

=賽示判斷符號兩邊的值是否相等;=表示將符號右邊的值發(fā)給左邊的變量printf("■in=%d",min);

本題考點是選擇結(jié)構(gòu)3種基本形式的第二種}

運行結(jié)果為imin=-34

選擇結(jié)構(gòu)三種一般形式中的“語句”皆為復(fù)合語句,復(fù)合語句要用㈠括起來,只詳見教材P89選擇結(jié)構(gòu)

有當(dāng)復(fù)合語句中只包括一條語句時可以省略{},此題即如此,因此兩個printf本題考點是選擇結(jié)構(gòu)3種基本形式的第一種

操作沒有WH}一共包含了兩個選擇結(jié)構(gòu)(兩個if語句)

定義變■,并賦值此時a=12,b=-34,c=56.?in=O

若c—a+b成立,則執(zhí)行printf("yes\n"):將a中值拷貝,區(qū)給min,覆蓋了min中的0,此時min中的值被更新為12.

否則(Ef)c=a+b不成立),執(zhí)行printf("no'n");若《iin>b成立,則執(zhí)行min=b;

若《iin>c成立,則執(zhí)行min=c;

+的優(yōu)先級高于=,因此先算a+b.值為4,表達式5==4不成立,因此執(zhí)行輸出min口的值

printfCno\n"):即輸|出字符串no

12大于-34,第一個if語句的表達式成立,因此執(zhí)行min=b;執(zhí)行后min中的值被

2.更新為-34.

*include<$tdio.h>-34小于56,第二個if語句的表達式不成立,因此不執(zhí)行?in=c;

mainO

(int?=12,b=-34,c=56,min=0;最后輸出min中的值,為-34.

min=8;

輸出z

2>-1,表達式x〈y不成立,因此不執(zhí)行內(nèi)層的”???else…進而z中的值沒有被

3.改變。

/include<$tdio.h>輸出z中的值為5

nainO

{intx=2.y=-1,z=5;4.

if(x<y)#incIude<stdio.h>

if(y<0)mainO

z=O;{floata.b.o,t;

elsea=3;

z=z+1:b=7:

printf(“'n",z);c=1:

)if(a>b)

運行結(jié)果為:5{t=a;a=b;b=t;)

遇到選擇結(jié)構(gòu),苗先要明確條件表達式成立時執(zhí)行那些操作。本題中,第一個ifif(a>o)

語句,其后的復(fù)合語句沒有大括號{},說明復(fù)合語句中只包含一條語句,進而省(t=a;a=c;c=t;}

略了]).內(nèi)層的.是選擇結(jié)構(gòu)的第二種基本形式,在結(jié)構(gòu)上視為一if(b>o)

條語句.因此內(nèi)層的if...else...作為第一個if語句的復(fù)合語句.{t=b;b=c:c=t:}

printf("%5.2f,%5.2f,%5.2f.a,b,c);%為求余運算

若表達式x<y成立,則繼續(xù)判斷

若y<0,則執(zhí)行z=0;運行結(jié)果為:1.00,3.00,7.00

否則(即y>=0),執(zhí)行z=z+1:

詳見教材P72數(shù)據(jù)的輸出形式#include<stdio.h>

本題包含了3個if語句,每個if語句后的{)都不可省略,因為每個(}中都包main()

含了多條語句{floatc=3.0.d=4.0;

若表達式a>b成立,則執(zhí)行(t=a;a巾:b=t:}if(o>d)c=5.0:

若表達式a>c成立,則執(zhí)行[t=a:a=c;c=t:}else

若表達式b>c成立,則執(zhí)行代=b;bk;C=t;}if(3=d)c=6.0;

徜出a.b.c中的佰,要求輸出的每個數(shù)據(jù)寬度為5個空格,小數(shù)部分保留2位,elsec=7.0;

數(shù)據(jù)右對齊printf(,c);

3小于7.因此表達式a>b不成立,因此不執(zhí)行此=a;a=b;b=t;}運行結(jié)果為:7.0

此踱為if...else...語句的嵌套,第二if...else...作為第一個if...else...

3大于1,因此表達式a>c成立,則執(zhí)行(t=a;aR;b=t;}。第一句,將a中的3拷語句else部分的復(fù)合語句,

貝,粘貼到t中;笫二句,將c中的1拷貝,粘貼到a中,覆蓋掉先前的3;第三

句。將t中的3拷貝到c中,覆蓋掉c中先前的1.執(zhí)行完復(fù)合語句后實現(xiàn)了a.c若表達式c>d成立,則執(zhí)行c=5.0:

元素的值的互換,a為1,c為3,t為3,。否則(表達式c>d不成立)

若表達式c=d成立,則執(zhí)行c=6.0:

7大于c中的3,因此b>C成立,執(zhí)行則執(zhí)行代=b;b=c:c=t:},過程同上,執(zhí)行后否則,執(zhí)行c=7.0;

b為3,c為7,t為7輸出c中的值

此時輸出a.b.c中的值為1.00.2.00,7.003.0小于4.0,因此表達式c>d不成立,執(zhí)行第二個if…else….

3.0不等于40,因此表達式c=d不成立,執(zhí)行c=7.0,將7.0賦給c,覆蓋掉c

5.中的3.0,此時c中的值為7.0

輸出此時的C中的值

運行結(jié)果為:

1

/include<stdio.h>

nainO

(intm;

scarf("%d\&m);詳見教材p115循環(huán)結(jié)構(gòu)

if(m>=0)當(dāng)循環(huán)條件num<=2成立的時候,執(zhí)行循環(huán)體{nw+;prirtfnum);)中

{if(m%2=0)prirrtf(*%disapositiveeven\n",m);的語句.

elseprintf('%disapositiveodd\n",m);}

else循環(huán)初值num為0:

{if(m%2=0)printf('%disanegativeeven\n",m);循環(huán)條件num<=2成立

elseprintf("%disanegativeodd\n",m);)第1次循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為1;

}執(zhí)行printf(fd\n".nM);在屏幕上輸出nm中的值,即輸出1,之后

若鍵入一9,則運行結(jié)果為:-9isanegativeodd換行

此時num中的值為1,循環(huán)條件num<=2成立

7.第2此循環(huán):執(zhí)行mw+:即將nim中的值加1,執(zhí)行后num為2;

*include<$tdio.h>執(zhí)行printf(fd\n“,n6);在屏幕上輸出num中的值,即輸出2,之后

mainO換行

(intru?=0;

??i11e(ru?<=2){nunrt-+;printf("%d\n",num)j)此時num中的值為2,循環(huán)條件num<=2成立

第3此循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為3;執(zhí)行n++,即將n中的值加1,執(zhí)行后n為3;

執(zhí)行printf(飛d\n".num);在屏幕上輸出num中的值,即輸出3,之后

換行輸出此時n,sg中的值,即為3.7。需要注意,在print”"W,%d”,n,sum):中

此時nun中的值為3,循環(huán)條件num<=2不成立,結(jié)束循環(huán)。要求輸出的數(shù)據(jù)彼此間用逗號間隔,因此結(jié)果的兩個數(shù)據(jù)間一定要有逗號

8.

/include<stdio.h>

nwin()

(intsm=10,n=1:9.

while(n<3){sum=sum-n;n++;}#include<stdio.h>

printf(M%d,%d",n.sum):mainO

){intnum.c;

運行結(jié)果為:3.7scanf("%d",&num);

當(dāng)循環(huán)條件n<3成立的時候,執(zhí)行循環(huán)體{sum=sum-n;n++;)中的語句。do(c=ni?rt10;printf("%d",c);}whiIe((nu?/=10)>0);num=0

printf("\n-):

循環(huán)初值sum為lO.n為1;}從健盤脩入23,則運行結(jié)果為:32

循環(huán)條件n<3成立詳見教材P117循環(huán)結(jié)構(gòu);P60復(fù)合的取值運算符

第1次循環(huán):執(zhí)行5um=sunrn=10-1=9;do{JwhiIe(液達式):

執(zhí)行n++,即將n中的值加1,執(zhí)行后n為2;先無條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意while(表達式)后府分號

此時n中的值為2,sum中的值為9,循環(huán)條件n<3成立,繼續(xù)執(zhí)行循環(huán)定義整型變量num,c:

第2次徜環(huán):執(zhí)行sum=sum-n=9-2=7;為num賦一個整型值;

執(zhí)行[c=num%10:printf("%d",c);)直到循環(huán)條件(num/=10)>0不成立;scanf("%d",&n);

輸出換行do{s+=1:a=a-2:)whiIe(al=n);

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

已如為num賦值23}

第1次執(zhí)行循環(huán)體若It入的值1,運行結(jié)果為:2,1

執(zhí)行c=num%10=23%10=3;詳見教材P117循環(huán)結(jié)構(gòu);P60復(fù)合的履值運算符

執(zhí)行「八沁打飛/工兀輸出?執(zhí)行(s+=1:a=a-2;}直到循環(huán)條件3!=1!不成立;

判斷循環(huán)條件num/=10等價于num=num/10:因此nuit=23/10=2,2大于0,因此循

環(huán)條件(num/=10)>0成立,繼續(xù)執(zhí)行循環(huán)體.執(zhí)行完第1次循環(huán)時,ns為2,c已知為n耐值1.s為0,a為5

為3第1次執(zhí)行循環(huán)體

執(zhí)行s+=1等價于6=S+1=0+1

執(zhí)行a=a-2:a=5-2=3

第2次執(zhí)行循環(huán)體判斷循環(huán)釜件.3不等于1,因此循環(huán)條件a!=n成立.繼續(xù)執(zhí)行循環(huán)體。

執(zhí)行c=2M0=2;執(zhí)行完第’次循環(huán)時,s為1,a為3

執(zhí)行printff?冊T.c);再輸出2第2次執(zhí)行循環(huán)體

判斷循環(huán)條件num=2/10=0.0等于0,因此循環(huán)條件6皿/=10)>0不成立.結(jié)束循執(zhí)行s+=1等價于6=S+1=1X=2

環(huán)執(zhí)行a=a-2;a=3-2=1

判斷循環(huán)去件.1等于1,因此循環(huán)條件a!=n不成立.結(jié)束循環(huán).

10執(zhí)行完第?次循環(huán)時,s為2,a為1

#include<stdio.h>

mainO輸出此時s.a中的值,結(jié)果為2.1

(ints=0,a=5.n;

11.mainO

/include"stdio.h"(intx,y=0:

mainOfor(x=1;x<=10;x++)

(oharc:(if(y>=10)

c=getchar0;break;

willle(c!='?'){putchar(c):c=getchar0:)y=y+x;

))

如果從鍵盤輸入abcde?fgh《回車)printf("%d%d",y,x);

運行結(jié)果為:abode)

運行結(jié)果為:105

12.詳見教材p120for語句

★include<stdio.h>詳見教材p126~128break,8ntinue語句

malnOfor(表達式1;表達式2;表達式3)

(charc;(

while((o=getch?r0)!=*$')

{if('A'<=c&4c<='Z')putchar(c);}

elseif(、'<=cttc<=*z*)putchar(o-32):)(1)先求解表達式1

)(2)求解表達式2,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行(3).若為假,則結(jié)束

當(dāng)輸入為ab*AB%cd#CD$時,運行結(jié)果為:ABABCtJCD循環(huán),轉(zhuǎn)到⑸

(3)求解表達式3

13.(4)轉(zhuǎn)回上面(2)縫諼執(zhí)行

/include<stdio.h>(5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句

第4次循環(huán)

break,跳出循環(huán)體;continue.結(jié)束本次循環(huán)(第i次循環(huán)),繼續(xù)執(zhí)行下一次執(zhí)行if語句。6小于10,if語句的條件表達式不成立,不執(zhí)行break;

循環(huán)(第i+1次循環(huán))執(zhí)行y=y+x;y=6+4=10

轉(zhuǎn)向表達式3,執(zhí)行x++.x=x+1=4+1=5°循環(huán)條件x<=10成立,進入第5次循環(huán)

此題

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論