




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年安徽省六安市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.若執(zhí)行下面的程序時(shí),從鍵盤上輸入5和2,則輸出結(jié)果是______。main(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("%d\n",k);}
A.5B.3C.2D.0
3.
4.
5.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
6.設(shè)主串T='aabaababaabaa',子串P:'abab',則簡單模式匹配算法中直至匹配成功,單個(gè)字符比較的次數(shù)為()。
A.12B.13C.14D.15
7.
8.用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型的是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
9.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;
B.*p=&n;
C.scanf("%d",&p)
D.printf("%d\n",p);
10.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
11.順序結(jié)構(gòu)的本質(zhì)特點(diǎn)是()。
A.數(shù)據(jù)元素存儲(chǔ)在地址連續(xù)的內(nèi)存空間
B.數(shù)據(jù)元素緊鄰
C.數(shù)據(jù)元素在內(nèi)存中的相對位置表示數(shù)據(jù)之間的邏輯關(guān)系
D.不使用指針
12.數(shù)據(jù)結(jié)構(gòu)通常是研究數(shù)據(jù)的及它們之間的聯(lián)系______。A.存儲(chǔ)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯
13.以下程序的輸出結(jié)果是()。main{charch[3][4]={"123","456","78"),*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}A.123456780B.123456780C.12345678D.147
14.
15.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain(){floata,1;a=3.0;1=A(a);printf("r=%.2f,1=%.2f\n",a,1);}則程序運(yùn)行后的輸出結(jié)果是()
A.r=3.001=18.85
B.3.00,18.85
C.r=3.0000001=18.8495555
D.r=3.01=18.8495555
16.在如下結(jié)構(gòu)定義中,不正確的是()。A.
B.
C.
D.
17.以下涉及字符串?dāng)?shù)組、字符指針的程序段中,沒有編譯錯(cuò)誤的是()。A.char*str,name[1];str=“Hello”;
B.char*str,name[1];name=“Hello”;
C.charstrl[10]=“ex1.c”,str2[6];str2=str1;
D.charhead_line[];head_line=“\\0”;
18.以下敘述中錯(cuò)誤的是()。
A.通過指針變量存取某個(gè)變量值的方式稱為“直接存取”方式
B.在程序的開頭包含頭文件stdio.h后,可以給指針變量賦NULL值
C.將一個(gè)指針變量中的值賦給另一個(gè)指針變量,則這兩個(gè)指針變量指向同一地址
D.C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型
19.A[N][N]是對稱矩陣,將下面三角(包括對角線)以行序存儲(chǔ)到一維數(shù)組T[N(N+1)/2]中,則對任一上三角元素a[i][j]對應(yīng)T[k]的下標(biāo)k是()。
A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+1
20.在一個(gè)雙向鏈表中,q的前一個(gè)節(jié)點(diǎn)為p,q的后一個(gè)節(jié)點(diǎn)為n,刪除q所指向節(jié)點(diǎn),則執(zhí)行()
A.deleteq;
B.q->prev->next=q->prev;q->next->prev=q->next;deleteq;
C.q->prev=p->next;p->next=p->prev;deleteq;
D.q->next=q->prev->next;q->prev=q->next->prev;deleteq;
E.q->prev->next=q->next;q->next->prev=q->prev;deleteq;
F.p->prev->next=p->next;p->next->prev=p->prev;deleteq->next;
二、2.填空題(20題)21.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
22.設(shè)a、b、c為int型變量,且a=10、b=5、c=1,則執(zhí)行完以下語句,a的值變?yōu)椤尽俊?/p>
a/=10-(++b)-(c--);
23.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。
24.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達(dá)【】。
25.若有以下程序
main()
{intp,a=5;
if(p=a!=0)
printf("%d\n",p);
else
pfintf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是【】。
26.以下程序由終端鍵盤輸入一個(gè)文件名,然后把從終端鍵盤輸入的字符依次放到該文
件中,用井作為結(jié)束輸入的標(biāo)志。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if((fp=【】)==NULL)
{printf("Cannotope\n");exit(O);}
printf("Enterdata\n");
while((ch=getchar())!='#')
fputc(【】,fp);
fclose(fp);
}
27.以下程序運(yùn)行時(shí)若從鍵盤輸入:102030<回車>。輸出結(jié)果是()。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);
}
28.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
29.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。
30.若有以下程序:
main()
{intp,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
執(zhí)行后的輸出結(jié)果是【】。
31.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【】之間。
32.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
33.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
34.若有如下定義:
intx=2,y=3,z=4;
則表達(dá)式!(x=y)||x+z&&y-z的值是【】。
35.有以下定義語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear,
union{intshare1;
floatshare2;
}share;
}a;
36.以下函數(shù)用以求x的y次方。補(bǔ)足所缺語句。
Doublefun(doublex,inty)
{inti;doublez=1;
for(i=1;i【】;i++)
z=【】;
returnz;
}
37.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
38.下面程序的運(yùn)行結(jié)果是______。
#defineN10
#defines(x)x*x
#definef(x)(x'x)
main()
{
inti1,i2;
i1-1000/s(N);i2=1000/f(N);
printf("%d%d\n",i1,i2);
}
39.對于軟件測試,從是否需要執(zhí)行被測軟件的角度,可以分為靜態(tài)測試和動(dòng)態(tài)測試。代碼檢查屬于______測試。
40.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
charc1,c2;
for{c1='0',c2='9';c1<c2;c1++,C2--)
printf("%c%c",c1,c2);
printf("\n");
}
三、1.選擇題(20題)41.若語句“t=fun(fun(x,y,A),(a+b,a+C),x+y+z);”對fun函數(shù)的調(diào)用正確,則fun函數(shù)的形參個(gè)數(shù)為()。
A.3B.4C.5D.6
42.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
43.下列寫法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
44.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是()。
A.a^bB.a|bC.a&bD.a<<4
45.下列程序的運(yùn)行結(jié)果為()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!='\0';i++)if(str[i]!='a'str[j++]=str[i];str[j]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}
A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab
46.內(nèi)聚性是對模塊功能強(qiáng)度的衡量,下列選項(xiàng)中,內(nèi)聚性較弱的是()
A.順序內(nèi)聚B.偶然內(nèi)聚C.時(shí)間內(nèi)聚D.邏輯內(nèi)聚
47.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
48.以下程序的輸出的結(jié)果是intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staicintx=1;x*=x+1;printf("%d",x);}
A.33B.22C.26D.25
49.以下敘述中正確的是______。
A.C語言比其他語言高級
B.C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚,具有其他語言的—切優(yōu)點(diǎn)
50.以下敘述正確的是A.C語言比其他語言高級
B.C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚、具有其他語言的一切優(yōu)點(diǎn)
51.以下對C語言函數(shù)的有關(guān)描述中,正確的是______。
A.在C程序中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B.函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
52.當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入AhaMA(空格)Aha<CR>,則下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n\){if(s[i]]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}
A.ahaMaB.AbAMaC.A11AMa[空格]ahaD.ahAMa[空格]ahA
53.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值.
D.當(dāng)在程序的開頭包含頭文件stdio.h時(shí),可以給指針變量賦NULL
54.有以下程序:#include<stdio.h>structs{intx,y;}data[2]={10,100,20,200};main(){structs*p=data;printf("%d\n",++(p->x));程序運(yùn)行后的輸出結(jié)果是()。
A.10B.11C.20D.21
55.在printf函數(shù)中用來輸出十六制無符號的格式字符是()
A.d格式符B.x格式符C.u格式符D.o格式符
56.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
57.下列合法的數(shù)組定義是______。
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.chars="string";
D.chara[]={0,1,2,3,4,5};
58.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是
A.456B.258C.369D.789
59.下述程序的輸出結(jié)果是
#include<stdio.h>
voidmain()
{inta[5]={2,4,6,8,10};
int*p=a,**q=&p;
printf("%d,",*(p++));
printf("%d",**q);}
A.4,4B.2,2C.4,5D.2,4
60.標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,file)的功能是()。
A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中
B.從文件file中讀取長度不超過n-1個(gè)字符的字符串放到字符數(shù)組s中
C.從文件file中讀取n個(gè)字符串存入字符數(shù)組s中
D.從文件file中讀取長度為n-1個(gè)字符的字符串存入字符數(shù)組s中
四、選擇題(20題)61.以下選項(xiàng)中不合法的標(biāo)識符是()。
A.&aB.FORC.printD._00
62.
63.
64.有以下程序
main()
{inti=010,j=0X10;
pirntf("%d,%d\n",i,j);
}
該程序的輸出結(jié)果是
A.10,10B.8,10
C.8,16D.10,16
65.在滿足實(shí)體完整性約束的條件下()。
A.一個(gè)關(guān)系中廊該有一個(gè)或多個(gè)候選關(guān)鍵字
B.一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字
C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字
D.一個(gè)關(guān)系中可以沒有候選關(guān)鍵字
66.
67.下砸結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是()。
68.
69.執(zhí)行以下程序時(shí)輸人1234567<CR>,則輸出結(jié)果是()。
#include<stdio.h>
main
{
inta=1,b;
scanf("%3d%2d",&a,&b);
printf("%d%d\n",a,b);
}
A.12367B.12346C.12312D.12345
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.LoB.30C.0D.64
71.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
A.概要B.抽象C.邏輯D.規(guī)劃
72.
73.
74.
75.若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的c語言表達(dá)式是()。
76.
77.(15)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()
A.概要設(shè)計(jì)
B.詳細(xì)設(shè)計(jì)
C.可行性分析
D.需求分析
78.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類型為:()。
A.intB.doubleC.floatD.char
79.有以下程序(注:字符a的ASCIl碼值為97)}程序運(yùn)行后的輸出結(jié)果是()。
A.789B.abcC.7890D.979899
80.
已知有如下結(jié)構(gòu)體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對data的成員a引用正確的是()。
A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對6個(gè)字符串按由小到大的順序進(jìn)行排序。請修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是,則函數(shù)返回1,在主函數(shù)中輸出“YES”,否則返回0,在主函數(shù)中輸出“NO”?;匚淖址侵疙樧x和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序在文件prog1.c中。第3部分無紙化考武題庠請勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include2#defineN803intfun(char*str)4{56}7main()8{9chars[n];10FILE*out;11char*test[]={"1234321","123421","123321","abcdCBA"};12inti;13printf("Enterastring:");14gets(s);15printf("\n\n");16puts(s);17if(fun(s))18printf("YES\n");19else20printf("NO\n");21/******************/22out=fopen("out.dat","w");23for(i=0;i<4/i++)24if(fun(test[i]))25fprintf(out,"YES\n");26else27fprintf(out,"NO\n");28fclose(out);29/******************/30}
參考答案
1.D
2.C解析:本題考查簡單的if...else語句。先執(zhí)行條件if(a<b),顯然不成立,則執(zhí)行else語句。
3.B
4.B
5.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對圓括號不可少。同樣,對于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來引用…,對于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來表示。
6.A
7.C
8.C解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹結(jié)構(gòu)來表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
9.A選項(xiàng)B)的正確寫法應(yīng)為p=&n;選項(xiàng)C)的正確寫法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫法應(yīng)為print("%d\\n",*p)。
10.C
11.C
12.A
13.B第一個(gè)for循環(huán)的作用是讓p指向每行的首地址,第二個(gè)for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項(xiàng)。
14.C
15.A
16.B
17.AC語言中,字符指針變量可以直接使用字符串賦值,而字符數(shù)組不能直接使用字符串或字符數(shù)組賦值,選項(xiàng)B、C、D錯(cuò)誤,選項(xiàng)A正確。故本題答案為A選項(xiàng)。
18.A通過指針變量存取某個(gè)變量值的方式稱為“間接存取”方式,選項(xiàng)A錯(cuò)誤;頭文件stdio.h中定義了NULL,在程序的開頭包含stdio.h后,可以給指針變量賦NULL值,表示一個(gè)空指針,選項(xiàng)B正確;將一個(gè)指針變量中的值賦給另一個(gè)指針變量,這兩個(gè)指針變量指向同一地址,選項(xiàng)C正確;C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型,選項(xiàng)D正確。故本題答案為A選項(xiàng)。
19.B
20.E
21.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
22.3
23.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測試貫穿整個(gè)軟件生命期,而調(diào)試主要在開發(fā)階段。
24.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。
25.11解析:首先計(jì)算if語句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級可知,先算“a!=o”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。
26.fopen(fname:"w")
27.1030010300解析:本題的考點(diǎn)是C語言的scanf的“%*d”?!?*d”是在輸入流中跳過一個(gè)整數(shù),而讀入下一個(gè)整數(shù)。因此語句“scanf('%d%*d%d',&i,&j,&k);”在讀入10、20、30時(shí),將10讀入到i中,將20跳過,將30讀入到j(luò)中,而k沒有讀入數(shù),仍是初值的0。
28.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。
29.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。
30.11解析:本題考查C語言中的if-else語句。if語句中的條件表達(dá)式p=a!=0是一個(gè)賦值語句,將關(guān)系表達(dá)式a!=0的結(jié)果賦值給變量p。因a=5,所以a!=0的結(jié)果為1,即p=1,條件為真,所以執(zhí)行if后面的語句printf('%d\\n',p),輸出結(jié)果為1。
31.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。
32.22
33.2
34.11解析:運(yùn)算符的優(yōu)先級次序由高到底是!,算術(shù)運(yùn)算符,&&,||。先運(yùn)算!(x=y),由于x=3非零,則表達(dá)式!(x=y)的值為0。再運(yùn)算x+z,x+z=3+4=7,非零則運(yùn)算y-z,y-z=3-4=-1,非零則表達(dá)式x+z&&y-z的值為1。0||1=0,則表達(dá)式!(x=y)||x+z&&y-z的值是1。
35.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。
36.<y+1z*x
37.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
38.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
39.靜態(tài)靜態(tài)解析:靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測試不實(shí)際運(yùn)行軟件。
40.918273645918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開始時(shí)分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。
41.A本題考查函數(shù)調(diào)用時(shí)的參數(shù)個(gè)數(shù)。在函數(shù)調(diào)用時(shí),實(shí)參必須和形參的個(gè)數(shù)、類型一一對應(yīng)。但函數(shù)的計(jì)算結(jié)果只有一個(gè)值,因而fun函數(shù)的參數(shù)個(gè)數(shù)為3。
42.B數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對數(shù)據(jù)庫事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。
43.D解析:本題考查語句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號:選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對花括號:選項(xiàng)D)正確,是一個(gè)空語句。
44.A解析:1與1異或結(jié)果為0,0與1異或結(jié)果為1,可見要使某位數(shù)翻轉(zhuǎn),只要使其與1進(jìn)行異或運(yùn)算即可。0與0進(jìn)行異或運(yùn)算結(jié)果為0,1與0進(jìn)行異或運(yùn)算結(jié)果為1,可見要使某位的數(shù)不變,只要使其與0進(jìn)行異或運(yùn)算即可。
45.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。通過函數(shù)abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過指針調(diào)用,所以改變字符串的結(jié)果。
46.BB)【解析】內(nèi)聚是從功能角度來衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)系。內(nèi)聚有如下種類,它們之間的內(nèi)聚度由弱到強(qiáng)排列:
偶然內(nèi)聚——模塊中的代碼無法定義其不同功能的調(diào)用。但它使該模塊能執(zhí)行不同的功能,這種模塊為巧合強(qiáng)度模塊。
邏輯內(nèi)聚——這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),由傳送給模塊的參數(shù)來確定該模塊應(yīng)完成哪一種功能。
時(shí)間內(nèi)聚——這種模塊順序完成一類相關(guān)功能,比如初始化模塊,它順序地為變量置初值。
過程內(nèi)聚——如果一個(gè)模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過程內(nèi)聚。
通信內(nèi)聚——這種模塊除了具有過程內(nèi)聚的特點(diǎn)外,還有另外一種關(guān)系,即它的所有功能都通過使用公用數(shù)據(jù)而發(fā)生關(guān)系。
順序內(nèi)聚——如果一個(gè)模塊內(nèi)各個(gè)處理元素和同一個(gè)功能密切相關(guān),而且這些處理必須順序執(zhí)行,處理元素的輸出數(shù)據(jù)作為下一個(gè)處理元素的輸入數(shù)據(jù),則稱為順序內(nèi)聚。
功能內(nèi)聚——如果一個(gè)模塊包括為完成某一具體任務(wù)所必需的所有成分,或者說模塊中所有成分結(jié)合起來是為了完成一個(gè)具體的任務(wù),此模塊則為功能內(nèi)聚模塊。
47.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測試和驗(yàn)收的依據(jù)。
48.C解析:本題首先定義一個(gè)全局變量x并賦初值為3,主函數(shù)中使用這個(gè)全局變量控制循環(huán)次數(shù),循環(huán)執(zhí)行了2次,調(diào)用兩次tncre()函數(shù)。第一次調(diào)用incre(),定義一個(gè)靜態(tài)變量x并賦初值1,然后執(zhí)行“x*=x+1”,使x的值變?yōu)?;第二次調(diào)用incre()函數(shù)時(shí),靜態(tài)變量將保留上一次退出時(shí)的值即2,執(zhí)行語句“x*=x+1”后,x的值變成6,輸出x的值為6。所以,4個(gè)選項(xiàng)中C為所選。
49.C解析:計(jì)算機(jī)語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項(xiàng)A錯(cuò)誤;除了低級語言外,其他各種語言都必須編譯成能被計(jì)算機(jī)識別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯(cuò)誤;C語言出現(xiàn)從1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項(xiàng)D也是錯(cuò)誤的。
50.C解析:目前,在社會(huì)上使用的程序設(shè)計(jì)語言有上百種,它們都被稱為計(jì)算機(jī)“高級語言”,如BASIC,C語言等。但是對于計(jì)算機(jī)本身來說,它并不能直接識別由高級語言編寫的程序,只能接受并處理由0,1代碼組成的數(shù)據(jù),即所謂的機(jī)器語言代碼。目前,一些程序設(shè)計(jì)語言(如Visual\u3000Basic\u3000Visual\u3000C++和Visual\u3000FoxPro等)所具有的面向?qū)ο蠹夹g(shù),C語言則沒有。
51.A解析:在C語言中,提供了許多庫函數(shù)供用戶使用,因此選項(xiàng)D錯(cuò)誤。
52.A解析:本題主要考查的知識點(diǎn)是大寫字母比它對應(yīng)的小寫字母ASCII碼值小32,并且字符可以看作整數(shù)進(jìn)行算術(shù)運(yùn)算等操作。
53.C解析:函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會(huì)影響對應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在文件stdio.h中,NULL被定義為void型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。
54.B解析:本題考查對外部存儲(chǔ)類型的結(jié)構(gòu)體變量進(jìn)行初始化。初始化后,data[0]x的值為10,data[0]y的值為100。輸出++(p->x)時(shí),++(p->x)就相當(dāng)于++data[0].x,這時(shí)data[0].x先自增,再使用,所以輸出11。
55.B
56.A解析:本題考查的是getchar()函數(shù)。getchar()函數(shù)執(zhí)行時(shí)將從鍵盤緩沖區(qū)中讀取用戶的輸入,而不管輸入的是否可打印字符,所以當(dāng)輸入a<回車>后,鍵盤緩沖區(qū)被輸入的實(shí)際上是兩個(gè)字符:'a'和'\\n'。故選項(xiàng)A的說法是正確的。
57.D解析:選項(xiàng)A錯(cuò)在用字符串對整型數(shù)組賦值;選項(xiàng)B錯(cuò)在初始化表中數(shù)據(jù)的個(gè)數(shù)多于數(shù)組的最大長度;選項(xiàng)C錯(cuò)在沒有用數(shù)組存儲(chǔ)字符串;選項(xiàng)D的初始化表中雖然是5個(gè)數(shù),但實(shí)際相當(dāng)于把ASCⅡ碼值是這5個(gè)整數(shù)的字符賦值給數(shù)組,因此是正確的。
58.C解析:本題考核的知識點(diǎn)是二維數(shù)組的定義,賦值及數(shù)組元素的引用。變量k的初值為2,循環(huán)執(zhí)行了3次,分別輸出m[2][0]、m[2][1]和m[2][2],其值分別為3,6,9。所以,C選項(xiàng)為所選。
59.D解析:考查一維數(shù)組的指針和指向指針的指針兩個(gè)知識點(diǎn)。通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結(jié)果為2,**q指向的數(shù)組元素為4。
60.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個(gè)字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個(gè)數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個(gè)字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會(huì)自動(dòng)在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。
61.Ac語言中標(biāo)識符由字母、下劃線或數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識符。因?yàn)閏語言中區(qū)分大小寫,所以B)選項(xiàng)中的“FOR”可以作為標(biāo)識符來用。A)選項(xiàng)中含有非法字符&,因此選擇A)。
62.A
63.B
64.C本題主要考查八進(jìn)制數(shù)與十六進(jìn)制數(shù)的十進(jìn)制輸出。做這類題目的關(guān)鍵是對數(shù)據(jù)進(jìn)行數(shù)制轉(zhuǎn)換。
在程序中,首先定義了兩個(gè)變量i和j,其中i的初值為一個(gè)八進(jìn)制數(shù)10,而j的初值為一個(gè)十六進(jìn)制數(shù)10,然后輸出它們的十進(jìn)制數(shù)。
一般情況下,八進(jìn)制數(shù)與十進(jìn)制數(shù)的轉(zhuǎn)換通過二進(jìn)制來實(shí)現(xiàn),即先將八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),然后將二進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)。八進(jìn)制數(shù)的一位對應(yīng)二進(jìn)制數(shù)的三位,那么將八進(jìn)制數(shù)10轉(zhuǎn)換成二進(jìn)制應(yīng)該為001000,再將這個(gè)值轉(zhuǎn)換為十進(jìn)制,即2的三次方,結(jié)果為8。
將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)也可以通過二進(jìn)制來實(shí)現(xiàn)。一位十六進(jìn)制數(shù)對應(yīng)四位二進(jìn)制數(shù),轉(zhuǎn)換后為00010000,再將這個(gè)值轉(zhuǎn)換為十進(jìn)制數(shù),即2的四次方,結(jié)果為16。
因此本題程序最后輸出的結(jié)果為8,16。
65.A實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,因此本題答案為A)。
66.B
67.AA)選項(xiàng)structord(intx;inty;intz;}structord
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 斧鑿混凝土外墻施工方案
- 臺山屋頂清洗施工方案
- 水庫高溫施工方案
- 危險(xiǎn)性專項(xiàng)施工方案
- 漯河管井降水施工方案
- TSHJMRH 0063-2024 在用潤滑油顆粒污染度的測定 光阻法
- 家長會(huì)安全發(fā)言稿
- 2025年度股份轉(zhuǎn)讓過程中稅務(wù)籌劃及優(yōu)惠政策合同
- 二零二五年度關(guān)于協(xié)議作廢糾紛的調(diào)解與賠償協(xié)議
- 二零二五年度夫妻共同維護(hù)家庭和諧與子女幸福感協(xié)議書
- 醫(yī)院培訓(xùn)課件:《民法典》“醫(yī)療損害責(zé)任”逐條解讀
- 自身免疫性腦炎護(hù)理常規(guī)
- 《信息技術(shù)基礎(chǔ)》高職全套教學(xué)課件
- GB/T 19077-2024粒度分析激光衍射法
- 露天礦山開采施工組織方案
- 北京市西城區(qū)2022-2023學(xué)年高三上學(xué)期1月期末考試歷史試題 附答案
- 2024關(guān)于進(jìn)一步提升基層應(yīng)急管理能力的意見學(xué)習(xí)解讀課件
- 幼兒園小班健康公開課《笑一笑》課件
- 單詞連連看答題闖關(guān)游戲課堂互動(dòng)課件1
- 16S524塑料排水檢查井-井筒直徑Φ700~Φ1000
- 加強(qiáng)文物古籍保護(hù)利用(2022年廣東廣州中考語文試卷非連續(xù)性文本閱讀試題及答案)
評論
0/150
提交評論