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

下載本文檔

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

文檔簡介

2021年四川省廣安市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下敘述中正確的是()。

A.預處理命令行必須位于C源程序的起始位置

B.在C語言中,預處理命令行都以“#”開頭

C.每個C程序必須在開頭包含預處理命令行:#include

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

2.設有定義“inta;floatb;”,執(zhí)行“scanf(“%2d%f”,&a,&b);”語句時,若從鍵盤輸入876543.0并按<Enter>鍵,則a和b的值分別是()。

A.87和6.0B.876和543.0C.87和543.0D.76和543.0

3.下列敘述中錯誤的是()。

A.可以用typedef將已存在的類型用一個新的名字來代表

B.可以通過typedef增加新的類型

C.用typedef定義新的類型名后,原有類型名仍有效

D.用typedef可以為各種類型起別名,但不能為變量起別名

4.有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“d1.dat”,“w”);for(i=0;i<3;i++)fprintf(fp,“%d”,a[i]);fprintf(fp,“\n”);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的運行結果是()。

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

5.

6.軟件需求分析一般應確定的是用戶對軟件的______。

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

7.C程序的基本模塊為()。

A.表達式B.標識符C.語句D.函數

8.表達式a+=a-=a=9的值是()。

A.9B.-9C.18D.0

9.設有以下語句:intx=10;x+=3+x%(3),則x的值是()。

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

10.檢查軟件產品是否符合需求定義的過程稱為()。

A.確認測試B.集成測試C.驗證測試D.驗收測試

11.設x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個為真C.它們均為假D.其中一個

12.

13.有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序運行后的輸出結果是()。

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

14.下列關于棧的敘述中,正確的是()。

A.棧底元素一定是最后入棧的元素B.棧操作遵循先進后出的原則C.棧頂元素一定是最先入棧的元素D.以上三種說法都不對

15.下列程序的輸出結果是

#include"stdio.h"

#defineN3

#defineM3

voidfun(inta[M][N])

{printf("%d\n",*(a[1]+2));}

main()

{inta[M][N];

inti,j;

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

for(j=0;j<N;j++)

a[i][j]=i+j-(i-j);

fun(a);}

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

16.判定一個順序棧st(最多元素為MaxSize)為空的條件是()。

A.st->top!B.st->top!C.top==-1D.top==MaxSize

17.結構化程序的3種基本控制結構是()。

A.遞歸、堆棧和隊列B.過程、子程序和函數C.順序、選擇和重復D.調用、返回和轉移

18.

19.

20.在ASC算法team日常開發(fā)中,常常面臨一些數據結構的抉擇,令人糾結。目前大家在策劃一個FBI項目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請在下面幾個數據結構中選擇一個使檢索速度最快的()

A.二叉搜索樹,比較函數開銷:1次運算/每字符

B.哈希表,hash算法開銷:10次運算/每字符

C.鏈表,比較函數開銷:1次運算/每字符

D.TRIE樹,尋找子節(jié)點開銷:1次運算/每字符

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

main()

{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};

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

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

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

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

printf("\n");

}

}

22.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

23.當數據的物理結構(存儲結構、存取方式等)改變時,不影響數據庫的邏輯結構,從而不致引起應用程序的變化,這是指數據的【】。

24.若線性表的長度經常發(fā)生變化,那么該線性表應采用的存儲結構是【】。

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

26.設y為血型變量,請寫出描述“y是偶數”的表達式______。

27.若已定義inta[10],i;以下fun函數的功能是,在第一個循環(huán)中給前10個數組元素依次賦1,2,3,4,5,6,7,8,9,10;在第二個循環(huán)中使a數組前10個元素中的值對稱拆疊,變成1,2,3,4,5,5,4,3,2,1。請?zhí)羁铡?/p>

fun(inta[])

{inti;

for(i=1;i<=10;i++)【】=i;

for(i=0;i<5;i++)【】=a[i];

}

28.下述函數用于統(tǒng)計一行字符中的單詞個數,單詞之間用空格分隔。

word_num(str)

for(i=0;str[i]!=【】;i++)

if(【】='')word=0;

【】;

}

return(num);

}

29.以下程序的運行結果是()。main(){inta=1,b=2,c;if(a>B)c=1;elseif(a==B)c=0;elsec=-1;printf("%d\n",C);}

30.數據字典是各類數據描述的集合,它通常包括5個部分,即數據項、數據結構、數據流、______和處理過程。

31.已知字符'A'的ASCII碼值為65,以下語句的輸出結果是【】。

charch='B';

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

32.執(zhí)行下列語句段后,x的值是______。

int*p,x;

x=100;

p=&x;

x=*p+50;

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

34.以下程序的運行結果是【】。

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

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

}

35.在計算機軟件系統(tǒng)的體系結構中,數據庫管理系統(tǒng)位于用戶和【】之間。

36.下面程序的功能是輸出數組s中最大元素的下標,請?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

37.在關系數據庫中把數據表示成二維表,每一個二維表稱為【】。

38.若變量a,b已定義為int類型并賦值21和55,要求用printf函數以a=21,b=55的形式輸出,請寫出完整的的輸出語句()。

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

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

40.數據結構分為線性結構和非線性結構,帶鏈的隊列屬于[]。

三、1.選擇題(20題)41.設有定義:floata=2,b=4,h=3;以下c語言表達式中與代數式(a+B)h計算結果不相符的是()。A.(a+B)*h/2B.(1/2)*(a+B)*hC.(a+B)*h*1/2D.h/2*(a+B)

42.有以下程序intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序執(zhí)行后的輸出結果是

A.45B.50C.60D.55

43.下列程序的運行結果是______。voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}

A.63B.36C.編譯出錯D.0

44.結構化分析方法是面向()的自頂向下、逐步求精進行需求分析的方法

A.對象B.數據結構C.數據流D.目標

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

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

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

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

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

46.軟件是指()。A.程序B.程序和文檔C.算法加數據結構D.程序、數據與相關文檔的完整集合

47.C語言中允許用外部說明來指定變量、函數和其他標識符的特征,這里所說的外部指的是()。

A.冠以關鍵字externB.位置在函數體外部C.作用范圍是全程的D.位置在函數的外部

48.下面關于對象概念的描述中,錯誤的是

A.對象就是C語言中的結構體變量

B.對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體

C.對象是一個狀態(tài)和操作(或方法)的封裝體

D.對象之間的信息傳遞是通過消息進行的

49.下圖

所示二叉樹的中序遍歷結果為()。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

50.有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序執(zhí)行后的輸出結果是______。

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

51.為了合理組織數據,應遵循的設計原則是()

A.“一事一地”的原則,即一個表描述一個實體或實體之間的一種聯系

B.用外部關鍵字保證有關聯的表之間的聯系

C.表中的字段必須是原始數據和基本數據元素,并避免在表之間出現重復字段

D.以上各原則都包括

52.沒有定義語句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數組6個元素中的值,不能完成此操作的語句是

A.for(i=0;i<6;i++)printf("%2d",*(p++));

B.for(i=0;i<6;i++)printf("%2d",*(p+i);

C.for(i=0;i<6;i++)printf("%2d",*p++);

D.for(i=0;i<6;i++)printf("%2d",(*p)++);

53.若有定義語句:floatx[6];則以下對x數組元素的正確引用形式是()。

A.x+2B.&x[6]C.*(x+2)D.*&x[6]

54.在計算機中,算法是指()。

A.查詢方法B.加工方法C.解題方案的準確而完整的描述D.排序方法

55.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n")}從第一列開始輸入以下數據<CR>代表一個回車符。2743<CR>程序的輸出結果是

A.66877B.668966C.6677877D.6688766

56.以下程序的輸出結果為()。inta,b,C;a=10;b=50;C=30;if(a<b)a=b;b=C;c=a;printf("a=%d,b=%d,c=%d",a,b,C);

A.a=50,b=30,c=30

B.a=10,b=30,c=10

C.a=50,b=30,c=10

D.a=50,b=30,c=50

57.若有以下說明和定義:typcdefint*INTEGER;INTEGERp,*q;以下敘述正確的是()。

A.p是血型變量

B.p是基類型為int的指針變量

C.q是基類型為int的指針變量

D.程序中可用INTEGER代替int類型名

58.下列程序的輸出結果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<B)if(b<0)c=0;elsec++;printf("%d\n",C);}

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

59.從工程管理角度,軟件設計一般分為兩步完成,它們是()。

A.概要設計與詳細設計B.數據設計與接口設計C.軟件結構設計與數據設計D.過程設計與數據設計

60.下述語句中,_____中的if語句語法是錯誤的。()

A.if(x>y);

B.if(x==y(tǒng))x+=y(tǒng);

C.if(x!=y(tǒng))seanf("%d",&x)elsescanf("%d",&y);

D.if(x<y){x++;y++;}

四、選擇題(20題)61.有以下程序:

程序運行后的輸出結果是()。A.235B.0235C.02356D.2356

62.以下敘述中正確的是()。

A.C語句必須在一行內寫完

B.C程序中的每一行只能寫一條語句

C.C語言程序中的注釋必須與語句寫在同一行

D.簡單C語句必須以分號結束

63.對兩個數組a和b進行下列初始化:

charm[]1="l234567":

charn[]={'1','2','3','4','5','6','7');

則下列敘述正確的是()。A.A.數組m與數組n完全相同

B.數組m與數組n長度相同

C.數組m比數組n長1

D.數組m與數組n中都存放字符串

64.有定義語句:chars[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是

A.sets(&s[0]);

B.scarf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

65.C語言中的標識符分為關鍵字、預定義標識符和用戶標識符,以下敘述正確的是()。

A.預定義標識符(如庫函數中的函數名)可用做用戶標識符,但失去原有含義

B.用戶標識符可以由字母和數字任意順序組成

C.在標識符中大寫字母和小寫字母被認為是相同的字符

D.關鍵字可用做用戶標識符,但失去原有含義

66.

67.計算機能直接執(zhí)行的程序是()。A.可執(zhí)行程序B.目標程序C.匯編程序D.源程序

68.下列選項中不屬于軟件生命周期開發(fā)階段任務的是()。

A.軟件測試B.概要設計C.軟件維護D.詳細設計

69.

70.有以下定義:

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

A.每個C語言程序文件中都必須要有一個main(.函數

B.在c語言程序中main(.函數的位置是固定的

C.c語言程序中所有函數之間都可以相互調用,與函數所在位置無關

D.在c語言程序的函數中不能定義另一個函數

72.

73.以下敘述中錯誤的是()。A.使用三種基本結構構成的程序只能解決簡單問題

B.結構化程序由順序、分支、循環(huán)三種基本結構組成

C.c語言是一種結構化程序設計語言

D.結構化程序設計提倡模塊化的設計方法

74.有如下程序:

則b的值是()。

A.15B.16C.18D.19

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

76.以下數據結構中不屬于線性數據結構的是______。

A.隊列B.線性表C.二叉樹D.棧

77.一棵二叉樹共有25個結點,其中5個是葉子結點,則度為l的結點數為()。

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

78.若x是int型變量,且有下面的程序片段:

上面程序片段的輸出結果是()。

A.

B.

C.

D.

79.

80.設A為存放(短)整型的一維數組,如果A的首地址為P,那么A中第i個元素的地址為()。

A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i

五、程序改錯題(1題)81.給定程序MODll.C中,函數fun的功能是:在有n名學生,2門課成績的結構體數組std中,計算出第l門課程的平均分,作為函數值返回。例如,主函數中給出了4名學生的數據,則程序運行的結果為:第l門課程的平均分是:76.125000請改正函數fun中指定部位的錯誤,使它能得出正確的結果。注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.某學生的記錄由學號、8門課成績和平均分組成,學號和8門課的成績已在主函數中給出。請編寫proc()函數,它的功能是:求出該學生的平均分并放在記錄的ave成員中。請自己定義正確的形參。例如,若學生的成績是65.5,75,88,90,90.5,66,64.5,89.5,則他的平均分應當是78.625。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.B本題是對基本知識點的理解,預處理命令行的位置沒有規(guī)定,只是習慣寫在起始位置而已,當需要時才用#include<stdio.h>頭文件,預處理的作用就是實現宏定義和條件編譯。

2.Ascanf函數中,在格式字符前加入一個整數可以指定輸入數據所占的寬度,所以賦值時會將87賦給變量a,把6.0賦給float型變量b。故本題答案為A選項。

3.Btypedef并不是增加一種新的類型,而是對已存在的類型用一個新的名字來代表,所以B選項錯誤。故本題答案為B選項。

4.D程序首先將數組a中的元素1、2、3分別寫入了d1.dat文件中,再將d1.dat文件中的數據“123”整體寫到變量n的空間中,所以輸出的數據為123。故本題答案為D選項。

5.D

6.DD。【解析】軟件需求分析中需要構造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。

7.D

8.D解析:+=、-=、=等符號優(yōu)先級相同結合性是由右至左,所以選D。

9.A

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

(1)單元測試是針對每個模塊進行的測試,它可從程序的內部結構出發(fā)設計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現詳細設計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。

(2)集成測試是在單元測試的基礎上,根據模塊結構圖將各個模塊連接起來,必須精心計劃,應提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標是發(fā)現與接口有關的問題。集成測試可以發(fā)現概要設計時犯的錯誤。

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

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

11.A

12.D

13.D解析:本題中首先定義一個字符數組s,并將字符串'ABCD'存到數組s中,定義了一個字符指針變量p,在接下來for循環(huán)中,循環(huán)體共執(zhí)行了三次,第一次p指向s[1],所以此時輸出的p所指字符串的值為BCD,第二次循環(huán)p指向s[2],此時輸出p所指的字符串的值為CD,第三次循環(huán)p指向s[3],此時輸出的p所指的字符串的值為D。所以,4個選項中選項D符合題意。

14.B棧是先進后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

15.B解析:若有以下定義:inta[3][4],i,j;且當0<=i<3,0<=j<4,則可以有以下幾種方式來引用數組中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

16.B

17.C1966年Boehm和Jacopini證明了程序設計語言僅僅使用順序、選擇和重復3種基本控制結構就足以表達出各種其他形式結構的程序設計方法。本題答案為C選項。

18.B

19.D

20.D

21.123056009123\r\n056\r\n009解析:數組a中元素的初值為:a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[12][0]=7、a[2][1]=8、a[2][2]=9。執(zhí)行第1個for循環(huán)后a[1][0]=0、a[2][0]=0、a[2][1)=0;第2個for循環(huán)的功能是將數組元素按照3行3列的格式輸出。

22.10410\r\n4解析:結構體變量所占內存長度是各成員占的內存長度之和。每個成員分別占有其自己的內存單元。int占2個字節(jié),float占4個字節(jié),共用體變量所占的內存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

23.物理獨立性物理獨立性

24.鏈式存儲結構鏈式存儲結構

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

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

27.a[i-1]或a[-1+i]a[9-i]或a[-i+9]a[i-1]或a[-1+i]\r\na[9-i]或a[-i+9]

28.\O'或0或NULLstr[i]num++或num=num+1或num+=1\\O'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點:

①for循環(huán)的結束條件應當是:str[i]已是字符串的最后一個字符;

②str[i]代表字符串str中的第i+1個字符;

③整形變量num的值是要記錄的單詞的個數。

C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結束符“\\0”,所以在題中第一個空中應填寫“\\0”;題中第二個空應填寫“str[i]”,以判斷當前位置的字符是否為空格;題中第三個空中應當填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數。

29.-1-1解析:if~else語句的形式:if(表達式)語句1elseif語句2else語句3它的功能是:若表達式的值為真,執(zhí)行語句1,并跳過其他語句,執(zhí)行ifelse語句的下一條語句,若表達式的值為假,跳過語句1,執(zhí)行語句2,依次往下判斷;a=1,b=2,條件a>b不成立,繼續(xù)判斷a==b,仍不成立,則執(zhí)行c=-1,輸出-1。

30.數據存儲數據存儲

31.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結果為:B66。

32.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內容,即100,所以x=100+50=150。

33.*2*4*6*8**2*4*6*8*解析:程序中定義了一個字符數組a,并初始化為123456789,接著定義了一個指針p并讓它指向數組a,緊接著執(zhí)行了一個while循環(huán),此循環(huán)的作用是:當i為偶數時,將“*”賦給a[i],p指向數組末尾,循環(huán)結束,此時數組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調用puts()函數輸出的a的值為*2*4*6*8*

34.99解析:本題考查宏定義與三目運算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個表達式的值,否則為b+1的值為整個表達式的值,(應注意后面的加1)。

35.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數據庫管理系統(tǒng)是數據庫的機構,它是一種系統(tǒng)軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務。位于用戶和操作系統(tǒng)之間。

36.k=p;k=p;解析:為要尋找數組中的最大元素的下標,需先預設1個臨時最大元素的下標,并順序逐一考查數組的元素,當發(fā)現當前元素比臨時最大元素更大時,就用當前元素的下標更新臨時最大元素下標。直至考查了數組的全部元素后,這臨時最大元素下標就是數組的最大元素下標。通常預設的最大元素下標是數組的首元素下標,考查是從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標的變量是k,變量p控制順序考查的循環(huán)控制變量。當發(fā)現當前元素s[p]比臨時最大元素s[k)更大時,應該用p更新k。所以在空框處應填入代碼“k=p;”。

37.關系或一個關系關系或一個關系解析:在關系數據庫中,把數據表示成二維表,而一個二維表就是一個關系。

38.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數的一般格式為:“printf(格式控制,輸出表列)”。

39.55解析:此程序中,for循環(huán)語句后面直接跟了一個“;”,表明循環(huán)體為空.輸出語句不在for循環(huán)體內,所以在循環(huán)執(zhí)行完畢后才輸出s的值.s、i的初值分別為0和1,判斷循環(huán)條件,表達式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達式“2<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為3,再次判斷循環(huán)條件,表達式“3<3”不成立,循環(huán)結束。

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

41.B解析:選項B中由于1和2都是整型,其1/2的運算結果為0,故整個表達式的值為0,所以它的結果和題目中要求的代數式的討算結果不相符,所以,4個選項中選項B符合題意。

42.C解析:內部靜態(tài)變量是始終存在的,當函數被調用退出后,內部靜態(tài)變量會保存數據,再次調用該函數時,以前調用時的數值仍然保留著。fun(a,5)的值是15,再次調用后sum=15,所以Fun(b,4)=45,s=45+15=60。

43.B解析:本題中主函數里的x、y,fun函數里的a、b、k,這些都是指針,fun函數中只是將a、b這兩個指針交換了位置,而并沒有改變主函數中變量a、b的值。

44.CC?!窘馕觥拷Y構化分析方法是面向數據流進行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數據流圖和數據字典為主要工具,建立系統(tǒng)的邏輯模型。

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

46.D軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數據及相關文檔的完整集合。其中,程序是軟件開發(fā)人員根據用戶需求開發(fā)的、用程序設計語言描述的、適合計算機執(zhí)行的指令(語句)序列;數據是使程序能正常操縱信息的數據結構;文檔是與程序開發(fā)、維護和使用有關的圖文資料。因此本題的正確答案是D。

47.DC語言中允許用位置在函數外部的說明來指定變量、函數和其他標識符的特征。

48.A解析:對象是由數據和容許的操作組成的封裝體,與客觀實體有直接的對應關系,對象之間通過傳遞消息互相聯系,從模擬現實世界中不同事物彼此之間的聯系,B)、C)、D)是正確的,對象的思想廣泛應用于C++、Java等語言中,因此A)錯誤。

49.B解析:中序遍歷首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹,并且在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。

50.B解析:第一次執(zhí)行while語句時,z=3>0,然后執(zhí)行z--得z=2,執(zhí)行++x得x=1<5,條件成立,執(zhí)行y=y-1=5

-1=4;第二次執(zhí)行while語句時,z=2>0,然后執(zhí)行z--得z=1,執(zhí)行++x得x=2<5,條件成立,執(zhí)行y=y-1=4-1=3;第三次執(zhí)行while語句時,z=1>0,然后執(zhí)行z--得x=0,執(zhí)行++x得x=3<5,條件成立,執(zhí)行y=y-1=3-1=2;第四次執(zhí)行while語句時因z=0,z<0條件不成立,同時執(zhí)行c--得z=-1。即執(zhí)行完while循環(huán)后x=3、y=2、z=-1。

51.D解析:為了合理的組織數據,應遵循的設計原則有:“一事一地”的原則,即一個表描述一個實體或實體之間的一種聯系;用外部關鍵字保證有關聯的表之間的聯系;表中的字段必須是原始數據和基本數據元素,并避免在表之間出現重復字段。所以選擇D。

52.D解析:本題首先定義了一個一維數組并初始化,接著定義了一個指針變量p指向數組x。因此可以通過指針p的下移,即每次加1引用數組x中的元素,來指向數組中的每個元素,這樣循環(huán)6次即可引用數組的每個元素。選項A、B和選項C滿足要求,而在選項D中表達式為(*p)++,該表達式是先取*p的值然后將其值加1,而沒有將指針下移一位。

53.C解析:數組名x為該數組的首地址即第1個元素的地址,x+2表示數組第3個元素的值地址。x[6]表示數組中長度為6,數組元素的下標從0到5,沒有x[6]。&為取地址符,取得的是元素的地址。*為間接訪問運算符,其運算對象為地址或存放地址的指針變量。*(x+2)為取數組第3個元素的值,因此只有選項C正確引用了數據元素,選項C正確。

54.CC。【解析】計算機算法是指解題方案的準確而完整的描述,它的基本特征分別是:可行性、確定性、有窮性和擁有足夠的情報。

55.A解析:本題主要考查了字符輸入輸出函數getchar和putchar的使用。getchar函數用來從標準輸入設備上讀入一個字符,putchar(c)函數是將字符變量c中的字符輸出到標準輸出設備上。并且字符可以看作整數參與運算。

56.D解析:a的初值為10,b的初值為50,a<b為真,執(zhí)行a=b,則a的值為50。繼續(xù)執(zhí)行b=c;和c=a;,則b=30,c=50。所以選項D正確。

57.B解析:INTEGER是類型名,由它來間接定義p和*q的類型,因此,p是基類型為int的指針變量,故選項A不正確,選項.B正確,q是二級指針變量,它指向基類型是int的指針變量,故選項C,D不正確。所以4個選項中B正確。

58.C解析:本題考查if語句。第一個if語句,先判斷條件,發(fā)現a<b不成立,不再執(zhí)行下列的語句,直接執(zhí)行最后的printf輸出語句,然后結束程序,整個過程c的值沒有發(fā)生變化。

59.A解析:從工程管理的角度看,軟件設計可分為概要設計和詳細設計兩大步驟。概要設計是根據需求確定軟件和數據的總體框架;詳細設計是將其進一步精化成軟件的算法或表示和數據結構。而在技術上,概要設計和詳細設計又由若干活動組成,包括總體結構設計/數據設計和過程設計。因此,本題的正確答案是A。

60.C

61.B本題考查分支語句用法。因為變量的初始值分別為k=5、n=0,所以程序第1次進入循環(huán)時,執(zhí)行default語句,輸出0,k減1;這時n=0、k=4,程序進行第2次循環(huán),執(zhí)行case4:這個分支,結果是n=2、k=3,打印出2;這時n=2、k=3,break跳出,程序進行第3次循環(huán),執(zhí)行

溫馨提示

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

評論

0/150

提交評論