2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)_第1頁
2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)_第2頁
2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)_第3頁
2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)_第4頁
2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年廣東省惠州市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序段:inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){casel:case3:printf("%d\n",n);break;case2:case4:print?("%d\n",n);continue;case():exit(0);}printf("%d\n",n);}以下關于程序段執(zhí)行情況的敘述,正確的是()。A.for循環(huán)語句固定執(zhí)行8次

B.當產生的隨機數(shù)n為4時結束循環(huán)操作

C.當產生的隨機數(shù)n為1和2時不做任何操作

D.當產生的隨機數(shù)n為0時結束程序運行

2.執(zhí)行以下程序后,a,b的值分別為main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}

A.-1,5B.1,6C.0,7D.4,10

3.

4.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語句錯誤的是()。

A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]

5.下面程序輸出的是()。main{intt=l;fun(fun(t));}fun(inth){staticinta[3]={1.2.3};intk;for(k=0;k<3;k++)a[k]+=a[k]-h;for(k=0;k<3;k++)printf("%d",a[k]);printf("\n");return(a[h]);}A.1,2,3,1,5,9,B.1,3,5,1,3,7,C.1,3,5,0,4,8,D.1,3,5,-1,3,7,

6.若函數(shù)中有定義語句:inta;,則()。

A.系統(tǒng)將自動給a賦初值0B.這時a中的值是和隨機數(shù)C.系統(tǒng)將自動給a賦初值-1D.這a中無任何值

7.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。

A.控制流B.事件驅動C.模塊調用D.數(shù)據(jù)流

8.在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細設計B.需求分析C.總體設計D.編程調試

9.下列不屬于軟件調試技術的是______。A.強行排錯法B.集成測試法C.回溯法D.原因排除法

10.若x和y都是int型變量,x=100,y=200,且有程序片段:printf("%d",(x,y));上面程序片段的輸出結果()

A.200B.100C.100200D.輸出格式符不夠,輸出不確定的值

11.設有定義“intx=2;”,以下表達式中,值不為6的是()。

A.2*x,x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1

12.同一個關系模型的任意兩個元組值()。

A.可以全相同B.不能全相同C.必須全相同D.以上都不對

13.有以下函數(shù)定義:voidfun(intn,doubx){……}若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun的正確調用語句是()。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfum(n,x);

14.設有宏定義:#defineIsDIV(k,n)((k%n==1)?1:0)且變量m已正確定義并賦值,則宏調用:IsDIV(m,5)&&IsDIV(m,7)為真時所要表達的是A.判斷m是否能被5或者7整除

B.判斷m是否能被5和7整除

C.判斷m被5或者7整除是否余1

D.判斷m被5和7整除是否都余1

15.下列程序的輸出結果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5

16.設有序順序表中有n個數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。A.log2+1

B.log2(n-1)

C.log2n

D.log2(n+1)

17.

18.標準庫函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長度為n的字符串存入字符數(shù)s由

B.從文件file中讀取長度不超過n-1個字符的字符放到字符數(shù)組S中

C.從文件file中讀到n個字符串存入字符數(shù)組s中

D.從文件file中讀取長度為n-1個字符的字符串存字符數(shù)組S中

19.在排序方法中,元素比較次數(shù)與元素的初始排列無關的是()

A.Shell排序B.歸并排序C.直接插入排序D.選擇排序

20.需求分析的主要任務是()。

A.確定軟件系統(tǒng)的功能B.確定軟件開發(fā)方法C.確定軟件開發(fā)工具D.確定軟件開發(fā)入員

二、2.填空題(20題)21.下列程序的運行結果為【】。

main()

{

intx,y,z;

X=12;

y=012;

z=0l2;

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

}

22.若有以下程序:

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

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

}

執(zhí)行后的輸出結果是【】。

23.以下程序的輸出結果是【】。

main()

{intx=0;

sub(&x,8,1);

printf(“%d\n”,x);

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

24.下列程序段的輸出結果是【】。

intn='c';

switch(n++)

{default:printf("error");break;

case'a':

case'A':

case'b':

case'B':printf("good");break;

case'c':case'C':printf(”pass");

case'd':case'D':printf(”warn");

}

25.有以下程序:

fun(inta,intb)

{if(a>b)return(a);

elsereturn(b);

}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

程序運行后的輸出的結果是【】。

26.若從鍵盤輸入58,則以下程序輸出的結果是【】。

mam()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

27.在一棵二叉樹中,度為0的結點的個數(shù)為n0,度為2的結點的個數(shù)為n2,則有n0=【】。

28.以下程序中,fun()函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值,請?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{x=ar[i][0];

for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

______=x;

}

}

29.下列程序的輸出結果是16.00,請?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);

}

30.若有以下程序

main()

{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-21,32,-33,0}};

inti,j,s=0;

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

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

{if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

}

}

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

}

執(zhí)行后輸出結果是【】。

31.數(shù)據(jù)庫理論中,數(shù)據(jù)的獨立性一般可分為物理獨立性和______。

32.【】是數(shù)據(jù)庫設計的核心。

33.下面的程序為6個整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對應的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。

#include<stdio.h>

intA,B,C,D,E,F(xiàn);

struct

{

charn;

【】;

}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;

main()

{

inti,j;

for(i=0;i<6;i++)scanf("%d",【】);

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

for(j=0;j<5-i;j++)

if(【】)

{

t=tb1[j];

tb1[j]=tb1[j+1];

tb1[j+1]=t;

}

for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);

printf("\n");

}

34.以下程序可把輸入的十進制數(shù)以十六進制數(shù)的形式輸出,請?zhí)羁铡?/p>

#inelude<stdio.h>

main()

{eharb[17]={"0123456789ABCDEF"};

intc[64],d,i=0,base=16;

longn;

printf("Enteranumber:\n");

seanf("%ld",&n);

do{c[i]=【】;i++;n=n/base;}

while(n!=0);

printf("Transmitenewbase:\n");

for(--i;i>=0;--i)

{d=c[i];printf("%c",b【】);}

printf("\n");

}

35.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。

36.在關系運算中,查找滿足一定條件的元組的運算稱之為【】。

37.數(shù)據(jù)結構分為邏輯結構與存儲結構,線性鏈表屬于【】。

38.以下定義的結構體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結構體的指針,請將定義補充完整。

structnode

{intinfo;

【】link;};

39.以下程序的輸出結果是【】。

#include<string.h>

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

40.在面向對象方法中,()是具有相似性質的對象的集合。

三、1.選擇題(20題)41.下面的程序片段

y=-1;

if(x!=0)

if(x>0)y=1;elsey=0;

所表示的數(shù)學函數(shù)關系是_______。

A.

B.

C.

D.

42.有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序運行后的輸出結果是()。

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

43.若要說明一個類型名STP,使得定義語句STPs;等價于char*s;,以下選項中正確的是A.typedefSTPchar*s;

B.typedef*charSTP;

C.typedefSTP*char;

D.typedefchar*STP;

44.下列程序的輸出結果是()。

#include<stdio.h>

voidmain()

{intb[6]-<2,4,6,8,10,12};

int*p=b,**q=&p;

printf("%d",*(p++));

printf("%d,",**q);

}

A.4,4B.2,2C.4,5D.2,4

45.有以下程序main()intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for{j=4;j<7-i;j++)if{x[j]>x[j+1]){k=x[j];x[j]=x[j+l];x[j+l]=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n');}程序運行后的輸出結果是

A.75310246B.1234567C.76310462D.13570246

46.有以下程序main(){charp[]={'a','b','c},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));}程序運行后輸出結果是

A.44B.33C.34D.43

47.以下描述中正確的是()。

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

B.do-while循環(huán)由do開始,用while結束,在while(表達式.后面不能寫分號

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

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

48.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()

A.便于用戶,開發(fā)人員進行理解和交流

B.反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)

C.作為確認測試和驗收的依據(jù)

D.便于開發(fā)人員進行需求分析

49.執(zhí)行下面的程序段intx=40;charz='B';intB;B=((x&0xff)&&(z>'a'));后,B的值為()

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

50.若有結構體定義:

structstu{intnum;

charsex;

intage;

}al,a2;

則下列語句中錯誤的是()。

A.printf("%d,%C,%d",a1);

B.a2.age=a1.age;

C.a1.age++;

D.a1.num=5;

51.下列有關數(shù)據(jù)庫的描述,正確的是A.數(shù)據(jù)處理是將信息轉化為數(shù)據(jù)的過程

B.數(shù)據(jù)的物理獨立性是指當數(shù)據(jù)的邏輯結構改變時,數(shù)據(jù)的存儲結構不變

C.關系中的每一列稱為元組,一個元組就是一個字段

D.如果一個關系中的屬性或屬性組并非該關系的關鍵字,但它是另一個關系的關鍵字,則稱其為本關系的外關鍵字

52.C語言提供的預處理功能包括條件,其基本形式為:#×××標識符程序段1#else程序段2#endif這里的×××可以是()

A.define或include

B.ifdef或include

C.indef或ifndef或define

D.ifdef或ifndef或if

53.表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定

54.以下程序的輸出結果是______。main(){charch[3][4]={"123","456","78"},*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}

A.1.23457e+008B.1.23457e+008C.1.23457e+007D.147

55.有以下程序#include<string.h>main(){char*p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));}程序運行后的輸出結果

A.12B.15C.6D.5

56.有以下程序:main(){chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若運行時從鍵盤上輸入:6,5,65,66<回車>,則輸出結果是______。

A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6

57.有定義語句:intx,y;若要通過scanf("%d,%do,&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是

A.1112<回車>B.11,12<回車>C.11,12<回車>D.11,<回車>12<回車>

58.若a、b、c1、c2、x、y均是整型變量,則正確的switch語句是()。

A.switch(a+b);{casel:y=a+b;break;case0:y=a-b;break;}

B.switch(a*a+b*b){case3:case1:y=a+b;break;case3:y=b-a;break;}

C.switcha{casec1:y=a-b;break;casec2:x=a*d;break;default:x=a+b;}

D.switch(a-b){default:y=a*b;break;case3:case4:x=a+b;break;case10:case11:y=a—b;break;}

59.能正確表示邏輯關系:"a≥10或a≤0"的C語言表達式是

A.a>=10ora<=0

B.a>=0|a<=10

C.a>=10&&a<=0

D.a>=10||a<=0

60.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運行后的輸出結果是

A.02560400B.0256256C.256400D.400400

四、選擇題(20題)61.

62.

程序運行后的輸出結果是()。

A.ABCDE\0FG\OUKB.ABCDUKC.UKD.EFGUK

63.

64.下面各選項中,均是C語言合法標識符的選項組是()。

A.

B.

C.

D.

65.在數(shù)據(jù)管理技術的發(fā)展過程中,經歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是()。

A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項管理

66.下列關于棧的描述中錯誤的是()。

A.棧是先進先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針

67.

有以下程序

#include<stdi0.h>

main

{FILE*fp;inta[0]一{1,2,3,0,0},i;

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

fwrite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a.sizeof(int),10,fp);

fclose(fp);

for(i=0;i<10;i++)printft("%d",a[i]);

}

程序的運行結果是()。

A.1,2,3,0,0,o,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,

68.

69.數(shù)據(jù)庫概念設計的過程中,以下各項中不屬于視圖設計設計次序的是()。

A.自頂向下

B.由整體到個體

C.由內向外

D.由底向上

70.

71.設計軟件結構是軟件生命周期的()。

A.軟件定義期B.軟件開發(fā)期C.軟件維護期D.以上3個都不是

72.

73.

74.設有圖書(圖書編號,書名,第一作者,出版社.、讀者(借書證號,姓名,單位,職稱.和借閱(借書證號,圖書編號,借書日期,還書日期.三張表,則表借閱的關鍵字(鍵或碼.為()。

A.借書證號,圖書編號

B.圖書編號,借書日期

C.借書日期,還書日期

D.借書證號,借書日期

75.

76.從循環(huán)體內某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:___________。

A.break語句B.return語句C.continue語句D.空語句。

77.

78.

79.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:

程序運行后的輸出結果是()。

A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!

80.以下程序運行后的輸出結果是()。

main()

{inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

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

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

五、程序改錯題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個無序整數(shù)按從小到大排序。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將兩個兩位數(shù)的正整數(shù)a、b合并成一個整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個位數(shù)依次放在c數(shù)的十位和千位上,b中的十位數(shù)和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當a=45,b=12時,調用該函數(shù)后,c=5142。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入編寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>voidfun(inta,intb,long*c){}main(){ inta,b; longc; printf(“Inputa,b:”); scanf(“%d%d”,&a,&b); fun(a,b,&c); printf(“Theresultis:%ld\n”,c);}

參考答案

1.A程序中的if循環(huán)是固定地執(zhí)行8次,屬于計數(shù)器,程序是從中隨機抽取一個數(shù),然后對5進行求余再輸出,共抽取8個數(shù)。所以答案為A。

2.C解析:inta,b,k=4,m=6,*p1=&k,*p2=&m;聲明整型變量a,b,k,m和指針p1,p2,并分別將4和6賦給k和m,將k和m的地址賦給P1和p2;a=p1==&m;等價于a=(p1==&m);將p1是否等于地址m的值(0)賦給變量a,b=(*p1)/(*p2)+7;該句的含義是將后面表達式的的值7賦給變量b。

3.D

4.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因為“=”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯誤的。

5.D本題考查雙重函數(shù)調用及for循環(huán)使用,fun函數(shù)中第一個for循環(huán)語句的作用是給數(shù)組a賦值。當?shù)谝淮握{用fun函數(shù)時,把實參1傳給形參,輸出a數(shù)組的元素為1,3,5;第二次調用fun函數(shù)時,由于數(shù)組a為靜態(tài)局部變量,故輸出a數(shù)組的元素為一1,3,7。

6.B本題考查變量賦值基本概念。在聲明一個變量后,如果未顯式的對其進行賦值,則它的值是一個隨機值。

7.D解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要的圖形元素與說明如下:

加工(轉換):輸入數(shù)據(jù)經加工變換產生輸出。

數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名。

存儲文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的文件。

源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。

8.C解析:軟件系統(tǒng)結構的總體設計包括:基于功能層次結構建立系統(tǒng)、按功能劃分成模塊的層次結構、確定每個模塊的功能、建立與已確定的軟件需求的對應關系、確定模塊間的調用關系和模塊間的接口、評估模塊劃分的質量等方面。詳細設計的任務是:在使用程序設計語言編制程序以前,對所采用算法的邏輯關系進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達。需求分析是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進度需求等。編程調試的任務是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設計階段。

9.B解析:我們嚴格區(qū)分調試與測試,調試是已知有錯誤而來找錯誤,是被動的;測試有很多種,比如未發(fā)現(xiàn)錯誤但不能保證程序沒錯而來找BUG,還比如我們運行測試程序是否符合用戶的要求,是主動的。所以答案是選項B。A、C、D都是具體的程序調試方法,而B是宏觀的程序測試方法。測試有單元測試、集成測試、確認測試、系統(tǒng)測試。比如我們在進行單元測試時,發(fā)現(xiàn)程序有錯誤,我們再可以根據(jù)A、C、D的方法來找錯誤。

10.A

11.AA選項中先計算逗號表達式的第1個表達式“2*x”,然后計算第2個表達式“x+=2”,即“x=x+2=4”,整個逗號表達式為第2個表達式的值4。所以A選項正確。B選項中首先計算逗號表達式的第1個表達式“x++”,此時x為3;再計算第2個表達式“2*x=2*3=6”,所以逗號表達式為第2個表達式的值6。C選項中的表達式可以表示為“x=x*(1+x)=2*(1+2)=6”。D選項中的表達式可以表示為“x=x*(x+1)=2*3=6”。故本題答案為A選項。

12.B關系具有以下7個性質。①元組個數(shù)有限性:二維表中元組的個數(shù)是有限的。②元組的唯一性:二維表中任意兩個元組不能完全相同。③元組的次序無關性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無關性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說列是同質的。滿足以上7個性質的二維表稱為關系,以二維表為基本結構所建立的模型稱為關系模型。本題答案為B選項。

13.C解析:選項A中應將y和m前面的函數(shù)的類型說明符去掉,故選項A不正確;選項B中函數(shù)傳了2個參數(shù),其中一個為整型—個為浮點型,而fun()函數(shù)在定義時聲明的2個參數(shù),一個為整型一個為雙精度型,其參數(shù)類型不一致,故選項B不正確;選項D在調用函數(shù)時,不應該再聲明其返回類型,故選項D不正確。所以,4個選項中選項C符合題意.

14.D

15.B本題考查函數(shù)調用時的參數(shù)傳遞。在函數(shù)調用時,形參是指向實參的指針變量,則printf的執(zhí)行結果為++x;x=3,則3+1=4。

16.A

17.C

18.B本題考查fgets函數(shù)的使用調用形式:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“S”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組S中,讀入字符串后會自動在字符串末尾加入"\0"結束符,表示字符串結束。

19.D

20.A需求分析是軟件開發(fā)之前必須要做的準備工作之一。需求是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。故需求分析的主要任務是確定軟件系統(tǒng)的功能。本題答案為A選項。

21.12101812,10,18解析:本題定義了3個整型變量x、y、z,并分別用十進制數(shù)、八進制數(shù)、十六進制數(shù)為它們賦值。然后以十進制整型輸出這3個變量。八進制數(shù)012的十進制表示為10,十六進制數(shù)0x12的十進制表示為18。此外輸出函數(shù)格式控制中的“,”原樣輸出。

22.503503解析:本題考查的是C語言中if語句的語句體。第一個if語句的語句體為t=a,第二個if語句的語句體為t=a。執(zhí)行第一個if語句時,條件a<b不成立,所以不執(zhí)行t=a,直接執(zhí)行語句a=b和b=t得a=3、b=0,然后判斷第二個if語句的條件a<c是否成立,即判斷3<5是否成立,顯然條件成立,執(zhí)行語句t=a得t=3,接著執(zhí)行a=c;c=t得a=5、c=3,所以a=5、c=3、b=0。

23.77解析:在主函數(shù)中定義了一個變量x并賦初值0,然后執(zhí)行函數(shù)調用語句,該語句的執(zhí)行過程為sub(&x,8,1)調用sub(&a,4,2),sub(&a,4,2)調用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結束,執(zhí)行其后的*a+=k;語句此時x=x+k=0+4=4,回退到上一層調用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,再回推到最上一層調用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。

24.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語句后再加1,因此,在執(zhí)行case的時候,n的值依然為'c',執(zhí)行case'c'后面的語句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語句,又打印出warn。所以此題輸出結果是passwarn。

25.1212解析:函數(shù)fun的功能是求兩個數(shù)當中的最大值。語句r=fun(fun(x,y),2*z)的執(zhí)行過程為:首先計算fun(x,y),因x=3、y=8,所以結果為8;然后計算fun(8,2,*z),即計算fun(8,12),所以r=12。

26.585858585858解析:在程序小,執(zhí)行scanf()語句后,a被賦值為58。接著執(zhí)行第一個if語句,因為,a=58>50,執(zhí)行第一個if語句后面的輸出語句,輸出58;接著執(zhí)行第二個if語句,因為,a=58>40,執(zhí)行第二個if語句后面的輸出語句,輸出58;接著執(zhí)行第三個if語句,因為,a=58>30,執(zhí)行第三個if語句后面的輸出語句,輸出58,所以最后的輸出為585858。

27.n2+1

28.br[i]

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

30.5858解析:本題中處理二維數(shù)組元素用了兩重循環(huán),外循環(huán)變量i表示數(shù)組的行,內層循環(huán)變量j表示數(shù)組的列。在第二重循環(huán)中首先判斷數(shù)組元素的值是否小于0,若是則處理該行的下一個元素;若不是則判斷a[i][j]的值是否等于0,若等于0則退出內層循環(huán)開始處理下一行;其他情況下,把a[i][j]的值加到變量s中。所以本程序段的功能是把每行值為0的元素前面的所有大于0的元素值加到變量s中。

31.邏輯獨立性邏輯獨立性解析:數(shù)據(jù)的獨立性一般可分為物理獨立性和邏輯獨立性。

32.數(shù)據(jù)模型數(shù)據(jù)模型

33.int*ptb1[i].p*tb1[j].p<*tb1[j+1].p

34.n%base[d]n%base[d]解析:程序中的字符數(shù)組b存儲了十六進制16個數(shù)字的字符,整型數(shù)組c用于存儲轉換的十六進制數(shù)的各位數(shù)值。將整數(shù)n轉換成它的各位十六進制數(shù)值,需采用除以16取余的方法,即求n除以16的余,得到它的十六進制的末位數(shù),接著將n除以16,在n不等于0的情況下循環(huán),順序求出n的十六進制的倒數(shù)第一、第二、第三位數(shù)等。程序中變量base已預置16,所以在第一處填n%base。當n的十六進制數(shù)的倒數(shù)第一、第二、第三位等依次存放于數(shù)組c中后,就從最高位至最低位,參照數(shù)組c[i]的內容d(以其內容為下標),取十六進制數(shù)字符表中的字符b[d)輸出,所以在第二處填[d]。

35.0

36.選擇選擇解析:在關系數(shù)據(jù)庫中,選擇運算也是一個元運算,關系R通過選擇運算(并由該運算給出所選擇的邏輯條件)后仍為一個關系。這個關系是由R中的那些滿足邏輯條件的元組所組成。

37.存儲結構

38.structnode*structnode*解析:本題中的結構類型名為structnode,所以空白處應填:structnode*。即定義一個指向自身的結構體指針。

39.99解析:本題要輸出的結果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應該是3+1+3+1+1=9。故本題應該填9。

40.類類解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同操作性質的對象的集合,是已經定義了的關于對象的特征、外觀和行為的模板。所以類是對象的抽象,它描述了屬于該對象類型的所有對象的性質,而一個對象則是其劃應類的一個實例。

41.C解析:本題的考查點是根據(jù)程序寫出數(shù)學函數(shù)關系。題中的兩個判斷語句實際上指出了y取值的條件,即是當x大于零時y取1;當x小于零時y取0;當x等于零時y值不變,為-1。

42.D解析:位與運算符“&”,按二進位進行“與”運算,如果兩個相應的二進制位都為1,則該位的結果值為1,否則為0;取反運算符“~”,用來對一個二進制按位取反,即將0變1,1變0。在prinf()函數(shù)的表達式中,“&”前面表達式的值為1(3/2=1)表示為二進制為00000001,而按位取反運算符“~”的優(yōu)先級高于按位與運算符“&”,先計算“&”后面的取反運算符“~”。z的二進制表示為00000001,取反后為11111110,最后進行“&”,即“00000001&11111110”可知結果為00000000,故最后的值為0。

43.D解析:指針類型的自定義的形式如下:typedef類型說明符*用戶類型名。不難看出只有選項D是正確的定義形式。所以,D選項為所選。

44.D解析:首先定義了一個指向一維數(shù)組b的指針p,一個指向指針p的指針變量q,輸出*(p++)是先輸出*p即b[0]的值,再將指針p指向數(shù)組的下一個元素b[1],輸出**q是輸出指針p所指單元的內容,即b[1]的值。

45.A解析:主函數(shù)中定義了一個整型數(shù)組x,并初始化.接著執(zhí)行了一個二重for循環(huán),在該二重循環(huán)的作用是將數(shù)組的前4個元素按從大到小排序,接著用了一個;重循環(huán)(也是冒泡算法)將數(shù)組的后4個元素按從小到大的順序排序,故最后依次輸出數(shù)組的個元素的值為75310246,所以,4個選項中選項A符合題意。

46.C解析:本題考查的是字符數(shù)組的初始化。字符數(shù)組即可以用{初始化列裹}來初始化,也可以用一個字符串常量來初始化。但字符串常量系統(tǒng)會自動為其添加結束標記'\\0',故比實際長度要多一位,所以本題輸出為34,應該選擇C。

47.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結束,在do-while循環(huán)中,不可以省略while。

48.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù);③作為確認測試和驗收的依據(jù)。

49.A

50.A解析:題中a1和a2兩個結構體變量名所對應的成員相同,可以與運算'++'相結合。結構體變量的輸出格式:prinf('要輸出變量名:%d\\t',結構變量名.要輸出的成員變量名)。

51.D數(shù)據(jù)處理是指將數(shù)據(jù)轉換成信息的過程,故選項A敘述錯誤。數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理結構的改變,不會影響數(shù)據(jù)庫的邏輯結構,故選項B敘述錯誤。關系中的行稱為元組,對應存儲文件中的記錄,關系中的列稱為屬性,對應存儲文件中的字段,故選項C敘述錯誤。所以本題選D。

52.D

53.C因為c語言數(shù)據(jù)進行計算時數(shù)據(jù)類型會由低級向高級進行隱式轉化,sqrt函數(shù)得到的是double類型,比其他的int數(shù)據(jù)類型高,所以整個結果得到的是double類型。

54.C

55.D解析:本題首先定義了一個字符型指針變量p,并用一個字符串給它賦值,然后調用printf()函數(shù)輸出p所指向的字符串的長度。字符串的結束標記為“\\0”,其長度為“\\0”前的字符個數(shù),故長度為5。

56.A解析:char型數(shù)據(jù)類型以%d的形式輸入時,輸入的是ASCII值。65是字符A的ASCII碼值,66是字符B的ASCII值。

57.A解析:scanf()函數(shù)有兩個參數(shù),第一個參數(shù)為輸入格式字符申;第二個參數(shù)為輸入變量地址列表,在scanf()語句中非格式字符可以作為輸入時數(shù)據(jù)的間隔,輸入時必須原樣輸入,在本題中輸入格式串為%d,%d其中“,”為非格式字符,所以輸入時必須原樣輸入。

58.D解析:switch語句后不能有分號,故選項A錯誤;switch語句中的常量不能在分支重復出現(xiàn),故選項B錯誤;選項C中,switch后的表達式必須要加括號,case后的表達式必須是常量,故選項C錯誤;因此只有選項D正確。

59.B解析:

溫馨提示

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

評論

0/150

提交評論