![2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第1頁](http://file4.renrendoc.com/view/43ae476f7076658928f8842604f4b333/43ae476f7076658928f8842604f4b3331.gif)
![2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第2頁](http://file4.renrendoc.com/view/43ae476f7076658928f8842604f4b333/43ae476f7076658928f8842604f4b3332.gif)
![2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第3頁](http://file4.renrendoc.com/view/43ae476f7076658928f8842604f4b333/43ae476f7076658928f8842604f4b3333.gif)
![2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第4頁](http://file4.renrendoc.com/view/43ae476f7076658928f8842604f4b333/43ae476f7076658928f8842604f4b3334.gif)
![2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第5頁](http://file4.renrendoc.com/view/43ae476f7076658928f8842604f4b333/43ae476f7076658928f8842604f4b3335.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022年陜西省銅川市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下說法錯誤的是A.A.高級語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B.計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE的二進(jìn)制文件
D.每一種高級語言都有它對應(yīng)的編譯程序
2.
3.若已定義inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是
A.a[p-A)B.*(&a[i])C.p[i]D.a[10]
4.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易懂性和文檔性
5.由權(quán)值分別為3,8,6,2,5的葉子結(jié)點(diǎn)生成一棵哈夫曼樹,它的帶權(quán)路徑長度為________。
A.24B.48C.72D.53
6.
7.閱讀以下程序:#include<stdio.h>main(){intcase;floatprintF;printf("請輸人2個數(shù):");scanf("%d%fl"&case,&printF);printf("%dofof\n",case,printF);}該程序在編譯時產(chǎn)生錯誤,其出錯原因是()。A.定義語句出錯,case是關(guān)鍵字,不能用做用戶自定義標(biāo)識符
B.定義語句出錯,printF不能用做用戶自定義標(biāo)識符
C.定義語句無錯,scanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出case的值
8.有以下程序
#include<stdio.h>
intf(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序運(yùn)行后的輸出結(jié)果是()。A.1B.2C.4D.8
9.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidfun(int*S,int*p){staticintt=3:*p=s[t];t--;}voidmain{inta[]={2,3,4,5),k;intx;for(k=0,k<4,k++){fun(a,&x);printf("%d,",x);}}A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,5
10.若變量已正確定義并賦初值,以下合法的賦值語句是()。
A.k=(m==n);B.k=-m-nC.k=int(m+n);D.k=m*n=1;
11.
12.在所有的排序方法中,關(guān)鍵字比較的次數(shù)與記錄的初始排列次序無關(guān)的是()。
A.希爾排序B.冒泡排序C.直接插入排序D.直接選擇排序
13.帶頭結(jié)點(diǎn)的雙向循環(huán)鏈表L為空的條件是()。
A.L==NULLB.L->next==NULLC.L->prior==NULLD.L->next==L
14.一個有8個頂點(diǎn)的有向圖,所有頂點(diǎn)的入度出度之和與所有頂點(diǎn)的出度之和的差是()
A.16B.4C.0D.2
15.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時,給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
16.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是()。
A.結(jié)構(gòu)化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
C.一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
17.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運(yùn)行后的輸出結(jié)果是()A.xyzB.wxyzC.xzyD.zvx
18.具有n個頂點(diǎn)的完全有向圖的弧數(shù)為()。
A.n(n-1)/2B.n(n-1)C.n2D.n2-1
19.
20.若ch為char型變量,k為int型變量(已知字符a的ASCII碼是97),則執(zhí)行下列語句后輸出的結(jié)果為()。
cb='b';
k=10;
printf("%X,%o,”,ch,ch,k);
printf("k=%%d\n",k);A.A.因變量類型與格式描述符的類型不匹配,輸出無定值
B.輸出項(xiàng)與格式描述符個數(shù)不符,輸出為0值或不定值
C.62,142,k=%d
D.62,142,k=%10
二、2.填空題(20題)21.若有以下定義,則不移動指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
22.在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為______。
23.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
24.若輸入字符串:abcde,則以下while循環(huán)體將執(zhí)行【】次。
while((ch=getchar())=='e')printf("*");
25.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
26.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲結(jié)構(gòu))改變時,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
27.把數(shù)學(xué)表達(dá)式改寫成C語言的表達(dá)式是【】。
28.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intm=011,n=11;
printf("%d%d\n",++m,n++);
}
29.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。
30.在關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。
31.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{char*p;t;
p=s+1;t=*s;
while(*p){*(p-1)=*p;p++;}
*(p-1)=t;
returns;
}
main()
{char*p,str[10]="abcdergh";
p=ss(str);
printf("%s\n",p);
}
32.下列程序的運(yùn)行結(jié)果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
33.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
34.下列程序的功能是對輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(C))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
35.設(shè)當(dāng)前盤為A盤,當(dāng)前系統(tǒng)提示符為“>”在不改變當(dāng)前盤情況下,顯示C盤的當(dāng)前目錄路徑,應(yīng)使用命令【】。
36.有以下程序:
#include<stdio.h>
main()
{
charc;
while((c=getchar())!='?')putchar(--c);
}
程序運(yùn)行時,如查從鍵盤輸入:Y?N?<回車>,則輸出的結(jié)果為______。
37.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。
38.一名學(xué)生只能住一間宿舍,一間宿舍可住多名學(xué)生,則實(shí)體“宿舍”與實(shí)體“學(xué)生”的聯(lián)系屬于()的聯(lián)系。
39.已知字符'A'的ASCII碼值為65,以下語句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
40.程序測試分為靜態(tài)分析和動態(tài)測試。其中【】是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
三、1.選擇題(20題)41.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是______。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了—切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的—致性是指數(shù)據(jù)類型的—致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
42.下列程序語句中,不正確的是______。
A.maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}intadd(floatx,floaty){……}
B.main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
C.floatadd()maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
D.floatadd(floatx,floaty){……}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}
43.閱讀下列程序段,則程序的輸出結(jié)果為#include"stdio.h"#defineM(X,Y)(X)*(Y)#defineN(X,Y)(X)/(Y)main(){finta=5,b=6,c=8,k;k=N(M(a,b),c);printf("%d\n",k);}
A.3B.5C.6D.8
44.以下敘述中正確的是_______。
A.預(yù)處理是指完成宏替換和文件包含中指定文件的調(diào)用
B.預(yù)處理也是C語句
C.C源程序中,凡是行首以#標(biāo)識的控制行都是預(yù)處理指令
D.預(yù)處理就是完成C編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語法分析做準(zhǔn)備
45.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是()A.p=1;B.*q=2;C.q=p;D.*p=5;
46.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
47.有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下敘述中正確的是
A.以上的說朗形式非法B.NODE是一個結(jié)構(gòu)體類型C.OLD是一個結(jié)構(gòu)體類型D.OLD是一個結(jié)構(gòu)體變量
48.已知小寫字母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是______。main(){unsignedinta=31,b=66;pfintf("%c\n,a|b);}
A.66B.98C.bD.B
49.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
50.下列程序的輸出結(jié)果是()。#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
51.若變量已正確定義,有以下程序段:i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
52.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式
D.存儲在計(jì)算機(jī)外存中的數(shù)據(jù)
53.設(shè)c1,c2均是char類型變量,則不正確的函數(shù)調(diào)用為______。
A.printf("%c,%c,",c1,c2)
B.getchar(c1)
C.putchar('\')
D.putchar(c1)
54.函數(shù)的值通過return語句返回,下面關(guān)于return語句的形式描述錯誤的是
A.return表達(dá)式;
B.return(表達(dá)式);
C.一個return語句可以返回多個函數(shù)值
D.一個return語句只能返回一個函數(shù)值
55.若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是______。main(){……inta[50],n;fun(n,&a[9]);……}
A.voidfun(intm,intx[])
B.voidfun(kits,kith[41])
C.voidfun(kitp,kit*s)
D.voidfun(intn,inta)
56.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)
57.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){ror(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是
A.iB.2*i-1C.2*i+1D.i+2
58.下列選項(xiàng)中,不是一個算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報
59.若有下列定義(設(shè)int類型變量占2個字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。
A.x=123.46B.123.4567C.x=123.4567D.123.46
60.在面向?qū)ο蠓椒ㄖ校?)描述的是具有相似屬性與操作的一組對象。
A.屬性B.事件C.方法D.類
四、選擇題(20題)61.設(shè)有以下說明語句:
則下面敘述中正確的是()。
A.PER是結(jié)構(gòu)體變量名
B.PER是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型
D.struct是結(jié)構(gòu)體類型名
62.定義如下變量和數(shù)組:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};
則語句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的輸出結(jié)果是()。
A.159B.147C.357D.369
63.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
64.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空問不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
65.(9)下列敘述中正確的是()
A.數(shù)據(jù)庫是一個獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
66.以下程序的輸出結(jié)果是()。
main()
{inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
67.
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
69.
有下列程序:
main
{inti,s=0,t[]={1,2,3,4,5,6,7,8,9);
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是()。
A.45B.20C.25D.36
70.
71.
72.有以下程序:
voidmain()
{chars[]="159",*p;
p=s;
printf("%c",*p++);printf("%c",*p++);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.15B.16C.12D.59
73.以下選項(xiàng)中合法的標(biāo)識符是()。
74.交換兩個變量的值,不允許用臨時變量,應(yīng)該使用下列()位運(yùn)算符。
A.&B.^C.D.E.F.~
75.以下不合法的字符常量是()。
A.
B.
C.
D.
76.以下符合C語言語法的實(shí)型常量是
A.1.2E0.7B.3.33.145EC.E23D..4E-2
77.有以下程序:#include〈stdio.h〉voidfun(int*s){staticintj=0;do{s[j]=s[j]+s[j+1];}while(++j<2);}main(){inti.a(chǎn)[10]={1,2,3,4,5};for(i=1;i<3;i++)fun(a);for(i=0;i<5;i++)pfintf(“%d”,a[i]);printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A.12345B.23445C.34756D.35745
78.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。
A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚
79.
80.下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個數(shù)是
func(f2(A1,A2),(A3,A4,A5),(A6,max(A7,A8)));
A.3B.4C.5D.8
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.函數(shù)fun的功能是:將S所指字符串中除下標(biāo)為偶數(shù)同時ASCIl碼值也為偶數(shù)的字符外,其余的全部刪除;字符串中剩余字符所形成的新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFGl23456”,其中字符A的ASCIl碼值為奇數(shù),因此應(yīng)當(dāng)刪除;字符8的ASCIl碼值為偶數(shù),但在數(shù)組中的下標(biāo)為奇數(shù),因此也應(yīng)當(dāng)刪除;字符2的ASCIl碼值為偶數(shù),在數(shù)組中的下標(biāo)也為偶數(shù),因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是‘'246”。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.C本題主要考查我們對C語言一些基礎(chǔ)知識的掌握情況。下面分別分析本題的四個選項(xiàng)。
由于高級程序設(shè)計(jì)語言具有可讀寫、可理解性好等特點(diǎn),這就要求高級程序設(shè)計(jì)語言用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式,選項(xiàng)A的說法正確。
在計(jì)算機(jī)中,機(jī)器可以接受和處理的只能是由0和1組成的二進(jìn)制代碼,用高級語言編寫的程序都需要經(jīng)過編譯和連接,使其轉(zhuǎn)化為二進(jìn)制代碼才能被機(jī)器執(zhí)行。因此,選項(xiàng)B的說法正確。
C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。因此,選項(xiàng)C的說法不正確。
由于高級語言編寫的程序都需要經(jīng)過編譯和連接,才能被計(jì)算機(jī)執(zhí)行,因此,每一種高級語言都有它對應(yīng)的編譯程序,D選項(xiàng)的說法正確。
2.D
3.D解析:通常,引用一個數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。
4.C
5.D
6.A
7.A本題中定義了整形變量case,但case是關(guān)鍵字,關(guān)鍵字不能用做標(biāo)識符。單精度printF不是關(guān)鍵字,因?yàn)闃?biāo)識符區(qū)分大小寫。所以A不正確。
8.D解析:本題考查函數(shù)返回值作參數(shù),最初n=1,f(n)=f(1)=2,將f(n)的結(jié)果代入第二個f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。
9.A依據(jù)fun函數(shù),可知其要實(shí)現(xiàn)的功能是將S中第(t+1)個元素以前的元素逆置賦給數(shù)組P。由于fun中函數(shù)定義了靜態(tài)變量t=3,因此,main函數(shù)中調(diào)用函數(shù)fun(a,&x)時,就是要將數(shù)組a中前4個元素逆置賦給數(shù)x,最后輸出x數(shù)組。
10.A變量m、n的數(shù)據(jù)類型未知,但題目中已定義并賦初值。選項(xiàng)B的語句缺少分號結(jié)尾。選項(xiàng)C,強(qiáng)制轉(zhuǎn)化使用錯誤。選項(xiàng)D的“m*n”只能用作表達(dá)式的右值,不能作為左值。故本題答案為A選項(xiàng)。
11.D
12.D
13.D
14.C
15.A函數(shù)fun()通過遞歸調(diào)用實(shí)現(xiàn)的功能為n+(n-1)+…+1,故程序的輸出結(jié)果為55。
16.B濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對于初學(xué)者來說盡量不要使用,所以A錯誤?!獋€結(jié)構(gòu)化程序可以包含順序、分支、循環(huán)結(jié)構(gòu)中的一種或多種,所以C錯誤。由三種基本結(jié)構(gòu)構(gòu)成的程序可以解決任何復(fù)雜的問題,所以D錯誤。
17.A本題考查簡單的遞歸函數(shù),當(dāng)c>X則會產(chǎn)生遞歸,依次類推,答案選擇A.
18.B
19.D
20.C第1個printf函數(shù),格式說明的個數(shù)是2,而輸出項(xiàng)的個數(shù)是3,所以對于多余的輸出項(xiàng)k不予輸出;第2個printf函數(shù),有兩個%說明,第1個%后面的字符要原樣輸出。本題考查printf函數(shù)的格式。①“%x”和“%0”分別表示以十六進(jìn)制和八進(jìn)制無符合型輸出整型數(shù)據(jù)(不帶前導(dǎo)ox或0);②printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出;③格式說明與輸出項(xiàng)的個數(shù),也要相等,如果格式說明的個數(shù)少于輸出項(xiàng)的個數(shù),則對于多余的輸出項(xiàng)不予輸出。
21.*(p+5)或p[5]*(p+5)或p[5]
22.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實(shí)例。
23.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時,循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個字符。表達(dá)式“i-'a'+'A'”即表示輸出i對應(yīng)的大寫字母,結(jié)果為ACE。
24.00解析:函數(shù)getchar()是從鍵盤得用戶輸入的一個字符。用戶輸入的第1個字符a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個循環(huán)不會被執(zhí)行。
25.852852解析:循環(huán)前,變量y的值為9,其中,循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值都減1。循環(huán)體是當(dāng)y能被3整除時輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán),所以程序輸出852。
26.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)與存取方式的改變不會影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級。
27.(cosx)*(cosx)*(m+n)/(m-n)
28.10111011解析:前綴自增運(yùn)算時,表達(dá)式的值和變量自增之后的值相同;后綴自增運(yùn)算時,表達(dá)式的值為變量自增之前的值。所以,本題程序輸出的兩個結(jié)果分別是m+1和n的值。而m在初始化時使用的是八進(jìn)制常量011,轉(zhuǎn)換為十進(jìn)制為9。故輸出結(jié)果是1011。
29.類類
30.關(guān)系或一個關(guān)系關(guān)系或一個關(guān)系解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關(guān)系。
31.bcdefghabcdefgha解析:在本題定義的ss()函數(shù)中首先定義了一個指針p和一個字符變量t,然后讓p指向參數(shù)指針s的下一個位置s+1,并讓t保存s位置的字符。然后使用一個while循環(huán)將p指向的內(nèi)容賦給它前面一個位置,即將參數(shù)s所指的字符串從第2個字符開始整體往前移動一位。循環(huán)結(jié)束時,p指向原s串的結(jié)束標(biāo)志處,所以讓*(p-1)=t;即是將原s串的第1個字符復(fù)制到s串的最后一個位置。整個函數(shù)實(shí)現(xiàn)的是讓一個字符串循環(huán)左移一位。故主函數(shù)中最后輸出的字符串是'bcdefgha'。
32.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。
“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
33.數(shù)據(jù)存儲數(shù)據(jù)存儲
34.(c=getchar())!='\n'(c=getchar())!='\\n'解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。
35.CDC:(CD與C:中間至少要有一個空格)CDC:(CD與C:中間至少要有一個空格)
36.xx解析:本題考查的知識點(diǎn)是while循環(huán)的程序分析;主函數(shù)中首先定義了一個字符型變量C,接著執(zhí)行下面while語句,在while循環(huán)中,首先從鍵盤上讀入一個字符Y并給賦給字符變量C,賦值表達(dá)式的值不為'?',執(zhí)行輸出語句,輸出字符x。接著判斷while中的循環(huán)條件,讀入一個字符'?',并賦值給c,賦值表達(dá)式的值為'?',循環(huán)條件不再滿足,退出循環(huán)。
37.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。
38.一對多一對多解析:在現(xiàn)實(shí)世界中事物間的關(guān)聯(lián)稱為聯(lián)系。在概念世界中聯(lián)系反映了實(shí)體集間的一定關(guān)系。兩個實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,分別是一對一,一對多和多對多,依據(jù)題意,一名學(xué)生只能住一間宿舍,一間宿舍可住多名學(xué)生,所以實(shí)體“宿舍”與實(shí)體“學(xué)生”的聯(lián)系屬于一對多的聯(lián)系。
39.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
40.靜態(tài)分析靜態(tài)分析解析:程序測試分為靜態(tài)分析和動態(tài)測試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
41.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不—致性。所謂數(shù)據(jù)的—致性是指在系統(tǒng)中同—數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不—致性指的是同—個數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。
42.B
43.A解析:帶參數(shù)的宏定義命令行形式如下:#de-fine宏名(形參表)替換文本。首先進(jìn)行M的宏替換,之后再進(jìn)行N的宏替換,替換后的表達(dá)式為(a)*(b)/(c)。
44.C解析:預(yù)處理功能主要有以下三種:宏定義、文件包含和條件編譯,所以A不正確。預(yù)處理不是C語句,所以B不正確。預(yù)處理命令是由ANSIC統(tǒng)—規(guī)定的,編譯程序不能識別它們,D也不正確。
45.D解析:本題考核的知識點(diǎn)是指針變量定義和賦值語句的基本應(yīng)用。在使用一個指針變量之前,先要用聲明語句對其進(jìn)行定義,在定義了一個指針變量之后,系統(tǒng)就為這個指針變量分配了一個存儲單元,用它來存放地址。在C語言中有兩個有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個指針變量p并讓它指向n,然后定義了一個指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個指向指針的指針變量小顯然不正確,所以,4個選項(xiàng)中選項(xiàng)D符合題意。
46.D解析:C語言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
47.C解析:將題目中的定義語句去掉前面的typedef和后面的OLD(分號保留),就是一條完整的結(jié)構(gòu)體定義語句,其中struct是說明符,NODE是結(jié)構(gòu)體名,大括號里面的是結(jié)構(gòu)體成員的定義.此時要聲明該結(jié)構(gòu)體變量時需要使用struct加結(jié)構(gòu)體名一起來聲明,structNODE一起構(gòu)成一個結(jié)構(gòu)體類型,就好像字符類型char。若只去掉前面的typedef,就是一條結(jié)構(gòu)體定義同時聲明一個結(jié)構(gòu)體變量OLD的語句,因?yàn)镺LD的前面部分是structNODE的完整寫法,可以看作是structNODE。C語言允許用typcdcf說明一種新類型名,其語法格式為:
typedef類型名標(biāo)識符;
以后就可以用該標(biāo)識符來代替被說明的類型名了。因此,當(dāng)前面存在typedef時,該語句就變成7給structNODE的完整寫法定義一個新的名稱OLD。所以,此時的OLD是一個結(jié)構(gòu)體類型,它相當(dāng)于structNODE,即可以和char一樣單獨(dú)用來聲明該結(jié)構(gòu)體變量,而NODE只是一個結(jié)構(gòu)體名,不能單獨(dú)用來聲明變量。所以,4個選項(xiàng)中C符合題意.
48.C解析:位運(yùn)算符“|”的作用是按位或,即兩個二進(jìn)制數(shù)的相應(yīng)位中只要有—個為1,該位的結(jié)果值為1。最后以字符型輸出,98對應(yīng)的字符“b”。
49.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時一定是先出D,再出C,最后出A。
50.A解析:本題考查函數(shù)的遞歸調(diào)用。
在函數(shù)遞歸調(diào)用時,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,最后的計(jì)算結(jié)果為2。
51.B解析:對于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值“0,”,再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時變量i的值經(jīng)過自加已經(jīng)變?yōu)?,程序再次輸出i的值“1”。
52.B解析:數(shù)據(jù)的存儲結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
53.B
54.C解析:return語句中的表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類型必須與函數(shù)首部所說明的類型一致。如果類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動進(jìn)行轉(zhuǎn)換。一個return語句只能返回一個值。
55.D
56.B本題主要考查C語言合法語句的定義。
在選項(xiàng)A中,a==1不是一個合法的語句,因?yàn)樗鼪]有語句結(jié)束標(biāo)識符“;”,不能說是一條語句,如果作為一個表達(dá)式,它是正確的。
在選項(xiàng)B中,由于變量i已被正確定義并有初值,“++i;”是正確的語句。
在選項(xiàng)C中,由于正確的賦值語句中,賦值符號的左邊不能為常量或表達(dá)式,而右邊不能為變量或表達(dá)式,很明顯,“a=a++=5;”違背了賦值語句的原則。
在選項(xiàng)D中,“a=int(i);”語句是不正確的,在C語言中沒有這種表示形式,如果是想將變量i強(qiáng)制轉(zhuǎn)換為整型的操作,應(yīng)該為“a=(int)i;”。
57.B解析:通過觀察可知圖形共4行,主函數(shù)中通過一個for循環(huán)四次,輸出4行。第一行輸出3個空格和1個“*”,第2行輸出2個空格和3個“*”,第3行輸出3個空格和5個“*”,第四行輸出7個“*”,主函數(shù)中通過第二個循環(huán)控制每行的輸出空格數(shù),第三個for循環(huán)控制輸出的“*”的個數(shù),總結(jié)規(guī)律:每行輸出的“*”的個數(shù),總比前一行的多2個,且第一行的個數(shù)為1,可以斷定每行輸出的“*”的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出“*”的個數(shù)即該等差數(shù)列的通項(xiàng),故該空格處應(yīng)該填寫2*i-1。
58.A解析:作為一個算法,一般應(yīng)該具有下列4個特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個滿意的結(jié)果;(2)確定性,算法中的每一個步驟都必須是有明確定義的,(3)有窮性,一個算法必須在有限的時間內(nèi)做完;(4)擁有足夠的情報。
59.A解析:本題考查printf函數(shù)的格式?!?5.2f”格式符中的“f”表示以帶小數(shù)點(diǎn)的形式輸出單精度或者雙精度數(shù):“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸出數(shù)據(jù)小數(shù)位占2位數(shù),并對截去的第一位小數(shù)做四舍五入處理。
60.D解析:類(calss)描述的是具有相似屬性與操作的一組對象,而一個具體對象則是其對應(yīng)類的一個實(shí)例。
61.B本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結(jié)構(gòu)體類型,此時,也可以用PER來定義變量。
62.C
63.C本題主要考查逗號表達(dá)式。逗號是一個特殊的運(yùn)算符,它具有所有運(yùn)算符中最低的優(yōu)先級。在C語言中,用它可以將兩個表達(dá)式連接起來,逗號表達(dá)式的一般表現(xiàn)形式為:
表達(dá)式1,表達(dá)式2,…,表達(dá)式n
逗號表達(dá)式的求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,依次往后計(jì)算,整個逗號表達(dá)式的值是最后一個表達(dá)式的值,如“3+5,5+6”的值是11。
在本題中,逗號表達(dá)式為i=4,j=16,k=32,根據(jù)上面的分析,計(jì)算逗號表達(dá)式得到的結(jié)果為
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12富起來到強(qiáng)起來 第一課時(說課稿)-2023-2024學(xué)年道德與法治五年級下冊統(tǒng)編版
- 13《貓》說課稿-2023-2024學(xué)年四年級語文下冊統(tǒng)編版
- Unit 4 Customs and Traditions:Review of Passives 語法銜接活動案例說課稿-2024-2025學(xué)年高中英語滬外版必修第一冊
- 8 安全記心上《平安出行》(說課稿)-部編版道德與法治三年級上冊
- 西藏小區(qū)變壓器施工方案
- 27《巨人的花園》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文四年級下冊
- 《3 我的本領(lǐng)大-循環(huán)模塊與執(zhí)行器模塊組合應(yīng)用》說課稿-2023-2024學(xué)年清華版(2012)信息技術(shù)六年級下冊001
- 9元日說課稿-2023-2024學(xué)年三年級下冊語文統(tǒng)編版
- Unit 3 Seasons Lesson 2(說課稿)-2023-2024學(xué)年人教新起點(diǎn)版英語二年級下冊
- 倒賣人口合同范例
- 邵陽市職工勞動能力鑒定表
- 稀土配合物和量子點(diǎn)共摻雜構(gòu)筑發(fā)光軟材料及其熒光性能研究
- 衛(wèi)生部手術(shù)分級目錄(2023年1月份修訂)
- JJG 921-2021環(huán)境振動分析儀
- 中藥炮制學(xué)-第五、六章
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機(jī)械工程師考試試題及答案
- 2022年電拖實(shí)驗(yàn)報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 即興口語(姜燕)-課件-即興口語第一章PPT-中國傳媒大學(xué)
評論
0/150
提交評論