2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第1頁
2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第2頁
2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第3頁
2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第4頁
2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022年陜西省渭南市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.下列數據模型中,具有堅實理論基礎的是()。

A.層次模型B.網狀模型C.關系模型D.以上3個都是

2.以下關于結構化程序設計的敘述中正確的是()。

A.結構化程序使用goto語句會很便捷

B.在c語言中,程序的模塊化是利用函數實現(xiàn)的

C.一個結構化程序必須同時由順序、分支、循環(huán)三種結構組成

D.由三種基本結構構成的程序只能解決小規(guī)模的問題

3.有以下程序:#include<stdio.h>main(){intk=5;while(--k)printf(“%d”,k-=3);printf(“\n”);}程序運行后的輸出結果是()。

A.1B.2C.4D.死循環(huán)

4.以下程序段運行后x的值為()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12

5.設a、b和、c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式為()

A.'a'&&'b'

B.a<=b

C.a‖b+c&&b-c

D.!(a-b)&&(!c‖1)

6.

7.將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成________。

A.屬性B.關系C.鍵D.域

8.若以下變量均是整型,且num=sum=7;則執(zhí)行表達式sum=num++,sum++,++num后sum的值為()。

A.7B.8C.9D.10

9.以下關于字符串的敘述中正確的是()。

A.C語言中有字符串類型的常量和變量

B.兩個字符串中的字符個數相同時才能進行串符串大小的比較

C.可以用關系運算符對字符串的大小進行比較

D.空串一定比空格打頭的字符串小

10.

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

錯誤的是()。

A.tl=t2;

B.t2.numl=tl.numl;

C.t2.mark=tl.Mark

D.t2.num2=tl.hum2;

11.下列關于字符串的說法中錯誤的是

A.在C語言中,字符串是借助于字符型一維數組來存放的,并規(guī)定以字符'\0'作為字符串結束標志

B.'\0'作為標志占用存儲空間,計入串的實際長度

C.在表示字符串常量的時候不需要人為在其末尾加入'\0'

D.在C語言中,字符串常量隱含處理成以'\0'結尾

12.若執(zhí)行下述程序時,若從鍵盤輸入6和8,結果為()。main(){inta,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}

A.36B.64C.48D.以上都不對

13.以下能正確定義字符串的語句是()。

A.charstr=“\x43”;

B.charstr[]=“\0”;

C.charstr=”;

D.charstr[]={‘\064’};

14.下列選項中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。

A.if(stremp(s2,s1)==0)ST;

B.if(s1==s2)ST;

C.if(strcpy(sl,s2)==l)ST;

D.if(sl,s2==O)ST;

15.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

16.以下敘述中錯誤的是()

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

B.C程序中的變量,代表內存中的一個存儲單元,它的值可以根據需要隨時修改

C.在C程序中,無論是整數還是實數,都能準確無誤地表示

D.在C程序中,一個正整數可以用十進制、八進制和十六進制的形式來表示

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

A.在C語言中調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參

B.在C的函數中,最好使用全局變量

C.外部變量可以在函數之間傳遞數據

D.自動變量實質上是一個函數內部的局部變量

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

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

19.待排序的關鍵碼序列為(33,18,9,25,67,82,53,95,12,70),要按關鍵碼值遞增的順序排序,采取以第一個關鍵碼為基準元素的快速排序法,第一趟排序后關鍵碼33被放到第()個位置。

A.3B.5C.7D.9

20.在C語言中,函數返回值的類型最終取決于()。

A.函數定義時在函數首部所說明的函數類型

B.return語句中表達式值的類型

C.調用函數時主調函數所傳遞的實參類型

D.函數定義時形參的類型

二、2.填空題(20題)21.mystrlen函數的功能是計算str所指字符串的長度,并作為函數值返回。請?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(【】);

}

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

main()

{ints,i;

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

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

}

23.用十六進制給存儲器中的字節(jié)地址進行編號,其地址編號從0000到FFFF,則該存儲器容量是【】。

24.以下程序的功能是調用函數fun計算:m=1-2+3-4+…+9-10,并輸出結果。請?zhí)羁铡?/p>

intfun(intn)

{intm=0,f=1,i;

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

{m+=i*f;

f=______;

}

returnm;

}

main()

{printf("%d\n",【】);}

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

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

}

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

main()

{charc='z';

printf("%c",c-25);}

27.以下函數的功能是計算s=1+1/2!+1/3!+……+1/n!,請?zhí)羁铡?/p>

doublefun(intn)

{

doubles=0.0,fac=1.0;inti;

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

{

fac=fac______;

s=s+fac;

}

returns;

}

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

#include<stdio.h>

fun()

{staticinta=0;

a+=3;printf("%d",A);

}

main()

{intcc;

for(cc=1;cc<5;cc++)fun();

printf("\n");

}

29.下列程序段中循環(huán)體的執(zhí)行次數是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

30.在鏈表的運算過程中,能夠使空表與非空表的運算統(tǒng)一的結構是______。

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

charstr口="ABCD",*p=str;

printf("%d\n",*(p+3));

32.在關系模型中,把數據看成一個二維表,每一個二維表稱為一個______。

33.單元測試又稱模塊測試,一般采用【】測試。

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

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

main()

{intx,a=1,b=2,c=3,d=4;

x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;

pfintf("%d\n",x);

}

36.已知字母A的ASCII碼為65。以下程序運行后的輸出結果是______。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

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

38.閱讀下面程序段,則執(zhí)行后輸出的結果是【】。

#include"stdio.h"

main()

{charfun(char,int);

chara='A';

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

39.若有下列定義和語句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結果為______。

40.函數delete(s,i,n)是作用是從字符串s中刪除從第i個字符開始的n個字符,請?zhí)羁铡?/p>

voiddelete(chars[],inti,intn)

{intj,k,length=0;

while(s[length])

【】;

-i;

j=i

}

if(【】)

{k=i+n;

if(i+n<=length)

while(k<length)

s[j++]=s[k++];

s[j]='\0';

}

三、1.選擇題(20題)41.下列敘述中正確的是A.C語言中既有邏輯類型也有集合類型

B.C語言中沒有邏輯類型但有集合類型

C.C語言中有邏輯類型但沒有集合類型

D.C語言中既沒有邏輯類型也沒有集合類型

42.以下程序運行后的輸出結果是()main(){inta,b;a=50;b=90;printf("%d\n",(a,b))}

A.90B.5090C.50D.450

43.設有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數據的是

A.scant("%d",pa);

B.scant("%d",a);

C.scanf("%d",&pa);

D.scanf("%d",*pa);

44.下列有關數據庫的描述,正確的是

A.數據處理是將信息轉化為數據的過程

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

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

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

45.下列合法的標識符是()。

A.123B.#256C.a.55D.abhj1_2_3

46.下列選項中正確的語句是

A.chars[8];s={"Beijing"};

B.char*s;s={"Beijing"};

C.chars[8];s="Beijing";

D.char*s;s="Beijing";

47.有以下程序______。#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(xiàn)(3+5));}程序運行后的輸出結果是______。

A.192B.29C.25D.編譯出錯

48.數據庫管理系統(tǒng)的基礎是______。

A.操作系統(tǒng)B.數據庫C.數據庫系統(tǒng)D.系統(tǒng)軟件

49.軟件需求分析階段的工作,可以分為4個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及()。

A.階段性報告B.需求評審C.總結D.以上都不正確

50.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入三個整數分別賦給變量a、b、d的語句是()

A.scanf("%d%d%d",&a,&b,d);

B.scanf("%d%d%d",&a,&b,&d);

C.scanf("%d%d%d",a,b,d);

D.scanf("%d%d%d",a,b,*d);

51.有以下程序main(){chara='a',b;printf("%c,",++A);printf("%c\n"。b=a++);}程序運行后的輸出結果是

A.b,bB.b,cC.a,bD.a,c

52.有以下程序;charfun(charx,chary){if(x<y)returnx;returny;}main(){inta='9',b='8',c='7';printf("%c\n",fun(fun(a,B),fun(b,C)));}程序的執(zhí)行結果是

A.函數調用出錯B.8C.9D.7

53.以下敘述不正確的是

A.一個C源程序可由一個或多個函數組成

B.一個C源程序必須包含一個main函數

C.C程序的基本組成單位是函數

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

54.t為int型變量,進入下面的循環(huán)之前,t的值為0,則以下敘述中正確的是()while(t=1){…}

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

55.執(zhí)行下面的程序后,a的值為

main()

{inta,b;

for(a=1,b=1;a<=10;a++)

{if(b%3==1)

{b+=3;

continue;}

b-=5;}}

A.7B.8C.9D.10

56.請閱讀以下程序:#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;}case2:a++,b++;break;}printf("a=%d,b=%d\n",a,b);上面程序的輸出結果是

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

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

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

58.下面程序的輸出是______。chars[]="ABCD";main(){char*p;for(p=s;p<s+4;p++)printf("%s\n",p);}

A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA

59.有以下程序main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結果是

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

60.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序運行后的輸出結果是______。

A.15B.16C.12D.59

四、選擇題(20題)61.以下不正確的定義語句是

A.inty[5.3]={0,1,3,5,7,9};B.doublex[5]={2.0,4.0,6.0,8.0,10.0};

C.charc1[]={’1’,’2’,’3’,’4’,’5’};D.charc2[]={’\x10’,’\xa’,’\x8’};

62.

63.有以下程序:

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

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

64.數據庫管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

65.有以下程序

66.有以下程序已知字母A的ASCIl碼為65,程序運行后的輸出結果是()。

A.E。68B.D,69C.E,DD.輸出無定值

67.有以下程序:

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

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

68.若i和k都是int類型變量,有以下for語句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面關于語句執(zhí)行情況的敘述中正確的是()。

A.循環(huán)體執(zhí)行兩次B.循環(huán)體執(zhí)行一次C.循環(huán)體一次也不執(zhí)行D.構成無限循環(huán)

69.

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

#include<stdio.h>

voidp(int*x)

{printf("%d¨,++*x);

}

voidmain()

{inty=3;

p(&y);

}

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

70.

71.有以下程序

#include<string.h>

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{1047,530},{1048,531}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{2041,730},{2042,731}};

f(s[0]);

printf("%d,%3.0f\n",s[0].num,s[0].TotalScore);

}

程序的運行結果是

A.1047,530

B.1048,531

C.2041,730

D.2042,731

72.

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

A.4B.3C.1D.9

74.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷e中的字符是否為大寫字母的表達式是()。

A.isupper(c)

B.A<=c<=Z

C.A<=cc<=Z

D.c<=(z-32)(a-32)<=c

75.

76.對于存儲同樣的一組數據元素而言().

A.順序結構比鏈接結構易于擴充空間

B.順序結構與鏈接結構相比,更有利于對元素進行插入、刪除運算

C.順序結構占用整塊空間,而鏈接結構不要求整塊空間

D.順序結構比鏈接結構多占存儲空間

77.

78.已知各變量的類型說明如下:

則以下不符合C語言語法的表達式是()。

A.

B.

C.

D.

79.

80.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

五、程序改錯題(1題)81.下列給定程序中,函數proc()的功能是:從m個學生的成績中統(tǒng)計出低于平均分的學生人數,人數由函數值返回,平均分存放在形參aver所指的存儲單元中。例如,輸入8名學生的成績:6070809065758595則低于平均分的學生人數為4(平均分為77.5)。實際輸入時學生數以“Enter”鍵作為結束,成績與成績之間也與Enter鍵作為分隔。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.請編寫函數proc(),該函數的功能是:將str所指字符串中ASCⅡ值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。例如,若str所指字符串中的內容為aBcdef9789,其中字符8的ASCⅡ碼值為偶數……字符8的ASCⅡ碼值為偶數……都應當刪除,其他依此類推。最后t所指的數組中的內容應是ace979。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.C在數據庫設計中,目前常用的數據模型主要有三種,分別是層次模型、網狀模型和關系模型。

層次模型是數據庫系統(tǒng)中最早出現(xiàn)的數據模型。我們通常把滿足以下兩個條件的數據模型稱為層次模型。

(1)有且僅有一個結點無雙親,這個結點稱為根結點。

(2)其他結點有且僅有一個雙親。

層次模型用樹形結構來表示各實體與實體間的聯(lián)系。實體是數據庫中數據描述的對象,可以是一個人、一種商品等。在層次模型中,每個結點表示一個記錄類型,記錄之間的聯(lián)系用結點之間的連線表示,這種聯(lián)系是父子之間一對多的聯(lián)系。記錄就是描述實體的相關數據。

如果取消層次模型中的兩個限制,即允許一個以上的結點無雙親,則每一個結點可以有多個父結點,便形成了網狀。我們把網狀表示實體之間聯(lián)系的模型稱為網狀模型。

關系模型用表格形式表示實體類型及其實體間的聯(lián)系。關系模型是目前最重要的一種模型,它是建立在嚴格的數學概念的基礎上的,具有最堅實的理論基礎。關系模型的基本數據結構是二維表,每一張二維表稱為一個關系。

2.B濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤?!獋€結構化程序可以包含順序、分支、循環(huán)結構中的一種或多種,所以C錯誤。由三種基本結構構成的程序可以解決任何復雜的問題,所以D錯誤。

3.A“--k”是先自減再使用,所以第1次判斷條件即while(4),條件為真輸出k的值,k=4-3,結果為1;第2次判斷條件即while(0),條件為假,結束循環(huán),輸出回車換行符。故本題答案為A選項。

4.D

5.D

6.A

7.B解析:關系數據庫邏輯設計的主要工作是將\ue008E-R\ue009圖轉換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性,實體集也可以轉換成關系。

8.A

9.D解析:C語言中只有字符串常量而沒有字符串變量,故選項A不正確:字符串比較大小是以第1個不相同字符的大小為標準的,跟長度沒有關系,故選項B不正確:字符串比較大小除了使用庫函數stremp()以外,就只能靠自己寫代碼來實現(xiàn)了,而不能通過關系運算符來比較大小,因為字符串在表達式中相當于coostchar*,即常字符指針,代表的是字符串的首地址,關系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。所以選項C也不正確。空串的長度為0,而以空格打頭的字符串的長度至少為1,故選項D正確,本題應該選擇D。

10.C結構體變量中的第一成員都是數組,不能直接將變量tl的成員mark數組的地址賦給另一個變量t2的成員mark數組的地址。因為地址都是固定值,不能被賦值。結構體可以進行整體的賦值。

11.B解析:'\\0'作為標志占用存儲空間,但是不計入串的實際長度。當給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。

12.B

13.BC語言中,字符串是用一對雙引號標識的字符序列,并用字符型數組來存放。C選項和D選項不屬于字符串,A選項定義的是一個字符變量str,但賦值字符串,顯然也不正確。故本題答案為B選項。

14.Astrcmp(char*,char*),函數strcmp用于比較兩個字符串的長度,長者為大,若字符個數也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCIl表值計算,直到最后一個字符,若還相同,則兩個字符串相等,返回值0。選項A中if(strcmp(s2,sl)==0)ST,若s2等于sl,則返回值0,0等于0,所以邏輯表達式strcmp(s2,sl)==0為真,執(zhí)行ST。

15.B

\n本題考查分支語句用法加個句號因為變量的初始值分別為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í)行case3:這個分支,結果是n=3、k=2,打印出3;這時n一3、k2,b¨ak跳出,程序然后進行第4次循環(huán),執(zhí)行case2:case4:這個分支,結果是n=5、k=1,打印出5,break跳出,這時因為n=5不滿足n<5的循環(huán)條件,因此循環(huán)結束。

\n

16.C

17.B解析:編譯時,編譯系統(tǒng)不為局部變量分配內存單元,而是在程序運行中,當局部變量所在的函數被調用時,編譯系統(tǒng)根據需要要臨時分配內存,調用結束空間釋放;全局變量一經定義,編譯系統(tǒng)為其分配固定的內存單元,在程序運行的自始至終都占用固定的單元。在考慮內存不定的情況下,最好使用全局變量。

18.BB。【解析】設計軟件結構,是在軟件概要設計階段進行的,而概要設計屬于軟件開發(fā)期。

19.BB.【解析】快速排序的基本思想是:從表中選取一個元素(如本題中的33),將表中小于此元素的移到前面,大于此元素的移到后面,結果把線性表分割成兩部分(兩個子表),此元素插入到其分界線的位置處。然后分別對兩個子表再次分割……本題中33作為分割的中界線,第一趟排序后排在比它小的18、9、25、12后面。

20.A解析:在C語言中,應當在定義函數時指定函數值的類型。凡不加類型說明的函數,默認按整型處理。在定義函數時對函數值說明的類型一般應該和return語句中的表達式類型一致。如果函數值的類型和return語句中的表達式類型不一致,則以函數值的類型為準,由系統(tǒng)自動進行轉換,即函數類型決定返回值的類型。

21.str[i]或str+iistr[i]或str+i\r\ni

22.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)結束。

23.64KB

24.fun中的答案為-fmain函數中的答案為fun(10)fun中的答案為-f,main函數中的答案為fun(10)解析:根據題意可知函數fun的功能是計算12+3-4+…+n的和,所以空格處應填入-f,main函數中輸出1-2+3-4+…+9-10的結果,所以函數的實參為10,函數調用為fun(10)。

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

26.aa解析:“z”的ASCII碼值為122,經過c-25運算后得97,以字符形式輸出是a。

27./i或*1.0/i或*1/i或*(1.0/i)或/(double)i/i或*1.0/i或*1/i或*(1.0/i)或/(double)i解析:主函數中首先定義了兩個double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數中s和fac的作用是存放和以及要加到的那一項的值。通過分析可知,第i項的值可以由第i-1項的值得到,即第i項是第i-1項的值除以i。可見橫線處應添“/i”或與它等價的表達式。

28.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數為4次,每次a+=3即每次a的值增3,但因為fun函數中變量a為static類型,所以每次調用完于函數之后,變量a所做的改變都要保存。

29.33解析:本題考查do…while語句形式:

do循環(huán)體

while表達式

首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時再判斷循環(huán)條件不滿足,退出循環(huán)。

30.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設置了一個頭結點,因此在任何情況下,循環(huán)鏈表中至少有一個結點存在,從而使空表與非空表的運算統(tǒng)一。

31.6868解析:本題考查如何用指針引用數組元素。本題先定義了一個指向字符型數組str的指針p,指針p指向數組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d,格式輸出的,即輸出其相應ASCII碼值68。

32.關系關系解析:關系模型用;維表表示,則每個;維表代表一種關系。

33.白盒法白盒法

34.模塊化模塊化

35.因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。\r\n\r\n

36.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數,因此字符型變量的算術運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數和字符形式輸出a和b的值為:67G。

37.模塊化模塊化解析:結構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語句。自頂向下程序設計時,應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設計,逐步使問題具體化。

逐步求精:對復雜問題,應設計一些子目標作過度,逐步細化。

模塊化:一個復雜問題,肯定是由若干精簡單的問題構成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。

限制使用goto語句。

38.NN解析:函數說明語句中的類型名必須與函數返回值的類型一致。本題實現(xiàn)的是在字符“A”的ASCII碼值上加上一個常數,使之變成另一個ASCII碼值,從而輸出字符。

39.44解析:strcpy(s1,s2)函數的作用是將字符串s2中的內容拷貝到字符串s1中的內容覆蓋。strlen()函數是求字符串的長度。本題實際上是要求s2字符串的長度,即是4。

40.length++i<lengthlength++\r\ni<length解析:第一個循環(huán)極有可能是計算串的長度,在i<=length時字符才被刪除,被刪除的是從第i個到第i+n或最后一個間的所有字符。刪除前,應判斷i<=length。由于已經進行了-i運算,故實際應填入i<length。

41.D解析:在C語言中沒有邏輯類型,邏輯類型用整型來表示,故選項A和選項C不正確,C語言中沒有集合類型,故選項B不正確。所以,D選項為所選。

42.A

43.A解析:scanf()函數的功能是進行輸入數據,它是按格式參數的要求從終端上把數據傳送到地址參數所指定的內存空間中,C語言允許程序員間接地使用內存地址,這個地址是通過對變量名“求地址”運算得到的,求地址的運算符是&,得到的地址是一種符號地址。本題中定義了整型變量a和一個指向整型數據的指針變量pa,并定義pa是一個存放a的地址的變量。選項B中應該將a改為&a;選項C應該將&pa改為pa,因為pa已經表示存放a的地址;選項D中*pa表示的是指針pa所指向存儲空間的變量的值,而不是一個地址。

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

45.DC語言規(guī)定,標識符是由字母、數字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。“#”、“.”不允許出現(xiàn)在標識符中。

46.D解析:本題考核的知識點是字符欺組初始化及字符型指針的應用。字符數組初始化可以有兩種方式:方式一,按單個字符的方式賦初值。方式二,把一個字符串作為初值賦給字符數組。比如:charch[5]=rabc”),選項A屬于這種情況,但是選項A定義的字符數組長度為8,由于最后還要加一個“\\0”做結束標志,所以賦給他的字符串長度應小于等于7,所以選項A不正確;在給字符數組賦初值的時候,應該用花括號“{”和“}”將字符串括起來,故選項C不正確。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時就給其賦初值,比如:char*p='student';二是給指針變量賦值,比如:p='student';(p已經被定義為字符型指針變量;),故選項D正確,而選項C中的花括號是多余的,應該去掉,所以,4個選項中選項D符合題意。

47.D解析:定義函數F(x)為void型,即沒有返回值,而函數體中又有return語句,編譯時會出錯。

48.A解析:數據庫管理系統(tǒng)的基礎是操作系統(tǒng)。操作系統(tǒng)是DBMS的基礎,它處理的對象是數據文件的物理塊,執(zhí)行物理文件的讀寫操作,保證DBMS對數據邏輯上的讀寫真實地映射到物理文件上。操作系統(tǒng)提供的存取原語和基本存取方法通常是作為和DBMS的接口。數據庫管理系統(tǒng)是數據庫系統(tǒng)的核心。數據庫系統(tǒng)包含數據庫和數據庫管理系統(tǒng)。

49.B解析:需求分析階段有4方面的工作:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。

50.A

51.A解析:程序中的第一個輸出語句輸出表達式++a的值,該++a是在使用a之前,先使a的值加1,即為a加1為字符b,此時a的值為b,所以第一個輸出語句輸出的值為b,第二個輸出語句中輸出的b的值,這時b的值為表達式a++的值,a++是在使用a之后(此時a的值為b,所以賦給b的值為B),使a的值加一因此第二個輸出的值也為b.所以,4個選項中選項A符合題意。

52.D解析:本題考核的知識點是函數的返回值以及返回值作為函數的參數。經過分析得出函數fun()的功能是比較形參x和形參y的大小,返回較小的一個.函數fun()有兩個參數.本題中,首先定義了三個整型變量a、b和c,分別賦初值為9、8和7.然后執(zhí)行函數fun(fun(a,b),fun(b,c))。在該函數中分別將fun(a,b)和fun(b,C)函數的返回值作為該函數的兩個實參。在函數fun(a,b)中,由于a>b,故返回較小值b即8,在函數fun(b,C)中,由于b<c,故返回較小值c即為7,因此調用函數fun(fun(a,b),fun(b,C))相當于執(zhí)行函數fun(8,7),返回較小值即7。所以,4個選項中選項D符合題意。

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

54.B

55.D解析:考查continue語句的使用。continue語句的作用是結束本次循環(huán),直接進入下次循環(huán)。

56.A

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

58.A解析:在第一次執(zhí)行for循環(huán)時,字符數組的首地址賦給了指針變量p,使得指針變量p指向了s的首地址,輸出p所指向的字符串;第二次執(zhí)行for循環(huán)時,p值增加1,p指向了s的第二個元素輸出BCD;第三次輸出CD;第四次輸出D;直到P指向字符串的結束字符“\\0”,for循環(huán)終止抽行。

59.C解析:該題目的關鍵是要搞清楚“&&”和“‖”兩個邏輯運算符的運算功能。運算符“&&”和“‖”是雙目運算符,要求有兩個運算量。且規(guī)定邏輯與運算中,只有前面運算量的值為真時,才需要判別后面的值。只要前面為假,就不必判別后面的值。而邏輯或則為只要前為真,就不必判別后面的值;只有前為假,才判別后。本題中j++值為真,不進行k++的運算,所以k的值保持不變。

60.A解析:自增運算符“++”放在變量之前表示在使用變量之前,先使變量的值加1;放在變量之后表示在使用變量之后,再使變量的值加1。語句p=s;使指針p指向字符串s的首地址,第一次輸出語句先輸出字符'1',指針p再往后移一位,指向字符'5'的地址,第二個輸出語句,同樣先輸出字符'5',指針p再往后移一位,指向字符'9'的地址。

61.A在一維數組中要注意的是,下標表達式中常量表達式的值必須大于等于零,并且小于自身元素的個數,即數組長度,選項A的下標不是整數,所以錯誤。

62.C

63.C首先對二維數組進行賦值操作,a[0]J[o]、a[o][1]、…、a[3]

溫馨提示

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

評論

0/150

提交評論