2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)_第1頁
2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)_第2頁
2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)_第3頁
2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)_第4頁
2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年安徽省六安市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細設計B.需求分析C.總體設計D.編程調(diào)試

2.

3.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。

A.將串str1復制到串str2中后再連接到串str3之后

B.將串str1連接到串str2之后再復制到串str3之后

C.將串str2復制到串str1中后再將串sir3連接到串str1之后

D.將串str2連接到串str1之后再將串str1復制到串str3中

4.有以下程序段intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若從鍵盤上輸入:10A10<回車>,則輸出結果是

A.10,A,10B.10,a,10C.1O,a,0D.10,A,0

5.

6.

7.順序查找法適合于存儲結構為()的線性表。

A.散列存儲B.順序存儲或鏈式存儲C.壓縮存儲D.索引存儲

8.信息隱蔽的概念與下述哪一種概念直接相關?

A.軟件結構定義B.模塊獨立性C.模塊類型的劃分D.模塊耦合度

9.以下程序的運行結果是______。#include<stdio.h>main(){inta[]:{1,2,3,4,5,6,7,8,9,10,11,12):int*p=a+5,*q=NULL:*q=*(p+5):printf("%d%d\n",*p,*q);}

A.運行后報錯B.66C.612D.55

10.下列不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'\t'C.'\n'D.'088'

11.有以下程序:#include<stdio.h>#include<stdlib.h>main{int*a,*b,*C;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b:printf("%d,%d,%d\n",*a,*b,*c);}程序運行后的輸出結果是()。A.3,3,3B.2,2,3C.1,2,3D.1,1,3

12.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8

13.

14.設有100個元素,用折半查找法進行查找時,最大比較次數(shù)是_____。

A.25B.50C.10D.7

15.順序結構的本質(zhì)特點是()。

A.數(shù)據(jù)元素存儲在地址連續(xù)的內(nèi)存空間

B.數(shù)據(jù)元素緊鄰

C.數(shù)據(jù)元素在內(nèi)存中的相對位置表示數(shù)據(jù)之間的邏輯關系

D.不使用指針

16.

有以下程序:

main

{intx=102,y=012;

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

}

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

A.10,01B.02,12C.102,10D.02,10

17.若有運算符:>、*=、<<、%、sizeof,則它們按優(yōu)先級(由低至高)的正確排列次序為()。

A.*=<<>%sizeof

B.<<*=>%sizeof

C.%=><<sizeof%

D.*=><<%sizeof

18.有以下程序:#include<stdio.h>main(){inta=10,b=11;if(++a==b++) printf(“T”);else printf(“F”);printf(“a=%d,b=%d\n”,a,b);}程序運行后的輸出結果是()。

A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12

19.設x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

20.有下列程序:程序執(zhí)行后的輸出結果是()。A.Zhao,m,85,Zhao,m,85

B.Sun,f,90,Zhao,m,85

C.Zhao,m,85,Sun,f,90

D.Sun,f,90,Sun,f,90

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

#include<stdio.h>

main()

{intfun();fun();}

fun()

{staticinta[3]={0,1,2};

inti;

for(i=0;i<3;i++)a[i]+=a[i];

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

printf("\n");}

22.下面程序中函數(shù)creat用于建立一個帶頭結點的單向鏈表,新產(chǎn)生的結點總是插在鏈表的末尾,單向鏈表的頭指針作為函數(shù)值返回。將程序補充完整。

#include<stdiao.h>

structlist

{chardata;structlist*next;};

structlist*creat()

{

structlist*h,*p,*q;charch;

h=【】malloc(sizeof(structlist));

p=q=h;ch=getchar();

while(ch!='?')

{

p=【】malloc(sizeof(structlist));

p->data=ch;q->next=p;q=p;ch=getchar();

}

p->next='\0';

【】;

}

23.數(shù)據(jù)結構分為線性結構和非線性結構,帶鏈的隊列屬于[]。

24.若x為int類型,請寫出與!x等價的C語言表達式______。

25.一棵二叉樹第6層(根結點為第一層)的結點最多為______個。

26.條件“20<x<30或x<-100”的C語言表達式是【】。

27.以下程序運行后的輸出結果是【】。

#defineS(x)4*x*x+1

mah()

{inti=6,j=8;

printf("%d\n",S(i+j));

}

28.有以下程序段:

inta[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];

b中的值是【】。

29.以下程序運行后的輸出結果是______。

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

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

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

31.結構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。

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

#include<string.h>

main()

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

33.下列程序執(zhí)行后輸出的結果是【】。

f(intA)

{staticc=0;

c=a+c++;

return(c);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

34.若有以下程序段:

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

則執(zhí)行后,c3中的值是【】。

35.下面程序的運行結果是【】。

#include<stdio.h>

fun(intt[],intn)

{inti,m;

if(n==1)returnt[0];

else

if(n>=2)|m:fun(t,n-1);returnm;}

}

main()

{inta[]={11,4,6,3,8,2,3,5,9,2};

printf("%d\n",fun(a,10));

36.下列程序的運行結果是______。

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%b);

printf("%d,",(a-b,a+b));

printf("%d\n",a-b?a-b:a+b);

}

37.已有定義;charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【】。

38.以下程序由終端鍵盤輸入一個文件名,然后把從終端鍵盤輸入的字符依次存放到該文件中,用#作為結束輸入的標志,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenam\n");

gets(fname);

if((fp=【】==NULL)

{printf("Cannotopen\n");exit(0);}

printf("Enterdata\n");

while(ch=getchar()!='#')

fputc(【】,fp);

fclose(fp);

}

39.下列程序的輸出結果是______。

10ngfun5(intn)

{longs;

if((n==1)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

printf("%1d\n",x);}

40.以下程序的運行結果為【】。

#defineFORMAT"%u,%u"

main()

{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

printf("\n");

printf(FORMAT,**a,*a[0]);

printf(FORMAT,*(a[0]+1),*&a[0][1]);

printf(FORMAT,a[1][0],*(*(a+1)+0));

}

三、1.選擇題(20題)41.設x和y均為int型變量,且x=10,y=3,則以下語句的輸出結果是()printf("%d,%d\n",x--,--y);

A.10,3B.9,3C.9,2D.10,2

42.關系代數(shù)運算是以______為基礎的運算。

A.關系運算B.謂詞運算C.集合運算D.代數(shù)運算

43.設R是一個二元關系,S是一個三元關系,則下列運算中正確的是()。

A.R-SB.R×SC.R∩SD.R∪S

44.數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,它們是()

A.概念設計和邏輯設計B.模式設計和內(nèi)模式設計C.內(nèi)模式設計和物理設計D.結構特性設計和行為特性設計

45.執(zhí)行下列程序時輸入:123<空格>456<空格>789<回車>輸出結果是main(){chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}

A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456

46.假定在一棵二叉樹中,雙分支結點數(shù)為15個,單分支結點數(shù)為32個,則葉結點數(shù)為______個。

A.15B.16C.17D.47

47.有以下程序:#include<string.h>main(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d%d\n",strlen(p),strlen(q));}以下敘述中正確的是()。

A.在給p和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結束符,故輸出的長度都為3

B.由于p數(shù)組中沒有字符串結束符,長度不能確定;但q數(shù)組中字符串長度為3

C.由于q數(shù)組中沒有字符串結束符,長度不能確定;但p數(shù)組中字符串長度為3

D.由于p和q數(shù)組中都沒有字符串結束符,故長度都不能確定

48.判斷char型變量cl是否為大寫字母的正確表達式是

A.′A′<=cl<=′Z′

B.(cl>=A)&&(cl<=Z)

C.(′A′>=cl)||(′Z′<=cl)

D.(cl>=′A′)&&(cl<=′Z′)

49.若有如下程序:main(){inta,b,C,m,n,k;m=n=k=0;a=-1;b=2;C=3;if(c>0)m=a+b;if(a<=0){if(b>0)if(c<=0)n=a=b;}elseif(c>0)n=a-b;elsek/=c;printf("%d,%d,%d,",m,n,k);}則程序運行后的輸出結果是()。

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

50.下列選項中,不是關于棧的基本運算的敘述是______。

A.從棧頂刪除一個元素B.判斷一個棧是否為空C.在棧中的第i個元素之前插入一個新元素D.讀取棧頂元素的值

51.有以下程序:#include<stdio.h>main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",hum[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角;1234678111216則在程序下劃線處應填入的是()。

A.i-1B.iC.i+1D.4-i

52.以下程序段的輸出結果是______。char*p="abodefgh";p+=3;printf("%d\n",strlen(strcpy(p,"12345")));

A.8B.12C.5D.7

53.結構化程序設計主要強調(diào)的是

A.程序的規(guī)模B.程序的效率C.程序設計語言的先進性D.程序易讀性

54.有下列二叉樹,對此二叉樹中序遍歷的結果為()。

A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE

55.已有定義int(*q)(),指針q可以()。

A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型

56.設計準則要求,模塊的作用域和控制域的關系是()

A.作用域和控制域無關B.作用域在控制域之外C.控制域在作用域之內(nèi)D.作用域在控制域之內(nèi)

57.已知小寫字母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結果是______。main(){unsignedinta=32,b=66;printf("%c\n",a|b);}

A.66B.98C.bD.B

58.若有定義inta=5,b=7;,則表達式a%=(b%2)運算后,a的值為()。

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

59.若ch為char型變量,k為int型變量(已知字符a的ASCII碼是97),則執(zhí)行下列語句后輸出的結果為()。ch='b';k=10;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k);

A.因變量類型與格式描述符的類型不匹配,輸出無定值

B.輸出項與格式描述符個數(shù)不符,輸出為0值或不定值

C.62,142,k=%d

D.62,142,k=%10

60.下列關于棧的描述中,正確的是()

A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素

四、選擇題(20題)61.

62.

63.

64.有以下程序:

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

A.33B.197C.143D.28

65.

66.

67.

68.(45)信息隱蔽的概念與下述哪一種概念直接相關()

A.軟件結構定義

B.模塊獨立性

C.模塊類型劃分

D.模擬耦合度

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

#include<stdio.h>

main

{inti;

for(i=1;i<=10,i++)

{if((i*i>=20)&&(i*i<=100))

break;

}

printf("%d\n",i*i;

}A.A.49B.36C.25D.64

70.

71.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語句后a和b的值分別是()。

A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1

72.

若變量均已正確賦初值,則以下語句中

錯誤的是()。

A.tl=t2;

B.t2.numl=tl.numl;

C.t2.mark=tl.Mark

D.t2.num2=tl.hum2;

73.有以下程序:

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

A.321B.12300C.1D.123

74.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結構無關

B.算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D.以上三種描述都不對

75.以下只有在使用時才為該類型變量分配內(nèi)存的存儲類型說明是()。

A.auto和static

B.auto和register

C.register和static

D.extern和register

76.

77.以下選項中,能用做用戶標識符的是()。

A.voidB.8_8C._0_D.unsigned

78.在軟件開發(fā)中,需求分析階段可以使用的工具是()。A.N—s圖B.DFD圖C.PAD圖D.程序流程圖

79.以下定義語句中正確的是()。

A.

B.

C.

D.

80.有以下程序

structs

{intx,y;}data[2]={10,100,20,200};

main()

{structs*p=data;

printf("%d\n",++(p->x));

}

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

A.10B.11C.20D.21

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)形參m(2≤m≤9)的值,在m行m列的二維數(shù)組中存放如下所示的數(shù)據(jù),由main()函數(shù)輸出。

請修改程序中的錯誤,使它能得出正確的結果。

注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。

試題程序:

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。此程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)該函數(shù)的功能是使數(shù)組下三角元素中的值乘以n。注意:部分源程序給出如下。請勿改動函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf(“*****Thearray*****\n”);for(i=0;i<n;i++)<p=""></n;i++)<>{for(j=0;j<=""p="">{a[i][j]=rand()%10;printf(“%4d”,a[i][j]);}printf(“\n”);}n=rand()%4;printf(“n=%4d\n”,n);fun(a,n);printf(“*****TheResult*****\n”);for(i=0;i<=""p="">{for(j=0;j<=""p="">printf(“%4d”,a[i][j]);printf(“\n”);}}

參考答案

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

2.C

3.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項C正確。

4.A解析:本題考核的知識點是scallf()函數(shù)輸入格式。格式字符“%d”用于輸入整數(shù),“%C”用來輸入字符。在輸入時,系統(tǒng)把第一個10作為整數(shù)10賦給m,把隨后的A作為字符賦值給c,后面的10作為整數(shù)賦給n,最后輸出的結果為10,A,10所以,A選項為所選。

5.B

6.C

7.B

8.B解析:采用信息隱蔽的目的就是為了確保每個模塊的獨立性。

9.A

10.D解析:'\\\\'是反斜線轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符:'\\n'是換行轉(zhuǎn)義字符;C語言中沒有規(guī)定'088'為轉(zhuǎn)義字符。

11.A本題中,首先創(chuàng)建一個動態(tài)內(nèi)存,然后將地址分別存入指針a、b、c中,即a、b、c都指向相同.的變量。分別給a、b、c所指的變量賦值,最終a、b、c所指的變量中的值為3,最后打印a、b、c所指的變量

12.B當n為9時,此時if語句成立,執(zhí)行n++后,n為10,因此輸出n的值為10,故選擇B選項。

13.C

14.D

15.C

16.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號隔開輸出兩個十進制整數(shù),每個整數(shù)域?qū)捠?。而在C語言中規(guī)定:當域?qū)捫∮趯嶋H寬度時域?qū)挷黄鹱饔?,按實際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進制整數(shù)12,等于十進制的10)。所以,4個選項中選項C符合題意。

17.D解析:本題主要考查算術運算的優(yōu)先級。順序如下:

[*]

注:*=、>、<<、%、sizeof的優(yōu)先級依次遞增。

18.D自增運算符是將運算對象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達式“++a==b++”,等價于“11==11”,條件為真,所以輸出“T”。if語句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項。

19.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。

20.D程序定義結構體類型STU,main函數(shù)定義結構體STU變量b,并將b的地址賦給指針變量a。調(diào)用函數(shù)f,傳入a。在函數(shù)f中,定義了STU變量c,并將c的地址賦給d,再用d指向的值賦給a指向的地址,接著輸出a指向的值,也就是c的值:Sun,f,90。由于函數(shù)f的調(diào)用通過指針參數(shù)a修改了變量b的值,因此a指向的值也就是b的值等價于c:Sun,f,90。本題答案為D選項。

21.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語句的使用以及靜態(tài)局部變量的特點。

22.(structlist*)(structlist*)return(h)

23.線性結構線性結構解析:與棧類似,隊列也是線性表,也町以采用鏈式存儲結構。

24.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。

25.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個結點。第6層的結點數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結點最多數(shù)”和“某一層的結點最多數(shù)”。前者的計算是深度為m的二叉樹最多有2m-1個結點。

26.(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100

27.8181解析:本題的宏調(diào)用S(i+j)將被替換成表達式4*i+j*i+j+l等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。

28.99解析:p是一個指針變量,指向數(shù)組a的元素a[3],所以b=p[5]=a[5+3]=a[8]=9。

29.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進制的025,c為十六進制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進制輸出,且中間用空格隔開,八進制025轉(zhuǎn)換為十進制的值為21,十六進制的0x25轉(zhuǎn)換為十進制的值為37,故最后的輸出結果為252137。

30.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調(diào)用結束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結果是56。

31.模塊化模塊化

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

33.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。

34.00解析:在賦值運算中。如果表達式中變量和常量的數(shù)據(jù)類型不一致就會自動進行類型轉(zhuǎn)換。系統(tǒng)會計算1.0/c2,由于1.0是實型,所以均先轉(zhuǎn)化為雙精度型0.500000,再和c1轉(zhuǎn)化后的雙精度數(shù)相乘得0.500000。但其要賦值給整型變量c3,故要進行強制轉(zhuǎn)換,c3的值為0。

35.1111解析:main函數(shù)調(diào)用fun函數(shù)時,將10賦給n,形參數(shù)組t與實參數(shù)組a共用一段內(nèi)存空間。執(zhí)行if-else語句時,n=10,所以執(zhí)行else子句。由于n>=2成立,執(zhí)行m=fun(t[0],9),遞歸調(diào)用fun函數(shù),m=fun(t[0],8),m=fun(t[0],7),…,m=fun(t[0],2),m=fun(t[0],1),當n=1時滿足if(n=1)的條件,執(zhí)行return語句,返回數(shù)組首地址指向的值t[0],所以答案為11。

36.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達式1,表達式2)形式的結果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結果為7。

37.00解析:本題考查數(shù)據(jù)類型及其運算的邏輯運算,c為空格字符但其ASCII碼不為0,所以!c=0,在邏輯與運算中,只要有一項為假,其值為0,所以b的值為0。

38.fopen(fname"w")chfopen(fname,'w')\r\nch解析:數(shù)組fname用來存放終端輸入的一個文件的文件名;文件使用方式'w'是為寫而打開文本文件。若文件不存在,系統(tǒng)將用在fopen調(diào)用中以指定的文件名建立一個新文件;若存在,則覆蓋原有內(nèi)容;fputs(ch,fp)的功能是將字符ch寫到文件指針fp所指的文件中去。

39.99解析:考查ifelse語句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。

40.113399

41.D

42.C解析:關系代數(shù)是以集合代數(shù)為基礎女發(fā)展起來的,它是以關系代數(shù)作為運算對象的一組高級運算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括針對數(shù)據(jù)庫環(huán)境專門設計的操作,包括對關系進行垂直分割(投影)、水平分割(選擇)、關系的結合(連接)等。

43.BB。【解析】關系的交(∩)、并(∪)和差(-)運算要求兩個關系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。

44.A解析:模式設計和內(nèi)模式設計是概念設計的兩種方法。物理設計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結構和存取方法進行設計,從而實現(xiàn)從邏輯結構到物理結構的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結構特性設計和行為特性-設計是數(shù)據(jù)庫應用系統(tǒng)所具有的兩個特性。結構特性的設計,設計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。

45.D解析:根據(jù)給定的數(shù)據(jù)輸入格式:123<空格>456<空格>789<回車>,第一個scanf語句中,格式字符為“%c”,只能得到一個字符\'1\',第二個scanf語句中格式字符為“%d”,變量i得到的數(shù)值為23,第三個scanf語句中格式字符為“%s”,遇到空格就自動結束,因此字符數(shù)組s得到的是'456\\0”。因而正確答案為選項D。

46.B

47.A解析:在給p和q數(shù)組賦初值時,系統(tǒng)會自動添加字符串結束符,從題目中可以看出數(shù)組p和q都有3個字符,所以長度均為3。

48.D解析:本題考查字母大小寫的判斷。字符型數(shù)據(jù)在計算機內(nèi)部是以ASCII碼存儲的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。

49.A解析:本題首先聲明了6個int型變量,然后分別讓m、n、k為0,a為-1,b為2,c為3。接下來因為c>O為真,故執(zhí)行子句“m=a=b;”,結果使m的值變?yōu)?;然后判斷a是否<=0,結果也為真,進入大括號里面;由于b>O為真,再判斷c<=0,為假。所以子句“n=a=b;”沒有執(zhí)行,跳出大括號。而后面的elseif語句和else語句因為大括號的原因,使其對應第二個if語句,而第二個if語句的條件已滿足(進入大括號之前),所以這兩條else語句的子句不被執(zhí)行,故最后輸出結果為1,0,0,所以應該選擇A。

50.C

51.B解析:本程序為二重循環(huán),外循環(huán)控制輸出數(shù)據(jù)的行數(shù),內(nèi)循環(huán)控制輸出數(shù)據(jù)的列數(shù)。本題需要輸出4行4列,外層循環(huán)語句for(i=0;i<4;i++)控制輸出4行,內(nèi)層的第一條for循環(huán)控制每行輸出的空格數(shù),第二條for循環(huán)用于控制每行的數(shù)字輸出,由于每一行的數(shù)字個數(shù)比前一行少1個,所以內(nèi)層的第二條for循環(huán)每次循環(huán)的次數(shù)需要遞減1,那么j的初始值應該遞增,因為第一行輸出的是4個數(shù),所以空格中應填i。

52.C解析:本題主要考查strcpy()函數(shù),char*strcpy(char*s1,char*s2)是把指針s2指向的串復制到指針s1指向的存儲空間。

53.D結構化程序設計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設計一些較大的軟件打下了良好的基礎。

由于模塊相互獨立,因此,在設計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復雜的問題化簡為一系列簡單模塊的設計。模塊的獨立性還為擴充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴展。

結構化程序設計的基本思想是采用“自頂向下,逐步求精”的程序設計方法和“單入口單出口”的控制結構。自頂向下、逐步求精的程序設計方法從問題本身開始,經(jīng)過逐步細化,將解決問題的步驟分解為由基本程序結構模塊組成的結構化程序框圖;“單入口單出口”的思想認為一個復雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結構通過組合、嵌套構成,那么這個新構造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結構良好、易于調(diào)試的程序。

54.B解析:對二又樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。在遍歷左,右子樹時,注意依舊按照“左子樹—根結點—右于樹”的順序。

55.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標識符(*指針變量名)()。其中,“類型標識符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。

56.D

57.C解析:位運算符“|”的作用是按位或,即兩個二進制數(shù)的相應位中只要有一個為1,該位的結果值為1。最后以字符型輸出,98對應的字符“b”。

58.A解析:本題考查'%'運算符的使用。運算符'%'要求兩個運算對象都為整型,其結果是整數(shù)除法的余數(shù)。本題中表達式ao%=(b%2)等價于a=a%o(b%2)=5%(7%2)=5%1=0。

59.C解析:第1個printf函數(shù),格式說明的個數(shù)是2,而輸出項的個數(shù)是3,所以對于多余的輸出項k不予輸出;第2個pfintf函數(shù),有兩個%說明,第1個%后面的字符要原樣輸出。注意:本題考查printf函數(shù)的格式。①“%x”和“%o”分別表示以十六進制和八進制無符號型輸出整型數(shù)據(jù)(不帶前導Ox或O):②printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出:⑧格式說明與輸出項的個數(shù)也要相等,如果格式說明的個數(shù)少于輸出項的個數(shù),則對于多余的輸出項不予輸出。

60.C\nC)【解析】棧實際也是線性表,只不過是一種特殊的線性表。棧是只能在表的~端進行插入和刪除運算的線性表,通常稱插入、刪除的這一端為棧頂另一端為棧底。當表中沒有元素時稱為空棧。棧頂元素總是最

溫馨提示

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

評論

0/150

提交評論