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.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄

B.數(shù)據(jù)行

C.數(shù)據(jù)塊

D.字符(字節(jié))序列

2.下列敘述中正確的是()

A.一個算法的空間復雜度打,則其時間復雜度也必定大

B.一個算法的空間復雜度大,則其時間復雜度也必定小

C.一個算法的時間復雜度大,則其空間復雜度也必定小

D.算法的時間復雜度與空間復雜度沒有直接相關

3.設一棵二叉樹共有50個葉子結點(終端結點),則共有___個度為2的結點。

A.25B.49C.50D.51

4.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關系是()。

A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關系

5.

6.某二叉樹共有7個結點,其中葉子結點只有l(wèi)個,則該二叉樹的深度為(假設根結點在第1層)()。

A.3B.4C.6D.7

7.若x,y,z均被定義為整數(shù),則下列表達式能正確表達代數(shù)式1/(x*y*z)的是()。A.1/x*y*zB.1.0/(x*y*z)C.1/(x*y*z)D.1/x/y/(float)z

8.一個算法應當具有5個特性,以下敘述中正確的是()。

A.有窮性、確定性、復雜性、有零個或多個輸入、有一個或多個輸出

B.有窮性、確定性、可行性、有零個或多個輸入、有一個或多個輸出

C.有窮性、確定性、可行性、必須要有一個以上的輸入、有一個或多個輸出

D.有窮性、確定性、復雜性、有零個或多個輸入、必須要有多個輸出

9.下列對于軟件測試的描述中正確的是()。

A.軟件測試的目的是證明程序是否正確

B.軟件測試的目的是使程序運行結果正確

C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤

D.軟件測試的目的是使程序符合結構化原則

10.一個有8個頂點的有向圖,所有頂點的入度出度之和與所有頂點的出度之和的差是()

A.16B.4C.0D.2

11.有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf(“%d,”,p->x);p=p->y;}}程序的運行結果是()。

A.20,30,B.30,17,C.15,30,D.20,15,

12.下列敘述中錯誤的是()。A.在程序中凡是以“#”開始的語句行都是預處理命令行

B.預處理命令行的最后不能以分號表示結束

C.#defineMAX是合法的宏定義命令行

D.C程序對預處理命令行的處理是在程序執(zhí)行的過程中進行的

13.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結果是()。

A.24B.28C.32D.36

14.若有代數(shù)式“”(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語言表達式是()。

A.sqrt(fabs(pow(n,x)+exp(x)))

B.sqrt(fabs(pow(n,x)+pow(x,e)))

C.sqrt(abs(nx+ex))

D.sqrt(fabs(pow(x,n)+exp(x)))

15.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關系B.數(shù)據(jù)流C.控制流D.調用關系

16.排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

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

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

18.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。

A.定義語句中的*號是一個間址運算符

B.定義語句中的*號只是一個說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P

19.十六進制數(shù)BB轉換成十進制數(shù)是()

A.192B.256C.187D.121

20.設C語言中,一個int型數(shù)據(jù)在內存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。

A.0~255B.0~32767C.0~65535D.0~2147483647

二、2.填空題(20題)21.設Y是int型變量,請寫出判斷Y為奇數(shù)的關系表達【】。

22.下面程序執(zhí)行后k的值為【】。

inta=1,b=2,c=3,d=4,k;

k=a>b?a:c>d?c:d

23.執(zhí)行以下for語句后,變量i的值是【】。

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

24.在關系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。

25.隊列是限定在表的一端進行插入和在另一端進行刪除操作的線性表。允許插入的一端稱作______。

26.對于圖書管理數(shù)據(jù)庫,將圖書表中"人民郵電出版社"的圖書的單價漲價5%。請對下面的SQL語句填空:UPDATE圖書【】WHERE出版單位="人民郵電出版社"

27.以下程序運行時,若從鍵盤輸入:102030<回車>,輸出的結果是【】。

#include<stdio.h>

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

prinff("%d%d%d\n",i,j,k);

}

28.已定義charch=′$′;inti=1,j;,執(zhí)行j!=ch&&i++以后,i的值為【】。

29.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中。請?zhí)羁铡?/p>

#include<conio.h>

#include<stdio.h>

intfun(int*s,intt,int*k)

{inti;

*k=0;

【】

if(s[*k]<s[i])*k=i;

return【】;}

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777},k;

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);}

30.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

31.一般來說,數(shù)據(jù)庫的設計過程要經(jīng)歷3個大的階段,即可行性分析與研究階段、系統(tǒng)設計階段、設計實施與系統(tǒng)運行階段。概念設計、邏輯結構設計、物理結構設計屬于數(shù)據(jù)庫設計的【】階段。

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

#include<stdio.h>

main()

{intx=1,y=1,a=1,b=1;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

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

}

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

34.若有以下程序

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;

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

}

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

35.有以下程序:

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);

}

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

36.以下條件表達式可計算:1+|a|的值,請?zhí)羁铡>=0?【】:【】

37.數(shù)據(jù)結構包括數(shù)據(jù)的邏輯結構、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。

38.下列程序執(zhí)行輸出的結果是______。

#include<stdio.h>

f(intA)

{intb=0;

staticc=7;

a=c++;b++;

return(A);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

39.下列表達式用于判斷y是否為閏年。閏年的判斷條件是:年號能被4整除但不能被100整除或年號能被400整除,請?zhí)羁誣_____。

40.已知函數(shù)isaplha(ch)的功能是判斷變量ch是否是字母,若是,則該數(shù)值為1,否則為0。下面程序執(zhí)行后的輸出結果是()。

#include<ctype.h>

#include<string.h>

voidfun(chars[])

{inti,j;

for(i=0,j=0;s[i];i++)

s[j]='\0';

}

main()

{charss[80]="goodmorning";

fun(ss);

printf("%s",ss);

}

三、1.選擇題(20題)41.函數(shù)fun的返回值是()。fun(char*a,char*b)intnum=0,n=0;while(*(a+num))!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;)returnnum;}

A.字符串a(chǎn)的長度B.字符串b的長度C.字符串a(chǎn)和b的長度之差D.字符串a(chǎn)和b的長度之和

42.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}

D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}

43.設有如下定義:char*aa[2]={"abcd","ABCD"},則以下說法中正確的是()。

A.aa數(shù)組中元素的值分別是{"abcd","ABCD"};

B.aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組

C.aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址

D.aa數(shù)組的兩個元素中各自存放了字符‘a(chǎn)’和‘A’的地址

44.有以下程序:#include<stdio.h>main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序運行后的輸出結果是()。

A.10B.11C.14D.15

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

A.66B.98C.bD.B

46.定義如下變量:intn=10;則下列循環(huán)的輸出結果是()。while(n>7){-n;printf("%d\n",n);}

A.1098B.987C.10987D.9876

47.若進棧序列為1,2,3,4,進棧過程中可以出棧,則下列不可能的—個出棧序列是______。

A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1

48.在設計程序時,應采納的原則之一是()。

A.不限制goto語句的使用B.減少或取消注解行C.程序越短越好D.程序結構應有助于讀者理解

49.以下程序的功能是:按順序讀入10名學生4門課程的成績,計算出每位學生的平均分并輸出,程序如下。main(){intn,k;floatscore;sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}ave=sum/4.0;printf('NO%d:%f\n",n,ave);}}上述程序運行后結果不正確,調試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置不正確。這條語句是()。

A.sum=0.0;

B.sum+=score;

C.ave=sun/4.0;

D.printf("NO%d:%f\n",n,ave);

50.下面程序的輸出結果是______。unsignedfun(unsignednum){unsignedk=1;do{k*=num%10;num/=10;}while(num);return(k);}main(){unsignedn=26;printf("%d\n",fun(n));}

A.0B.4C.12D.無限次循環(huán)

51.按照“先進后出”原則組織數(shù)據(jù)的數(shù)據(jù)結構是()。

A.隊列B.棧C.雙向鏈表D.二叉樹

52.以下不正確的敘述是A.A.在C程序中,逗號運算符的優(yōu)先級最低

B.在C程序中,APH和aph是兩個不同的變量

C.若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變

D.當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值

53.下列關于線性表的敘述中,不正確的是()

A.線性表可以是空表

B.線性表是一種線性結構

C.線性表的所有結點有且僅有一個前件和后件

D.線性表是由n個元素組成的一個有限序列

54.下面程序的文件名為t.exe,在DOS下輸入的命令行參數(shù)如下:ttomeetme<回車>則程序輸出的結果是#include"stdio.h"main(argc,argv)intargc;char*argv[];{inti;printf("%d\n",argc);}

A.3B.4C.2D.以上答案都不正確

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

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

56.有以下程序main()intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("%d,%d\n",k,n);程序運行后的輸出結果是

A.1,1B.2,2C.3,3D.4,4

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

A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ

58.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

59.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()

A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭

60.以下程序的輸出結果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");}printf("\n");}

A.#*#*#B.#####C.*****D.*#*#*

四、選擇題(20題)61.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

62.

63.

64.

65.下列敘述中正確的是()。

A.可以用關系運算符比較字符串的大小

B.空字符串不占用內存,其內存空間大小是0

C.兩個連續(xù)的單引號是合法的字符常量

D.兩個連續(xù)的雙引號是合法的字符串常量

66.以下敘述中正確的是()。A.在c語言中,預處理命令行都以‘‘#”開頭

B.預處理命令必須位于c源程序的起始位置

C.#include必須放在c程序的開頭

D.C語言的預處理不能實現(xiàn)宏定義和條件編譯的功能

67.

68.以下能定義為用戶標識符的是()。

A.printfB.charC._8abcD.Void

69.

70.在面向對象方法中,具有相似屬性與操作的一組對象稱為()。

A.類B.實例C.消息D.數(shù)據(jù)

71.

72.

73.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。A.A.-3B.9C.-12D.6

74.

75.

當c的值不為0時,在下列選項中不能正確將c的值賦給變量a、b的是()。

A.c=b=a;B.(a=c)C.D.(b=c);E.(a=c)&&(b=c);F.a=c=b;

76.“年齡在18~25之間”這種約束是屬于數(shù)據(jù)庫當中的()。A.A.原子性措施B.一致性措施C.完整性措施D.安全性措施

77.

78.設循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為()。

A.20B.0或35C.15D.16

79.下列敘述中正確的是()。A.在switch語句中,不一宗使用break語句

B.在switch語句中,必須使用default

C.break語句必須與swifth語句中的case配對使用

D.break語句只能用于swifth著句

80.

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當s中的字符串為WXYZ時,則t中的字符串應為WXYZWXYZ。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

voidproc(char*s,char*t)

{

inti,s1;

s1=strlen(s);

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

//****found****

t[i]=s[s1];

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

t[s1+i]一s[i];

t[2*s1]=\O0;

}

voidmain

{

chars[100],t[100];

system("CLS");

print{("\nPleaseenterstrings:");

scanf("%s",s);

proc(s,t);

printf("Theresultis:%s\n",t);

}六、程序設計題(1題)82.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號。編寫函

數(shù)時,不得使用c語言提供的字符串函數(shù)。

例如,字符串中的內容為:****A*BC*DEF*G*******刪除*后字符串中的內容應當

是:ABCDEFG。

注意:部分源程序在文件PROGl.C中。

請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。

參考答案

1.D解析:C語言中的文件是流式文件。流式文件是一種無結構文件,即整個文件是一串字符流或二進制流。文件的存取以字符或字節(jié)為單位。

2.D

3.B難易程度:易

4.CC?!窘馕觥繑?shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。

5.D

6.D根據(jù)二叉樹的基本性質3:在任意一棵二叉樹中,度為0的葉子結點總比度為2的結點多一個,因此本題中度為2的結點為l一1=0個,據(jù)此可以知道本題目中的二叉樹的每一個結點都有一個分支,所以共7個結點共7層,即深度為7,選擇D)。

7.B

8.B算法是指為解決某個特定問題而采取的確定且有限的步驟,一個算法應當具有5個特征:有窮性、確定性、可行性、有雩個或多個輸入、有一個或多個輸出。本題答案為B選項。

9.C解析:關于軟件測試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例;一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯誤。本題答案為C。

10.C

11.D結構體指針變量p指向a數(shù)組的第1個元素,所以“p->x”為20。執(zhí)行“p=p->y”后,p指向數(shù)組a的第2個元素,所以輸出15。故本題答案為D選項。

12.C解析:預處理命令行是以“#”開始的語句,預處理命令行的最后不能以分號表示結束,預處理命令行。其中宏定義的字符替換的定義格式為:#define標識符字符串,預處理命令行是在系統(tǒng)對源程序進行編譯之前進行處理的,不是在程序執(zhí)行的過程中。

13.B解析:本題考查的是外部變量的應用。因為程序的初始inta=4;語句定義了外部變量a,在以后的執(zhí)行過程中,當i=0時,調用f(0)函數(shù),執(zhí)行的語句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=7,返回值語句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當i=1時,調用f(1)函數(shù),執(zhí)行的是語句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=6,返回值語句

14.AB選項中函數(shù)“pow(x,e)”錯誤,應該直接使用“exp(x)”函數(shù)。C選項中函數(shù)“abs(nx+ex)”錯誤,應該使用fabs返回浮點數(shù)的絕對值。D選項中“pow(x,n)”參數(shù)順序錯誤。故本題答案為A選項。

15.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關系。在模塊之間用帶有箭頭的線段表示調用關系。構成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

16.A解析:希爾排序法的基本思想是:將整個無序列分割成若干小的子序列分別進行插入排序。

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

18.Cdoublea,*p=&a語句的意思是將a的值存放到指針變量P中,P是指針可以隨意指向任何地址,所以答案C錯誤。

19.C

20.C

21.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。

22.44解析:本題首先判斷a>b的真假,結果是1>2為假,所以表達式“a>b?a:c>d?c:d”的值為子表達式“c>d?c:d”的值。再判斷c>d的真假,結果是3>4為假,所以最終k被賦的值為d的值,故應該填4。

23.7

24.關系或一個關系關系或一個關系解析:在關系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關系。

25.隊尾隊尾解析:在隊列中,允許插入的一端叫做“隊尾”,允許刪除的一端叫做“隊頭”。

26.SET單價=單價*1.05SET單價=單價*1.05解析:更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個或多個屬性值。UPDATE短語之后指定更新數(shù)據(jù)所屬的表,將新的屬性值或表達式賦值給對應的屬性名(SET單價=單價*1.05),并置于SET短語之后。要求對人民郵電出版社的圖書漲5%,需要用WHERE短語對元組進行限制,即對符合條件的元組進行更新。

27.1030010300解析:在scanf格式控制符中有一個“*”附加說明符,表示跳過它指定的列數(shù)。程序中'%d%*d%d'表示首先將10賦給i,然后遇%。d讀入整數(shù)但不賦給任何變量,最后將讀人的整數(shù)30賦給變量j,變量k并沒有重新賦值,仍為初始值0。所以輸出的結果為10300。

28.11解析:在執(zhí)行邏輯表達式'j=!ch&&i++'時,首先判斷j=!ch的值,因為'ch=\'$\''不為0,所以'j=!ch=0',編譯系統(tǒng)便不再計算表達式'i++'的值,i的值不變,仍為1。

29.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應使*k的值為數(shù)組中的某一下標值,即*k=0。

30.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的管理機構,它是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務等。

31.系統(tǒng)設計系統(tǒng)設計解析:系統(tǒng)設計階段是系統(tǒng)的具體設計過程,主要包括概念設計、邏輯結構設計、物理結構設計3個步驟。這3個不同層次上的設計過程,是把實體以及相互之間的聯(lián)系轉換為“數(shù)據(jù)”并落實于計算機中。

32.a=2b=3a=2,b=3解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個復合switch語句:這時執(zhí)行第二個switch語句,此時y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個switch語句,則整個case1的復合語句執(zhí)行完畢,由于在這個case1的后面沒有break語句使其退出第一個switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。

33.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結構化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時提高了數(shù)據(jù)的可擴充性和數(shù)據(jù)應用的靈活性;數(shù)據(jù)具有獨立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,二是邏輯獨立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。

34.503503解析:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復合語句。先判斷表達式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,a的值為3,b的值為0。在判斷表達式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結果a的值為5,c的值為3,所以最后輸出的結果為5、0和3。

35.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。

36.1+a1-a1+a,1-a解析:考查條件運算符的使用。因為題目中求的是1+|a|的值,即1和a的絕對值之和,所以根據(jù)數(shù)學中求絕對值的規(guī)則;當a>=0時,絕對值取本身,當a<0時,絕對值取相反數(shù),再結合條件運算符的計算規(guī)則,可得到本題的答案為a>=0。

37.存儲結構數(shù)據(jù)結構包括3個方面,即數(shù)據(jù)的邏輯結構、數(shù)據(jù)的存儲結構及對數(shù)據(jù)的操作運算。

38.88解析:第1次for循環(huán),i=0,調用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調用函數(shù)f(3),然后將a的值加1,調用函數(shù)f(3)時,a=c++=8,所以k=8。

39.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達。年號能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關系,年號能被400整除即y%400==0,與前兩項是或的關系。

40.goodmorninggoodmorning解析:子函數(shù)fun(chars[])的作用是將字符數(shù)組s中除去字母以外的所有其他字符都去掉,然后將字母仍按原來的順序存在數(shù)組s中。在主函數(shù)中調用fun(ss),是將“goodmorning”中所有的非字母去掉,在這里就是去掉空格,然后輸出ss。

41.D解析:因為'\\0'是字符串結束標記,而fun函數(shù)中的第一個while循環(huán)從字符串a(chǎn)的第一個字符開始,直到碰到'\\0'時結束循環(huán),所以其作用就是將字符串a(chǎn)的長度記錄到變量num中。而第二個while循環(huán)從b[0]開始,將字符串b中的字符依次復制到字符串a(chǎn)的結尾處,直到b[n]為假,即b[n]為字符串結束標志'\\0'時,所以最后返回的num保存了字符串a(chǎn)和b的長度之和。故應該選擇D。

42.C解析:switch后的括號中只能是整型或字符型表達式,選項A中使用的是浮點型變量x,故不正確。選項B在switch的括號后面多了一個分號,故也不正確。switch的case標號后只能是常量或常量表達式,而不能是變量,所以選項D也不正確。故應該選擇C。

43.C解析:aa數(shù)組被定義為字符型指針數(shù)組,有兩個元素,分別存放字符串'abcd'和'ABCD'的首地址。

44.C解析:本程序通過語句p=&a[1];將指針變量p指向存儲單元a[1],使得p[0]的值為4,通過for循環(huán),使y的值丸P[1]與p[2]之和,即y=6+8,所以輸出的y值為14。

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

46.B解析:第1次循環(huán),10>7,--n=9,輸出9。第2次循環(huán),9>7,--n=8,輸出8。第3次循環(huán),8>7,--n=7,輸出7。

47.C解析:棧是—種后進先出表,選項C中,先出棧的是3,說明此時棧內必然有1,2,由于1先于2進棧,所以1不可能在2之前出棧,故選項C這種出棧序列是不可能的。

48.D解析:濫用goto語句將使程序流程無規(guī)律,可讀性差,因此選項A)不選;注解行有利于對程序的理解,不應減少或取消,選項B)也不選;程序的長短要依照實際情況而論,而不是越短越好,選項C)也不選。

49.A解析:本題程序中使用了兩層for循環(huán),外層循環(huán)的作用是控制人數(shù),循環(huán)一次是求一個人的成績和,然后除以4得到平均成績。每個人的成績總和一開始時都必須清0,否則就會出現(xiàn)后面人的總成績越來越大?!皊um=O.O;”應在外層循環(huán)中。選項A正確。

50.C解析:本題定義了一個fun函數(shù),用于num求和,具體執(zhí)行過程如下:

num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;

num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/10=0);

num=O:while條件不成立,所以返回k的值12。

51.BB.【解析】棧是一種特殊的線性表,其插入和刪除運算都只在線性表的一端進行,而另一端是封閉的。進行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元索是最后被插入的元素,也是最后被刪除的元素。棧是按先進后出的原則組織數(shù)據(jù)的。

【知識拓展】“棧”的形式如手槍的彈匣,最后壓入的子彈總是最先被彈出,而最先壓人的子彈最后才被彈出,也就是“先進后出”。

52.D解析:在C語言所有的運算符中,逗號運算符的優(yōu)先級最低。C語言中區(qū)分大小寫,所以APH和aph是兩個不同的變量。賦值表達式a=b表示將b的值付給a,而b本身的值保持不變;通過鍵盤可以向計算機輸入允許的任何類型的數(shù)據(jù)。選項D)中當從鍵盤輸入數(shù)據(jù)時,對于整型變量可以輸入整型數(shù)值和字符,對于實型變量可以輸入實型數(shù)值和整型數(shù)值等。

53.CC)【解析】線性表是一種線性結構,由n(n≥O)個元素組成,所以線性表可以是空表。但是性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C)是錯誤的。

54.B解析:argc中存入的是命令行中字符串的個數(shù)。argv是一個指向字符型的指針數(shù)組的指針。

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

56.C解析:本題考核的知識點是for語句和continue語句的綜合應用。在本程序的for循環(huán)中,用到了一個continue語句,continue語句的作用是停止本次循環(huán),即不執(zhí)行循環(huán)體內continue語句后面的其他語句,繼續(xù)下次循環(huán)的條件判斷。首先在for循環(huán)中n自加1(值變?yōu)?),然后執(zhí)行后面的if語句,由于if語句后面括號的表達式(1%3!=0)的值為真,程序執(zhí)行continue語句,回到for循環(huán)的開始部分,并且判斷for循環(huán)中的條件表達式(n<k)為真,重復執(zhí)行“n++;”語句,如此循環(huán)直到n=3時,if語句判定條件中表達式(3%3!0)的值為假,程序執(zhí)行if語句后面的“k--”語句,此時k的值為3,不滿足“n<k”,退出for循環(huán)。故最后的k和n的值為3和3,選項C符合題意。

57.B對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。在遍歷左、右子樹時,注意依舊按照“左子樹一根結點一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左予樹:BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結點D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后

溫馨提示

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

最新文檔

評論

0/150

提交評論