版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年廣東省韶關市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.采用開放定址法處理散列表的沖突時,其平均查找長度()
A.高于二分查找B.高于鏈接法處理沖突C.低于二分查找D.低于鏈接法處理沖突
2.若有定義int(*pt)[3];,則下列說法正確的是A.定義了基類型為int的三個指針變量
B.定義了基類型為int的具有三個元素的指針數(shù)組pt
C.定義了一個名為*pt、具有三個元素的整型數(shù)組
D.定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組
3.
4.有以下程序:#include<stdio.h>main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf(“%d\n”,c);}程序的運行結果是()。
A.1B.2C.3D.4
5.以下選項中,能表示邏輯值“假”的是()
A.1B.0.000001C.0D.100.0
6.以下可以正確且安全地用作用戶標識符的一組選項是()。
A._32int,long64B.Switch,unsignedC.Abc,getchD.3break,enter
7.以下選項中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
8.以下敘述中正確的是A.局部變量說明為static存儲數(shù),其生存期將得到延長
B.全局變量說明為static存儲類,其作用域將被擴大
C.任何存儲類的變量在未賦初值時,其值都是不確定的
D.形參可以使用的存儲類說明符與局部變量完全相同
9.假定X和Y為double型,則表達式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
10.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf('%d,%d\n",m,i);}執(zhí)行后的輸出結果是()。
A.8,6B.8,3C.6,4D.7,4
11.
12.設有表示學生選課的三張表,學生s(學號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學號,課號,成績),則表sc的關鍵字(鍵或碼)為()。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
13.設x、y和z是int型變量,且x=4,y=6,z=8,則下列表達式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
14.下列可用于C語言用戶標識符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
15.若以下選項中的變量已正確定義,則正確的賦值語句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
16.有以下程序:
程序運行后的輸出結果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
17.已知有如下結構體:structsk{inta;floatb;}data,*p;若有P=&data,則對data的成員a引用正確的是()。A.(*p).data.aB.(*p).a;C.p->data.aD.p.data.a
18.
19.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}
A.1B.10C.6D.死循環(huán),不能確定次數(shù)
20.圖的BFS生成樹的樹高比DFS生成樹的樹高()
A.小或相等B.小C.大或相等D.大
二、2.填空題(20題)21.以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結果傳回,請?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
22.當數(shù)據(jù)的物理結構(存儲結構)改變時,不影響數(shù)據(jù)庫的邏輯結構,從而不致引起應用程序的變化,這是指數(shù)據(jù)的【】。
23.設x、y、z均為int型變量,請寫出描述“x或y中至少有一個小于z”的表達式______。
24.在面向對象方法中,()是具有相似性質的對象的集合。
25.關系操作的特點是______操作。
26.數(shù)據(jù)流圖的類型有【】和事務型。
27.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內部級模式與外部級模式。
28.在使用putchar和getchar函數(shù)處理字符時,必須在程序的開頭出現(xiàn)包含頭文件的命令行是【】。
29.在先左后右的原則下,根據(jù)訪問根結點的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
30.已知字符A的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>,則輸出結果是
【】。
#include<stdio.h>
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
31.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護期,詳細設計屬于______中的一個階段。
32.數(shù)據(jù)模型按不同應用層次分成3種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
33.以下定義的結構體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結構體的指針,請將定義補充完整。
structnode
{intinfo;
【】link;};
34.下面程序執(zhí)行后輸出的結果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
35.在______個容量為32的循環(huán)隊列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊列中共有______個元素。
36.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。
strcen(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;
return(num);
}
37.下列程序中的數(shù)組a包括10個整數(shù)元素,分別將前項和后項之和存入數(shù)組b,并按每行4個元素輸出數(shù)組b。請?zhí)羁铡?/p>
#include<stdioh>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(i;0;i<9;i++)
{if(i%4==0)primf("\n");
printf("%3d",b[i];
}
}
38.以下函數(shù)的功能是求x的y次方,請?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
39.下列程序用來將從鍵盤上輸入的2個字符串進行比較,然后輸出2個字符串中第1個不相同字符的ASCII碼之差。例如,輸入的2個字符串分別為abcdef和abceef,則輸出為-1。
#include
main()
{charstr[100],str2[100],c;
inti,s;
printf("\ninputstring1:\n");gest(str1);
printf("\ninputstring2:\n");gest(str2);
i=0;
while((strl[i]==str2[i]&&(strl[i]!=【】))
i++;
s=【】;
printf(.%d\n",s);
40.現(xiàn)有兩個C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:
#include<stdio.h>
#include"myfun.c"
main()
{fun();printf("\n");}
myfun.c文件如下:
voidfun()
{chars[80],c;intn=0;
while((c=getchar())!=′\n′)s[n++]=c;
n--;
while(n>=0)printf("%c",s[n--]);
}
當編譯連接通過后,運行程序T18時,輸入Thank!,則輸出結果是【】。
三、1.選擇題(20題)41.有定義語句:chars[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
42.在以下給出的表達式中,與while(E)中的(E)不等價的表達式是()。
A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)
43.以下程序執(zhí)行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}
A.252B.1C.0D.運行時出錯,x無定值
44.以下程序的功能是進行位運算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序運行后的輸出結果是______。
A.43B.73C.70D.40
45.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結果是______。
A.正數(shù)B.負數(shù)C.零D.不確定的值
46.下面程序輸出的結果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
47.下面是對宏定義的描述,不正確的是______。
A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型
B.宏替換不占用運行時間
C.宏替換時先求出實參表達式的值,然后代入形參運算求值
D.宏替換只不過是字符替代而已
48.以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價的是()。
A.if((a>b)&&(b>c))k=1;
B.if((a>b)||(b>c))k=1;elsek=0;elsek=0;
C.if(a<=b)k=0;
D.if(a>b)k=1;elseif(b<=c)k=1;elseif(b>c)k=1;elsek=0;
49.數(shù)據(jù)庫設計包括兩個方面的設計內容,它們是()
A.概念設計和邏輯設計B.模式設計和內模式設計C.內模式設計和物理設計D.結構特性設計和行為特性設計
50.若有說明chart;,下列表達式不正確的是______。
A.t=97B.t='a'C.t="a"D.t='a'+'b'
51.若要說明一個類型名STP,使得定義語句STPs;等價于char*s;,以下選項中正確的是A.typedefSTPchar*s;
B.typedef*charSTP;
C.typedefSTP*char;
D.typedefchar*STP;
52.在printf函數(shù)中用來輸出十六制無符號的格式字符是()
A.d格式符B.x格式符C.u格式符D.o格式符
53.在深度為5的滿二叉樹中,葉子結點的個數(shù)為A.32B.31C.16D.15
54.下列程序的輸出結果是()。#include<stdio.h>intfun(intx){inta;if(x==0‖x==1)return3;elsea=x-fun(x-2);returna;}voidmain(){printf("%d",fun(7));}
A.2B.8C.9D.5
55.字符串"\\\"ABCDEF\"\\"的長度是()。
A.15B.10C.7D.8
56.以下關于long、int和short類型數(shù)據(jù)占用內存大小的敘述中正確的是(),
A.均占4個字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定
57.在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的()
A.連接碼B.關系碼C.外碼D.候選碼
58.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序B.模塊之間的調用關系C.數(shù)據(jù)的流向D.程序的組成成分
59.在軟件開發(fā)中,下面任務不屬于設計階段的是______。
A.數(shù)據(jù)結構設計B.給出系統(tǒng)模塊結構C.定義模塊算法D.定義需求并建立系統(tǒng)模型
60.在下列關于二叉樹的敘述中,正確的一項是
A.在二叉樹中,任何一個結點的度都是2
B.二叉樹的度為2
C.在二叉樹中至少有一個結點的度是2
D.一棵二叉樹的度可以小于2
四、選擇題(20題)61.
62.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。
A.if(a>b)(b>c)k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b>c)k=1;
D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:
63.
下列程序執(zhí)行后的輸出結果是()。
main
{inta[3][3],*p,i};
p=&a[0][0];
for(i=p;i<9;i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
A.3B.6C.9D.隨機數(shù)
64.有以下程序:
程序運行后的輸出結果是()。
A.2344B.4332C.1234D.1123
65.
下列程序的輸出結果是()。
#include<stdio.h>
main
{structst
{inty,x,z;
};
union
{longi;
intj;
chark;
}un;
printf("%d,%d\n",sizeof(structst),sizeof(un))
}
A.6,2B.6,4C.8,4D.8,6
66.有三個關系R、S和T如下:
則由關系R和s得到關系T的操作是()。
A.自然連接B.差C.交D.并
67.
68.以下關于邏輯運算符兩側運算對象的敘述中正確的是()。
A.可以是任意合法的表達式B.只能是整數(shù)0或非0整數(shù)C.可以是結構體類型的數(shù)據(jù)D.只能是整數(shù)0或1
69.若變量已正確定義并賦值,下面符合C語言要求的表達式是
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
70.
有以下結構說明和變量定義,指針p、q、r分別指向鏈表中的3個連續(xù)結點。
structnode
{intdata;structnode*next;)*p,*q,*r;
現(xiàn)要將q所指結點從鏈表中刪除,同時要保持鏈表的連續(xù),以下不能按要求完成操作的語句是()。
A.p->next=q->next;
B.P-next=P->next->next;
C.p->next=r;
D.p=q->next;
71.有以下程序
main()
{
intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<8;i++)
printf("%d",x[i]);
printf("\n");
}
程序運行后的輸出結果是
A.75310246B.01234567
C.76310462D.13570246
72.C語言中,合法的字符串常量是()。
A."M"B.\tC.100D.MUST
73.語句“printf("akbre"\'hi\'y\\\bou\n")”;的輸出結果是()。
A.akbre\'hi\'y'\\\bou
B.a\bre\'hi\\y\bou
C.re'hi'you
D.abre'hi'y\bou
74.
75.有以下程序:
程序運行后的輸出結果是()。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
76.有以下函數(shù)定義:
voidfun(intn,doublex){……}
若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun正確調用的語句是
A.fun(inty,doublem);B.k=fun(10,12.5);
C.fun(x,n);D.voidfun(n,x);
77.下列程序的輸出結果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8
78.以下關于結構化程序設計的敘述中正確的是()。
A.一個結構化程序必須同時由順序、分支、循環(huán)三種結構組成
B.結構化程序使用goto語句會很便捷
C.在C語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
D.由三種基本結構構成的程序只能解決小規(guī)模的問題
79.若x,i,j和k都是int型變量,則計算表達式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
80.結構化程序設計的3種結構是()。
A.順序結構、選擇結構、轉移結構
B.分支結構、等價結構、循環(huán)結構
C.多分支結構、賦值結構、等價結構
D.順序結構、選擇結構、循環(huán)結構
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun()的功能是:用遞歸算法計算斐波拉契數(shù)列中第n項的值。從第l項起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項的斐波拉契數(shù)值為13。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)proc(),它的功能是:除了尾部的*號之外,將字符串中其他*號全部刪除。形參P已指向字符串中最后一個字母。在編寫函數(shù)時,不得使用C語言的字符串函數(shù)。例如,若字符串中的內容為****a*bc*def*g****,刪除后,字符串中的內容應當是abcdefg****。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。試題程序:
參考答案
1.B
2.D解析:定義了一個指向一維數(shù)組的指針,該一維數(shù)組具有三個int型元素,按照C語言中二維數(shù)組的定義知,二維數(shù)組先按照行排列,再按照列排列,故選D。
3.D
4.C該程序中“int*p1=&a,*p2=&b,*p=&c;”定義了3個指針變量,并賦值。指針變量p1指向a,p2指向b,p指向c。執(zhí)行“*p=*p1*(*p2);”語句,給p所指的存儲單元c賦值。p1所指的存儲單元的值,與p2所指的存儲單元b的值相乘,也就是c=a*b,等價于c=1*3=3。故本題答案為C選項。
5.C\n本題考查邏輯值假,在程序中非0字符表示邏輯真,0表示邏輯假,所以答案選擇C。
\n
6.AC語言中,合法的標識符由字母、數(shù)字和下劃線組成,并且第1個字符必須是字母或下劃線。選項D中的“3break”錯誤;用戶標識符不能是C語言中的關鍵字或函數(shù),選項B中的“unsigned”是關鍵字,不是合法的用戶標識符,“Switch”是合法的用戶標識符;選項C中的“getch”是庫函數(shù)名,不是合法的用戶標識符,而C語言區(qū)分字母大小寫,“Abc”是合法的用戶標識符;選項A中的兩個標識符都是合法的用戶標識符。故本題答案為A選項。
7.C解析:C語言中字符常量是以單引號括起來的單個字符,或為以“\\”與三位八進制數(shù)值或兩位十六進制數(shù)值代替單個字符。
8.A解析:全局變量說明為static存儲類,其生命周期將得到延長,但作用域不能被擴大;static存儲類變量在未賦初值時,是有默認值的,形參中的存儲類說明符與局部變量完全相同。
9.D本題考查C語言中變量類型的轉換。
C語言中若參與運算的變量的數(shù)據(jù)類型不同,則先轉換成同一類型,然后進行運算。轉換數(shù)據(jù)始終往長度增加的方向進行,以確保精確度,如int和long運算,則將int轉換為long再運算,所有的浮點運算都是以雙精度(double)進行的。
題目中x、y都為double型數(shù)據(jù),而表達式3/2為兩個整型變量之間的計算,計算結果只保留整數(shù)部分,小數(shù)部分省略掉。3/2的結果為1。后面變?yōu)橛嬎銀=x+1,這時都需要變?yōu)閐ouble型數(shù)據(jù),結果為3.000000。
10.C解析:本題考查的知識點是運算符的優(yōu)先級.在復合賦值語句中,應該由右向左依次賦值,在表達式中,右端由i*=k得i=2*2為4,k=k+i,即k值為6,m=k故m=6.所以4個選項中C正確。
11.A
12.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C項。
13.D本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯1時,表達式返回值才是1;“||”的兩個運算對象至少有一個是邏輯1時,表達式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
14.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下畫線3種字符組成,且第一個字符必須為字母或下畫線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。
15.C解析:賦值的一般形式為:變量名:表達式;,賦值的方向為由右向左,即將:右側表達式的值賦給:左側的變量,執(zhí)行步驟是先計算再賦值。選項A中運算符%的運算對象必須為整數(shù),而選項A中26.8不為整數(shù),故選項A不正確;選項B將一個變量賦值給一個常量,這在C語言中是不允許的,故選項B不正確;選項D中也是將一個常量3賦值給一個常量,故選項D不正確;所以,4個選項中選項C符合題意。
16.B該程序首先給一維數(shù)組賦值,然后三次調用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個元素和第4個元素互換,第2個元素和第3個元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個元素和第10個元素互換,第6個和第9個元素互換,第7個元素和第8個元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個元素和第10個元素互換,第2個元素和第9個元素互換……依此類推。因此B選項正確。
17.B本題主要考查結構指針:P=&data,訪問結構體的成員。它可以通過結構變量訪問,即data,可以用等價的指針形式:(*p).a和P->a來訪問結構體變量中的成員。
18.B
19.D解析:break語句只能在循環(huán)體和switch語句體內使用,當break出現(xiàn)在switch語句體內時,其作用只是跳出該switch語句體。當break出現(xiàn)在循環(huán)體中,但不在switch語句體內時,則在執(zhí)行break后,跳出本層循環(huán)體.而continue語句的作用是結束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號內表達式的值為真,執(zhí)行循環(huán)體內的if語句,判斷if后面括號內表達式的值為真,執(zhí)行“continue;”語句.因continue的作用是結束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語句也仍然成立,因此循環(huán)將無止境地進行下去。所以,4個選項中D為所選。
20.A
21.int*int*解析:從題中代碼可知:z應該是一個整型指針,因此應填int*。
22.物理獨立性數(shù)據(jù)獨立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨立于應用程序而不依賴于應用程序。也就是說,數(shù)據(jù)的邏輯結構、存儲結構與存取方式的改變不會影響應用程序。數(shù)據(jù)獨立性一般分為物理獨立性與邏輯獨立性兩級。
23.x<z‖y<zx<z‖y<z解析:本題考查邏輯運算符和邏輯表達式。x或y中至少有一個小于z,即x<z或y<z,是“或”的關系。
24.類類解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同操作性質的對象的集合,是已經定義了的關于對象的特征、外觀和行為的模板。所以類是對象的抽象,它描述了屬于該對象類型的所有對象的性質,而一個對象則是其劃應類的一個實例。
25.集合集合
26.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內部形式,進入系統(tǒng)的信息通過變換中心,經加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務。
27.概念(或概念級)概念(或概念級)
28.#include"stdio.h"#include'stdio.h'解析:使用putchar和getchar函數(shù)時,必須在程序的開頭出現(xiàn)包含頭文件#include'stdio.h'的命令行。putchar的函數(shù)調用形式為:putchar(字符變量或字符常量);getchar函數(shù)的調用形式為:變量=getchar();getchar后的一對圓括號內沒有參數(shù),但這一對圓括號不可少。
29.中序中序解析:在先左后右的原則下,根據(jù)訪問根結點的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結點、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹:并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。后序遍歷指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結點,最后遍歷左子樹;并且遍歷左、右子樹時,仍然光遍歷右子樹,然后訪問根結點,最后遍歷左子樹。
30.1B1B解析:從鍵盤輸入后,a='B',b=33,之后進行運算,a='B'-'A'+'0'='1';b=33*2=66。C語言規(guī)定,整型和字符型可以相互轉換,已知字符A的ASCII碼值為65,所以字符B的ASCII碼值為66,所以b='B',最后以字符形式輸出a和b,所以輸出為1B。
31.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個時期共8個階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設計、詳細設計、編碼和測試)、軟件維護期(即運行維護階段)。
32.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)是現(xiàn)實世界符號的抽象,而數(shù)據(jù)模型(datamodel)則是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束行為,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個抽象的框架。數(shù)據(jù)模型按不同的應用層次分成3種類型,它們是概念數(shù)據(jù)模型(conceptualdatamodel)、邏輯數(shù)據(jù)模型(logicdatamodel)、物理數(shù)據(jù)模型(physicaldatamodel)。
33.structnode*structnode*解析:本題中的結構類型名為structnode,所以空白處應填:structnode*。即定義一個指向自身的結構體指針。
34.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應取外部變量的值13,因此輸出2。
35.3131解析:設隊列容量為m,如果:rear>front,則隊列中元素個數(shù)為rear-front;如果rear<front,則隊列中元素個數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
36.\0'n++\\0'\r\nn++解析:第1個循環(huán)是求字符串a的長度,并存儲在變量num中,循環(huán)條件要控制是否取到字符串末尾的'\\0'。第2個循環(huán)通過兩個變量num和n的改變,將b字符串連接到a字符串后面,并將新的字符串長度記錄到num中。
37.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[i+1]值相加后的值賦予數(shù)組b中元素b[i]小即可實現(xiàn)將一個數(shù)組的前項和后項之和存入另一數(shù)組。
38.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說明語句;
執(zhí)行語句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
39.\0'strl[i]-str2[i]
40.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。
41.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個值的表達式。
42.C解析:題目中的while(E)循環(huán)是當E等于0時,循環(huán)結束,E不等于0時,繼續(xù)循環(huán)。選項C中,當E等于0時,表達式“E==0”為真繼續(xù)循環(huán),而E不等于。時,表達式為假循環(huán)結束,這與題目中的條件不等價,故應該選擇C。
43.C解析:指針變量m和z分別指向整型變量y和i,所以這兩個指針變量中存儲的地址是不同的。變量x接受的是一個關系運算的結果,因為兩個地址是不同的,所以“z=y”的判斷結果為0。注意:C語言中,邏輯值的表示方法。
44.A解析:a=7^3=00000111^00000011=00000100=4;b=~4&3=~00000100&00000011=11111011&00000011=00000011=3
45.A解析:本題考查字符串比較函數(shù)strcmp()的應用。strcmp(s1,s2)是中比較函數(shù),當s1>s2時返回值為正數(shù),當s1<s2時返回值為負數(shù),當s1=s2時返回值為零。本題中s1,s2分別表示兩個串中第一個字符的地址,s1++和s2++是將指針指向串的第二個字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個字符串相應位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
46.A解析:本題考查的是算術運算符的各種運算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正確答案為選項A)。
47.C解析:宏替換實質上就是字符替代,它不可能進行計算,故C錯誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經將代碼替換到程序內,執(zhí)行時不會產生類似于函數(shù)調用的問題,可以說不占用運行時間。
48.A解析:條件運算符“?:”是三目運算符,運算規(guī)則為如果?前面的表達式的值為真,則?。呵氨磉_式的值,否則,取:后面表達式的值。分析題目中給出的表達式可知,如果a>b成立則表達式的值為表達式b>c?1:0的值,如果b>c成立,則該表達式的值為1,即a>b和b>c同時成立時,k=1。當b>c不成立時,k=0;當a>b不成立時,k=0,即a>b和b>c不能同時成立時,k=0。選項A符合題意。
49.A解析:模式設計和內模式設計是概念設計的兩種方法。物理設計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結構和存取方法進行設計,從而實現(xiàn)從邏輯結構到物理結構的轉換。從系統(tǒng)開發(fā)的角度來看,結構特性設計和行為特性-設計是數(shù)據(jù)庫應用系統(tǒng)所具有的兩個特性。結構特性的設計,設計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
50.C解析:選項A將97作為ASCII碼值(小寫字母a的ASCII碼值)賦給字符變量t。選項D將字符a和字符b的ASCII碼值的和賦給變量t。選項B是將字符a的ASCII碼值賦給變量t,也是正確的。選項C中的“a”是字符串常量,不是字符常量。
51.D解析:指針類型的自定義的形式如下:typedef類型說明符*用戶類型名。不難看出只有選項D是正確的定義形式。所以,D選項為所選。
52.B
53.C2(n-1)
=2(5-1)=16
54.A解析:本題考查函數(shù)的遞歸調用。
在函數(shù)遞歸調用時,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→fun(5):a=5-0=5→fun(7):a=7-5=2,最后的計算結果為2。
55.B解析:本題涉及字符串最基本的兩個概念:①字符串的長度是指字符串中字符的個數(shù),但不包括字符串結束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉換成特定的含義,而不是原來的含義,不包含在字符串長度之內,“\\”連同后面的字符為一個長度。
56.D解析:在C語言的標準中,short占2個字節(jié)、long占4個字節(jié),但int的大小和編譯系統(tǒng)相關。例如在Turbo\u3000C\u30002.0中,int占2個字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個字節(jié)。故本題應該選擇D。
57.DD)【解析】在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個作為用戶使用的鍵稱為主鍵或主碼。
58.C解析:數(shù)據(jù)流相當于一條管道,并有一級數(shù)據(jù)(信息)流經它。在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統(tǒng)或從系統(tǒng)流向外部實體。
59.D【解析】數(shù)據(jù)結構設計、給出系統(tǒng)模塊結構以及定義模塊算法都屬于設計階段,而定義需求并建立系統(tǒng)模型屬于分析階段。
60.D解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點的度是1;當該二叉樹為空樹時,根節(jié)點的度為零;為非空樹時,根節(jié)點的度為2。
61.B
62.A\n本題考查了雙重三目運算符的用法。例如:表達式a>b?c:d可以看成,當a>b時取C的值,否則取d的值。在本題中k=a>b?(b>c?1:0):0可以看做:當b>c時為真,則k=a>b?1:0。當b<c時則k=a>b?0:0。也就是說,當a>b并且b>C時,k=1,否則k=0。所以A選項符合題意。
\n
63.D
\n程序執(zhí)行在for循環(huán),當i=p時,i中放的是P的地址,類型不符合,因此輸出隨機數(shù),故選擇D進項.
\n
64.B在for(i=0;i<12;i++)C[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標,當退出循環(huán)時,數(shù)組c的4個元素的值分別為4…332。因此B選項正確。
65.B
\n本題主要考查結構和聯(lián)合內存使用的一些區(qū)別:結構中每個成員相互獨立,一個結構所占內存空間的大小是結構中每個成員所占內存空間大小的總和;聯(lián)合所占用內存空間是指最長的成員占用的空間。
\n
66.B關系T中的元組是R關系中有而S關系中沒有的元組的集合,所以進行的是差的運算。
67.A
68.AC語言的邏輯運算符比較特別,它的操作數(shù)沒有明確的數(shù)據(jù)類型,可以是任意合法的表達式,所以選擇A。
69.B本題考查C語言表達式的語法。A選項中“:=”不是C語言中的運算符。C選項中int是定義一個整型變量,后面不能夠跟算術表達式。D選項錯誤地使用了賦值運算符“=”,賦值運算符只能將一個數(shù)據(jù)賦給一個變量,而不能夠對表達式進行賦值。題目中a=a+7或a=c+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康心理的維護
- 防火門的選購與安裝
- LED的生產工藝流程及設備
- 2025年度個人版權使用合同范本4篇
- 2025年度水利設施維護承包合同樣本4篇
- 2025年銷售經理勞動合同編制與執(zhí)行手冊2篇
- 2025年度文化藝術館軟裝承接合同樣本4篇
- Unit 1 The king's new clothes(說課稿)-2024-2025學年譯林版(三起)英語六年級上冊
- 二零二五版臨時租車合同售后服務承諾4篇
- 2024-2026年中國軟件產業(yè)園行業(yè)發(fā)展前景及行業(yè)投資策略研究報告
- TD/T 1060-2021 自然資源分等定級通則(正式版)
- 人教版二年級下冊口算題大全1000道可打印帶答案
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀
- 倉庫智能化建設方案
- 海外市場開拓計劃
- 2024年度國家社會科學基金項目課題指南
- 供應鏈組織架構與職能設置
- 幼兒數(shù)學益智圖形連線題100題(含完整答案)
- 2024年九省聯(lián)考新高考 數(shù)學試卷(含答案解析)
- 紅色歷史研學旅行課程設計
- 如何避免護理患者投訴
評論
0/150
提交評論