




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年內(nèi)蒙古自治區(qū)赤峰市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.對(duì)矩陣進(jìn)行壓縮存儲(chǔ)是為了()。
A.方便運(yùn)算B.方便存儲(chǔ)C.提高運(yùn)算速度D.減少存儲(chǔ)空間
2.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
3.允許對(duì)隊(duì)列進(jìn)行的操作有()。
A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
4.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
5.高度為h的滿二叉樹的結(jié)點(diǎn)數(shù)是________個(gè)。
A.log2h+1B.2h+1C.2h-1D.2h-1
6.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOTO語(yǔ)句
D.語(yǔ)言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
7.下列敘述中錯(cuò)誤的是()。
A.可以給指針變量賦一個(gè)整數(shù)作為地址值
B.函數(shù)可以返回地址值
C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
D.當(dāng)程序的開頭包含頭文件stdio.h時(shí),可以給指針變量賦NULL值
8.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的敘述中,正確的是()。
A.數(shù)組是同類型值的集合
B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉
C.樹是一種線性結(jié)構(gòu)
D.用一維數(shù)組存儲(chǔ)二叉樹,總是以先序遍歷的順序存儲(chǔ)各結(jié)點(diǎn)
9.以下選項(xiàng)中錯(cuò)誤的是()。A.printf(“%s\n”,‘s’);
B.printf“%d%c\n”,‘s’,‘s’);
C.printf(“%c\n”,‘s’-32);
D.printf(“%c\n”,65);
10.有以下程序:main(){intx[8]={8,7,6,5,O,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是()。
A.隨機(jī)值B.0C.5D.6
11.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
12.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
13.有如下定義:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能輸出字母M的是()
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0]);
14.下面判斷正確的是
A.char*a="china";等價(jià)于char*a;*a="china";
B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};
C.char*s="china";等價(jià)于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";
15.設(shè)有以下定義則下面語(yǔ)句中錯(cuò)誤的是()。A.a++;B.b++C.c++;D.d++;
16.設(shè)無向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
17.下面合法的C語(yǔ)言字符常量是()。
A.'\t'B."A"C.65D.A
18.
19.下列程序執(zhí)行后的輸出結(jié)果是()。main{charx=0xFFFF;printf("%d\n",x--);}A.-32767B.FFFEC.1D.32768
20.在10000個(gè)int型變量中找出最大的100個(gè),使用下列排序算法中哪一種用時(shí)最快()
A.冒泡排序B.快速排序C.歸并排序D.堆排序
二、2.填空題(20題)21.若從鍵盤輸入58,則以下程序輸出的結(jié)果是______。
main{)
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
22.若a的值為1,則表達(dá)式!a‖++a的值是______。
23.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。
24.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
25.以下程序的輸出結(jié)果是【】。
main()
{inti=010,j=10;
printf("%d,%d\n",i,j);}
26.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf("%d\n",j);}
27.當(dāng)先后輸入1、3、4、12、23時(shí),屏幕上出現(xiàn)【】;再輸入12時(shí),則屏幕上出現(xiàn)【】。
#include<stdio.h>
#defineN5
main()
{inti,j,number,top,bott,min,loca,a[N],flag;
charc;
printf("Pleaseinput5numbers(a[i]>a[i-1])\n");
scanf("%d",&a[0]);
i=1;
while(i<N)
{scanf("%d",&a[i]);
if(a[i]>=a[i-1))i++;
}
printf("\n");
for(i=0;i<N;i++)printf("%d",a[i]);
printf("\n");
flag=1;
while(flag)
{scanf("%d",&number);
loca=0;
top=0;
bott=N-1;
if((number<a[0])||(number>a[N-1]))loca=-1;
while((loca==0)&&(top<=bott))
{min=(bott+top)/2;
if(number==a[min])
{loca=min;
printf("%disthe%dthnumber\n",number,loca+1);
}
elseif(number<a[min])bott=min-1;
elsetop=min+1;
}
if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);
c=getchar();
if(c=='N'||c=='n')flag=0;
}
}
28.以下程序運(yùn)行后的輸出結(jié)果是______。
structNODE
{inthum;structNODE*next;
};
main()
{structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;
intsum=0;
s[0].next=s+1;s[1].next=s+2;s[2].next=s;
p=S;q=p->next;r=q->next;
sum+=q=>next->num;sum+=r->next->next->num;
29.以下程序運(yùn)行的結(jié)果是【】。
#include<conio.h>
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0‖i%11==0)
a[j++]=i;
*n=j;}
main()
{intaa[M],n,k;
clrscr();
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");}
30.程序的功能是將文件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);
}
31.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。
32.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。
33.棧的3種基本運(yùn)算是:入棧、退棧和______。
34.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。
35.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。
36.以下程序的輸出結(jié)果是______。
main()
{char*p-"abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=[char*)q;
printf("%s\n",r);
}
37.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
intt=0.s=0,i:
for(i=1;i<=5;i++){t=i+【】;s=s+t;}
prinff("s=%d\n".s);}
38.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
39.一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)容,稱為【】藕合。
40.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。
三、1.選擇題(20題)41.有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}程序運(yùn)行后的輸出結(jié)果是______。
A.64,28B.4,4C.4,3D.64,64
42.若有以下定義和語(yǔ)句;doubler=99,*p=7;*p=r;則以下正確的敘述是()
A.兩處的*p含義相同,都說明給指針變量P賦值3
B.在“doubler=99,*p=7;*p=r;”中,把r的地址賦給了p所指的存儲(chǔ)單元
C.語(yǔ)句“*p=r;”把變量r的值賦給指針變量p
D.語(yǔ)句“*p=r;”把變量r的值放回P中
43.為了使模塊盡可能獨(dú)立,要求()。
A.內(nèi)聚程度要盡量高,耦臺(tái)程度要盡量強(qiáng)
B.內(nèi)聚程度要盡量高,耦合程度要盡量弱
C.內(nèi)聚程度要盡量低,耦合程度要盡量弱
D.內(nèi)聚程度要盡量低,耦合程度要盡最強(qiáng)
44.以下程序段的輸出結(jié)果是()。inta=1234;printf("%2d\n",a);
A.12B.34C.1234D.提示出錯(cuò),無結(jié)果
45.下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是()
A.程序的效率第一,清晰第二B.程序的可讀性好C.程序中要有必要的注釋D.輸入數(shù)據(jù)前要有提示信息
46.以下不正確的定義語(yǔ)句是()。
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={O,1,3,5,7,9};
C.charc1[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
47.下面的程序段運(yùn)行后,輸出結(jié)果是inti,j,x=0;staticinta[8][8];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j;for(i=0;i<8;i++)x+=a[i][j];printf("%d",x);
A.9B.不確定值C.0D.18
48.判斷char型變量c1是否為大寫字母的正確表達(dá)式是
A.'A'<=c1<='Z'
B.(c1>=A)&&(c1<=Z)
C.('A'>=c1)||('Z'<=c1)
D.(c1>='A')&&(c1<='Z')
49.有以下程序#include<stdio.h>main(){intk=5,n=0;while(k>0){switch(k){defhult:break;case1:n+=k:case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()
A.0B.4C.6D.7
50.設(shè)有下列二叉樹:
對(duì)此二叉樹先序遍歷的結(jié)果是
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
51.若變量已正確定義,要求程序段完成求51的計(jì)算,不能完成此操作的程序段是
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5)
52.設(shè)有如下3個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
53.下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
54.以下敘述正確的是
A.函數(shù)可以嵌套定義但不能嵌套調(diào)用
B.函數(shù)既可以嵌套調(diào)用也可以嵌套定義
C.函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用
D.函數(shù)可以嵌套調(diào)用但不可以嵌套定義
55.完整的計(jì)算機(jī)存儲(chǔ)器應(yīng)包括______。
A.軟盤、硬盤B.磁盤、磁帶、光盤C.內(nèi)存儲(chǔ)器、外存儲(chǔ)器D.RAM、ROM
56.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
57.下列說法中,正確的是______。
A.指針是一個(gè)變量B.指針中存放的可以是任何類型的值C.指針變量是變量地址D.指針變量占用存儲(chǔ)空間
58.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)
59.有下列程序:#include"stdio.h"main(){intx=0;inty=0;while(x<7&&++y){y--;x++;}printf("%d,%d",y,x);}程序的輸出結(jié)果是()。
A.0,7B.7,7C.0,6D.1,6
60.以下不正確的定義語(yǔ)句是()。
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5.3]={0,1,3,5,7,9};
C.charc\[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
四、選擇題(20題)61.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
62.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
63.
64.若有定義inta[2][3];,則對(duì)a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值.元素值的正確引用為()。
A.*(*(a+i.+j.B.(a+i.[j]C.*(a+i+j.D.*(a+i.+j
65.
66.
67.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=3,b=2,c=1;if(a<b)if(b<0)c=0;elsec++:printf("%d\n",c);}A.2B.0C.1D.不確定的值
68.
69.
70.
71.
72.(23)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為______。
A.32
B.31
C.16
D.15
73.
74.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
75.設(shè)有定義:charp[]={1,2,3),*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
76.
77.
78.運(yùn)算符________的優(yōu)先級(jí)最高。
A.[]B.+=C.?:D.++
79.在下列語(yǔ)句中,其含義為“q是一個(gè)函數(shù)指針,該指針指向整型數(shù)據(jù)”的定義語(yǔ)句是()。
A.int**q;B.int(*q);C.int*q;D.int*q;
80.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單的變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是
A.地址傳遞B.單向值傳遞
C.由實(shí)參傳形參,再由形參傳實(shí)參D.傳遞方式由用戶指定
五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n=20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)maiil函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
doubleproc(intn)
{
doublesum,s0,s1,s2,s;
intk;
sum=1.0;
if(n<=2)
sum=0.0;
s0=0.0;
s1=0.0;
s2=1.0;
//****found****
for(k=4;k<n;k++)
}
{
s=s0+s1+s2;
sum+=S:
s0=s1;
s1=s2;
//****found****
s2=s;
returnsum;
}
voidmain
{
intn;
system("CLS");
printf("InputN=");
scanf("%d",&nJ;
printf("%f\n",proc(n));
}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:將str所指字符串中ASCⅡ值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為aBcdef9789,其中字符8的ASCⅡ碼值為偶數(shù)……字符8的ASCⅡ碼值為偶數(shù)……都應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ace979。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.D
2.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項(xiàng)D不正確。
3.D
4.B
5.C
6.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語(yǔ)句,但不是絕對(duì)不允許使用GOT0語(yǔ)句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。
7.A不能將一個(gè)整數(shù)直接賦給指針變量作為地址值,A選項(xiàng)錯(cuò)誤。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會(huì)傳遞給實(shí)參。故本題答案為A選項(xiàng)。
8.B
9.A%d表示以字符和整型類型的格式輸出,%c表示以字符類型的格式輸出,%s表示以字符串類型的格式輸出。選項(xiàng)A中,‘s’是字符,不能用%s格式來輸出。故本題答案為A選項(xiàng)。
10.B解析:通過賦值語(yǔ)句“s=x+3”,使指針變量s指向數(shù)組元素x[3],輸出語(yǔ)句中的spl等價(jià)于*(s+2),即x[5]值為0。所以,B選項(xiàng)為所選。
11.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語(yǔ)句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
12.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
13.D
14.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。
15.D
16.B
17.A
18.D
19.C因?yàn)閤=0xFFFF=11111111,因此當(dāng)以整型形式輸出時(shí)對(duì)應(yīng)的數(shù)為一1。
20.B
21.585858585858解析:在程序中,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)椋琣=58>50,執(zhí)行第一個(gè)訂語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)?,a=58>4O,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)?,a=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。
22.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
23.E-R圖E-R圖解析:數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。
24.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
25.8108,10解析:以0開頭的是八進(jìn)制數(shù),輸出時(shí)將其轉(zhuǎn)換成十進(jìn)制數(shù)。
26.4040解析:分析程序,初始時(shí)i=10,j=0,這時(shí)do循環(huán)中的“i=j+i”
27.134122312isthe4thnumber.
28.解析:程序通過語(yǔ)句“s[0]next=s+1;s[1].next=s+2;s[2].next=s;”將結(jié)構(gòu)體變量s中各結(jié)點(diǎn)連接成了一個(gè)循環(huán)鏈表,即最后一個(gè)結(jié)點(diǎn)的指針域指向了頭結(jié)點(diǎn),整個(gè)鏈表形成了一個(gè)環(huán),并通過語(yǔ)句“p=s;q=p->next;r=q->next;”將結(jié)構(gòu)體指針變量p、q、r指向了各結(jié)點(diǎn)。
29.77解析:解答本題的關(guān)鍵是要讀懂程序,要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語(yǔ)言中的“或”的區(qū)別,但在此處,if條件語(yǔ)句中用了“‖”運(yùn)算符,若要找能同時(shí)被7和11整除的所有整數(shù)則在if的條件中應(yīng)使用“&&”運(yùn)算符。
當(dāng)然,如果m的值輸入50,即表達(dá)式fun(10,aa,&n);為fun(50,aa,&n);時(shí)輸入結(jié)果為:711142122283335424449。
30.*fp1*fp2getc(fp1)fp2*fp1,*fp2\r\ngetc(fp1),fp2解析:本題主要考查函數(shù)intputc(intch,FILE*fp)的功能,把ch中的字符輸出到fp所指文件,以及intgetc(FILE*fp),從fp所指文件中讀取一個(gè)字符。
31.封裝封裝
32.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。
33.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
34.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
35.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。
36.efghefgh解析:本題定義了一個(gè)字符型指針變量p并通過賦初值讓它指向了一個(gè)字符串,定義了另一個(gè)字符型指針變量r和一個(gè)長(zhǎng)整型指針變量q。首先通過語(yǔ)句“q=(long*)p;”把P的地址值強(qiáng)制轉(zhuǎn)換為長(zhǎng)整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語(yǔ)句“r=(char*)q”,把長(zhǎng)整型指針變量q的值再?gòu)?qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址,最后輸出r指向的字符串,是“efgh”。
37.t*10t*10解析:程序中變量,用于存放表達(dá)式1+12+123+1234+12345之和,變量t用于存放其表達(dá)式的各項(xiàng)。當(dāng)i=1時(shí),要使t=1;i=2時(shí),t=12;i=3時(shí),t=123;依此類推。每一次的t值是用上一次的t乘以10再加上此次的i的值,所以本題答案為t*10。
38.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
39.內(nèi)容內(nèi)容
40.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。
41.C解析:根據(jù)題意,il=f(8)/f(4)進(jìn)行宏替換后.i1=(8*8)/(4*4)=4,i2=f(4+4)/f(2+2)=(4+4*4+4)/(2+2*2+2)=24/8=3。所以輸出結(jié)果為4、3。
42.D
43.B
44.C解析:在C語(yǔ)言中,對(duì)于不同類型的數(shù)據(jù)用不同的格式字符,其中,“%d”是按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。注意:格式輸入函數(shù)scanf的使用。
45.A解析:本題考查軟件工程的程序設(shè)計(jì)風(fēng)格。軟件在編碼階段,力求程序語(yǔ)句簡(jiǎn)單、直接,不能只為了追求效率而使語(yǔ)句復(fù)雜化。除非對(duì)效率有特殊的要求,程序編寫要做到清晰第一、效率第二。
人們?cè)谲浖嫫谝?jīng)常閱讀程序,特別是在軟件測(cè)試和維護(hù)階段,編寫程序的人和參與測(cè)試、維護(hù)的人都要閱讀程序,因此要求程序的可讀性要好。
正確的注釋能夠幫助讀者理解程序,可為后續(xù)階段進(jìn)行測(cè)試和維護(hù)提供明確的指導(dǎo)。
所以注釋不是可有可無的,而是必須的,它對(duì)于理解程序具有重要的作用。
I/O信息是與用戶的使用直接相關(guān)的,因此它的格式應(yīng)當(dāng)盡可能方便用戶的使用。在以交互式進(jìn)行輸入/輸出時(shí),要在屏幕上使用提示符明確提示輸入的請(qǐng)求,指明可使用選項(xiàng)的種類和取值范圍。經(jīng)過上述分析可知,選項(xiàng)A是不符合良好程序設(shè)計(jì)風(fēng)格要求的。
46.B解析:選項(xiàng)B中初值列表中的初值個(gè)數(shù)超過了數(shù)組包含的元素的個(gè)數(shù)。
47.C解析:本題主要考查的用二維數(shù)組首地址和下標(biāo)來引用二維數(shù)組元素的方法。通過分析可知,程序中的雙重循環(huán)定義了一個(gè)如下的二維數(shù)組:
由于數(shù)組的下標(biāo)是從0開始的,所以二維數(shù)組元素a[i][j]表示的是二維數(shù)組a的第i+1行、第j+1列對(duì)應(yīng)位置的元素。
48.D解析:字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCII碼存儲(chǔ)的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。注意:邏輯運(yùn)算符的功能與作用。
49.D解析:因?yàn)闆]有break語(yǔ)句,當(dāng)k=2的時(shí)候,會(huì)順序執(zhí)行兩條語(yǔ)句,k=1的時(shí)候,會(huì)順序執(zhí)行3條語(yǔ)句。
50.C解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷遍歷順序應(yīng)該為:訪問根結(jié)點(diǎn)->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF。
51.B解析:本題考核的知識(shí)點(diǎn)是C語(yǔ)言在生活中的簡(jiǎn)單應(yīng)用。選項(xiàng)B中for循環(huán)了5次,而每次循環(huán)的時(shí)候,都將p的值重新賦值為1后,再乘以當(dāng)前數(shù)字i,最后的結(jié)果為5,顯然不是51的值,同樣的分析可知選項(xiàng)A、選項(xiàng)C和選項(xiàng)D計(jì)算的都是5!。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
52.C解析:R表中只有一個(gè)域名A,有兩個(gè)記錄,分別是m和n;s表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。表T是由R的第一個(gè)記錄依次與s的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算符合關(guān)系代數(shù)的笛卡爾積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡爾積運(yùn)算用“×”來表示。因此,上述運(yùn)算可以表示為T=R×S。
53.A解析:函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針型。它的作用是將一個(gè)變量的地址傳遞到另一個(gè)函數(shù)中。當(dāng)數(shù)組名作參數(shù)時(shí),如果形參數(shù)組中的各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也將隨之發(fā)生變化。
54.D解析:在C語(yǔ)言中,所有的函數(shù)都是平行的,即在定義函數(shù)時(shí)是互相獨(dú)立的,一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù),即函數(shù)不能嵌套定義,但可以互相調(diào)用,但不能調(diào)用main函數(shù)。注意:函數(shù)不能嵌套定義,但可以嵌套調(diào)用,故選項(xiàng)A)、B)和C)中的描述都錯(cuò)誤。
55.C
56.D解析:sizeof函數(shù)計(jì)算已知類型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。指針變量占2個(gè)字節(jié),所以cat和*next各占2個(gè)字節(jié);double型占8個(gè)字節(jié),故too共占12個(gè)字節(jié)。
57.D解析:指針是地址,存放指針的變量是指針變量,不同類型的指針變量存放不同類型數(shù)據(jù)的地址,指針變量作為可存儲(chǔ)指針的變量,也要占用一定的存儲(chǔ)空間。
58.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
59.A解析:本題考查while循環(huán).y的值在while循環(huán)的控制表達(dá)式中加1,在循環(huán)體內(nèi)減1,所以總的y值不變,且控制條件++y永遠(yuǎn)非零。當(dāng)x加到7時(shí)不滿足循環(huán)條件,結(jié)束循環(huán)。
60.B解析:在一維數(shù)組中要注意的是下標(biāo)常量表達(dá)式的值必須是大于等于零,并且小于自身元素的個(gè)數(shù),選項(xiàng)B)的下標(biāo)不是整數(shù),所以錯(cuò)誤。
61.D解析:軟件需求規(guī)格說明書
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省德州市齊河縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 客戶溝通與反饋記錄
- 小王子遇見世界的觀后感
- 高中化學(xué)實(shí)驗(yàn)設(shè)計(jì)與探究:化學(xué)反應(yīng)原理教案
- 《初高中英語(yǔ)語(yǔ)法比較與辨析教案》
- 不動(dòng)產(chǎn)交易買賣協(xié)議書
- 中學(xué)生歷史事件故事讀后感
- 美容師儀器知識(shí)培訓(xùn)課件
- 血液++課件-2024-2025學(xué)年北師大版生物七年級(jí)下冊(cè)
- 紅色故事鐵道游擊隊(duì)的愛國(guó)主義教育解讀
- 2024年中北大學(xué)招考聘用博士研究生(高頻重點(diǎn)復(fù)習(xí)提升訓(xùn)練)共500題附帶答案詳解
- 村衛(wèi)生室靜脈輸液規(guī)范和安全管理制度
- 供應(yīng)商大會(huì)總結(jié)報(bào)告
- JGJ127-2000 看守所建筑設(shè)計(jì)規(guī)范
- 名著閱讀(解析版)-2024年中考語(yǔ)文真題(江蘇專用)
- (高清版)JTG 6310-2022 收費(fèi)公路聯(lián)網(wǎng)收費(fèi)技術(shù)標(biāo)準(zhǔn)
- DZ∕T 0203-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 稀有金屬類(正式版)
- 會(huì)議新聞寫作要求與技巧
- 聽評(píng)課方法與策略
- (正式版)QBT 8018-2024 熟制與生干核桃和仁
- 農(nóng)村商業(yè)銀行合規(guī)培訓(xùn)
評(píng)論
0/150
提交評(píng)論