




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年四川省達(dá)州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}從第一列開始輸入數(shù)據(jù)(<CR>代表…個回車符):3845<CR>,則狴序輸出結(jié)果為()。
A.77889B.77868C.776810D.7.78866e+007
2.軟件詳細(xì)設(shè)計的主要任務(wù)是確定每個模塊的()。
A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程
3.在下面的字符數(shù)組定義中,哪一個有語法錯誤()。A.chara[20]=”abcdefg”;
B.chara[]=”x+y=55.”;
C.chara[15];
D.chara[10]=’5’;
4.下列語句中,()是錯誤的。A.x=x+1;B.x=x+y;C.x+y=x;D.x=4;
5.下列條件語句中,功能與其他語句不同的是()。
A.if(a)printf("%d\n",x);elseprintf("%d\n",y);
B.if(a==O)printf("%d\n",y);elseprintf("%d\n",x);
C.if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);
D.if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
6.有三個關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
7.設(shè)s1="Good",s2="",s3="Bye",則s1、s2和s3連接后的結(jié)果是()。
A.GoodB.GoodByeC.GoodByeD.Bye
8.判斷char型變量c1是否為小寫字母的正確表達(dá)式為()。
A.'a'<=c1<='z'
B.(c1>=A)‖(c1<=z)
C.('a'=>c1‖('z'<=c1)
D.(c1>='a')&&(c1<='z')
9.如有inta=11;則表達(dá)式(a/1)的值是()。
A.0B.3C.4D.11
10.數(shù)據(jù)庫設(shè)計中,用E—R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的()。
A.需求分析階段B.邏輯設(shè)計階段C.概念設(shè)計階段D.物理設(shè)計階段
11.在數(shù)據(jù)庫系統(tǒng)中,用戶所見數(shù)據(jù)模式為______。A.概念模式B.外模式C.內(nèi)橫式D.物理模式
12.設(shè)有以下函數(shù)“voidfun(intn,char*s){…}”,則下列對函數(shù)指針的定義和賦值均正確的是()。
A.void(*pf)(int,char);pf=&fun;
B.void*pf();pf=fun;
C.void*pf();*pf=fun;
D.void(*pf)(int,char*);pf=fun;
13.
14.
15.有以下程序:
#include<stdio.h>
main()
{ints=0.n;
for(n=0;n<3;n++)
{switch(s)
{case0;
case1:s+=1;
case2:s+=2;break;
case3:S+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序運行后的輸出結(jié)果是()。
A.1,2,4,
B.1,3,6,
C.3,10,14,
D.3,6,10,
16.
17.若已知一個棧的入棧序列是1,2,3,......,n,其輸出序列為p1,p2,p3,..,pn,若p1=n-1,則pi可能為()
A.nB.n-iC.n-i+1D.不確定
18.以下敘述中錯誤的是()。
A.C程序中的#include和#define行均不是C語句
B.除逗號運算符外,賦值運算符的優(yōu)先級最低
C.C程序中,j++;是賦值語句
D.C程序中,+、-、*、/、%是算術(shù)運算符,可用于整型和實型數(shù)的運算
19.
20.數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,()沒有專門的軟件對數(shù)據(jù)進行管理。
I.人工管理階段
II.文件系統(tǒng)階段
Ⅲ.?dāng)?shù)據(jù)庫階段A.A.僅IB.僅ⅢC.I和IID.II和Ⅲ
二、2.填空題(20題)21.以下程序運行后的輸出結(jié)果是【】。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
22.在______個容量為32的循環(huán)隊列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊列中共有______個元素。
23.以下程序通過函數(shù)SunFun求這里f(x)=x2+1,由F函數(shù)實現(xiàn)。請?zhí)羁铡?/p>
main()
{printf("Thesum=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+=F(【】);
returns;
}
F(intx)
{return(【】);}
24.在面向?qū)ο蟮脑O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【】。
25.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
26.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
27.以下程序的輸出結(jié)果是【】。
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);
}
28.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
29.下列循環(huán)的循環(huán)次數(shù)是______。
intk=2;
while(k=0)
printf["%d",k);
k--;
printf("\n");
30.下列程序的輸出結(jié)果【】。
#definePR(ar)printf("ar=%d",ar)
main()
{intj,a[]={1,3,5,7,9,1l,13,1},*p=a+5;
for(j=3;j;j--)
switch(j)
{case1:
case2:PR(*p++);break;
case3:PR(*(--p));}}
31.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。
32.有以下程序:
#include<stdio.h>
main()
{charc;
while((c=getchar())!='?')putchar(--c);
}
程序運行時,如果從鍵盤輸入Y?N?<回車>,則輸出結(jié)果為【】。
33.棧和隊列通常采用的存儲結(jié)構(gòu)是【】。
34.在對文件進行操作的過程中,若要求文件的位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。
35.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置為A',例如:
#defineN4
voidrotate(inta()[N])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];
【】;
a[j][i]=t;
}
}
36.有以下程序:
voidfun(int*a,inti,intj)
{intt;
if(i<j)
{t=a[i];a[i]=a[j];a[j]=t;
i++;j--;
fun(a,i,j);
}
}
main()
{intx[]=(2,6,1,8),i;
fun(x,0,3);
for(i=0;i<4;i++)printf("%2d",x[i]);
}
程序運行后的輸出結(jié)果是【】。
37.如下圖所示的二叉樹后序遍歷序列是【】。
38.以下程序運行后,若輸入:3,abcde<回車>,則輸出結(jié)果是【】。
#include<stdio.h>
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(s);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
39.在關(guān)系模型中,二維表的行稱為______。
40.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
三、1.選擇題(20題)41.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是
A.c=(c-′A′)%26+′a′B.c=c+32C.c=c-′A′+′a′D.c=(′A′+c)%26-′a′
42.下列程序段的輸出結(jié)果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.languageB.lnugC.有語法錯誤D.lang
43.若有運算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序為()。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
44.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
45.設(shè)有定義:#defineSTR"12345";,則以下敘述中正確的是()
A.宏名STR代替的是數(shù)值常量12345
B.宏定義以分號結(jié)束,編譯時一定會產(chǎn)生錯誤信息
C.宏名STR代替的是字符串"12345";
D.宏名STR代替的是字符串常量"12345"
46.對專門從事數(shù)據(jù)庫管理、維護的人員,稱之為()
A.NBAB.DBAC.DMAD.DDS
47.當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是
A.scanf()B.getchar()C.gets()D.Setc()
48.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.以述說法都不對
49.在下列幾種排序方法中,要求內(nèi)存量最大的是______。
A.插入排序B.選擇排序C.快速排序D.歸并排序
50.設(shè)有以下聲明語句streetex{intx;floaty;charz;}example;則下面的敘述中不正確的是______。
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.example是結(jié)構(gòu)體類型名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類型
51.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定
52.設(shè)a=12、b=12345,執(zhí)行語句printf('%4d,%4d",a,b);的輸出結(jié)果為()
A.12,123B.12,12345C.121,234D.12,123456
53.有以F程序#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運行結(jié)果是
A.741B.963C.852D.875421
54.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′xa′,′\x8′};
55.下列敘述錯誤的是()。
A.在C語言中的保留字必須小寫
B.變量的存儲類型決定了變量的存儲位置及其生存期
C.宏定義以#define開頭,行末必須加分號
D.在C語言中的注釋行可以出現(xiàn)在程序的任何位置
56.有以下程序:main(){intk=5,n=0;while(k>0);{switch(k){default;break;case1:n+=k;case2;case3:n+=k;}k--;}printf("%d\n",n);}程序運行后的輸出結(jié)果是______。
A.0B.4C.6D.7
57.下列寫法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
58.下面語句的輸出結(jié)果是______。printf("/od\n",strlen("\t\"\065\xff\n"))
A.14B.8C.5D.輸出項不合法,無正常輸出
59.若有定義和語句()chars[10];s="abcd";printf("%s\n",s);則結(jié)果是(以下μ代表空格)
A.輸出abcdB.輸出aC.abcdμμμμμD.編譯不通過
60.下面函數(shù)的功能是()。sss(s,t)char*s,*t;{while((*s)&&(*t)&&(*t++==*s++));return(*s-*t):}
A.將字符串s復(fù)制到字符串t中B.比較兩個字符串的火小C.求字符串的長度D.將字符書s接續(xù)到字符串t中
四、選擇題(20題)61.有以下程序
#include"stdio.h"
#defineM(x,y)(x)*(y)
#defineN(x,y)(x)/(y)
main()
{inta=5,b=6,c=8,k;
k=N(M(a,b),c);
printf("%d\n",k);
}
程序的運行結(jié)果是
A.3B.5
C.6D.8
62.下列描述中正確的是()。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題
63.(67)數(shù)據(jù)處理的最小單位是()
A.數(shù)據(jù)
B.數(shù)據(jù)元素
C.數(shù)據(jù)項
D.數(shù)據(jù)結(jié)構(gòu)
64.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
65.(16)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名不屬于數(shù)據(jù)流圖合法圖符的是_____。
A.控制流
B.加工
C.數(shù)據(jù)存儲
D.源和潭
66.
67.設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
A.10101001B.10101000C.11111101D.01010101
68.“商品”與“顧客”兩個實體集之間的聯(lián)系一般是()。
A.一對一B.多對一C.一對多D.多對多
69.
有以下程序:
intfun(intx)
{intp;
if(x==0||x==1)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
執(zhí)行后的結(jié)果是()。
A.7B.3C.2D.0
70.已知字符‘A’的ASCII代碼值是65,字符變量cl的值是‘A’,c2的值是‘D’。則執(zhí)行語句printf(”%d,%d”,cl,c2—2);的輸出結(jié)果是()。
A.65,68B.A,68C.A,BD.65,66
71.
72.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
73.
74.
75.下列程序的輸出結(jié)果是()。
char*p1="abcd",*p2="ABCD",str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A.xyabcABB.abcABzC.ABabczD.xycdBCD
76.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.差C.交D.并
77.
78.有以下程序:
程序運行后的輸出結(jié)果是()。
A.16B.1C.32D.0
79.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
80.在黑盒測試方法中,設(shè)計測試用例的主要根據(jù)是()。
A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的n個元素按從大到小的順序進行排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.請編寫函數(shù)proc(),其功能是:計算并輸出下列多項式值。S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)例如,若輸入10,則輸出為S=3.597740。n的值要求大于1但不大于100。注意:部分源程序給出如下。請勿改動函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.A
2.A解析:從軟件開發(fā)的工程化觀點來看,在使用程序設(shè)計語言編制程序以前,需要對所采用算法的邏輯關(guān)系進行分析,設(shè)計出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。詳細(xì)設(shè)計的任務(wù)就是要決定各個模塊的實現(xiàn)算法,并精確表達(dá)出這些算法。本題正確答案為選項A。
3.D
4.C
5.D解析:選項A、選項B和選項C都是在a的值為0的時候輸出y,a不為0的時候輸出x,而選項D是在a為0的時候輸出x,a不為0的時候輸出y。所以,4個選項中選項D符合題意。
6.C由圖所知,其中,C中只有一個屬性,是除操作。
7.C
8.D解析:C語言規(guī)定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項的這種形式在C語言中沒有,所以選項D)正確.
9.D
10.CC。【解析】E—R(Entity—Relationship)圖為實體一聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。
11.B解析:數(shù)據(jù)庫管理系統(tǒng)的三級模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。夕模式,或子模式,或用戶模式,是指數(shù)據(jù)庫用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式,或邏輯模式,是數(shù)據(jù)庫中對全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。外模式是模式的—部分。內(nèi)模式,或存儲模式,或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲介質(zhì)上的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存取力式的描述。
12.D函數(shù)的參數(shù)可以是指針類型,它的作用是將一個變量的地址傳送到另一個函數(shù)中。函數(shù)名代表函數(shù)的入口地址,指向函數(shù)的指針應(yīng)該定義為“void(*Pf)();”。如果定義為“void*pf();”,則表示函數(shù)pf的返回值是一個基類型為void的指針。故本題答案為D選項。
13.A
14.A
15.C\n本題考查switch…ease語句,在本題的程序中,只有在case2:s=s+2;break;,才有break語句,所以當(dāng)s=0時會執(zhí)行s=s+1;s=s+2;,所以s=3,當(dāng)s=3時,會執(zhí)行s=s十3;s=s+4;,所以s=10,依此類推,答案選擇C。
\n
16.D
17.D
18.D解析:“%”是求余運算符,其兩側(cè)的數(shù)值只能為整型,不能用于實型數(shù)據(jù)的運算。
19.C
20.A數(shù)據(jù)管理技術(shù)發(fā)展的蘭個階段中,只有人工管理階段,沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。在文件系統(tǒng)階段,操作系統(tǒng)中已經(jīng)有了專門數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。在數(shù)據(jù)庫系統(tǒng)階段,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。
21.1371513715解析:本題中,定義了一個整型數(shù)組n并初始化,在for循環(huán)語句中,再對數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時,n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語句,使后一個數(shù)為前一個數(shù)的2倍加1。所以最后輸出為1、3、7、15。
22.3131解析:設(shè)隊列容量為m,如果:rear>front,則隊列中元素個數(shù)為rear-front;如果rear<front,則隊列中元素個數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
23.xx*x+1或1+x*xx\r\nx*x+1或1+x*x解析:題目中要求從x=0開始將f(x)的值累加起來,直到x=10。在SunFun()函數(shù)中用了一個for循環(huán),每循環(huán)一次將f(x)累加到s中,所以在本題的第一個空格處我們應(yīng)該填x,然后x+1,共循環(huán)10次。F()函數(shù)的功能應(yīng)該是求數(shù)學(xué)表達(dá)式f(x)的值,所以其返回值應(yīng)該為x*x+1。
24.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請求對象執(zhí)行某一處理或回答某些信息的要求。
25.jj解析:在C程序中的字符量可參與任何整數(shù)運算。
26.概念(或概念級)概念(或概念級)
27.2424解析:本題程序定義了一維數(shù)組p,有七個數(shù)組元素,整型變量i,j初值分別為0,當(dāng)while的條件表達(dá)式(i<7&&p[i]%2=1)的值為真時,執(zhí)行語句j+=p[i++];,如:當(dāng)i=0時,i<7為真,p[i]%2=11%2=1,表達(dá)式(p[i]%2=1)的值為真,所以接個表達(dá)式(i<7&&p[i]%2=1的值為真,執(zhí)行j=j+p[i++]=0+11=11,i=1;,依此類推可以得出答案24。
28.101091101091解析:for(表達(dá)式1;表達(dá)式2:表達(dá)式3)語句的功能是:首先計算表達(dá)式1的值,然后檢測表達(dá)式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達(dá)式3的值。然后再檢測表達(dá)式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán):第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。
29.00解析:解答本題需要注意表達(dá)式“k=0”,它是賦值表達(dá)式而不是關(guān)系表達(dá)式,不論k為何值,表達(dá)式k=0總會使k為0,所以不能進入循環(huán)。
30.ar=9ar=9ar=11ar=9ar=9ar=11解析:本題綜合考查了for循環(huán),switch語句及宏替換等幾個知識點。j=3時,執(zhí)行PR(*(--p));輸出數(shù)組元素a[4]的值;j=2時,執(zhí)行PR(*p++);取出p所指位置的元素a[4],然后p++;當(dāng)j=1時,執(zhí)行PR(*p++);取得是數(shù)組元素a[6]的值11。
31.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根
32.XX解析:程序是從鍵盤緩沖區(qū)循環(huán)接收字符,并輸出接收到的字符在ASCII碼表中的前一個字符,直到接收到‘?’為止。
33.鏈?zhǔn)酱鎯晚樞虼鎯︽準(zhǔn)酱鎯晚樞虼鎯?/p>
34.rewind()或fseek()rewind()或fseek()
35.j<ia[i][j]=a[j][i]j<i\r\na[i][j]=a[j][i]解析:本題中要求將n行n列的矩陣A轉(zhuǎn)置,即讓數(shù)組中行上的元素變成對應(yīng)列上的元素。即把對角線兩邊的元素對換,所以本題的第一個空格處應(yīng)該填寫j<i,第二個空格處填寫交換對角線兩邊的元素的語句a[i][j]=a[j][i]。
36.81628162解析:第一次調(diào)用函數(shù)fun時,x[0]=2、xL1]=6、x[2]=1、x[3]=8,執(zhí)行完函數(shù)fun后,x[0]與x[3]的值互換,即x[0]=8、x[1]=6、x[2]=1、x[3]=2;第二次調(diào)用函數(shù)fun時,i=1、j=2,故將x[1]與x[2]的值互換,即得x[0]=8、x[1]=1、x[2]=6、x[3]=2。
37.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序為:后序遍歷左子樹→后序遍歷右子樹→訪問根結(jié)點。按照定義,后序遍歷序列是GDBHIEFCA。
38.cdeabcdeab解析:程序中的move函數(shù)的作用是保存輸入數(shù)組中的最后一個元素,然后從最后一個數(shù)組元素開始,依次向后移動一個位置,再把保存的最后一個元素置于首位,循環(huán)次數(shù)由n控制。輸入3,abcde<回車>后主函數(shù)開始執(zhí)行,其中n=3,s[50]={'abcde'},z=5。第一次循環(huán),i=1時,調(diào)用move(s,5)函數(shù),temp=str[4]語句把數(shù)組中最后一個元素\'e\'保存在temp中,然后i從4開始循環(huán),將str[3](字符\'d\')賦給str[4],str[2](字符\'c\')賦給str[3],……,循環(huán)結(jié)束時str所指字符串為'aabcd',再將保存在temp中的\'e\'置于首位,字符串變?yōu)?eabcd';i=2時,調(diào)用move函數(shù),字符串為'deabc';i=3時,調(diào)用move函數(shù),字符串為'cdeab'。最后輸出結(jié)果為'cdeab'。
39.元組元組解析:在關(guān)系型數(shù)據(jù)庫中,用二維表來表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
40.str[i]或str+iistr[i]或str+i\r\ni
41.D解析:C語言中,字符數(shù)據(jù)參加運算時,實際上是其ASCII碼參與運算。大寫字母的ASCII碼比其對應(yīng)的小寫字母的ASCII碼小32。因此大寫字母轉(zhuǎn)化為小寫字母只需將其加上32即可。所以選項B)、C)都符合條件,因為變量c中存儲的是大寫字母,所以'c-\'A\''的值一定小于26,故選項A)與選項C)的含義相同。
42.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址。
第1次for循環(huán),p=a,p指向數(shù)組的第1個元素,*p是取指針p所指地址的內(nèi)容,輸出1;第2次for循環(huán),p=p+2,則p指向數(shù)組的第3個元素,*p是取指針p所指地址的內(nèi)容,輸出n;第3次for循環(huán),p=p+2,則p指向數(shù)組的第5個元素,*p是取指針p所指地址的內(nèi)容,輸出u;第4次for循環(huán),p=p+2,則p指向數(shù)組的第7個元素,*p是取指針p所指地址的內(nèi)容,輸出g,結(jié)束循環(huán)。
43.D解析:主要考查運算符的優(yōu)先級。sizeof的優(yōu)先級最高,后面的順序是:%、<<、>,優(yōu)先級最低的是“=”。
44.C解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型常量,也可以是整型表達(dá)式。
45.C
46.B
47.C解析:本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會將空格視為分隔符,getchar函數(shù)只能輸入單個字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過gets函數(shù)輸入字符串時,輸入的空格被認(rèn)為是字符串的一個字符。
48.C解析:對字符型一維數(shù)組在定義時初始化,既可以使用初始化列表,也可以使用字符串常量。不過由于字符串常量會自動在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項個數(shù)是字符串的長度加1。因此題目中的chara[]='xyz';等價于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長度大于b數(shù)組長度,應(yīng)該選C。
49.D解析:快速排序的基本思想是,通過一趟排序?qū)⑴判蛴涗浄指畛瑟毩⒌膬刹?/p>
分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對這兩部分記錄繼
續(xù)進行排序,以達(dá)到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依
次插入到已經(jīng)有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整
個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對剩
下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個或兩個以上的有序表組合
成一個新的有序表。
注意:各種排序方法實現(xiàn)過程及實現(xiàn)機制。
50.B解析:example是結(jié)構(gòu)體變量名。
51.D解析:在C語言的標(biāo)準(zhǔn)中,short占2個字節(jié)、long占4個字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個字節(jié)。故本題應(yīng)該選擇D。
52.B
53.C解析:本題考查變量的自加“++”和自減“--”問題。當(dāng)y的值為9、6或3時,if語句的條件成立,執(zhí)行輸出語句,輸出表達(dá)式--y的值,y的自減要先于輸出語句執(zhí)行,故輸出結(jié)果為852。
54.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項B)中定義有5個元素,但賦值時有6個元素,所以是錯誤的。
55.C解析:本題涉及C語言最基本的4個知識點:①C語言的保留字必須小寫;②變量的存儲類型不同,其存儲位置和生存期也不一樣:③C語言允許其注釋部分出現(xiàn)在程序中的任何位置;④宏定義以#define開頭,行末不需要加分號。
56.D解析:在switch語句中,若case語句后沒有break語句,則執(zhí)行完本層case后會繼續(xù)執(zhí)行后面case中的操作。k的初值為5,while條件成立,進入switch(5),執(zhí)行default語句,退出switch,執(zhí)行k--后得4,再進入while循環(huán),執(zhí)行switch(4),退出switch,再執(zhí)行k--后得3,繼續(xù)while循環(huán),執(zhí)行switch(3),n=n+k=3,再執(zhí)行k--后得2,進入while循環(huán),執(zhí)行case2,再執(zhí)行n=n+k=5,然后執(zhí)行k--后得1,最后一次進入while循環(huán),執(zhí)行case1,n=n+k=6,然后繼續(xù)執(zhí)行case2和case3后的語句,n=n+k=7,且執(zhí)行k--后得0,此時while條件不滿足,退出循環(huán),輸出n的值為7。
57.D解析:本題考查語句的基本構(gòu)成。選項A)中j=5后面少了一個分號:選項B)中少了“}”;選項C)不是一個完整的函數(shù)定義格式,一個完整的函數(shù)定義格式還包括一對花括號:選項D)正確,是一個空語句。
58.C解析:在C語言中,以“\\”開頭的字符均為轉(zhuǎn)義字符,其中“\\”后可跟1~3位八進制數(shù)或在“\\”后跟字母x及1~2位十六進制數(shù),以此來代表一個特定的字符。
59.D
60.B
61.A帶參數(shù)的宏定義的一般形式為#define宏名(參數(shù)表)字符串。題目中定義了兩個宏“#defineM(x,y)(x)*(y)”、“#defineN(x,y)(x)/(y)”,即可以用M(x,y)表示(x)*(y)運算,N(x,y)表示(x)/(y)運算。主函數(shù)main中關(guān)鍵是計算k=N(M(a,b),c),根據(jù)前述的宏,有k=a*b/c,計算后有k=30/8,取整后得到3。
62.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護計算機軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進度無法控制、軟件質(zhì)量難以保證、軟件不可維護或維護程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國埋地管道重防腐靜電噴涂設(shè)備數(shù)據(jù)監(jiān)測研究報告
- 統(tǒng)編版二年級語文下冊第八單元達(dá)標(biāo)測試卷(含答案)
- 上海市曹楊二中2024-2025學(xué)年高二上學(xué)期期末考試化學(xué)試卷(含答案)
- 遼寧省鞍山市高新區(qū)2024-2025學(xué)年九年級下學(xué)期開學(xué)考試化學(xué)試題(含答案)
- 技校汽車底盤試題及答案
- 3 2025年耳鼻喉科相關(guān)疾病試題
- 色彩生命測試題及答案
- 遺產(chǎn)繼承分配方案合同
- 高等教育自學(xué)考試《00065國民經(jīng)濟統(tǒng)計概論》模擬試卷一
- 2025年度主管護師考試專項復(fù)習(xí)試題庫70題及答案(四)
- 部隊花樣主食培訓(xùn)課件
- 駕駛員安全培訓(xùn)(客運)-駕駛員職業(yè)道德
- 二《市場調(diào)查》(課件)-【中職專用】高二語文同步課件(高教版2023·職業(yè)模塊)
- 安全總監(jiān)安全教育培訓(xùn)課件
- 主動脈球囊反搏術(shù)患者的護理查房
- 說課的技巧和方法專題講座
- 新概念英語1一課一練全冊1-144課
- 教師專業(yè)發(fā)展與教育教學(xué)質(zhì)量提升的關(guān)系研究
- SolidWorks 2020 建模與仿真 課件全套 第1-6章 SolidWorks 2020 入門-動畫與仿真
- 微生物技術(shù)發(fā)展史(食品微生物課件)
- 養(yǎng)老護理技術(shù)操作規(guī)范及評分標(biāo)準(zhǔn)
評論
0/150
提交評論