2021年華北水利水電大學(xué)C語(yǔ)言專升本練習(xí)(十二套試卷)及答案_第1頁(yè)
2021年華北水利水電大學(xué)C語(yǔ)言專升本練習(xí)(十二套試卷)及答案_第2頁(yè)
2021年華北水利水電大學(xué)C語(yǔ)言專升本練習(xí)(十二套試卷)及答案_第3頁(yè)
2021年華北水利水電大學(xué)C語(yǔ)言專升本練習(xí)(十二套試卷)及答案_第4頁(yè)
2021年華北水利水電大學(xué)C語(yǔ)言專升本練習(xí)(十二套試卷)及答案_第5頁(yè)
已閱讀5頁(yè),還剩154頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

華北水利水電大學(xué)

C語(yǔ)言專升本練習(xí)(一)

考試方式:【閉卷、筆試】考試時(shí)間:【60分鐘】

總分:【100分】出題人:【】

題號(hào)一總分

得分

?考生要認(rèn)真核對(duì)條形碼上打印的姓名、座位號(hào)是否與本人準(zhǔn)考證上一致

?除在答題區(qū)域內(nèi)作答外,不得在答題卡的任何部位做任何標(biāo)記或亂涂亂畫。

?考試結(jié)束,不得將試卷、答題卡或草稿紙帶出考場(chǎng)。

一、單項(xiàng)選擇題(共50題,每題2分,共計(jì)100分)

()1、若有定義inta□={10,20,30},*p=a;,當(dāng)執(zhí)行p++;后,下列說(shuō)法錯(cuò)誤的是

A、p向高地址移了一個(gè)字節(jié)

B、p向高地址移了一個(gè)存儲(chǔ)單元

C、p向高地址移了四個(gè)字節(jié)

D、p與a+1等價(jià)

()2、設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是.。

A、f=0;

for(i=l;i<=n:i+十)f*=i;

B、f=l

for(i=l:i

C、f=l:

e月for(i=n;i>l;i十+)f*=i;

皿D、f=l:

for(i=n;j>=2;j—)f*=i;

()3、與y=(x>0?l:x<0?-l:0);的功能相同的if語(yǔ)句是。

A、if(x>0)y=l;

elseif(x<0)y=-l;

elsey=0;

B、if(x)

if(x>0)y=l;

elseif(x<0)y=-l;

elsey=0;

C、y=-l

if(x)

if(x>0)y=l;

elseif(x=0)y=0;

elsey=-l;

D,y=0;

if(x>=0)

第1/159頁(yè)

if(x>O)y=l;

elsey=一1;

()4、設(shè)n為整型變量,則循環(huán)語(yǔ)句for(n=10;n>0;n-)的循環(huán)次數(shù)為—

A、10

B、9

C、11

D、12

()5、下面程序的輸出結(jié)果是o

main()

(

char*pl二〃abc〃,*p2二〃abc〃,str[50]二〃xyz〃;

strcpy(str+2,strcat(pl,p2));

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

)

A^xyzabcABC

B、zabcABC

C^xyabcABC

D^yzabcABC

()6、在c語(yǔ)言程序中可用做用戶標(biāo)識(shí)符的是o

A、void

123

BBN

B、aa

_abc

cas

C、as+b3

-123

If

D、6f

Do

SIG

()7、下列描述中正確的是o

A、標(biāo)識(shí)符首字符的后面可以跟數(shù)字

B、標(biāo)識(shí)符不區(qū)分大小寫

C、復(fù)合數(shù)據(jù)類型變量包括布爾型、字符型和浮點(diǎn)型

D、數(shù)組屬于基本數(shù)據(jù)類型

()8、下列哪一項(xiàng)不是表達(dá)式

A、1

B、a+b

C、?a;

D、c=a+b

()9、以下關(guān)于字符串的敘述中正確的是o

A、c語(yǔ)言中有字符串類型的常量和期量

第2/159頁(yè)

B、兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行字符串大小的比較

C、可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較

D、空串一定比空格打頭的字符串小

)10、下列選項(xiàng)中不是c語(yǔ)句的是_______o

A^{inti;i++;printf(w%d\n",i);}

B、;

C^a=5,c=10

D、{;}

)11、函數(shù)的形式參數(shù)隱含的存儲(chǔ)類型說(shuō)明是o

A、extern

B、static

C^register

D>auto

)12、設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f的數(shù)據(jù)類型是

A、int型

B、float型

C^double型

D、不確定

)13、以下敘述中正確的是o

A、在函數(shù)中必須要有return語(yǔ)句

B、在函數(shù)中可以有多個(gè)return語(yǔ)句,但只執(zhí)行其中的一個(gè)

C、return語(yǔ)句中必須要有一個(gè)表達(dá)式

D、函數(shù)值并不總是通過(guò)retum語(yǔ)句傳回調(diào)用處

)14、若二維數(shù)組a有m歹山則計(jì)算任一元素在數(shù)組中位絡(luò)的公式為(假設(shè)a[0][0]位于

數(shù)組的第一個(gè)位輅上)o

A、i*m+j

B、j*m+i

C、i*m+jT

D、i*m+j+l

)15、以下程序結(jié)果為:o

voidpp()

(

staticintn=5;

n——;

printfC%d,z,n);

)

main()

intm;

for(m=0;m<4;m++)pp();

}

第3/159頁(yè)

A、5555

B、4321

C、4444

D、5432

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

#include<stdio.h>

voidmain()

(

intx=3;

do

(

printf(〃%d",x-=2);

)

while(!(-x));

)

A、1

B、1-2

C、30

D、是死循環(huán)

()17、設(shè)有以下語(yǔ)句,其中不是對(duì)a數(shù)組元素的正確引用的是(其中0WiV6)inta[6]=

{11,22,33,44,55,66},*m=a;

A^&(*(a+i))

B、*(&a[i])

C、m[i]

D、a[i]

()18、有以下程序

mainO

(

inta=666,b=888;

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

}

程序運(yùn)行后的輸出結(jié)果是______。

A、錯(cuò)誤信息

B、666

C、888

D、666,888

()19、若有以下定義和語(yǔ)句,且0Wi<10則對(duì)數(shù)組元素的錯(cuò)誤引用是ointa[10]={

1,2,3,4,5,6,7,8,9,10},*p,i;p=a;

A^*(a+i)

B、a[p-a]

C^p+i

D、*(&a[i])

()20、下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是o

第4/159頁(yè)

A、structord{

intx;inty;intz;};structorda;

B、structord

intx;inty;intz;}structorda;

C、structord{

intx;inty;intz;}n;

D、struct{

intx;inty;intz;}a;

()21、判斷i和j至少有一個(gè)值為非0的表達(dá)式是.

A、i!=0&&j!=0

B、i+j!=0

C>i||j

D、i&aj

()22、以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出錯(cuò)。

mainO/*beginning*/

(

intr;

floats;

scanf&r);

s=*p*r*r;

printf("s=%f\n”,s);

}

出錯(cuò)的原因是O

A、注釋語(yǔ)句書寫位置錯(cuò)誤

B、存放圓半徑的變量「不應(yīng)該定義為整型

C、輸出語(yǔ)句中格式描述符非法

1)、計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量

()23、以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是

main()

(

intg=5,k;

voidprt_char();

k=prt_char(g);

)

A、語(yǔ)句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明

B、變量名不能使用大寫字母

C、函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾

D、函數(shù)名不能使用下劃線

()24、以下描述中正確的是o

A、由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句

B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)

C、在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

第5/159頁(yè)

D、do-while循環(huán)中,根據(jù)情況可以省略while

()25、若有說(shuō)明:inta,b=2,*p=&a;則能完成a二b賦值功能的語(yǔ)句是。

A、a=*p;

B、*p=*&b;

C、a=&b;

D、a=**p;

()26若已定義x和y為double類型,則表達(dá)式x=l,y=x+3/2的值是。

A、1

B、2

C、2.0

D、2.5

()27、不能把字符串“hello!〃賦給數(shù)組b的語(yǔ)句是。

A、char!’;

B、charb[10]=,h','e',T',T','o',';

C、charb[10];strcpy(b,"Hello!”);

D、charb[10]=,/Hello!,z:

()28設(shè)有intx,y;

以下語(yǔ)句判斷x和y是否相等,正確的說(shuō)法是該語(yǔ)句oif(x=y)printfC"xisequal

toy."");

A、語(yǔ)法錯(cuò)

B、不能判斷x和y是否相等

C、編譯出錯(cuò)

D、能判斷x和y是否相等

()29、下列變量定義中,錯(cuò)誤的是。

A、intx=3;

B、floatf;d;

C、Strings二〃Hello!”;

D、booleanb=true;

()30、有以下計(jì)算公式若程序前面已在命令中包含malh.h文件,不能夠正確計(jì)算上述公式的

程序段是0

A、if(x>=0)y=-sqrt(x);

elsey=sqrt(-x);

y=sqrt(x)

if(x<0)y=sqrt(?x);

C^if(x>=0)y—sqrt(x);

If(x<0)y=sqrt(—x);

D、y=sqrt(x>=0?x:-x);

()31、下面函數(shù)的功能是_a(sl,s2)charsl[],s2[];while(s2++=sl++);

A、字符串比較

B、字符串復(fù)制

第6/159頁(yè)

C、字符串鏈接

D、字符串反向

()32、以下選項(xiàng)中,非法的字符常量是.

A、’\t'

B、'\17'

C、"\n"

D、’\xaa,

()33、有以下程序

main()

(

chars[]="\nl23\\”;

printf("%d,%d\n”,strlen(s),sizeof(s));

}

執(zhí)行后輸出結(jié)果是=

A、賦初值的字符串有錯(cuò)

B、6,7

C、5,6

D、6.6

()34、下列選項(xiàng)中屬于c語(yǔ)言構(gòu)造類型的是。

A、指針類型

B、空類型

C、枚舉類型

D、數(shù)組類型

()35、下列程序的輸出結(jié)果是_

main()

(

chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf*一p);

}

A、非法

B、a[4]的地址

C、5

D、3

()36、若變量已正確定義:for(x=0,y=0;(y!=99&&x<4);x++)則以上for循環(huán)()

A、執(zhí)行3次

B、執(zhí)行4次

C、執(zhí)行無(wú)限次

D、執(zhí)行次數(shù)不定

()37、在c中,函數(shù)原型不能標(biāo)識(shí)o

A、函數(shù)的返回類型

第7/159頁(yè)

B、函數(shù)參數(shù)的個(gè)數(shù)

C、函數(shù)參數(shù)類型

D、函數(shù)的功能

()38、下列程序執(zhí)行后的輸出結(jié)果是_______o

main()

(

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

p=&a;

for(i=p;i<9;i++)p[i]=i-i+l;

printf("%d\n",a[l][2]);

)

A、3

B、6

C、9

D、隨機(jī)數(shù)

()39、若已定義:inta[]={0,l,2,3,4,5,6,7,8,9},*p=a,i;其中0WiW9,則對(duì)a數(shù)組元素的引用不

正確的是__。

A、a[p-a]

B、*(&a[i])

C、p[i]

D、*(*(a十i))

()40、下面定義結(jié)構(gòu)變量的語(yǔ)句中錯(cuò)誤的是。

A、structstudent{

intnum;charname[20];

}s;

B、struct{

intnum;charname[20];

)s;

C、structstudent{

intnum;charname[20];

);

structstudents;

D、structstudent{

intnum;charname[20];

);

students;

()41、語(yǔ)句:〃printf(〃%d〃,6=2)&&(4-2));〃的輸出結(jié)果是。

A^無(wú)輸出

B、結(jié)果是不確定

C、-1

D、1

()42、有如下程序段int*p,a=5,b=l;p=&a;a=*p+b;執(zhí)行該程序段后,a的值為。

A、5

第8/159頁(yè)

B、6

C、7

D、編譯出錯(cuò)

()43、設(shè)變量a、b、e、d和y都已正確定義并賦值。若有以下if語(yǔ)句:if(a<b)if(c==d)y=0;

elsey=l;該語(yǔ)句所表示的含義是。

A、y=0,a

B、y=0,a

y二Laeby—1,a2b且cWd

C、y=0,a

D、y=0,a

y=LaVB且CrDy="1,crd

()44>在c語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是。

A^do…while的循環(huán)體不能是復(fù)合語(yǔ)句

B、do…while允許從循環(huán)體外轉(zhuǎn)到循環(huán)體內(nèi)

C、whi18的循環(huán)體至少被執(zhí)行?次

D、do…while的循環(huán)體至少被執(zhí)行一次

()45c語(yǔ)言規(guī)定:main函數(shù)的位置_______。

A、必須在最開始

B、必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面

C、可以任意

I)、必須在最后

()46、以下程序的運(yùn)行結(jié)果是o

#include<stdio.h>

main()

(

inta=3,b=4,c=8,d=4,m=l,n=3;

printf(zz%d\nz/,(m=a>b)&&(n=c>d));

)

A、0

B、1

C、2

D、3

()47、若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0Wi<9,則對(duì)a數(shù)組元素不

正確的引用是o

A、int

double

C、float

D、不確定

()48、下列屬于條件運(yùn)算符的是o

A、:

B、&&

第9/159頁(yè)

c、>>

D、+

)49、下列選項(xiàng)中,表示字符串末尾的結(jié)束標(biāo)志是

A、'\n'

B、’\r'

C、'\0'

D、NULL

)50、有以下程序o

#include<stdio.h>

main()

(

file*fp;

intk,n,a[6]={l,2,3,4,5,6};

fp=fopen(〃d2.dat","w〃);

fprintf(fp,/z%d%d%d\nz,,a[0],a[l],a[2]);

fprintf(fp,〃%d%d%d\n〃,a[3],a[4],a[5]);

fclose(fp);

fp=fopen(/zd2.datz,,"r");

fscanf(fp,z/%d%dz,,&k,&n);

printf("%d%d\n”,k,n);

close(fp);

}

程序運(yùn)行后的輸出結(jié)果是O

A、12

B、14

C、1234

D、123456

第10/159頁(yè)

參考答案

一、單項(xiàng)選擇題

1、A

2、D

3、A

4、A

5、C

6、B

7、A

【解析】選項(xiàng)B錯(cuò)誤,c語(yǔ)言標(biāo)識(shí)符是區(qū)分大小寫的;選項(xiàng)C錯(cuò)誤,復(fù)合數(shù)據(jù)類型應(yīng)該包括數(shù)組、類和接口;選項(xiàng)D錯(cuò)誤,

數(shù)組應(yīng)該屬于復(fù)合數(shù)據(jù)類型;選項(xiàng)A正確,標(biāo)識(shí)符首字符的后面可以跟數(shù)字、字母、下劃線和美元符號(hào)。

8、C

9、D

10、C

11、D

12、C

13、B

14、D

15、B

16、B

17、A

18、C

19、C

20、B

21、C

22、D

23、C

【解析】在C語(yǔ)言中,對(duì)于返回值是其他類型的函數(shù),若把函數(shù)定義放在調(diào)用之后,應(yīng)該在調(diào)用之前對(duì)函數(shù)進(jìn)行說(shuō)明,

或稱為函數(shù)原型說(shuō)明。函數(shù)說(shuō)明句中的類型必須與函數(shù)返回類型一致,函數(shù)說(shuō)明可以是一條獨(dú)立的語(yǔ)句,也可以與普通

變量一起出現(xiàn)在同一個(gè)語(yǔ)句中。對(duì)于函數(shù)值為整型的函數(shù)的說(shuō)明,prt_char中定義時(shí)是void類型,那天返回值與

k=prt_char();矛盾。所以本題的錯(cuò)誤之處在于“函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾。”

24、C

【解析】dowhile語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用

花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。

25、B

26、C

27、B

【解析】在C語(yǔ)言中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,因此,“hello!”和“Hello!”是兩個(gè)不同的字

第11/159頁(yè)

符串。

28、B

29、B

【解析】A選項(xiàng)定義了一個(gè)整型;C選項(xiàng)定義了一個(gè)字符串;D選項(xiàng)定義了一個(gè)布爾型變量:B選項(xiàng)中的f;d不符合標(biāo)識(shí)符

規(guī)范,因而選B。

30、B

31、B

32、C

33、C

【解析】本題在定義字符數(shù)組時(shí)沒有定義數(shù)組長(zhǎng)度,但是給數(shù)組賦了初值,這時(shí)初值的個(gè)數(shù)即為數(shù)組的長(zhǎng)度,故數(shù)組長(zhǎng)

度為6(包括字符串的長(zhǎng)度為有效字符的個(gè)數(shù)5。因此printf語(yǔ)句中輸出的結(jié)果為5,6。

34、D

【解析】構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的。C語(yǔ)言中的構(gòu)造類型數(shù)據(jù)只有3種,它們是數(shù)組類型、結(jié)構(gòu)

體類型和共用體類型。故應(yīng)該選擇D。

35、C

36、B

【解析】本題重點(diǎn)考查for語(yǔ)句的循環(huán)次數(shù),for(x=0,y=0;(y!=99&&xV4);x++),y!=99&&xV4即循環(huán)條件當(dāng)y不等于

99以及xV4時(shí),執(zhí)行循環(huán)語(yǔ)句,當(dāng)有一個(gè)條件不成立時(shí),均結(jié)束循環(huán),因此循環(huán)4次,B選項(xiàng)正確。

37、D

38、D

39、D

40、D

41、D

42、B

43、C

44>D

【解析】本題考查while和do…while循環(huán)的區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的

值為非零時(shí),才可能執(zhí)行循環(huán)體:在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此

無(wú)論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

45、C

46、A

【解析】邏輯與(&&)運(yùn)算符的功能是:當(dāng)“&&”運(yùn)算符兩邊的運(yùn)算對(duì)象均為1時(shí),整個(gè)表達(dá)式的值為1,否則為0。因?yàn)?/p>

a=3<b=4,即加二。,所以整個(gè)表達(dá)式的值為0。

47、C

【解析】本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語(yǔ)句。解答本題的關(guān)鍵是掌握while語(yǔ)句。

48、A

【解析】:為條件運(yùn)算符;&&為布爾邏輯運(yùn)算符;>>為位運(yùn)算符;+為算術(shù)運(yùn)算符。

49、C

【解析】字符串末尾結(jié)束標(biāo)志為'\0'

第12/159頁(yè)

50、D

第13/159頁(yè)

華北水利水電大學(xué)

C語(yǔ)言專升本練習(xí)(二)

考試方式:【閉卷、筆試】考試時(shí)間:【60分鐘】

總分:【100分】出題人:【】

題號(hào)一總分

得分

?考生要認(rèn)真核對(duì)條形碼上打印的姓名、座位號(hào)是否與本人準(zhǔn)考證上一致

?除在答題區(qū)域內(nèi)作答外,不得在答題卡的任何部位做任何標(biāo)記或亂涂亂畫。

?考試結(jié)束,不得將試卷、答題卡或草稿紙帶出考場(chǎng)。

一、單項(xiàng)選擇題(共50題,每題2分,共計(jì)100分)

()1、若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是。

A、x=y=5;

x=n%2.5;

C、x+n=l;

D、x=5=4+l

()2、以下選項(xiàng)中正確的c語(yǔ)言常量是o

A、2.46E-1.5

B、0382

C、'123'

D、'\0'

()3、下列說(shuō)法中不正確的是o

A、switch語(yǔ)句功能可以由if-clse語(yǔ)句實(shí)現(xiàn)

B、若用于比較的數(shù)據(jù)類型為double,則不能用switch語(yǔ)句來(lái)實(shí)現(xiàn)

C、if-else語(yǔ)句的執(zhí)行效率總是比switch語(yǔ)句高

D、case子句可以有多個(gè)語(yǔ)句,并且不需要用大括號(hào)””括起來(lái)

()4、語(yǔ)句for(k=0;kV5;++k)

(

if(k==3)continue;

printf(〃%d”,k);

)

的輸出結(jié)果為

A、012

B、0124

C、01234

D、沒有輸出結(jié)果

()5、若有定義語(yǔ)句:inta[2][3],*p[3];則以下語(yǔ)句中正確的是

第14/159頁(yè)

a、p=a;

B、p[O]=a;

C、p[0]=&a[l][2];

D^p[I]=&a;

()6、設(shè)整型變量a=2,則執(zhí)行下列語(yǔ)句后,浮點(diǎn)型變量b的值不為0.5的是o

A、b=l.0/a

B、b=(float)(1/a)

C、b=l/(float)a

I)、b=l/(a*l.0)

()7、已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是。

A、p=100;

p=a[5]

C、p=a[2]+2

D>p=a+2;

()8、以下敘述中不正確的是o

A、在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B、在C程序中,APH和aph是兩個(gè)不同的變量

C、若a和b類型相同,在計(jì)算賦值表達(dá)式"b后,b中的值將放入a中,而b中的值不變

I)、當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

()9、設(shè)有以下程序段:inta[5]=0,*p,*q;p=a;q=a;則下列選項(xiàng)中,合法的運(yùn)算是。

A^p+q

B、p-q

C、p*q

D、p%q

()10、以下符合c語(yǔ)言語(yǔ)法的實(shí)型常量是。

A、1.2E0.5

B、3.14.159E

C、0.0005

D、E15

()11、有以下程序

#include<stdio.h>

voidfun(intn,int*s){

intf;

if(n=l)*s=n+1;

elsefun(n-1,&f);

*s=f;

}

main(){

intx=0;

fun(4,&x);

printf("%d\n〃,x);

)

第15/159頁(yè)

程序運(yùn)行后的輸出結(jié)果是?O

A、2

B、1

C、3

D、4

()12、如果一個(gè)表達(dá)式包含算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算和字符運(yùn)算時(shí),運(yùn)算的先后順序是

A、算術(shù)運(yùn)算一關(guān)系運(yùn)算一邏輯運(yùn)算一字符運(yùn)算

B、算術(shù)運(yùn)算一字符運(yùn)算一關(guān)系運(yùn)算一邏輯運(yùn)算

C、邏輯運(yùn)算一關(guān)系運(yùn)算一算術(shù)運(yùn)算一字符運(yùn)算

D、字符運(yùn)算一算術(shù)運(yùn)算一邏輯運(yùn)算一關(guān)系運(yùn)算

()13、c語(yǔ)言中,可用于說(shuō)明函數(shù)的是o

A^auto或static

extern或auto

C、static或extern

D、auto或register

()14、以下敘述中錯(cuò)誤的是o

A、用戶定義的函數(shù)中可以沒有retu門i語(yǔ)句

B、用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值

C、用戶定義的函數(shù)中若沒有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型

D、函數(shù)的return語(yǔ)句中可以沒有表達(dá)式

()15、運(yùn)行以下程序后,如果從鍵盤上輸入:6514〈回車〉,則輸出結(jié)果為

main()

(

intm,n;

printf("enterm,n:〃);

scanf("%d%d”,&m,&n);

while(m!=n)

(

while(m>n)m-=n;

while(n>m)n-=m;

}

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

)

A、m=3

B、m=2

C、m=l

D、m=0

()16^for(intx=0,y=0;!x&&yO5;y++)語(yǔ)句執(zhí)行循環(huán)的次數(shù)是。

A、0

B、5

C、6

第16/159頁(yè)

D、無(wú)數(shù)次

()17、下列數(shù)組說(shuō)明中,正確的是o

A^intarray[][4];

B、intarray[]口;

C>intarray[][][5];

D^intarray[3][];

()18、有以下程序:

doublef(doublex);

main()

(

doublea=0;

inti;

for(i=0;i<30;i+=10)a+=f((doub1e)i);

printf("%5.0f\n〃,a);

)

doublef(doublex)

(

returnx*x+l;

}

程序運(yùn)行后的輸出結(jié)果是一o

A、503

B、401

C、500

D、1404

()19、二維數(shù)組m[i,j]的元素是4個(gè)字符(每個(gè)字符占一個(gè)存儲(chǔ)單元)組成的串,行下標(biāo)i范圍從0到

4,列下標(biāo),i的范圍從0到5。m按行存儲(chǔ)時(shí)元素m[3,5]的起始地址與m按列存儲(chǔ)時(shí)元素()的起始地

址相同。

A、M[2,4)

B、M[3,4)

C、M[3,5]

D、M[4,4)

()20、有如下定義:structstudent

(

charname[10];

intage;

chargender;

)

std[3],*p=std;

則以下各輸入語(yǔ)句中錯(cuò)誤的是一。

A、scanf&(*p).age);

scanf&std[0].gender);

C、scanf&(p->gender));

D、scanf(〃%s〃,&);

()21、若a為整型變量,則以下語(yǔ)句oa=-21;printf("%d\n型a);

第17/159頁(yè)

A、賦值不合法

B、輸出為不確定的值

C、輸出值為-2

D、輸出值為2

()22>若有chara[80],*s=a;不正確的輸入語(yǔ)句是。

A、scanf(〃%s〃,s);

B、gets(s);

C、fscanf(stdin,"%c〃,s);

D^fgets(s,80,stdin);

()23、以下程序運(yùn)行后,輸出結(jié)果是

^definePT5.5

^defineS(x)PT*x*x

#include<stdio.h>

main()

(

inta=l,b=2;

printf(,z%4.lf\nz/,s(a+b));

}

A、49.5

B、9.5

C、22

D、45.0

()24以下選項(xiàng)中與if(a=l)a=b;elsea++;語(yǔ)句功能不同的switch語(yǔ)句是

A、switch(a)

case1:a=b;break;

default:a++;

B、switch(a==l)

case0:a=b;break;

case1:a++;

C、switch(a)

default:a++;break;

case1:a=b;

[)、switch(a==l)

case1:a=b;break;

case0:a++:

()25、函數(shù)默認(rèn)返回類型為

A、int

B、void

C、隨機(jī)

D、bool

()26、以下不合法的數(shù)值常量是_______o

A、Oil

B、lei

第18/159頁(yè)

C、8.OEO.5

D、Oxabcd

()27、對(duì)于int*pa[5];的描述,以下哪個(gè)選項(xiàng)是正確的

A、pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是五個(gè)int類型的指針

B、pa是一個(gè)具有五個(gè)元素的指針數(shù)組,每個(gè)元素都是一個(gè)int類型的指針

C、pa[5]表示某個(gè)數(shù)的第五個(gè)元素的值

D、pa是一個(gè)指向某個(gè)數(shù)組中第五個(gè)元素的指針,該元素是ini類型的變量

()28、c程序中的宏展開是在。

A、編譯時(shí)進(jìn)行的

B、程序執(zhí)行時(shí)進(jìn)行的

C、編譯前預(yù)處理時(shí)進(jìn)行的

[)、編輯時(shí)進(jìn)行的

()29、下列表達(dá)式中,類型可以作為int型的是?

A、"abe"+"efg”

B、"abc"+"efg”

C、‘a(chǎn)'+'b'

D、3+"4”

()30、以數(shù)據(jù)塊為單位對(duì)數(shù)據(jù)進(jìn)行整體讀寫時(shí)如果ptr是指向內(nèi)存中數(shù)據(jù)塊的首地址,fp是文件指

針,那么數(shù)據(jù)塊中每個(gè)數(shù)據(jù)項(xiàng)的大小為。

A、sizeof(*ptr)

B、*ptr

C^sizeof(ptr)

D、sizeof(*fp)

()31、printf函數(shù)中用到格式符%-6s,其中數(shù)字6表示輸出的字符串占用6列。如果字符串長(zhǎng)度小于

6,則輸出按方式。

A、從左起輸出該字符串,右補(bǔ)空格

B、從右起輸出該字符串,左補(bǔ)空格

C、0

【)、輸出錯(cuò)誤信息

()32、下列()表達(dá)式不滿足;

當(dāng)x的值為偶數(shù)時(shí)值為"真",為奇數(shù)時(shí)值為"假"。

A、x%2==0

B、!x%2!=0

C、x/2*2-x==0

D、!(x%2)

()33、有語(yǔ)句:inta[10];則對(duì)指針變量p的正確定義和初始化。

A、intp=*a;

B、int*p=a;

第19/159頁(yè)

C、intp=&a;

DAint*p=&a;

()34、以下對(duì)結(jié)構(gòu)變量stul中成員age的非法引用是

structstudent

(

intage;

intnum;

}stul,*p;

p=&stul;

ANstul.age

B、student,age

C、p->age

D、(*p).age

()35、下列程序的執(zhí)行結(jié)果是—

#include<stdio.h>

main()

(

inta,b,c;

a二b二2;

c=(a++)-1;

printf(z,%d,%d〃,a,c);

c+=-a+++(++b);

printf(〃%d,%d〃,a,c);

}

A、3,14,1

B、3,14,2

C、2,04,1

D、2,14,1

()36、下面程序輸出的結(jié)果為________。

^include<stdio.h>

intmain()

(

ints=3;

switch(s)

{

case5:printf(〃我〃);

break;

case4:printf(〃是“);

case3:printf(〃好”);

case2:printf(〃學(xué)〃);

break;

default:printf(〃生〃);

)

}

A、好

B、好學(xué)

C、好學(xué)生

第20/159頁(yè)

D、我是好學(xué)生

()37、對(duì)以下程序,正確的說(shuō)法是.sub(charx,chary)

(

intz;

z二x%y;

returnz;

)

voidmain()

(

intg=5,h=3,k;

k=sub(g,h);

printf(,z%d\nzz,k);

)

A、實(shí)參與其對(duì)應(yīng)的形參類型不一致,程序不能運(yùn)行

B、被調(diào)函數(shù)缺少數(shù)據(jù)類型說(shuō)明,程序不能運(yùn)行

C、主函數(shù)中缺少對(duì)被調(diào)函數(shù)的說(shuō)明語(yǔ)句,程序不能運(yùn)行

D、程序中沒有錯(cuò)誤,可以正常運(yùn)行

()38、有以下程序:

main()

(

inta=l,b=0;

if(--a)b++;

elseif(a=0)b+=2;

elseb+=3:printf(〃%d\n〃,b);

)

程序運(yùn)行后的輸出結(jié)果是O

A、0

B、1

C、2

D、3

()39、數(shù)組a[10]的下標(biāo)從()開始。

A、1

B、0

C、10

D、不確定

()40、若有下面的說(shuō)明和定義:

structtest

(

intml;

charm2;

floatm3;

unionuu

(

charul[5];

intu2[2];

)

ua;

第21/159頁(yè)

myaa;

則sizeof(structtest)的值是。

A、12

B、16

C、14

D、9

()41、若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-后,a的值是

A、-3

B、9

C、-12

D、6

()42>表達(dá)式0x13八0x17的值是o

A、0x04

B、0x13

C、0xE8

D、0x17

()43、c語(yǔ)言中邏輯表達(dá)式的值為________o

A、0或1

B、非零值或零值

C、true或false

D、'true'或'false,

()44、下面程序段的運(yùn)行結(jié)果是.

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

printfi);

i++;

A、12345

B、1234

C、15

D、無(wú)限循環(huán)

()45、c語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式為.

A、地址傳遞

B、單向值傳遞

C、由實(shí)參傳給形參,再由形參傳回給實(shí)參

D、由用戶指定傳遞方式

()46、將二進(jìn)制數(shù)101101101111轉(zhuǎn)換成十六進(jìn)制數(shù)是o

A、5557

B、B6F

C、7555

第22/159頁(yè)

D、F6B

()47、設(shè)pl和p2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確

執(zhí)行的語(yǔ)句是O

A、k=*Pl+*P2;

B、p2=k;

C、P1=P2;

D、k=*Pl*(*P2);

()48、關(guān)于標(biāo)識(shí)符,下列選項(xiàng)中描述錯(cuò)誤的是o

A、標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成

B、標(biāo)識(shí)符不能以下劃線作為第一個(gè)字符

C、標(biāo)識(shí)符不能以數(shù)字作為第一個(gè)字符

D、標(biāo)識(shí)符不區(qū)分大小寫字母

()49、下列對(duì)字符串的定義中,錯(cuò)誤的是。

A、charstr[7]="FORTRAN”;

B、charstr[]="FORTRAN";

C、char*str="FORTRAN";

D、charstr口={'F','O','R','T','R','A','N',0};

()50、有一文本文件test,txt,其內(nèi)容為〃cprogram〃(不包含引號(hào)),以下程序段的運(yùn)行結(jié)果是

file*fp;

charstr[20];

if((fp=fopen(z,test.txt〃,〃r〃))!=null)

str=fgets(str,5,fp);

printfstr);

A^cpro

cprog

C、prog

D^cprogram

第23/159頁(yè)

參考答案

一、單項(xiàng)選擇題

1、A

2、D

【解析】請(qǐng)仔細(xì)閱讀交規(guī)難度:簡(jiǎn)單

3、C

【解析】并不是所有的if-else語(yǔ)句的執(zhí)行效率都高于switch語(yǔ)句,在一些特定的情況下,switch語(yǔ)句可以比較簡(jiǎn)煉,

同時(shí)容易閱讀,因此,選項(xiàng)C的描述是錯(cuò)誤的。

4、B

5、C

6、D

7、D

【解析】本題中定義了一個(gè)整型數(shù)組a和一個(gè)整型指針變量p。選項(xiàng)A中將一個(gè)整型數(shù)賦值給一個(gè)指針變量,C語(yǔ)言規(guī)定,

只能將地址賦給指針變量,故選項(xiàng)A不正確。選項(xiàng)B中a[5]為一數(shù)組元素,同樣不是一個(gè)地址,故選項(xiàng)B不正確。選項(xiàng)c中

a[2]為一數(shù)組元素,同樣是一個(gè)整型數(shù)據(jù),不是個(gè)地址,故選項(xiàng)C不正確。數(shù)組名a代表數(shù)組首地址,首地址加2代表第3

個(gè)元素的地址,將該地址賦值給指針變量,故選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

8、D

【解析】在C語(yǔ)言所有的運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。C語(yǔ)言中區(qū)分大小寫,所以APH和aph是兩個(gè)不同的變量。

賦值表達(dá)式a=b表示將b的賦付給a,而b本身的值保持不變;通過(guò)鍵盤可以向計(jì)算機(jī)輸入允許的任何類型的數(shù)據(jù)。選項(xiàng)D)

中當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量可以輸入整型數(shù)值和字符,對(duì)于實(shí)型變量可以輸入實(shí)型數(shù)值和整型數(shù)值等。

9、B

【解析】本題考核指針的運(yùn)算。C語(yǔ)言中,指向同一字符串的指針之間能且只能進(jìn)行減運(yùn)算,減運(yùn)算后返回的是一整型

數(shù),表示指針之間的地址偏移量。

10、C

11、A

【解析】fun函數(shù)是遞歸函數(shù),調(diào)用到n為0時(shí)*$二1+1為2,返回主函數(shù),x為2。

12、B

【解析】在一個(gè)含有各種運(yùn)算的表達(dá)式中,它們運(yùn)算的優(yōu)先順序是:算術(shù)運(yùn)算一字符運(yùn)算和日期時(shí)間運(yùn)算一關(guān)系運(yùn)算一

邏輯運(yùn)算。故選項(xiàng)B為正確答案。

13、C

14、B

15、C

16、C

【解析】本題考核for循環(huán)語(yǔ)句。題中x=0,則!x永遠(yuǎn)為真,對(duì)于條件表達(dá)式“!x&&yV=5”只考慮“yV=5”,由于每次

循環(huán)y都增加1,而且y從0開始到5。所以可知總共循環(huán)了6次。

17、A

18、A

19、B

【解析】M按行存儲(chǔ)時(shí)元素M[3,5]位于第4行第6列(下標(biāo)從0開始),也就是處在第3X6+6=24個(gè)存儲(chǔ)位置,設(shè)與它存儲(chǔ)的

第24/159頁(yè)

起始位置相同的,按列存儲(chǔ)時(shí)的元素行下標(biāo)為X,列下標(biāo)為y,則有yX5+x+l=24,解得x=3,尸4,即選項(xiàng)B是正確答案。

20、D

21、C

22、C

23、A

【解析】考查宏替換的使用。[解題要點(diǎn)]宏替換用/define宏名宏體”的形式來(lái)定義。在進(jìn)行編譯預(yù)處理時(shí),將把

程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過(guò)程中不像函數(shù)那樣要進(jìn)行參數(shù)值的計(jì)算、傳

遞及結(jié)果返回等操作;宏替換只是簡(jiǎn)單的字符替換,不進(jìn)行計(jì)算,因而本題中的s(a+b)進(jìn)行宏替換后為

PT*l+2*l+2=5.5*1+2*1+2=9.5。[考點(diǎn)鏈接]帶參數(shù)的宏定義。

24、B

25、A

26、C

27、B

28、C

29、C

【解析】選項(xiàng)A的運(yùn)算結(jié)果為字符串類型;選項(xiàng)B語(yǔ)法錯(cuò)誤;選項(xiàng)D的運(yùn)算結(jié)果也是字符串;只有選項(xiàng)C可以看做是兩個(gè)字

符的ASCII值相加,結(jié)果為int型。

30、A

【解析】ptr是指向數(shù)據(jù)塊的指針,*ptr才能表示整個(gè)數(shù)據(jù)塊。

31、A

32、C

33、B

34、B

35、A

【解析】本題主要考查自加運(yùn)算符(++、--)的使用。①前綴變量"++i、一i”,在使用i之前,先使i的值加1或者減1,

再使用此時(shí)的表達(dá)式的值參與運(yùn)算:②后綴變量“i++、i-”,先使用此時(shí)的表達(dá)式的值參與運(yùn)算,在使用i之后,再

使i的值加1或者減1。題中計(jì)算表達(dá)式c=(a++)T時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1二L然后將a的值加1,即執(zhí)行

完此語(yǔ)句后a的值是3;表達(dá)式c+=-a+++(++b)等價(jià)于c=c+(-a++)+(++b),c=l+(-3)+3=l,此時(shí)a=4,b=3o

36、B

37、D

38、D

39、B

40、A

41、C

42、A

【解析】運(yùn)算符“一'是按位異或運(yùn)算符,其運(yùn)算規(guī)則是:參與運(yùn)算的兩個(gè)二進(jìn)制數(shù),若相對(duì)應(yīng)的二進(jìn)制位上的數(shù)相

同,則該位的結(jié)果為0;否則該位的結(jié)果為1??傻茫?/p>

0x13^0x17=1001110111=0x04

43、A

44、D

第25/159頁(yè)

45、B

46、B

47、B

48、D

【解析】標(biāo)識(shí)符區(qū)分大小寫字母。

49、A

50、A

第26/159頁(yè)

華北水利水電大學(xué)

C語(yǔ)言專升本練習(xí)(三)

考試方式:

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論