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

下載本文檔

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

文檔簡介

2021-2022年吉林省白城市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下能正確定義字符串的語句是()。

A.charstr=“\x43”;

B.charstr[]=“\0”;

C.charstr=”;

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

2.需要分配較大空間,插入和刪除不需要移動元素的線性表,其存儲結構是()。A.單鏈表B.靜態(tài)鏈表C.線性鏈表D.順序存儲結構

3.若有定義int?x,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)

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

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

5.以下能正確定義一維數(shù)組的選項是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

6.堆是一種有用的數(shù)據(jù)結構。下列關鍵碼序列()是一個堆。

A.94,31,53,23,16,72

B.94,53,31,72,16,23

C.16,53,23,94,31,72

D.16,31,23,94,53,72

7.以下是根據(jù)文件大小分配存儲空間的一個算法偽代碼,請問其空間復雜度是多少()A.O(n)B.O(n^2)C.O(2^n)D.O(n*log(n))

8.下列4項說法中,不正確的是______。

A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨立性

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

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

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

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

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

10.串是一種特殊的線性表,其特殊性體現(xiàn)在()。

A.可以順序存儲B.數(shù)據(jù)元素是一個字符C.可以鏈式存儲D.數(shù)據(jù)元素可以是多個字符

11.

12.程序運行后的輸出結果是()。#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.1.1.3B.2.2.3C.1.2.3D.3.3.3

13.下述關于C語言文件的操作的結論中,正確的是______。

A.對文件操作必須先關閉文件

B.對文件操作必須先打開文件

C.對文件操作順序無要求

D.對文件操作前必須先測文件是否存在,然后再打開文件

14.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運行后的輸出結果是()。A.0B.1C.2D.3

15.下列不屬于C語言關鍵字的是()。A.A.default

B.register

C.enum

D.external

16.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序運行后的輸出結果是()。A.137B.731C.73D.37

17.對一個滿二叉樹,m個葉子,n個結點,深度為h,則()。

A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1

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

A.在switch語句中,不一定使用break語句

B.break語句只能用于switch語句

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

D.在switch語句中必須使用default

19.設有定義“doublea[10],*s=a;”,以下能夠代表數(shù)組元素a[3]的是()。

A.(*s)[3]B.*(s+3)C.*s[3]D.*s+3

20.層次型、網(wǎng)狀型和關系型數(shù)據(jù)庫劃分原則是()。

A.記錄長度B.文件的大小C.聯(lián)系的復雜程度D.數(shù)據(jù)之間的聯(lián)系方式

二、2.填空題(20題)21.下面的程序實現(xiàn)的是從指針p所指向的地址的n個數(shù)中,找出最大的和最小的數(shù)據(jù),請?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

22.程序的運行結果為【】。

main()

{intx,y,z;

x=24;

y=024;

z=0x24;

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

}

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

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

}

24.若有程序

main()

{inti,j;

scanf("i=%d,j=%d",&i,&j);

pfintf("i=%d,j=%d\n",i,j);

}

要求給i賦10,給j賦20,則應該從鍵盤輸入【】。

25.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

26.通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為【】。

27.以下程序的功能是:從鍵盤上輸入若干學生的成績,統(tǒng)計計算出平均成績,并輸出低于平均分的學生成績,用輸入負數(shù)結束輸入。填空。

main()

{floatx[1000],sum,=0.0,avea;

intn=0,i;

printf("Entermark:"\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+=【】;x[n]=【】;

n++;scanf("%f",&a);

}

ave=【】;

printf("Output:"\n");

printf("ave=%f"\n",ave);

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

if(【】)frintf("%f\n",x[i]);

}

28.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。請?zhí)羁铡?/p>

#include<stdlib.h>

#include<stdio.h>

voidfun(inta[],intn,int*max,int*d)

{intI;

*max=a[0];

*d=0;

for(I=0;【】;I++)

if(*max<【】)

{*max=a[I];*d=i;}}

main()

{inti,x[20],max,index,n=10;

randomize();

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

{x[i]=rand()%50;printf("%4d",x[i]);}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);}

29.有以下程序:

main()

{inta=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",*p,*q,a,b);

}

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

30.在面向對象方法學中,直接反映了用戶對目標系統(tǒng)的要求的模型是【】。

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

main()

charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

printf("%d%f\n",n,x);

32.軟件的【】設計又稱為總體結構設計,其主要任務是建立軟件系統(tǒng)的總體結構。

33.在循環(huán)中,continue語句與break語句的區(qū)別是:______語句只是結束本次循環(huán),然后進行循環(huán)的條件判定。

34.表達式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。

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

#include<stdio.h>

fun()

{staticinta=0;

a+=2;printf("%d",a);}

main()

{intcc;

for(cc=1;CC<4;CC++)fun();

printf("\n");}

36.下面的函數(shù)strcat(str1,str2)實現(xiàn)將字符串str2拼接到字符串str1后面的功能。請?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

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

#include<stdio.h>

main()

{intfun();

fun();

}

fun()

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

inti;

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

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

printf"\n");

}

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

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

39.在最壞情況下,冒泡排序的時間復雜度為【】。

40.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結構的改變,如存儲設備的更換、物理存儲的更換、存取方式等都不影響數(shù)據(jù)庫的邏輯結構,從而不引起應用程序的變化,稱為【】。

三、1.選擇題(20題)41.有以下程序:#include<stdio.h>voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其輸出結果是()。

A.5353B.5335C.3535D.3553

42.設x、y、t均為int型變量,則執(zhí)行語句x=y=3;t=++x||++y;后,y的值為______。

A.不定值B.4C.3D.1

43.數(shù)據(jù)存儲和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。

A.分析結果B.事件C.動作D.數(shù)據(jù)

44.以下程序的輸出結果是()main(){charss[16]="test\0\n\"";printf("%d,%d\n",strlen(ss),sizeof(ss)):}

A.4,16B.7,7C.16,16D.4,7

45.對存儲器按字節(jié)進行編址,若某存儲器芯片共有10根地址線的引腳,則該存儲器芯片的存儲容量為()

A.512BB.1KBC.2KBD.4KB

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

A.*=<<>%sizeof

B.<<*=>%sizeof

C.%=><<sizeof%

D.*=><<%sizeof

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

A.運行后報錯B.66C.611D.510

48.已知inta=1,b=3則a^b的值為

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

49.在數(shù)據(jù)庫設計中,將E-R圖轉換成關系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設計階段C.概念設計階段D.物理設計階段

50.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結果是()。

A.賦初值的字符串有錯B.6,7C.5,6D.6,6

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

A.'A'<=cl<='Z'

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

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

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

52.有以下函數(shù)定義:voidfun(intn,doublex){…}若以下選項中的變量都已經(jīng)正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是______。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfun(n,x);

53.在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是

A.樹形結構B.網(wǎng)狀結構C.線性表D.二維表

54.設x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

55.下列工具中為需求分析常用工具的是()。

A.PADB.PFDC.N-SD.DFD

56.若fp已正確定義并指向某個文件,當未遇到該文件結束標志時函數(shù)feof(fp)的值為()

A.0B.1C.-1D.一個非0值

57.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運行后的輸出結果是

A.9,9B.8,9C.1,8D.9,8

58.開發(fā)大型軟件時,產(chǎn)生困難的根本原因是()

A.大系統(tǒng)的復雜性B.人員知識不足C.客觀世界千變?nèi)f化D.時間緊、任務重

59.有下列程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4;n+=2;k--;break;}printf("%d",n);}while(k>O&&n<5);}程序運行后的輸出結果是()。

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

60.執(zhí)行語句printf(“%ukn”,+12345)的輸出結果是()。

A.12345B.0C.-1D.非定值

四、選擇題(20題)61.有以下函數(shù)函數(shù)的功能是()。

A.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲空間

D.統(tǒng)計x和y所指字符串中相同的字符個數(shù)

62.設文件指針fp已定義,執(zhí)行語句fp=fopen(”61e”,”W”);后,以下針對文本文件file操作敘述的選項中正確的是()。

A.只能寫不能讀B.寫操作結束后可以從頭開始讀C.可以在原有內(nèi)容后追加寫D.可以隨意讀和寫

63.有如下程序段

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.A.63

B.36

C.編譯出錯

D.00

64.第

15

以下程序的輸出結果是

main()

{inta=21,b=11;

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

}

A.30B.31C.32D.33

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

A.1B.2C.4D.8

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

A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語言中,在調(diào)用函數(shù)時,實參和對應形參在類型上只需賦值兼容

C.在C語言中,外部變量的隱含類型是自動存儲類別

D.在C語言中,函數(shù)形參的存儲類型是自動(auto)類型的變量

67.以下選項中關于C語言常量的敘述錯誤的是()。

A.經(jīng)常被陡用的變量可以定義成常量

B.常量分為整型常量、實型常量、字符常量和字符串常量

C.常量可分為數(shù)值型常量和非數(shù)值型常量

D.所謂常量,是指在程序運行過程中,其值不能被改變的量

68.有以下程序:

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

A.y=一1B.Y=0C.y=1D.while構成無限循環(huán)

69.

70.

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

A.a是實型變量,C允許進行賦值a=10,但不可以這樣說:實型變量中允許存放整型值

B.在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式

C.執(zhí)行表達式a=b后,在內(nèi)存中a和b存儲單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?

D.已有a=3,b=5,當執(zhí)行了表達式a=b,b=a之后,使a中的值為5,b中的值為3

72.有以下程序:

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

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

73.

74.

75.有以下程序:

#include<stdio.h>

main()

{chara[20],b[20],c[20];

scanf("%s%s",a,b);

gets(c);

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

}

程序運行時從第一列開始輸入:

Thisisacat!<回車>

則輸出結果是()。

A.Thisisacat!

B.Thisisa

C.Thisisacat!

D.Thisisacat!

76.現(xiàn)有以下結構體說明和變量定義,如圖所示,指針P、q、r分別指定一個鏈表中連續(xù)的3個結點。

structnode

{hardata;

structnode*next;)*P,*q,*r;

現(xiàn)要將q和r所指結點交換前后位置,同時要保持鏈表的結構,下列不能完成此操作的語句是()。A.q-:>next=r->next;p--:>next=r;rm:>next=q;

B.q-:>next=r;q->next=r->next;r->next=q;

C.q-:>next=r->next;r->next=q;p->next=r;

D.q-:>next=q;p->next=r;q->next=r->next;

77.下面的變量說明中__________是正確的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

78.下列程序的運行結果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}

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

79.以下關于C語言的敘述中正確的是()。

A.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示

B.C語言中的變量可以在使用之前的任何位置進行定義

C.在C語言算術表達式的書寫中,運算符兩側的運算數(shù)類型必須一致\

D.C語言中的注釋不可以夾在變量名或關鍵字的中間

80.在結構化分析方法中,數(shù)據(jù)字典的作用是()。

A.存放所有需要處理的原始數(shù)據(jù)

B.存放所有處理的結果

C.存放所有程序文件

D.描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的有關信息

五、程序改錯題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構成一個新數(shù)放在t中。高位在低位,低位在高位。例如,當s中的數(shù)為12345678時,則t中的數(shù)為8642。

請修改函數(shù)proc()中的錯誤,使它能得出正確的結果。

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

試題程序:

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是統(tǒng)計s所指字符串中的數(shù)字字符個數(shù),并將其作為函數(shù)值返回。例如,s所指字符串中的內(nèi)容是2def35adh253kjsdf7/kj8655x,函數(shù)fun()返回值為11注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:

參考答案

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

2.B

3.A條件表達式:x=表達式1:表達式2:表達式3的含義是:先求解表達式1.若為非0(真),則求解表達式2.將表達式2的值賦給x。若表達式1的值為0(假),則求解表達式3.將表達式3的值賦給x。在本題中與表達式1:(x-y)等價的是(x-y<0|x-y>0)。

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

5.B解析:選項A)定義的是長度為5的數(shù)組元素,但初值有6個元素,所以錯誤;選項C)不符合數(shù)組定義形式,數(shù)組名后應加上“[];選項D)的類型說明符錯誤,應改為char;選項B)中的0,1,2,3,4,5分別表示對應字符的ASCII碼,所以正確。

6.D

7.C

8.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個特點:數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨立性、數(shù)據(jù)統(tǒng)一管理與控制。

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

10.B

11.D

12.D

13.B解析:在C中對文件操作必須先打開文件,待文件操作完畢后要關閉文件。對文件以讀的方式進行打開操作時,同時會執(zhí)行文件的檢查文件是否存在,不存在將會返回空的文件指針,如果對文件以寫的方式打開時,文件不存在,將會自動創(chuàng)建文件,因此在C中打開文件前不必對其檢查文件是否存在,故答案為B。

14.A根據(jù)C語言運算符的優(yōu)先級與結合性,先計算a/b,結果為l,再將a/b的結果與C做按位與運算,即l與2做按位與運算,其結果為0。

15.Dregister聲明寄存器變量enum聲明枚舉類型default開關語句中的“其他”分支

16.D本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因為(7/2)>1,所以執(zhí)行f(3),依此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時X值為3,然后退出f(1.5),返回f(3),打印x值即7。所以選D。

17.D

18.Aswitch語句中不一定使用break語句,選項A正確;break語句除了用于switch語句,還可以用于循環(huán)語句中,選項B、C錯誤;switch語句不一定需要使用default語句,選項D錯誤。本題答案為A選項。

19.B題中,首先定義了double型的數(shù)組a,并將數(shù)組首地址賦給指針s?!?*s)”表示“a[1]”,“s[3]”不是指針變量,不能使用間址運算符“*”,故選項A、C不能表示“a[3]”;選項D的“*s+3”等于“a[0]+3”。故本題答案為B選項。

20.D層次模型的基本結構是樹形結構,網(wǎng)狀模型是一個不加任何條件限制的無向圖,關系模型采用二維表來表示,所以三種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

21.q<p+nq<p+n解析:考查對于函數(shù)的地址傳遞的掌握情況。通過地址傳遞可以在被調(diào)函數(shù)中對調(diào)用函數(shù)中的變量進行引用。

22.242036

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

24.i=0j=20i=0,j=20解析:scanf()函數(shù)的使用,該函數(shù)的第一個參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對應要輸入的變量,所以說本題中應該原樣輸入i=,j=,后面分別給變量0和20,所以說空格處應該填入i=0,j=20。

25.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

26.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等活動。

27.aasum/n或sum/(float)n或sum/(double)nx[i]<sve或!(x[i]>=sve)或sve>x[i]a\r\na\r\nsum/n或sum/(float)n或sum/(double)n\r\nx[i]<sve或!(x[i]>=sve)或sve>x[i]

28.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時,要對它們進行指針運算,即*號運算。

29.87788,7,7,8解析:本題中執(zhí)行語句p=&a和q=&b后,*p=7,*q=8;執(zhí)行完語句r=p,p=q,q=r后,*p=8,*q=7,故答案為8,7,7,8。

30.功能模型功能模型

31.220.0或220或220.或220.000000220.0或220或220.或220.000000解析:所有的賦值運算符的優(yōu)先級都相同,它們的結合性為從右至左,它們返回的表達式值為賦給變量的值.所以,語句x=f*=n/=(c=50):→x=f*=n/=50;→x=f*=2;(n的值變成2)→x=20;。故最終輸出的結果應該是:220.000000

32.概要概要

33.continuecontinue解析:continue語句只是結束本次循環(huán),然后進行循環(huán)的條件判定。break語句是終止整個循環(huán)的執(zhí)行,不再進行條件判定。

34.floatfloat解析:在此表達式中x是float類型的變量,經(jīng)過開方所得到的結果仍是float類型,再和2.8進行運算時,應該先將2.8轉換成float類型再運算,最后結果仍是float型。

35.246246解析:本題考查了for循環(huán)語句的使用,同時靜態(tài)局部變量的存儲和生存其特性也要注意。第一次執(zhí)行fun()函數(shù)時,a=0,所以a+=2=2;第二次執(zhí)行fun()函數(shù)時,a保留著上次制形式的結果2,所以a+=2=4;同理第三次執(zhí)行fun()函數(shù)時,a=6,所以輸出結果為246。

36.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語言的語法規(guī)定,一個串的串尾—定是—個隱含字符“\\0”,而在程序中,對字符串中字符的訪問是通過兩個指針變量來完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應填寫“*str1”和“*str1++=*str2++”。

37.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結果存在原數(shù)組中,其實就是將數(shù)組a的每個元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。

38.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個成員進行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結構,將b[6],b[7]…b[9]的值相加,結果為盟。\r\n\r\n

39.

解析:冒泡排序法是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設線性表的長度為n,則在最壞的情況下,冒泡排序需要經(jīng)過遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。

40.物理獨立性物理獨立性解析:數(shù)據(jù)的物理結構改變,不影響數(shù)據(jù)庫的邏輯結構,從而不引起應用程序的變化,這種性質(zhì)叫做物理獨立性。

41.B解析:swap1函數(shù)傳遞的是變量的地址,可以實現(xiàn)兩個數(shù)的交換;而swap2函數(shù)傳遞的是值,執(zhí)行完swap2后,c0,c1的值互換了,但main函數(shù)中的b0和b1并未互換,即形參值的改變無法傳給實參。

42.C解析:++高于=和||,=的優(yōu)先級最低。而||為自左向右的結合性,因此先計算表達式++x的值,x的初值為3,3+1=4,4為非零值,不必再計算||右側表達式的值,即可得到整個邏輯表達式的值1,++y沒有做運算,仍為原值3,所以,選項C正確。

43.D解析:數(shù)據(jù)流圖有4種成分:源點或終點、處理、數(shù)據(jù)存儲和哦數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。

44.A

45.B

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

[*]

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

47.A解析:本題考核的知識點是通過指針引用數(shù)組的元素的方法.本題中首先定義了一個一維數(shù)組a并初始化,由于定義該數(shù)組的時候省略了長度,因此該數(shù)組的長度為初始化時候賦初值的個數(shù)即為12。數(shù)組名a代表數(shù)組的首地址,所以*p=a+5語句使得p指向數(shù)組的第6個元素,而在程序中定義了一個指針q并讓它指向空,實際上程序并沒有在內(nèi)存中為指針q開辟存儲空間,這樣給q賦值不允許的,故該程序運行后報錯。所以,4個選項中選項A符合題意。

48.C解析:^是按位異或運算,如果對應位不同則結果為1,相同則為0。

49.B數(shù)據(jù)庫應用系統(tǒng)的邏輯設計包括數(shù)據(jù)庫邏輯結構設計、數(shù)據(jù)庫事務概要設計和應用程序概要設計三方面。數(shù)據(jù)庫邏輯結構設計的主要步驟為:將E—R圖轉換為初始關系模式,對初始關系模式進行優(yōu)化,檢查關系表對數(shù)據(jù)庫事務的支持性,確定關系模式完整性約束,設計基于關系模式的用戶視圖。

50.C解析:本題在定義字符數(shù)組時沒有定義數(shù)組長度,但用字符常量給數(shù)組賦了初值,這時初值的個數(shù)即為數(shù)組的長度,故數(shù)組長度為6(包括'\\0')。字符串的長度為有效字符的個數(shù)5。strlen(s)返回值為串中字符的個數(shù)(不計最后的'\\0'),則輸出值為5。sizeof(s)計算數(shù)組所占的字節(jié)數(shù),包含'\\0',則輸出值為6。因此,C選項正確。

51.D解析:字符型數(shù)據(jù)在計算機內(nèi)部是以ASCII碼存儲的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。A)、C)表示形式錯誤,B)的字符A、Z沒有用單引號括起來。

52.C解析:若函數(shù)fun沒有返回值,選項B錯誤;函數(shù)調(diào)用語句中沒有函數(shù)返回值,選項D錯誤;函數(shù)凋用語句中只寫實參名稱,選項A錯誤。

53.D解析:數(shù)據(jù)庫中的關系模型是采用二維表來表示實體與實體之間的聯(lián)系。

54.A解析:本題主要考查按位與運算,x=011050的二進制形式為000100100010t000,01252的二進制形式為0000001010101010,兩者相與得0000001000101000。

55.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細設計的常用工具,不是需求分析的工具。

56.A解析:文件尾測試函數(shù)feof()的應用,讀取文件時,當文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結尾。此時如果讀數(shù)據(jù),將會出現(xiàn)錯誤。為了保證讀寫數(shù)據(jù)的正確性,需要進行文件尾測試,文件尾測試使用函數(shù)feof(),它的功能是測試fp指向的文件是否到達文件尾。若到達文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒有到了文件尾,因此返回0。

57.D解析:本題首先定義了字符數(shù)組a,由于它的長度省略,所以其長度由初值個數(shù)確定,為9。接著將sizeof()函數(shù)返回的值賦給i(sizeof()函數(shù)的作用是返回運算對象占用的字符數(shù)),所以i值為9。然后將strlen()函數(shù)的返回值賦給j(strlen()函數(shù)的作用是返回字符串的長度,不包括字符串的結束標記'\\0'),所以j值為8,故最后輸出的i,j值為9,8。4個選項中D正確。

58.A開發(fā)大型軟件時,產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進度控制難以把握、系統(tǒng)開發(fā)時間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復雜性。

59.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,程序進行第3次循環(huán),執(zhí)行case3:這個分支,結果是n=3,k=2,打印出3;這時n=3,k=2,程序然后進行第4次循環(huán),執(zhí)行case2:case4:這個分支,結果是n=5,k=1,打印出5,這時因為n=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運行結束。所以在屏幕上打印

60.A解析:“%u”表示輸出無符號的整數(shù)(注意:如果輸出值前有符號,將自動轉化為相應的無符號數(shù)輸出)。

61.A本題中由循環(huán)條件可知,當遇到l\0”’或“x與y所指的字符的值不相等”中的一個條件時就結束循環(huán),因此本題函數(shù)的功能是統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。

62.A考查文件操作函數(shù)fopen的基礎知識,以”W”方式打開文件,只能寫不能讀。選項A正確。

63.B在本題中,程序首先定義了一個無返回值的函數(shù)fun,該函數(shù)帶有兩個整型的指針形參變量,在函數(shù)體中,首先定義一個整型指針變量k,然后試圖利用k來交換a和b的結果。但處理語句k=a;很明顯是對地址進行賦值操作。在C語言中,指針變量作為函數(shù)參數(shù)時,可以改變被指向的變量的值,但不能改變指針變量本身的值,即我們可以改變實參指向的變量的值,不能使實參指向其他的變量。因此,本函數(shù)并不能交換形參所指向變量的結果。

在主函數(shù)中,首先定義了兩個整型變量a和b,并分別被初始化為3和6,然后定義兩個指針變量x和y,分別指向a和b,接著調(diào)用fun函數(shù),傳遞的實參為指針變量x和y,

溫馨提示

  • 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

提交評論