




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022-2023年寧夏回族自治區(qū)吳忠市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:#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”);}程序運行后的輸出結(jié)果是()。A.12345B.23445C.34756D.35745
2.現(xiàn)在有16枚外形相同的硬幣,其中一枚是假幣,且已知假幣比真幣重量輕。先給定一架沒有砝碼的天平,問至少需要多少次稱量才能找到這枚假幣?
A.3B.4C.5D.6
3.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];則b的值是()。
A.5B.6C.9D.8
4.作為信息處理熱點技術(shù)之一的“多媒體技術(shù)”中的媒體,強調(diào)的是()。
A.存儲媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺媒體
5.軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。
A.概要設(shè)計B.軟件設(shè)計C.可行性研究和計劃制定D.需求分析
6.下列程序段的時間復(fù)雜度為()。A.O(n)B.O(log2n)C.O(n3)D.O(n2)
7.設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。
A.0~255B.0~32767C.0~65535D.0~2147483647
8.有以下程序:
程序運行后的輸出結(jié)果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
9.如下程序的時間復(fù)雜度為(其中m>1,e>0)A.logmB.m的平方C.m的1/2方D.m的1/3方
10.當一個函數(shù)無返回值時,定義它的函數(shù)類型應(yīng)是()。
A.voidB.intC.任意D.無
11.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3;charflag;flag=b>=2&&c<=3;switch(a){ case1:switch(flag) { case0:printf(“**”);break; case1:printf(“%%”);break; } case0:switch(c) { case1:printf(“$$”);break; case2:printf(“&&”);break; default:printf(“##”); }}printf(“\n”);}程序運行后的輸出結(jié)果是()。
A.**$$B.%##C.%&&D.**##
12.下列關(guān)于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標志
B.'\0'作為標志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
13.健壯的算法不會因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)()
A.對B.錯
14.若有定義和語句:inta,b;scanf("%d,%d",&a,&b);以下選項中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。A.3,5,B.3,5,4C.3,5D.3,5
15.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
16.若變量已正確定義,有以下程序段
A.0,0B.0,1C.1,1D.程序進入無限循環(huán)
17.軟件詳細設(shè)計的主要任務(wù)是確定每個模塊的()。
A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程
18.有以下程序:#include<stdio.h>main(){charv[4][10];inti;for(i=0;i<4;i++)scanf(“%s”,v[i]);printf(“%c,%s,%s,%c”,**v,*(v+1),v[3]+3,*(v[2]+1));}程序運行時輸入welcomeyoutobeijing并按<Enter>鍵,則輸出結(jié)果是()。
A.w,youjing,o
B.welcome,you,jing,to
C.w,you,eeijing,u
D.w,xelcome,eeijing,u
19.數(shù)據(jù)流圖用于抽象地描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
20.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
二、2.填空題(20題)21.結(jié)構(gòu)化分析方法是面向______進行分析的方法。
22.下面程序的輸出結(jié)果是【】。
main()
{inti=3,j=2;
char*a="DCBA";
printf("%c%c\n",a[i],a[j])
}
23.輸出若干學(xué)生3門課程的成績。
#include<stdio.h>
【】
structstudent
{intnum;
floatscore[3];
}
main()
{inti=0,n;
floata[3];
【】*ptr[200];
printf("請輸入學(xué)生學(xué)號和3門課成績,學(xué)號為0表示數(shù)據(jù)輸入結(jié)束\n");
do
{ptr[i]=(structstudent*)malloc(sizeof(structstudent));
scanf("%d%f%f%f",&ptr[i]->num,&a[O],&a[1],&a[2]);
ptr[i]->score[O]=a[O];
ptr[i]->score[1]=a[1];
ptr[i]->score[2]=a[2];
if(【】)break;
i++;
}while(1);
n=i-1;
【】;
for(i=O;i<=n;i++)
printf("%-6d%.1f%.1f%.1f\n",ptr[i]->num,ptr[i]->score[0],
ptr[i]->score[1],ptr[i]->score[2]);}
24.執(zhí)行下列語句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
25.在進行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊,其中______的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。
26.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
27.軟磁盤最外邊的磁道數(shù)是【】號磁道。
28.以下程序的功能是計算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+______;s=s+t;}
printf("s=%d\n",s);
}
29.以下程序中,fun函數(shù)的功能足求3行4列二維數(shù)組每行尢素中的最大值。請?zhí)羁?。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;fun(3,4,a,B);for(i=0;j<3;i++)printf("%4d",b[i]);printf("\n");}voidfun(intm,intn,intar[][4],int*br){inti,j,x;for(i=0;i<m;i++){x=ar[i][0];for(j=0;j<n;j++)if(())x=ar[i][j];br[i]=x;}}
30.以下程序運行后的輸出結(jié)果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
31.在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。常見的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和()。
32.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
33.寫出下列程序的輸出結(jié)果______。
main()
{int=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
34.棧的基本運算有三種:入棧、退棧和【】。
35.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
printf("exsize:%d\n",sizeof(【】));}
36.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序運行時,如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為______。
37.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當給a、b、c輸入三角形三條邊長時,確定a、b、c能構(gòu)成三角形的條件是需同時滿足三個條件:a+b>c,a+c>b,b+c>a。請?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&C);
if(())printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/
}
38.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
39.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
40.以下程序中,主函數(shù)調(diào)用了LineMax函數(shù),實現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值。
請?zhí)羁铡?/p>
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
三、1.選擇題(20題)41.執(zhí)行以下程序段后,w的值為()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));
A.-1B.NULLC.1D.0
42.下列程序的運行結(jié)果是()。#include<stdio.h>main(){inta=0,b=4,c=0,d=10,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf("%d\n",d);}
A.5B.3C.20D.10
43.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是()。
A.線性表B.隊列C.樹D.棧
44.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在執(zhí)行了c=&b;b=&a;語句后,表達式**c的值是______。
A.變量a的地址B.變量b中的地址C.變量a中的值D.變量b的地址
45.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為
A.ABCDEFB.DAECFC.BDAECFD.DBEFCA
46.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.lf%3.lf\n",a,c,f,x);}程序運行后的輸出結(jié)果是
A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5
47.對線性表進行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈式方式存儲,并按關(guān)鍵碼值排好序
D.線性表以鏈式方式存儲,并按關(guān)鍵碼的檢索頻率排好序
48.下列表達式中,可以正確表示x≤0或x≥1的關(guān)系是()。
A.(x>=1)‖(x<=0)B.x>1‖x=0C.x>=10Rx<=0D.x>=1&&x<=0
49.有以下程序: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
50.設(shè)有如下定義:char*aa[2]={"abcd","ABCD"},則以下說法中正確的是()。
A.aa數(shù)組中元素的值分別是{"abcd","ABCD"};
B.aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個元素中各自存放了字符‘a(chǎn)’和‘A’的地址
51.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分
52.變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是11110000。若要求將a的高位取反,低4位不變,所要執(zhí)行的運算是
A.a^bB.a|bC.a&bD.a<<4
53.整型變量X和Y的值相等,且為非0值,則以下選項中結(jié)果為0的表達式是______。
A.X||YB.X|YC.X&YD.xy
54.在C語言中引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型只能是()。
A.整型常量B.整型表達式C.整型常量或整型表達式D.任何類型的表達式
55.下列程序執(zhí)行后輸出的結(jié)果是()#include<stdio.h>f(intA){intb=0;staticc=3;a=c++,b++;return(A);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}
A.3B.0C.5D.4
56.設(shè)有下列二叉樹:
對此二叉樹先序遍歷的結(jié)果是
A.ABCDEFB.BDAECFC.ABDCEFD.DBEFCA
57.有以下程序main(){inti=10,j=1;printf("%d,%\d\n",i--,++j);}執(zhí)行后輸出的結(jié)果是
A.9,2B.10,2C.9,1D.10,1
58.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無定值
B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
59.以下選項中,不能作為合法常量的是
A.1.234e04B.1.234e0.4C.1.23E+4D.1.234e0
60.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sized(a);j=stden(a);printf(“%d,%d\n”,i,j);}程序運行后的輸出結(jié)果是
A.9,9B.8,9C.1,8D.9,8
四、選擇題(20題)61.下列選項中屬于軟件生命周期開發(fā)階段任務(wù)的是()。
A.可行性研究
B.需求分析
C.詳細設(shè)計
D.軟件維護
62.
有以下程序:
main
{intk=5;
while(--k)printf("%d",k-=3);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
63.
64.
65.下列關(guān)于棧的描述錯誤的是()。
A.棧按“先進后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲
66.
67.
68.
69.
70.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細設(shè)計B.需求分析C.總體設(shè)計D.編程調(diào)試
71.
72.
73.(71)算法分析的目的是______。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性
B.分析算法的效率以求改進
C.分析算法的易懂性和可靠性
D.找出算法中輸入和輸出之間的關(guān)系
74.利用E-R模型進行數(shù)據(jù)庫的概念設(shè)計,可以分成3步:首先設(shè)計局部E-R模型,然后把各個局部E-R模型綜合成一個全局的模型,最后對全局E-R模型進行(),得到最終的E-R模型。
A.簡化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
75.
76.
77.
78.以下敘述中正確的是()。
A.C程序中注釋部分只能放在程序最后
B.花括號“{“和”}”可以作為函數(shù)體的定界符,也可以作為復(fù)合語句的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號不是語句的一部分,是C語句之間的分隔符
79.設(shè)變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是
80.若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計題(1題)82.規(guī)定輸入的字符串中只包含字母和+號。編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的母號外,將其他的*號全部刪除。形參h已指向字符串中第一個字母,形參P指向字符串中最后一個字母。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。
參考答案
1.D本題考查靜態(tài)變量,靜態(tài)變量有儲存已經(jīng)操作過的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案選擇D。
2.A
3.C解析:p=&a[3]將指針指向數(shù)組a的第4個元素,p[5]則是數(shù)組a的第9個元素,而a[8]=9,所以b=9。
4.D媒體分為感覺媒體、表示媒體、存儲媒體、傳輸媒體和表現(xiàn)媒體五種,“多媒體技術(shù)”中的媒體強調(diào)的是感覺媒體。
5.D\n通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用、退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。軟件生命周期的主要活動階段為:可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務(wù)的實施計劃。
\n需求分析。對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。
\n軟件設(shè)計。系統(tǒng)設(shè)計人員和程序設(shè)計人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
\n軟件實現(xiàn)。把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。
\n軟件測試。在設(shè)計測試用例的基礎(chǔ)上,檢驗軟件的各個組成部分。編寫測試分析報告。
\n運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改。
\n本題答案是D)。
\n
6.A
7.C
8.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用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選項正確。
9.A
10.A
11.Bmain函數(shù)中,根據(jù)“b=2,c=3”可知表達式“b>=2&&c<=3”為真,flag值為1。由“a=1”和外層switch語句的case標號沒有break語句,可知外層switch語句執(zhí)行case1,case0。對于外層case1:嵌套的switch語句根據(jù)“flag=1”執(zhí)行case1,執(zhí)行“printf(“%%”);”,輸出“%”,接著執(zhí)行break語句,結(jié)束內(nèi)層switch執(zhí)行外層;對于外層case0:嵌套的switch語句根據(jù)“c=3”執(zhí)行default語句,執(zhí)行“printf(“##”);”,輸出“##”。故本題答案為B選項。
12.B解析:'\\0'作為標志占用存儲空間,但是不計入串的實際長度。當給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
13.A
14.C在輸入3和5之間除逗號外不能有其他字符。
15.D本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯1時,表達式返回值才是1;“||”的兩個運算對象至少有一個是邏輯1時,表達式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
16.Bdo…while循環(huán)的執(zhí)行過程如下:①執(zhí)行do后面的循環(huán)體中的語句。②計算while后一對圓括號中表達式的值。當值為非0時,轉(zhuǎn)去執(zhí)行步驟①;當值為0時,執(zhí)行步驟③。③退出do…while循環(huán)。對于本題變量i的初始值等于“0”,接著執(zhí)行do后面的循環(huán)體中的語句,輸出變量i的值0。再判斷while后面括號中表達式i十的值,其值為0,所以循環(huán)結(jié)束。.此時變量i的值經(jīng)過自加已經(jīng)變?yōu)?,所以再次輸出i的值“1”。
17.A解析:從軟件開發(fā)的工程化觀點來看,在使用程序設(shè)計語言編制程序以前,需要對所采用算法的邏輯關(guān)系進行分析,設(shè)計出全部必要的過程細節(jié),并給予清晰的表達。詳細設(shè)計的任務(wù)就是要決定各個模塊的實現(xiàn)算法,并精確表達出這些算法。本題正確答案為選項A。
18.A題干中,定義一個二維字符數(shù)組v。然后通過for循環(huán),輸入4個字符串welcome、you、to、beijing,將其分別存放在v的4個元素中。數(shù)組v是存放4個字符串的二維數(shù)組;“**v”表示第1個字符串的第一個字符“w”;“*(v+1)”指向第2個字符串“you”;“v[3]+3”指向第4個字符串的第3個字符開始后的整個字符串“jing”;“*(v[2]+1)”表示第3個宇符串的第2個字符“o”。故本題答案為A選項。
19.A解析:數(shù)據(jù)流圖包括四個方面,即加工(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體),不包括選項中的控制流。
20.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
21.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
22.AB
23.#include<alloc.h>structstudentptr[i]->num==Ofree(ptr[i])#include<alloc.h>\r\nstructstudent\r\nptr[i]->num==O\r\nfree(ptr[i])
24.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
25.驅(qū)動模塊驅(qū)動模塊解析:由于模塊通常不是獨立的程序,自己不能運行,而需要其他模塊調(diào)用或驅(qū)動,同時被測試模塊還要去調(diào)用其他模塊,前者稱為驅(qū)動模塊,后者稱為承接模塊。其中驅(qū)動模塊的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是代替被測模塊,調(diào)用其他模塊。
26.str[i]或str+iistr[i]或str+i\r\ni
27.0
28.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因為i在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。
29.x<ar[i][j]x<ar[i][j]解析:本題考查的是循環(huán)的嵌套。本題定義了二維數(shù)組a,存放3行4列的數(shù)組元素,定義了,一維數(shù)組b用于存放每行的最大數(shù)。存函數(shù)fun中,通過二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù)。當外層循環(huán)執(zhí)行一次時,內(nèi)層循環(huán)則執(zhí)行4次,并求出了這一行的最大值x,最后將每一行求出最大值x賦值給存放最大值的數(shù)組br,故本題答案為x<ar[i][j]。
30.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲單元的首地址。指針的定義:
類型說明符*指針變量名;
31.關(guān)系模型關(guān)系模型解析:在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實世界的反映,它分為兩個階段:把現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。常見的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和關(guān)系模型。
32.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
33.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做;n++是先取n的當前值和I做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=0<=1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3。退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當前值3,然后再將n加1,即程序結(jié)束后得到n=4,但輸出的是3。
34.讀棧頂元素讀棧頂元素解析:棧的基本運算有三種:入棧、退棧和讀棧頂元素。
入棧運算是指在棧頂位置插入一個新元素。這個運算有兩個基本操作:首先將棧頂指針進一(即top加1),然后將新元素插入到棧頂指針指向的位置。
退棧運算是指取出棧頂元素并賦給一個指定的變量。這個運算有兩個基本操作:首先將棧頂元素(棧頂指針指向的元素)賦給一個指定的變量,然后將棧頂指針退一(即top減1)。
讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運算不刪除棧頂元素,只是將它的值賦給一個變量。
35.structst或exstructst或ex解析:結(jié)構(gòu)體類型數(shù)據(jù),其數(shù)據(jù)成員各自占據(jù)不同的存儲空間,整個結(jié)構(gòu)體變量所占存儲單元的字節(jié)數(shù)為每一個數(shù)據(jù)成員所占的存儲空間的和。注意:共用體變量所占存儲單元字節(jié)數(shù)的計算。
36.BB解析:因為c是字符類型變量,它只能接收一個字符,所以c=A,字符型變量在參與算術(shù)運算的時候是用其相應(yīng)的ASCII碼參與運算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。
37.(a+b>C)&&(a+c>B)&&(b+c>A)(a+b>C)&&(a+c>B)&&(b+c>A)解析:本題主要考查運算符邏輯與“&&”的用法。
38.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
39.852852解析:循環(huán)前,變量y的值為9,其中的循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值減1。循環(huán)體是當y能被3整除時輸出表達式--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。
40.p=jx[i][p]LineMax(x)
41.C解析:字符變量w的初值為字符'A',其ASCII碼值為65,字符'a'的ASCII碼值為97,所以關(guān)系表達式w<'a'的值為1;變量x=14,變量y=15,x||y為或,x、y均為真,所以x||y的結(jié)果1。因而邏輯表達式(x||y)&&(w<'a')的值為1。
42.D解析:本題考查ifelse語句。第1個if語句,先判斷條件,發(fā)現(xiàn)a=0條件不成立,則執(zhí)行與其配對的else語句;第2個if語句,先判斷條件,發(fā)現(xiàn)b=4,則!b條件不成立,又沒有與其配對的else語句,所以執(zhí)行printf語句,輸出d。
43.C解析:線性結(jié)構(gòu),是指數(shù)據(jù)元素只有一個直接前件元素和直接后件元素。線性表是線性結(jié)構(gòu)。棧和隊列是指對插入和刪除操作有特殊要求的線性表,樹是非線性結(jié)構(gòu)。
44.C解析:指針變量是用來存放地址的。&:取地址運算符。*:指針運算符。**c為指針變量*c所指向的存儲單元,*c為指針指針變量c所指向的存儲單元,而c=&b表示c為變量b的地址,b=&a表示b為變量a的地址。表邊式**c的值就是變量a中的值。
45.C解析:叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求中序遍歷,其遍歷順序應(yīng)該為:中序遍歷左子樹->,訪問根結(jié)點->中序遍歷右子樹.按照定義,中序遍歷序列是BDAECF,故答案為B。
46.B解析:主函數(shù)中先定義了一個整型變量a,一個字符變量c并賦初值10,一個浮點型變量f并賦初值100.00和一個double型x,接著執(zhí)行“a=f/=C*=x=6.5)”,該語句從右向左計算,先把6.5賦值給x(該括號表達式的值也為6.5),此時x的值的變?yōu)?.5,然后執(zhí)行“c*=(x=6.5)”相當于執(zhí)行“c=c*(x=6.5)”,此時c的值為65,接著向左執(zhí)行“f/c*=(x=6.5)”,語句相當于執(zhí)行“f=f/c”接著向最右邊執(zhí)行“a=f”,由于a是整型變量,所以a最后去f的整數(shù)部分為1。程序最后輸出的a、c、f和x的值分別為1、65、1.5、6.5。所以,4個選項中選項B符合題意。
47.A解析:對線性表進行二分法檢索,要求線性表是按順序方式存儲的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
48.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達式是或的關(guān)系,所以在寫成C語言表達式應(yīng)是邏輯或的關(guān)系,邏輯或運算符是“‖”。
49.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。
50.C解析:aa數(shù)組被定義為字符型指針數(shù)組,有兩個元素,分別存放字符串'abcd'和'ABCD'的首地址。
51.C解析:數(shù)據(jù)流相當于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統(tǒng)或從系統(tǒng)流向外部實體。
52.A解析:本題考查的是位運算的知識,對于任何二進制數(shù),和1進行異或運算會讓其取反,而和0進行異或運算不會產(chǎn)生任何變化。
53.D解析:“||”為或運算符,當其左有表達式中只要一個為非零則整個表達式的值1。|是按位或,&是按位與,^是按位異或,這三位運算符是按值的二進制位來比較的。
54.C解析:在C語言中,數(shù)組元素的下標只能是整型常量或整型表達式。
55.D
56.C解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷,遍歷順序應(yīng)該為:訪問根結(jié)點->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDCEF。
57.B解析:本題考核的知識點是printf()函數(shù)及++,--運算符的應(yīng)用。++、--運算符在變量之前是先使變量的值加1或減1,然后再使用變量的值;如果在變量之后則先使用變量之前的值,再把變量的值加1或減1。顯然,程序中表達式“i--”的值為10,“++j”的值為2,所以最后輸出的值為10和2,所以,B選項為所選。
58.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號的十進制整型數(shù)輸出,所以第一個輸出語句輸出的結(jié)果為a,97;第二個輸出語句輸出的結(jié)果為k=12。
59.B解析:C語言的語法規(guī)定,字母e(E)之前必須有數(shù)字,且e(E)后面的指數(shù)必須是整數(shù),而選項B)中,e(E)后面的指數(shù)是小數(shù),所以不合法。
60.D解析:本題中首先定義了字符數(shù)組a,由于它的長度省略,所以其長度由初值個數(shù)確定,為9。接著將sizeof()函數(shù)返回的值賦給i(sizeof()函數(shù)的作
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國全自動內(nèi)酯豆腐封口機市場調(diào)查研究報告
- 2025年中國休閑毛絨褲市場調(diào)查研究報告
- 2025年中國交龍插腳市場調(diào)查研究報告
- 2025年中國不銹鋼管非標管市場調(diào)查研究報告
- 節(jié)能環(huán)保合同范本
- 室外拆除合同范本
- 購水暖材料合同范本
- 中瑞壓力管道設(shè)計合同范本
- 返聘人員勞務(wù)合同范本
- 五年級道德與法治知識拓展計劃
- 新人教版高中數(shù)學(xué)選擇性必修第一冊全套精品課件
- 新公務(wù)員法培訓(xùn)課件
- 領(lǐng)導(dǎo)干部的國學(xué)修養(yǎng)講義
- 05-第三章-環(huán)境污染物的生物轉(zhuǎn)運和生物轉(zhuǎn)化-生物轉(zhuǎn)化幻燈片
- 公司精益改善項目推進管理制度及激勵方案
- 工科高等數(shù)學(xué)(下)知到章節(jié)答案智慧樹2023年上海海洋大學(xué)
- oppor11t刷全網(wǎng)通改全教程
- 兒童羽毛球教程
- 福建某機場二次雷達站基建工程施工組織設(shè)計
- 內(nèi)部控制-倉儲與存貨循環(huán)調(diào)查問卷
- 流程成熟度模型(PEMM)
評論
0/150
提交評論