![2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁](http://file4.renrendoc.com/view/beffdeabe681acfff01c65d8eb58e255/beffdeabe681acfff01c65d8eb58e2551.gif)
![2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁](http://file4.renrendoc.com/view/beffdeabe681acfff01c65d8eb58e255/beffdeabe681acfff01c65d8eb58e2552.gif)
![2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁](http://file4.renrendoc.com/view/beffdeabe681acfff01c65d8eb58e255/beffdeabe681acfff01c65d8eb58e2553.gif)
![2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁](http://file4.renrendoc.com/view/beffdeabe681acfff01c65d8eb58e255/beffdeabe681acfff01c65d8eb58e2554.gif)
![2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁](http://file4.renrendoc.com/view/beffdeabe681acfff01c65d8eb58e255/beffdeabe681acfff01c65d8eb58e2555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年河南省開封市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下列函數(shù)的功能是()。voidfun(char*a,char*b){while((*b=*a)!=‘\0’){a++;b++;}}
A.將a所指字符串賦給b所指空間
B.使指針b指向a所指字符串
C.將a所指字符串和b所指字符串進(jìn)行比較
D.檢查a和b所指字符串中是否有‘\0’
2.下面程序的輸出結(jié)果是______。#inc1ude<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti;for(i=3;i>=0;i-,i-)prinf("%c",*p[i]);print("\n")}
A.SOB.SPC.SPOPKD.SHOB
3.如果要求一個(gè)線性表既能較快地查找,又能適應(yīng)動(dòng)態(tài)變化的要求,可以采用下列哪一種查找方法()
A.分塊B.順序C.折半D.哈希
4.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為()。A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
5.在inta=3,int*p=&a;中,*p的值是()。
A.變量a的地址值B.無意義C.變量p的地址值D.3
6.下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性列表是非線性性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)
7.下列敘述中錯(cuò)誤的是()。
A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
8.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
9.一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。
A.16B.10C.6D.4
10.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)
11.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
12.
13.采用折半查找法查找長度為n的線性表時(shí),每個(gè)元素的平均查找長度為()。
A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)
14.以下敘述中正確的是()。
A.結(jié)構(gòu)體變量中的成員可以是簡單變量、數(shù)組或指針變量
B.不同結(jié)構(gòu)體的成員名不能相同
C.結(jié)構(gòu)體定義時(shí),其成員的數(shù)據(jù)類型可以是本結(jié)構(gòu)體類型
D.結(jié)構(gòu)體定義時(shí),類型不同的成員項(xiàng)之間可以用逗號(hào)隔開
15.
16.若有定義語句:“charS[3][10],(*k)[3],*p;”,則以下賦值語句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
17.軟件工程的出現(xiàn)是由于()。A.A.程序設(shè)計(jì)方法學(xué)的影響B(tài).軟件產(chǎn)業(yè)化的需要C.軟件危機(jī)的出現(xiàn)D.計(jì)算機(jī)的發(fā)展
18.
19.
20.下列關(guān)于標(biāo)識(shí)符的說法中錯(cuò)誤的是
A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成
B.C語言的標(biāo)識(shí)符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符
C.C語言的標(biāo)識(shí)符可以分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符
D.用戶標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息
二、2.填空題(20題)21.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')______;
s[j]='\O';
puts(s);
}
22.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。
23.以下程序的定義語句中,x[1]的初值是(),程序運(yùn)行后輸出的內(nèi)容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1],printf("q%d”,p[i][0]);}printf("\n");}
24.下面程序的運(yùn)行結(jié)果是【】。
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf("%d\n",s);
break;}
s+=i;}}
25.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。
26.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara[]="Language",b[]="Programe";
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c,*(p1+k));
}
27.問題處理方案的正確而完整的描述稱為______。
28.C語言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
29.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
30.在兩種基本測(cè)試方法中,()測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少執(zhí)行一次。
31.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
32.程序的功能是將文件filel.c的內(nèi)容輸出到屏幕上并復(fù)制到文件file2.c中,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE【】;
fp1=fopen("filel.c","r");
fp2=fopen("file2.c","w");
while(!feof(fp1))putchar(getc(fp1));
rewind(fp1);
while(!feof(fp1))putc(【】);
fclose(fp1);
fclose(fp2);
}
33.若有以下定義,則使指針p指向值為35的數(shù)組元素的語句是______。
inta[10]={14,27,47,29,35,21,49,71},*p;
34.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。
35.解題方案的準(zhǔn)確而完整的描述稱為______。
36.以下程序的功能是從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
37.下列程序的輸出結(jié)果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
38.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。
39.下面程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
#defineSlZE12
main()
{chars[SIZE];inti;
for(i=0;i<SIZE;i++)s[i]='A'+i+32;
sub(s,5,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;
}
}
40.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為______。
三、1.選擇題(20題)41.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
42.以下程序的輸出結(jié)果是#include<stdio.h>in[fun(intn,int*s){intn,f2;if(n==0‖n==1)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}voidmain(){intx;fun(6,&x);pfintf("\n%d",x);}
A.7B.13C.9D.10
43.如果需要打開一個(gè)已經(jīng)存在的非空文件“Demo"進(jìn)行修改下面正確的選項(xiàng)是
A.fp=fopen("Demo","r");
B.fp=fopen("Demo","ab+");
C.fp=fopen("Demo","w+");
D.fp=fopen("Demo","r+");
44.有以下程序#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}程序運(yùn)行后的輸出結(jié)果是——。
A.10234B.12344C.12334D.12234
45.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
46.以下程序#include<string.h>main(){chara1[80],a2[80],*s1=a1,*s2=a2;gets(s1);gets(s2)if(!strcmp(s1,s2))printf("*");elseprintf("#");printf("%d\n",strlen(strcat(s1,s2)));}如果從鍵盤上輸入:book<回車>book<空格><回車>則輸出結(jié)果是()
A.*8B.#9C.#6D.*9
47.下列程序段執(zhí)行后,c3中的值是______。intc1=1,c2=2,c3;c3=1.0/c2*c1;
A.0B.0.5C.1D.2
48.以下能正確定義二維數(shù)組的是______。
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1),{2},{3,4}};
49.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)
50.若定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
51.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。
A.確認(rèn)測(cè)試B.需求測(cè)試C.驗(yàn)證測(cè)試D.路徑測(cè)試
52.設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
53.以下程序的輸出結(jié)果是main(){charcf[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",cf[1]);;}
A.AAAAB.BBBC.BBBCCD.CC
54.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是
A.scanf(“%2d%2d%2d”,&i,&j,&k);
B.scanf(“%d%d%d”,&i,&j,&k);
C.scant(“%d,%d,%d”,&i,&j,&k);
D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
55.有以下程序:#include<stdio.h>intf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,2);printf("%d\n",s);}intf(intt[],intn){if((n>0)&&(n<5))returnt[n+1]+f(t,n-1);elsereturn0;}程序運(yùn)行后的輸出結(jié)果是()。
A.4B.7C.10D.61
56.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是______。
A.程序結(jié)構(gòu)應(yīng)有助于讀者理解B.不限制goto語句的使用C.減少或取消注解行D.程序越短越好
57.以下程序的輸出結(jié)果是______。#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}
A.6,1B.2,1C.6,0D.2,0
58.開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
59.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
60.對(duì)下述程序,正確的判斷是()main(){inta,b,seanf("%d,%d",&a,&b);if(a>b)a=b;b=a;elsea++;b++printf("%d,%d",a,b);}
A.有語法錯(cuò)誤不能通過編譯B.若輸入4,5則輸出5,6C.若輸入5,4則輸出4,5D.若輸入5,4則輸出5,5
四、選擇題(20題)61.
62.有以下程序:
voidmain()
{
inti=10,j=1;
printf("%d,%d\n",2*i--,++j*2);
}
執(zhí)行后輸出的結(jié)果是()。
A)20,4B)10,2
C)20,1D)10,4
63.有以下程序:
#include<stdio.h>
main()
{chara[5][10]={"one","tw0","three","four","five"};
inti,j;
chart:、
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i][O]>a[j][0])
{t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)
puts(a[1]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.fwo
B.fix
C.two
D.owo
64.
65.有以下程序:
程序運(yùn)行后的結(jié)果是()。
A.有運(yùn)行錯(cuò)誤B.輸出ll.10C.輸出l2.10D.輸出21.10
66.
67.為了避免在嵌套的條件語句ifelse中產(chǎn)生二義性,C語言規(guī)定,else子句總是與()配對(duì)。
A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if
68.下列敘述中正確的是()。
A.break語句只能用于switch語句體中
B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
69.下面程序段的輸出結(jié)果是()。
#include<string.h>
voidmain()
{
charstrl[10]={’s’,’t’,’u’,’d’,’e’,’n’,’t’};
printf("%d\n",strlen(strl));
}
A.7B.8C.10D.存在語法錯(cuò)誤
70.main()
{intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}
此程序的輸出結(jié)果是______________.
A.30B.24C.60D.48
71.有以下程序:
voidmain()
{chars[]="159",*p;
p=s;
printf("%c",*p++);printf("%c",*p++);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.15B.16C.12D.59
72.以下敘述中錯(cuò)誤的是()。
A.C程序在運(yùn)行過程中所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C程序在運(yùn)行過程中所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C程序都需要編譯鏈接無誤后才能運(yùn)行
D.C程序中字符變量存放的是字符的ASCIl碼值
73.
74.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)
B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
D.三者沒有明顯的包含關(guān)系
75.
下列程序輸出結(jié)果是()。
#include<stdio.h>
main
{chara[]={a,b,C,d,e,f,\0).
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d",i,j);
}
A.7,7B.7,6C.6,6D.6,7
76.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()o
A.24B.720C.120D.6
77.下列敘述中錯(cuò)誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的
78.
79.
80.有以下程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:利用插入排序法對(duì)字符串中的字符按從大到小的順序進(jìn)行排序。插入法的基本方法是:先對(duì)字符串中的頭兩個(gè)元素進(jìn)行排序,然后把第3個(gè)字符插入前2個(gè)字符中,插人后前3個(gè)字符依然有序,再把第4個(gè)字符插入前3個(gè)字符中,待排序的字符串已在主函數(shù)中賦予。例如,原始字符串為“goodluck”,則排序后的字符串為“uoolkgdc”。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.輸出1900~2000年中所有的閏年。每輸出3個(gè)年號(hào)換一行。(判斷閏年的條件為下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
參考答案
1.A題目的fun函數(shù)內(nèi),while循環(huán)條件為“(*b=*a)!=‘\\0’”,執(zhí)行時(shí)先把指針a所指向的字符賦給指針b所在的內(nèi)存單元。如果該字符不是結(jié)束標(biāo)識(shí)‘\\0’,執(zhí)行循環(huán)體“a++;b++;”,指針a、b分別指向下一個(gè)字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在的內(nèi)存單元,直到遇到結(jié)束標(biāo)識(shí)為止。故本題答案為A選項(xiàng)。
2.A解析:p[0]存放的是“BOOL\\0”的首地址;p[1]存放的是“OPk\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串中的第一個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。
3.D
4.C數(shù)據(jù)結(jié)構(gòu)與算法:數(shù)據(jù)結(jié)構(gòu)的基本概念[評(píng)析]邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)多或多對(duì)一的關(guān)系。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是根據(jù)數(shù)據(jù)元素之間關(guān)系的不同特性加以分類的,即是從邏輯上加以分類的。
5.D
6.A解析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
7.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
8.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以
單獨(dú)使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計(jì)的過程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后
對(duì)局部視圖進(jìn)行集成得到概念模式。
9.A根據(jù)二叉樹的性質(zhì),n=n0+n1+n2(n表示總結(jié)點(diǎn)數(shù),n0表示葉子結(jié)點(diǎn)數(shù),nl表示度數(shù)為1的結(jié)點(diǎn)數(shù),n2表示度數(shù)為2的結(jié)點(diǎn)數(shù)),而葉子結(jié)點(diǎn)數(shù)總是比度數(shù)為2的結(jié)點(diǎn)數(shù)多1,所以n2=n1-1=5-1=4,而n=25,所以nl=n-n0-n2=25-5-4=16。
10.CC?!窘馕觥拷Y(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
11.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。
12.D
13.D
14.A結(jié)構(gòu)體變量中的成員可以是簡單變量、數(shù)組、指針變量或者結(jié)構(gòu)體變量,選項(xiàng)A正確;不同結(jié)構(gòu)體成員名可以相同,選項(xiàng)B錯(cuò)誤;結(jié)構(gòu)體定義時(shí),其成員的數(shù)據(jù)類型不能是本結(jié)構(gòu)體類型,選項(xiàng)C錯(cuò)誤;結(jié)構(gòu)體定義時(shí),類型不同的成員項(xiàng)之間使用分號(hào)隔開,選項(xiàng)D錯(cuò)誤。本題答案為A選項(xiàng)。
15.D
16.C答案C的意思是*P指向數(shù)組的第一個(gè)值。
17.C解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機(jī)。為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識(shí)到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。
18.C
19.D
20.D解析:用戶標(biāo)識(shí)符與關(guān)鍵字相同時(shí),程序在編譯過程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識(shí)符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識(shí)符第一個(gè)字符必須為字母或下劃線。
21.s[j++]=s[i]s[j++]=s[i]解析:循環(huán)開始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
22.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。
23.2246822468解析:p為指向數(shù)組的指針變量,數(shù)組x[1]為數(shù)組x[]的第二個(gè)元素,值為2;進(jìn)入for循環(huán)i=0時(shí),p[0]=&x[1]…直到循環(huán)完畢,指針分別指向數(shù)組x[]中的第2、4、6、8個(gè)元素,所以第二個(gè)空白處應(yīng)填2468。
24.3030解析:考查for循環(huán)的使用。題目中for(;;)表示:for循環(huán)的初始化表達(dá)式,條件表達(dá)式和修正表達(dá)式都省略了,表示進(jìn)行for循環(huán)和for循環(huán)的終止都沒有限制。
25.857/15
26.gae
27.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
28.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語句和switch語句)和循環(huán)結(jié)構(gòu)(包括for語句、while語句、do…while語句)。
29.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
30.白盒白盒解析:按功能劃分測(cè)試可分為白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試的原則是保證所測(cè)試模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)試模塊所有判斷的每一分支至少執(zhí)行一次:保證所測(cè)試模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。
31.完整性控制完整性控制
32.*fp1*fp2getc(fp1)fp2*fp1,*fp2\r\ngetc(fp1),fp2解析:本題主要考查函數(shù)intputc(intch,FILE*fp)的功能,把ch中的字符輸出到fp所指文件,以及intgetc(FILE*fp),從fp所指文件中讀取一個(gè)字符。
33.p=a+4或p=&a[4]。p=a+4或p=&a[4]。解析:可以直接將數(shù)組元素a[4]的地址(即&a[4])賦給指針變量p,也可以用數(shù)組名加偏移量的形式(即a+4)表示數(shù)組元素a[4]的地址,并賦給指針變量p。
34.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過程為:t=B*2=A+3*2=2+3*2=8。
35.算法算法解析:算法是指對(duì)解題方案的準(zhǔn)確而完整的描述。
36.“filea.dat”“r”“filea.dat”,“r”解析:考查對(duì)文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
37.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。
38.2525解析:#NAME?
39.abcdelkjihgfabcdelkjihgf解析:本題先給字符型數(shù)組s的12個(gè)元素賦值a到1共12個(gè)字母,函數(shù)sub(char*a,intt1,intt2)的功能是將數(shù)組a的從第t1+1個(gè)元素到t2+1個(gè)元素進(jìn)行逆置,在主函數(shù)中調(diào)用sub(s,5,SIZE-1)函數(shù),是將數(shù)組s的第6個(gè)元素到第12個(gè)元素進(jìn)行逆置,其他元素位置不變。
40.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。
41.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟什開發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段.軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。
42.B
43.D解析:此題考查文件打開方式對(duì)文件操作的影響。由于打開文件進(jìn)行修改,可見選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開時(shí),只能讀,不能寫,當(dāng)然無法修改。選項(xiàng)B)是以追加方式“ab+”打開文件讀寫。以這種方式打開時(shí),新寫入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,但可以對(duì)以前的數(shù)據(jù)讀出。換言之,“ab+”或“a+”方式打文件后,對(duì)于寫操作,文件指針只能定位在文件的原有內(nèi)容之后,但對(duì)于讀操作,文件指針可以定位在全文件范圍內(nèi),可見,按此種方式打開文件不能實(shí)現(xiàn)文件內(nèi)容的修改。選項(xiàng)C)以“w+”方式打開文件,此時(shí),原文件中已存在的內(nèi)容都被清除。但新寫入文件的數(shù)據(jù)可以被再次讀出或再次寫入,故也不能實(shí)現(xiàn)對(duì)文件的修改。只有以“r+”方式打開文件時(shí),才允許將文件原來數(shù)據(jù)讀出,也允許在某些位置上再寫入,從而實(shí)現(xiàn)對(duì)文件的修改。
44.C解析:由于用了宏定義a[10]~a[19]均為0。函數(shù)fun的功能是把從a[n]到a[m]中的元素依次賦給后面的一個(gè)元素。調(diào)用了fun(a,2,9)以后,a[N]={1,2,3,3,4,5,6,7,8,9,10}。
45.C本題主要考查逗號(hào)表達(dá)式。逗號(hào)是一個(gè)特殊的運(yùn)算符,它具有所有運(yùn)算符中最低的優(yōu)先級(jí)。在C語言中,用它可以將兩個(gè)表達(dá)式連接起來,逗號(hào)表達(dá)式的一般表現(xiàn)形式為:
表達(dá)式1,表達(dá)式2,…,表達(dá)式n
逗號(hào)表達(dá)式的求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,依次往后計(jì)算,整個(gè)逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,如“3+5,5+6”的值是11。
在本題中,逗號(hào)表達(dá)式為i=4,j=16,k=32,根據(jù)上面的分析,計(jì)算逗號(hào)表達(dá)式得到的結(jié)果為k=32,最后將逗號(hào)表達(dá)式的結(jié)果賦值給變量x,那么變量x的值為32。因此,本題的正確答案選C。
46.B
47.A
48.B解析:(1)二維數(shù)組的定義
二維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第一行的元素,再存放第二行的元素,依次類推。
(2)二維數(shù)組元素的引用
二維數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式;其范圍為:0~(常量表達(dá)式-1)。
(3)二維數(shù)組的初始化
可以用以下方法對(duì)二維數(shù)組元素初始化。
①分行給二維數(shù)組賦初值,例如;
inta[2][2]=({1,2),{3,4));
這種賦值方式比較直觀,把第1個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第2行的元素,即按行賦值。
②可以將所有數(shù)據(jù)寫在一個(gè)大括號(hào)內(nèi),按數(shù)組排列的順序?qū)Ω鱾€(gè)元素賦初值。
③可以對(duì)部分元素賦初值,沒有初始化的元素值為0。
④如果對(duì)全部數(shù)組元素賦初值,則定義數(shù)組時(shí)對(duì)第一維的長度可以不指定,但第二維的長度不能省略。
49.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究和討論以下三個(gè)方面的問題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。
50.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y、z。
51.AA)【解析】確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需求規(guī)格說明中確定的各種需求。
52.A解析:在選項(xiàng)A)中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a==1的值為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A)正確。在選項(xiàng)B)中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!c為假,而表達(dá)式(a<b)&&!c‖1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C)中,a&&b的結(jié)果為真。在選項(xiàng)D)中,a‖(b+b)&&(c-a)的結(jié)果為真。
53.B解析:維字符數(shù)組可以看成由若干個(gè)一維字符數(shù)組組成,每行是一個(gè)一維字符數(shù)組。本題首先定義了一個(gè)數(shù)組ch[3][5]并給它們按行賦初值,即相當(dāng)于給ch[0]賦值“AAAA”,給ch[1]賦值“BBB”,給ch[2]賦值“BBB”,最后輸出轉(zhuǎn)義字符“'\\'”、ch[1]和轉(zhuǎn)義字符“\\”,因此輸出為“BBB”.所以,4個(gè)選項(xiàng)中B為所選。
54.C解析:輸入函數(shù)scanf使用該語句時(shí),要求除格式控制符以外的字符都要原樣輸入,“,”為非格式符,要原樣輸入。選項(xiàng)A,輸入格式描述為“%2d%2d%2d”,輸入要用空格隔開,不滿足鍵盤輸入1,2,3的條件;選項(xiàng)B中,輸入格式描述符為“%d%。d%d”,輸入也要用空格隔開;選項(xiàng)D中,輸入格式描述符為“i=%d,j=%d,k=%d”,應(yīng)該從鍵盤輸入i=1,j=2,k=3,才能使得i,j,k的值為1,2,3。
55.B
56.A解析:程序設(shè)計(jì)的風(fēng)格主要強(qiáng)調(diào)程序的簡單、清晰和可理解性,以便讀者理解。因此選項(xiàng)A是正確答案。程序?yàn)E用goto語句將使程序流程無規(guī)律,可讀性差;添加的注解行有利于對(duì)程序的理解,不應(yīng)減少或取消;程序的長短要依照實(shí)際需要而定,并不是越短越好。因此選項(xiàng)B、C、D都是錯(cuò)誤的。
57.B解析:在表達(dá)式的值作為邏輯值時(shí),非0值一律為1,0值才為0。
58.A開發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。
59.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號(hào)表達(dá)式中第二個(gè)表達(dá)式的值,為1。
60.A
61.A
62.A有以下程序:\r\nvoidmain()\r\n{\r\ninti=10,j=1;\r\nprintf('%d,%d\\n',2*i--,++j*2);\r\n}\
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年地震災(zāi)害風(fēng)險(xiǎn)評(píng)估咨詢服務(wù)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 二零二五年度派遣單位與零售行業(yè)用工單位店員及銷售派遣合同
- 二零二五年度半導(dǎo)體封裝測(cè)試股份出售及產(chǎn)業(yè)鏈整合協(xié)議
- 校園封閉管理方案
- 清明節(jié)演講稿15篇
- 煤礦安全承諾書15篇
- 2025年度智能辦公院墻綠色施工合同
- 鄉(xiāng)村旅游接待室裝修合同
- 生物醫(yī)藥廠房裝修施工合同
- 二零二五年度北京市健身中心高級(jí)教練服務(wù)合同
- 2025年中國山泉水市場前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 重慶市2025屆高三第一次聯(lián)合診斷檢測(cè)英語試卷(含解析含聽力原文無音頻)
- 《榜樣9》觀后感心得體會(huì)二
- 《西安交通大學(xué)》課件
- 天津市部分區(qū)2024-2025學(xué)年九年級(jí)(上)期末物理試卷(含答案)
- 小學(xué)二年級(jí)數(shù)學(xué)計(jì)算題共4165題
- 一氧化碳中毒培訓(xùn)
- 初二上冊(cè)好的數(shù)學(xué)試卷
- 保潔服務(wù)質(zhì)量與服務(wù)意識(shí)的培訓(xùn)
- 突發(fā)公共衛(wèi)生事件衛(wèi)生應(yīng)急
- 部編版2024-2025學(xué)年三年級(jí)上冊(cè)語文期末測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論