2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:

#include<stdio.h>

voidfunc(intn)

{staticintnum=1);

num=num+n;printf("%d",num);

}

main()

{funo(3);func(4);printf("n");}

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

A.48B.34C.35D.45

2.檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

3.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。

A.rear=rear+1

B.rear=(rear+1)mod(m-1)

C.rear=(rear+1)modm

D.rear=(rear+1)mod(m+1)

4.以下說法正確的是()。

A.函數(shù)可以返回另一個(gè)函數(shù)的整個(gè)函數(shù)體

B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針

C.函數(shù)返回值可以是一個(gè)指向函數(shù)的指針

D.函數(shù)返回值可以是一個(gè)數(shù)組,同時(shí)返回多個(gè)值

5.以下程序的輸出結(jié)果是______。

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

6.若變量已正確定義,有下列程序段:inta=3,b=5,c=7;if(a>B)a=b;c=a;if(c!=A)c=b;printf("%d,%d,%d\n",a,b,C);其輸出結(jié)果是()。A.程序段有語(yǔ)法錯(cuò)B.3,5,3C.3,5,5D.3,5,7

7.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。

A.abcdefB.abcdC.abcdD.abcdef

8.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64

9.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

10.在循環(huán)隊(duì)列中,若front與rear分別表示對(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列空的條件是()。

A.front==rear+1B.rear==front+1C.front==rearD.front==0

11.有以下程序

#include<stdio.h>

voidfun(char*t,char*s)

{while(*t!=0)t++;

while((*t++=*s++)!=0);

}

main()

{charss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%s,%s\n",ss,aa);

}

程序的運(yùn)行結(jié)果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

12.

13.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是

A.16B.10C.8D.6

14.在下列排序算法中,在待排序的數(shù)據(jù)表已經(jīng)為有序時(shí),花費(fèi)時(shí)間反而最多的是()

A.希爾排序B.堆排序C.冒泡排序D.快速排序

15.下面程序的輸出結(jié)果是()。

#include<stdio.h>

main()

{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

}

執(zhí)行后輸出結(jié)果是()。A.A.a[1][3]=6

B.a[1][3]=-3

C.a[1][3]=2

D.不確定

16.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

17.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念

18.有以下程序#include<stdio.h>intf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序運(yùn)行后的輸出結(jié)果是A.10B.9C.8D.7

19.設(shè)有以下語(yǔ)句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。

A.A和B之間用逗號(hào)間隔

B.A和B之間不能有任何間隔符

C.A和B之間可以用回車間隔

D.A和B之間用空格間隔

20.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

二、2.填空題(20題)21.若有如下結(jié)構(gòu)體說明:

structSTRU

{inta,b;charc:doubled;

stmctSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型?!尽縯[20]

22.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

23.軟件的【】設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

24.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

25.若下面程序的輸出結(jié)果是4,請(qǐng)?zhí)羁铡?/p>

main()

{inti,j,k;

k=0;i=j=【】;

k+=-(i+j);printf("%d\n",k);

}

26.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù):

structst

{charname[20];doublescore;};

main()

{structstex;

printf("exsize:%d\n",sizeof(【】));

}

27.下面程序的輸出是【】。

main()

{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;

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

}

28.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。

29.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

30.以下程序的輸出結(jié)果是【】。

main()

{

intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

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

}

31.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。

32.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為______。

33.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。

34.在樹型結(jié)構(gòu)中,根結(jié)點(diǎn)沒有【】結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且僅有【】個(gè)前驅(qū)結(jié)點(diǎn);葉結(jié)點(diǎn)沒有后繼結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)的【】結(jié)點(diǎn)數(shù)不受限制。

35.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。

36.為了列出當(dāng)前盤當(dāng)前目錄中所有第三個(gè)字符為C的文件名的有關(guān)信息,應(yīng)該使用命令【】。

37.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。

38.若有語(yǔ)句

inti=-19,j=i%4;

printf("%d\n",j),

則輸出的結(jié)果是______。

39.下面程序的功能是:輸出100以內(nèi)能被4整除且個(gè)位數(shù)為8的所有整數(shù),請(qǐng)?zhí)羁?。main(){inti,j;for(i=0=();i++){j=i*10+8;if(j%4!=0)continue;printf("%d",j);}}

40.寫出下列程序的輸出結(jié)果______。

main()

{intn=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

三、1.選擇題(20題)41.數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義信息的集合,它所定義的對(duì)象都包含于______。

A.程序框圖B.軟件結(jié)構(gòu)C.數(shù)據(jù)流圖D.方框圖

42.以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt','W');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯(cuò)的原因是()。

A.函數(shù)fopen調(diào)用形式錯(cuò)誤B.輸入文件沒有關(guān)閉C.函數(shù)fgetc調(diào)用形式錯(cuò)誤D.文件指針stdin沒有定義

43.下列程序執(zhí)行的輸出結(jié)果是()。#include<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}

A.are&youB.youC.areD.&

44.下列敘述中不正確的是

A.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題

B.數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持

45.可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A.and2007

B.Date_y-m-d

C.HiDr.Tom

D.caseBigl

46.下列語(yǔ)句執(zhí)行后的結(jié)果是()y=5;p=&y;x=*p++;

A.x=5,y=5B.x=5,y=6C.x=6,y=5D.x=6,y=6

47.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

B.if、switch、break

C.for、while、do-while

D.if、for、continue

48.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&y

B.x<=y

C.x||y+z&&y-z

D.!((x<y)&&!z||1)

49.以下敘述不正確的是

A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B.一個(gè)C源程序必須包含一個(gè)main函數(shù)

C.C程序的基本組成單位是函數(shù)

D.在C程序中,注釋說明只能位于一條語(yǔ)句的后面

50.判斷字符型變量chr為小寫字母的表達(dá)式是______。

A.'a'<=chr<='z'

B.(chr>='a')||(chr<='z')

C.(chr>=A)&&(chr<=z)

D.(chr>='a')&&(chr<='z')

51.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.example.x=10

D.structexamplev2={10};

52.下面程序的輸出是______。typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;mare(){printf("%d\n",sizeof(them));}

A.32B.16C.8D.24

53.若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}則程序運(yùn)行后的輸出結(jié)果是()。

A.-1,65535,177777,ffff

B.-1,-1,177777,fffe

C.-1,1,177777,ffff

D.-1,65535,177776,fffe

54.下面各選項(xiàng)中,均是C語(yǔ)言合法標(biāo)識(shí)符的選項(xiàng)組是

A.33weautoB._23me_3ewC._433e_elseD.ER-DF32

55.以下數(shù)組定義中錯(cuò)誤的是()。

A.intx[][3]={0};

B.intx[2][3]={{1,2},{3,4},{5,6}};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]={1,2,3,4,5,6};

56.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

57.有下列程序:main(){inty=20;do{y--;}while(--y);printf("%d\n",y--);}當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。

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

58.下面程序段中c的二進(jìn)制值是______。chara=3,b=6,c;c=a^b<<1;

A.1011B.1111C.11110D.11100

59.下列程序的輸出結(jié)果是______。main(){char*s="12134211";intv[4]={0,0,0,0},k,i;for(k=0;s[k];k++){switch(s[k]){case'1':i=0;case'2':i=1;case'3':i=2;case'4':i=3;}vii]++;}for(k=O;k<4;k++)printf("%d",v[k]);}

A.4211B.0008C.4678D.8888

60.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n')switch(c-'2'){case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+4);case4:putchar(c+4);break;}printf("\n");}輸入以下數(shù)據(jù),<CR>代表一個(gè)回車符,2743<CR>程序的輸出結(jié)果是()。

A.877B.966C.778D.766

四、選擇題(20題)61.

有下列程序段:

intn,t=1,S=0;

scanf("%d",&n);

do{s=s+t;t=t-2;while(t!=n);

為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。

A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

62.以下不合法的數(shù)值常量是()。

A.8.0E0.5B.lelC.0llD.0xabcd

63.

64.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

65.設(shè)intx=7,則~x的值是()。

A.-8B.7C.-1D.1

66.

設(shè)有如下定義:

intarr[]={6,7,8,9,10);

int*ptr:

ptr=arr;

*(ptr2)=2;

printf("%d,%d\n",*ptr,*(ptr2)):

則下列程序段的輸出結(jié)果為()。

A.8,10B.6,8C.7,9D.6,2

67.

68.已知

則以下敘述正確的是()。

A.循環(huán)控制表達(dá)式不合法B.循環(huán)控制表達(dá)式的值為0C.循環(huán)控制表達(dá)式的值為lD.以上說法都不對(duì)

69.以下敘述中錯(cuò)誤的是()。

A.C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是C

B.C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件

C.C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行

D.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)

70.設(shè)有以下說明語(yǔ)句:

則下面敘述中正確的是()。

A.PER是結(jié)構(gòu)體變量名

B.PER是結(jié)構(gòu)體類型名

C.typedefstruct是結(jié)構(gòu)體類型

D.struct是結(jié)構(gòu)體類型名

71.下列說法不正確的是

A.?dāng)?shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余B.?dāng)?shù)據(jù)庫(kù)實(shí)現(xiàn)了數(shù)據(jù)的共享

C.?dāng)?shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)D.?dāng)?shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性

72.

有下列程序:

#include<stdio.h>

main

{intx=0;

inty=0;

while(x<7&&++v)

{y--;

x++;}

printf("%d,%d",y,x);

}

程序的輸出結(jié)果是()。

A.0,7B.7,7C.0,6D.1,6

73.

以下程序的輸出結(jié)果是()。

main

{intx=0.5;charz=a;

printf("%d\n",(x&1)&&(z<2));}

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

74.以下關(guān)于return語(yǔ)句的敘述中正確的是()。

A.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句

B.一個(gè)白定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句

C.定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句

D.沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

75.

76.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。

A.PDL(過程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖

77.右兩個(gè)關(guān)系R和S如下:

則由關(guān)系R得到關(guān)系S的操作是()。A.自然連接B.并C.選擇D.投影

78.

有下列程序:

intfun(intn)

{if(n==1)}return1;

else

return(n+fun(n-1));

}

main

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",x);

)

執(zhí)行程序時(shí),給變量x輸入10,程序的輸出結(jié)果是()。

A.55B.54C.65D.45

79.

80.有以下程序

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字母,其他字符不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:計(jì)算并輸出下列多項(xiàng)式值。S=(1+1/2)+(1/3+1/4)+…+(1/(2n1)+1/2n)例如,若主函數(shù)從鍵盤給n輸入100后,則輸出為s=5.878031。n的值要求大于1但不大于100。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.A\n第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。

\n

2.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。

(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。

(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來,必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。

(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過用戶接口輸入。

(4)系統(tǒng)測(cè)試是將已經(jīng)通過確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問題定義時(shí)犯下的錯(cuò)誤。

3.D

4.C函數(shù)的返回值是通過return語(yǔ)句返回的,返回值是一個(gè)表達(dá)式,不限于基本數(shù)據(jù)類型或指針,也可以是結(jié)構(gòu)體類型等,但不能是數(shù)組,選項(xiàng)A、B、D錯(cuò)誤;函數(shù)的返回值可以是一個(gè)指向函數(shù)的指針,選項(xiàng)C正確。故本題答案為C選項(xiàng)。

5.B

6.B解析:本題考查的是程序結(jié)構(gòu)設(shè)計(jì)中if語(yǔ)句的應(yīng)用,當(dāng)if判斷條件成立時(shí)就執(zhí)行其后的相關(guān)語(yǔ)句,否則不執(zhí)行,本題中第一個(gè)if條件不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,此時(shí)第二個(gè)if條件也不成立,故不執(zhí)行其后語(yǔ)句,最終c的值為3。

7.C解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。

2.putchar():此函數(shù)的作用是向終端輸出一個(gè)字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

8.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.

9.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。

10.C

11.D解析:本題中fun函數(shù)實(shí)現(xiàn)了字符串函數(shù)strcat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時(shí),形參t和s分別指向了字符串ss和aa,然后通過一個(gè)while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個(gè)while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個(gè)復(fù)制到字符串ss的末尾處。

12.D

13.B解析:本題考查的是指針的簡(jiǎn)單應(yīng)用。題目中首先定義了一個(gè)int型數(shù)組a并初始化了,然后定義了兩個(gè)指針變量p和q,并分別初始化p為指向數(shù)組元素a[3]、q指向p后面的第2個(gè)元素即指向a[5]。所以最終輸出的值為a[3]+a[5]的值10。應(yīng)該選B。

14.D

15.Bn=9,i=n/5=1;j=9-1*5-1=3,輸出為a[1][3]=-3

16.B選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無(wú)需再賦值,選項(xiàng)D中,在強(qiáng)制類型轉(zhuǎn)換時(shí),類型名應(yīng)用括號(hào)括起來,故選擇8選項(xiàng)。

17.C\n面向?qū)ο蟮脑O(shè)計(jì)方法的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它雖強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,但是它鼓勵(lì)開發(fā)者在軟件開發(fā)的過程中從應(yīng)用領(lǐng)域的概念角度去思考。

\n

18.B

19.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語(yǔ)句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。

\n

20.C解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。

21.structSTRUstructSTRU解析:結(jié)構(gòu)體類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。

結(jié)構(gòu)體類型的定義:

struct結(jié)構(gòu)體類型名

{

成員項(xiàng)表;

};

定義結(jié)構(gòu)體變量的的形式為:

struct結(jié)構(gòu)體類型名變量1,變量2,……

其中變量包括:一般變量、指針變量、數(shù)組變量等。

22.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語(yǔ)言的語(yǔ)法規(guī)定,一個(gè)串的串尾—定是—個(gè)隱含字符“\\0”,而在程序中,對(duì)字符串中字符的訪問是通過兩個(gè)指針變量來完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應(yīng)填寫“*str1”和“*str1++=*str2++”。

23.概要概要

解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

25.-2-2解析:題目中定義并初始化了變量k為0,最后輸出k的值,要求為4,而在此期間只有k+=-(i+j);這條語(yǔ)句改變了k的值,即要求表達(dá)式-(i+j)的值為4。所以,答案應(yīng)該為-2,因?yàn)橹挥衖=j=-2時(shí),表達(dá)式-(i+j)的值才為4。

26.ex或structstex或structst解析:求一個(gè)變量所占的存儲(chǔ)單元數(shù),用sizeof函數(shù),參數(shù)為該變量名或其變量類型。

27.66解析:本題變量z的值應(yīng)為最后一次給它賦的值,且最后一次for循環(huán)使prt指向a[2]

28.非線性結(jié)構(gòu)非線性結(jié)構(gòu)

29.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。

30.2424解析:本題程序定義了一維數(shù)組p,有七個(gè)數(shù)組元素,整型變量i,j初值分別為0,當(dāng)while的條件表達(dá)式(i<7&&p[i]%2==1)的值為真時(shí),執(zhí)行語(yǔ)句j+=p[i++];,如:當(dāng)i=0時(shí),i<7為真,p[i]%2=11%2=1,表達(dá)式(p[i]%2==1)的值為真,所以整個(gè)表達(dá)式(i<7&&p[i]%2==1)的值為真,執(zhí)行j=j+p[i++]=0+11=11,i=1;,依此類推可以得出答案24。

31.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

32.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)和應(yīng)用程序相互獨(dú)立,分為物理獨(dú)立性和邏輯獨(dú)立性。其中物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)、存取方式)改變時(shí),不需要修改應(yīng)用程序。而邏輯獨(dú)立性是指當(dāng)邏輯結(jié)構(gòu)改變時(shí),不需要修改應(yīng)用程序。

33.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒有給a賦值,因此a的值不變;接下來執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。

34.前驅(qū)一后繼前驅(qū)\r\n一\r\n后繼

35.一對(duì)多(或1∶N)一對(duì)多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對(duì)一(1∶1)的聯(lián)系、一對(duì)多(1∶N)或多對(duì)一(N∶1)的聯(lián)系和多對(duì)多(N∶N)的聯(lián)系。

36.DIR??C*.*

37.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。

38.-3-3解析:本題考核的知識(shí)點(diǎn)是運(yùn)算符“%’的應(yīng)用。該運(yùn)算符是求兩個(gè)數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號(hào)一致,本題中“-19%4”的值為“-3”,所以說空格處應(yīng)該填-3。

39.i<10i<10解析:分析程序:當(dāng)(i=0,1,2,…)時(shí),“j=i*10+8”語(yǔ)句的運(yùn)行結(jié)果是(8,18,28,…)個(gè)位數(shù)字為8的所有整數(shù);題中要求是100以內(nèi)的整數(shù),所以i<10;“if(j%4!=0)continue;”語(yǔ)句的功能是當(dāng)條件不能被4整除時(shí),繼續(xù)循環(huán)不執(zhí)行操作,直到能被4整除時(shí)輸出該數(shù),所以輸出的數(shù)滿足條件100以內(nèi)能被4整除且個(gè)位數(shù)為8。

40.333,3解析:本題在while(n++<=1)語(yǔ)句后,直接加了分號(hào),說明如果while()的條件為真時(shí),該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語(yǔ)句,第二個(gè)printf語(yǔ)句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。

41.C解析:數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義的信息的集合,是對(duì)數(shù)據(jù)流圖中包含的所有元素定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)流圖則數(shù)據(jù)字典難以發(fā)揮作用,沒有數(shù)據(jù)字典則數(shù)據(jù)流圖就不嚴(yán)格。

42.A解析:stdin是標(biāo)準(zhǔn)輸入設(shè)備的文件指針,不須定義直接可以使用,它隨系統(tǒng)的啟動(dòng)而打開,隨系統(tǒng)的關(guān)閉而關(guān)閉,fgetc()函數(shù)的作用是從某個(gè)文件中讀取一個(gè)數(shù)據(jù),其參數(shù)為要讀取文件的文件指針,所以本題中的調(diào)用形式是正確的。fopen()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是打開的文件名,第二個(gè)參數(shù)是文件打開模式,兩個(gè)參數(shù)都是字符串,本例中“fout=fopen(\'abc.txt\',\'w\');”語(yǔ)句的fopen()函數(shù)參數(shù)是錯(cuò)誤的,應(yīng)該用雙引號(hào)'',正確的應(yīng)改為“fout=fopen('abc.txt','w');”。所以,A選項(xiàng)為所選。

43.A解析:strcpy(a,'are')中數(shù)組名a代表數(shù)組首地址的地址常量,該操作把a(bǔ)re復(fù)制到a中,a[0][3]=\'&\',且strcpy(a[1],'you')把you復(fù)制到a[1]中,故輸出a為“are&you”。

44.B解析:B選項(xiàng)錯(cuò)誤,原因是,數(shù)據(jù)庫(kù)應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。

45.A解析:在C語(yǔ)言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線。C語(yǔ)言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語(yǔ)言關(guān)鍵字。

46.A

47.A解析:結(jié)構(gòu)化程序由3種基本結(jié)構(gòu)組成,即順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(包括for語(yǔ)句、while語(yǔ)句及do…\u3000while語(yǔ)句)和選擇結(jié)構(gòu)(包括if語(yǔ)句和switch語(yǔ)句)。

48.D解析:本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都足邏輯1時(shí),表達(dá)式才返回值是1;當(dāng)“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值是1。選項(xiàng)A)中,x和y都是邏輯1,所以返回值是1;選項(xiàng)B)中,x=4<=y(tǒng)=6為邏輯1,所以返回值是1;選項(xiàng)C)中,y+z的值等于14,非0,y-z的值為-2,非0,所以邏輯表達(dá)式4||14&&-2的值不為0;選項(xiàng)D)中,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。

49.D解析:本題考查C語(yǔ)言的基本基礎(chǔ)知識(shí)。在C程序中,注釋用符號(hào)“/*”開始,而以符號(hào)“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個(gè)語(yǔ)句后面,以對(duì)此語(yǔ)句的功能進(jìn)行描述。無(wú)論將注釋放有何處,在程序進(jìn)行編譯時(shí),編譯程序不會(huì)處理注釋的內(nèi)容;且注釋內(nèi)容也不會(huì)出現(xiàn)在目標(biāo)程序中。

50.B解析:程序段中定義x值為1,!x值為0,因此循環(huán)執(zhí)行的條件永遠(yuǎn)成立,該循環(huán)是死循環(huán)。

51.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)體類型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

52.C解析:sizeof(x)是一個(gè)標(biāo)準(zhǔn)C函數(shù),它的返回值是x型的數(shù)據(jù)結(jié)構(gòu)占用的內(nèi)存字節(jié)數(shù)。題目中定義了一個(gè)共用體,共用體變量在內(nèi)存中所占的長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。

53.A解析:-1為帶符號(hào)的整型數(shù),在內(nèi)存中的存放形式為1111111111111111。按帶爺號(hào)的整型格式輸出仍為-1;按無(wú)帶符號(hào)的整數(shù)輸出為65535(將1111111111111111轉(zhuǎn)換為十進(jìn)制數(shù));按八進(jìn)制數(shù)輸出為177777(將1111111111111111轉(zhuǎn)換為八進(jìn)制數(shù),方法為由低位到高位,每三位一組,用一個(gè)八進(jìn)制數(shù)代替);按八進(jìn)制數(shù)輸出為ffff(將1111111111111111轉(zhuǎn)換為十六進(jìn)制數(shù),方法為由低位到高位,每四位一組,用一個(gè)十六進(jìn)制數(shù)代替)。

54.B解析:合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,用戶定義的標(biāo)識(shí)符不能與關(guān)鍵字相同。選項(xiàng)A),數(shù)字不能為第一個(gè)字母,auto為關(guān)鍵字;選項(xiàng)C)中,也是數(shù)字不能為第一個(gè)字母,else為關(guān)鍵字;選項(xiàng)D)中負(fù)號(hào)不合法。

55.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。

56.D解析:在用基本輸出函數(shù)printf時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)不予輸出;如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。

57.D解析:本題考查do…while循環(huán)。當(dāng)--y是0(即y是0)時(shí)結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。

58.B解析:C語(yǔ)言提供六種位運(yùn)算符,按優(yōu)先級(jí)由高到低的順序分別為:取反(~)、左移(<<)和右移(>>)、按位與(&)、按位異或(∧)、按位或(|)。所以表達(dá)式c=a^b<<1先運(yùn)算b<<1得二進(jìn)制值為00001100,再運(yùn)算a∧00001100,最后得二進(jìn)制值00001111。

59.B

60.A解析:本題通過一個(gè)while循環(huán)向鍵盤緩沖區(qū)讀取字符,直到讀到的字符是回車鍵結(jié)束循環(huán)。當(dāng)讀到的c為'2'時(shí),c-'2'為0,switch語(yǔ)句中沒有case0:所以沒有輸出,繼續(xù)讀下一個(gè);當(dāng)c為'7'時(shí),c-'2'=5,也沒有輸出;當(dāng)c為'4'時(shí),c-'2'=2,執(zhí)行case2:后面的語(yǔ)句輸出一個(gè)字符c+4='4'+4='8';當(dāng)c為'3'時(shí),c-'2'=1,執(zhí)行case1:后面的語(yǔ)句,連續(xù)輸出兩次c+4='3'+4='7'。故程序輸出結(jié)果是877,應(yīng)該選擇A。

61.D

\n本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過第一次do-while循環(huán)后,執(zhí)行t=t-1這條語(yǔ)句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見,只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。

\n

62.AA選項(xiàng)中E后面的指數(shù)必須為整型數(shù)據(jù),所以A錯(cuò)誤。c選項(xiàng)中011表示的是八進(jìn)制常量,0xabcd表示的是十六進(jìn)制常量。

63.B

64.A本題重點(diǎn)考察的是函數(shù)的形參和實(shí)參。I在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”l(簡(jiǎn)稱形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧1中的參數(shù)(可以是—個(gè)表達(dá)式)稱為“實(shí)際參數(shù)”(簡(jiǎn)稱實(shí)參)。fC語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。因此A選項(xiàng)正確。

65.A本題主要考查按位求反運(yùn)算和C語(yǔ)言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)l代表負(fù)數(shù),值為8。

66.D

\n程序中ptr指針指向數(shù)組art的首地址,*ptr=arr[0]=6,*(ptr2)=2,故選D。

\n

67.D

68.Cx=1是將X賦值為1,所以循環(huán)控制表達(dá)式的值為1。判斷x是否等于l時(shí),應(yīng)用x==1,注意”=”與”==”的用法。

69.C函數(shù)是指預(yù)先定義功能塊,其目的是提高程序的重用性。在C語(yǔ)言中函數(shù)的源程序,后綴名可以為C。C語(yǔ)言所編寫的函數(shù)都可以是一個(gè)獨(dú)立的源文件。一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)。C語(yǔ)言中編寫的函數(shù)不是每個(gè)都可以獨(dú)立地編譯和執(zhí)行的,因?yàn)镃語(yǔ)言中程序的開始為主函數(shù),如果程序中沒有主函數(shù)則無(wú)法進(jìn)行編譯和執(zhí)行。

70.B本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來定義變量。

71.C數(shù)據(jù)庫(kù)是存儲(chǔ)在一起的相關(guān)數(shù)據(jù)的集合,具有以下特點(diǎn)。

(1)實(shí)現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有的用戶可同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫(kù),并提供數(shù)據(jù)共享。

(2)減少數(shù)據(jù)的冗余度。同文件系統(tǒng)相比,由于數(shù)據(jù)庫(kù)實(shí)現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件,減少了大量重復(fù)的數(shù)據(jù)和數(shù)據(jù)冗余,維護(hù)了數(shù)據(jù)的一致性。

(3)數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和應(yīng)用程序相互獨(dú)立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。

(4)數(shù)據(jù)實(shí)現(xiàn)集中控制。在文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同的處理中,其文件之間毫無(wú)關(guān)系。利用數(shù)據(jù)庫(kù)可對(duì)數(shù)據(jù)進(jìn)行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。

(5)數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制。以防止數(shù)據(jù)丟失、錯(cuò)誤更新和越權(quán)使用。②完整性控制。保證數(shù)據(jù)的正確性、有效性和相容性。③并發(fā)控制。使在同一時(shí)間周期內(nèi),允許對(duì)數(shù)據(jù)實(shí)現(xiàn)多路存取,又能防止用戶之間的不正常交互作用。④故障的發(fā)現(xiàn)和恢復(fù)。由數(shù)據(jù)庫(kù)管理系統(tǒng)提供一套方法,可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。

(6)故障恢復(fù)。由數(shù)據(jù)庫(kù)管理系統(tǒng)提供一套方法,可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫(kù)系統(tǒng)能盡快恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行時(shí)出現(xiàn)的故障,可能是物理上或是邏輯上的錯(cuò)誤。比如對(duì)系統(tǒng)的誤操作造成的數(shù)據(jù)錯(cuò)誤等。

數(shù)據(jù)庫(kù)是不可能避免一切數(shù)據(jù)都沒有重復(fù)的,并且有些情況下需要有重復(fù)的數(shù)據(jù),比如數(shù)據(jù)庫(kù)恢復(fù)技術(shù)需要一定的數(shù)據(jù)冗余度。

72.A

\n本題考查while循環(huán)。在while循環(huán)中,y自加每次循環(huán)都加l,在循環(huán)體內(nèi)y--每次減1,所以總的y值不變,當(dāng)x自加到7時(shí),不滿足循環(huán)條件,循環(huán)結(jié)束。

\n

73.B

\n(x&1)&&(z<2)=(0.5&1)&&(a<z)=1&&1=1,故選擇B選項(xiàng)。

\n

74.Breturn語(yǔ)句又稱為返回語(yǔ)句。該語(yǔ)句的格式如下:“return;”和“return(<表達(dá)式>);”。其中,return是關(guān)鍵字。該語(yǔ)句有兩種格式:不帶返回值格式和帶返回值格式。該語(yǔ)句用在被調(diào)用函數(shù)中,在被調(diào)用函數(shù)中執(zhí)行到該語(yǔ)句時(shí),將結(jié)束對(duì)被調(diào)用函數(shù)的執(zhí)行,并把控制權(quán)返回給調(diào)用函數(shù),繼續(xù)執(zhí)行調(diào)用函數(shù)后邊的語(yǔ)句。在帶有返回值的情況下,將return語(yǔ)句所帶的表達(dá)武的值返回給調(diào)用函數(shù),作為被調(diào)用函數(shù)的值。在被調(diào)用函數(shù)中,可以用return語(yǔ)句,也可以不用return語(yǔ)句。如果要求被調(diào)用函數(shù)有返回值,則一定要用return語(yǔ)句,采用return(<表達(dá)式>);格式。如果被調(diào)用函數(shù)不需要返回值,并且當(dāng)被調(diào)用函數(shù)的所有語(yǔ)句執(zhí)行完后進(jìn)行返回,則被調(diào)用函數(shù)可以不用return語(yǔ)句。

75.C

76.D解析:PDL一種設(shè)計(jì)性語(yǔ)言,用于書寫軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語(yǔ)言之一。N-S圖是無(wú)線的流程圖,是算法描述工具;PAD圖是問題分析圖,它用二維樹狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱DFD,是采用圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。

77.C選擇:是在數(shù)據(jù)表中給予一定的條件進(jìn)行篩選數(shù)據(jù)。投影:是把表中的某幾個(gè)屬性的數(shù)據(jù)選擇出來。連接:有自然連接、外連接,內(nèi)連接等,連接主要用于多表之間的數(shù)據(jù)查詢。并:與數(shù)學(xué)中的并是一樣的。兩張表進(jìn)行并操作,要求它們的屬性個(gè)數(shù)相同并且需要相容。

78.A

\n本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量x時(shí),遞歸調(diào)用的過程為

\nfun(10)=10…fun(9)=104-94-fun(8)=104-9+84-fun(7)

\n=10+9++8++7++fun(6)=10+9++8+7+6+fun(6)

\n=10+9++8+7+6+5+fun(4)

\n=10+9++8+7+6+5+4+fun(3)

\n=10+9++8+7+6+5+4+3+fun(2)

\n=10+9++8+7+6+5+4+3+2+fun(1)

\n=10+9++8+7+6+5+4+3+2=55

\n

79.A

80.Ap->x值為l,p->y值為2,前置自增表達(dá)式分別為23,所以選擇A)。81.

(1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))

(2)tt[i]一=32;

【考點(diǎn)分析】

本題考查:if語(yǔ)句條件表達(dá)式;小寫字母轉(zhuǎn)大寫字母的方法。

【解題思路】

(1)分析本題可知,要判斷字符是否為小寫字母,即判斷其是否在a—z之間,所以這里需要進(jìn)行連續(xù)的比較,用&&。(2)從ASCIl碼表中可以看出,小寫字母的ASCIl碼值比對(duì)應(yīng)大寫字母的ASCIl值大32。將字符串中的小寫字母改為大寫字母的方法是:從字符串第一個(gè)字符開始,根據(jù)ASCIl碼值判斷該字母是不是小寫字母,若是,則ASCIl碼值減32即可。

82.

【解析】首先定義一個(gè)變量來存放表達(dá)式的和.根據(jù)題目中提供的多項(xiàng)式,通過n次循環(huán)來求出n項(xiàng)的和。最后把所求得的和返回到主函數(shù)當(dāng)中。

2021年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:

#include<stdio.h>

voidfunc(intn)

{staticintnum=1);

num=num+n;printf("%d",num);

}

main()

{funo(3);func(4);printf("n");}

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

A.48B.34C.35D.45

2.檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

3.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。

A.rear=rear+1

B.rear=(rear+1)mod(m-1)

C.rear=(rear+1)modm

D.rear=(rear+1)mod(m+1)

4.以下說法正確的是()。

A.函數(shù)可以返回另一個(gè)函數(shù)的整個(gè)函數(shù)體

B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針

C.函數(shù)返回值可以是一個(gè)指向函數(shù)的指針

D.函數(shù)返回值可以是一個(gè)數(shù)組,同時(shí)返回多個(gè)值

5.以下程序的輸出結(jié)果是______。

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

6.若變量已正確定義,有下列程序段:inta=3,b=5,c=7;if(a>B)a=b;c=a;if(c!=A)c=b;printf("%d,%d,%d\n",a,b,C);其輸出結(jié)果是()。A.程序段有語(yǔ)法錯(cuò)B.3,5,3C.3,5,5D.3,5,7

7.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。

A.abcdefB.abcdC.abcdD.abcdef

8.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64

9.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

10.在循環(huán)隊(duì)列中,若front與rear分別表示對(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列空的條件是()。

A.front==rear+1B.rear==front+1C.front==rearD.front==0

11.有以下程序

#include<stdio.h>

voidfun(char*t,char*s)

{while(*t!=0)t++;

while((*t++=*s++)!=0);

}

main()

{charss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%s,%s\n",ss,aa);

}

程序的運(yùn)行結(jié)果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

12.

13.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是

A.16B.10C.8D.6

14.在下列排序算法中,在待排序的數(shù)據(jù)表已經(jīng)為有序時(shí),花費(fèi)時(shí)間反而最多的是()

A.希爾排序B.堆排序C.冒泡排序D.快速排序

15.下面程序的輸出結(jié)果是()。

#include<stdio.h>

main()

{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

}

執(zhí)行后輸出結(jié)果是()。A.A.a[1][3]=6

B.a[1][3]=-3

C.a[1][3]=2

D.不確定

16.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

17.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念

18.有以下程序#include<stdio.h>intf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序運(yùn)行后的輸出結(jié)果是A.10B.9C.8D.7

19.設(shè)有以下語(yǔ)句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。

A.A和B之間用逗號(hào)間隔

B.A和B之間不能有任何間隔符

C.A和B之間可以用回車間隔

D.A和B之間用空格間隔

20.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

二、2.填空題(20題)21.若有如下結(jié)構(gòu)體說明:

structSTRU

{inta,b;charc:doubled;

stmctSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型?!尽縯[20]

22.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

23.軟件的【】設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

24.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

25.若下面程序的輸出結(jié)果是4,請(qǐng)?zhí)羁铡?/p>

main()

{inti,j,k;

k=0;i=j=【】;

k+=-(i+j);printf("%d\n",k);

}

26.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù):

structst

{charname[20];doublescore;};

main()

{structstex;

printf("exsize:%d\n",sizeof(【】));

}

27.下面程序的輸出是【】。

main()

{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;

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

}

28.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。

29.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

30.以下程序的輸出結(jié)果是【】。

main()

{

intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

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

}

31.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。

32.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為______。

33.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。

34.在樹型結(jié)構(gòu)中,根結(jié)點(diǎn)沒有【】結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且僅有【】個(gè)前驅(qū)結(jié)點(diǎn);葉結(jié)點(diǎn)沒有后繼結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)的【】結(jié)點(diǎn)數(shù)不受限制。

35.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。

36.為了列出當(dāng)前盤當(dāng)前目錄中所有第三個(gè)字符為C的文件名的有關(guān)信息,應(yīng)該使用命令【】。

37.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。

38.若有語(yǔ)句

inti=-19,j=i%4;

printf("%d\n",j),

則輸出的結(jié)果是______。

39.下面程序的功能是:輸出100以內(nèi)能被4整除且個(gè)位數(shù)為8的所有整數(shù),請(qǐng)?zhí)羁?。main(){inti,j;for(i=0=();i++){j=i*10+8;if(j%4!=0)continue;printf("%d",j);}}

40.寫出下列程序的輸出結(jié)果______。

main()

{intn=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

三、1.選擇題(20題)41.數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義信息的集合,它所定義的對(duì)象都包含于______。

A.程序框圖B.軟件結(jié)構(gòu)C.數(shù)據(jù)流圖D.方框圖

42.以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt','W');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯(cuò)的原因是()。

A.函數(shù)fopen調(diào)用形式錯(cuò)誤B.輸入文件沒有關(guān)閉C.函數(shù)fgetc調(diào)用形式錯(cuò)誤D.文件指針stdin沒有定義

43.下列程序執(zhí)行的輸出結(jié)果是()。#include<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}

A.are&youB.youC.areD.&

44.下列敘述中不正確的是

A.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題

B.數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持

45.可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A.and2007

B.Date_y-m-d

C.HiDr.Tom

D.caseBigl

46.下列語(yǔ)句執(zhí)行后的結(jié)果是()y=5;p=&y;x=*p++;

A.x=5,y=5B.x=5,y=6C.x=6,y=5D.x=6,y=6

47.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

B.if、switch、break

C.for、while、do-while

D.if、for、continue

48.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&y

B.x<=y

C.x||y+z&&y-z

D.!((x<y)&&!z||1)

49.以下敘述不正確的是

A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B.一個(gè)C源程序必須包含一個(gè)main函數(shù)

C.C程序的基本組成單位是函數(shù)

D.在C程序中,注釋說明只能位于一條語(yǔ)句的后面

50.判斷字符型變量chr為小寫字母的表達(dá)式是______。

A.'a'<=chr<='z'

B.(chr>='a')||(chr<='z')

C.(chr>=A)&&(chr<=z)

D.(chr>='a')&&(chr<='z')

51.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.example.x=10

D.structexamplev2={10};

52.下面程序的輸出是______。typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;mare(){printf("%d\n",sizeof(them));}

A.32B.16C.8D.24

53.若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}則程序運(yùn)行后的輸出結(jié)果是()。

A.-1,65535,177777,ffff

B.-1,-1,177777,fffe

C.-1,1,177777,ffff

D.-1,65535,177776,fffe

54.下面各選項(xiàng)中,均是C語(yǔ)言合法標(biāo)識(shí)符的選項(xiàng)組是

A.33weautoB._23me_3ewC._433e_elseD.ER-DF32

55.以下數(shù)組定義中錯(cuò)誤的是()。

A.intx[][3]={0};

B.intx[2][3]={{1,2},{3,4},{5,6}};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]={1,2,3,4,5,6};

56.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

57.有下列程序:main(){inty=20;do{y--;}while(--y);printf("%d\n",y--);}當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。

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

58.下面程序段中c的二進(jìn)制值是______。chara=3,b=6,c;c=a^b<<1;

A.1011B.1111C.11110D.11100

59.下列程序的輸出結(jié)果是______。main(){char*s="12134211";intv[4]={0,0,0,0},k,i;for(k=0;s[k];k++){switch(s[k]){case'1':i=0;case'2':i=1;case'3':i=2;case'4':i=3;}vii]++;}for(k=O;k<4;k++)printf("%d",v[k]);}

A.4211B.0008C.4678D.8888

60.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n')switch(c-'2'){case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+4);case4:putchar(c+4);break;}printf("\n");}輸入以下數(shù)據(jù),<CR>代表一個(gè)回車符,2743<CR>程序的輸出結(jié)果是()。

A.877B.966C.778D.766

四、選擇題(20題)61.

有下列程序段:

intn,t=1,S=0;

scanf("%d",&n);

do{s=s+t;t=t-2;while(t!=n);

為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。

A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

62.以下不合法的數(shù)值常量是()。

A.8.0E0.5B.lelC.0llD.0xabcd

63.

64.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

65.設(shè)intx=7,則~x的值是()。

A.-8B.7C.-1D.1

66.

設(shè)有如下定義:

intarr[]={6,7,8,9,10);

int*ptr:

ptr=arr;

*(ptr2)=2;

printf("%d,%d\n",*ptr,*(ptr2)):

則下列程序段的輸出結(jié)果為()。

A.8,10B.6,8C.7,9D.6,2

67.

68.已知

則以下敘述正確的是()。

A.循環(huán)控制表達(dá)式不合法B.循環(huán)控制表達(dá)式的值為0C.循環(huán)控制表達(dá)式的值為lD.以上說法都不對(duì)

69.以下敘述中錯(cuò)誤的是()。

A.C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是C

B.C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件

C.C語(yǔ)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論