




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年山西省太原市全國計算機等級考試C語言程序設計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.如有inta=11;則表達式(a++*1/3)的值是()。
A.0B.3C.4D.12
2.
3.下列程序的運行結果是()。
#include<stdio.h>
main()
{intx=5,a=1,b=2,C=5,d=0;
if(a<B)
if(b!=3)
if(!C)
x=1;
else
if(D)x=1;
elsex=-1;
printf("%d",x);
}
A.-1B.0C.1D.不確定的值
4.下列標識符不是關鍵字的是()。
A.breakB.charC.SwithchD.return
5.下列關于線性表的敘述中,不正確的是()
A.線性表可以是空表
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表是由n個元素組成的一個有限序列
6.以下說法錯誤的是:()
A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量
B.一個函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量
C.局部變量的定義和全局變量的定義的含義不同
D.如果在同一個源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內,全局變量通常不起作用
7.若有語句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。
A.可用S定義結構體變量B.可用T定義結構體變量C.S是struct類型的變量D.T是structS類型的變量
8.
下列程序的輸出結果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
9.以下選項中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
10.計算機能夠直接識別和執(zhí)行的語言是
A.匯編語言B.自然語言C.機器語言D.高級語言
11.關系R和關系S的并運算是______。
A.由關系R和關系S的所有元組合并組成的集合,再刪去重復的元組
B.由屬于R而不屬于S的所有元組組成的集合
C.由既屬于R又屬于S的元組組成的集合
D.由R和S的元組連接組成的集合
12.
13.以下不完整的程序擬實現(xiàn)調用getmax函數(shù),找出4個變量中最大的一個:#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項若填入下劃線處,不能實現(xiàn)上述功能的是()。
A.getmax(getmax(getmax(a,b),c),d)
B.getmax(getmax(a,b),getmax(c,d))
C.getmax(a,getmax(b,getmax(c,d)))
D.mx=(getmax(a,b),getmax(c,d))
14.對一個滿二叉樹,m個葉子,n個結點,深度為h,則()。
A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1
15.
16.在單鏈表中,增加頭結點的目的是______。
A.方便運算的實現(xiàn)B.使單鏈表至少有一個結點C.標識表結點中首結點的位置D.說明單鏈表是線性表的鏈式存儲實現(xiàn)
17.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時編譯器提示錯誤信息,你認為出錯的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
18.若要求定義具有10個int型元素的一維數(shù)組a,則以下定義語句中錯誤的是A.#defineN10inta[N];B.#definen5inta[2*n];C.inta[5+5];
D.intn=10,a[n];
19.若定義下列結構體,結構體變量p的出生年份賦值正確的語句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
20.一個C語言程序總是從()開始執(zhí)行:
A.主程序B.子程序C.主函數(shù)D.第一個函數(shù)
二、2.填空題(20題)21.下面程序的功能是將一個字符串str的內容顛倒過來,請?zhí)羁铡?/p>
main()
{
inti,j,【】;charstr[]={"1234567");
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
22.開發(fā)軟件所需要的高成本和產品的低質量之間有著尖銳的矛盾,這種現(xiàn)象被人們稱之為【】。
23.以下程序的輸出結果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
24.下列程序的輸出結果是______。
#include<stdio.h>
int(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=1,b=8,c=7,d=9;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
25.以下程序用于判斷a、b、c能否構成三角形,若能,輸出YES,否則輸出NO。當給a、b、c輸入三角形三條邊長時,確定a、b、c能構成三角形的條件是需同時滿足三個條件: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能構成三角形*/
elseprintf("NO\n");/*a、b、c不能構成三角形*/
}
26.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體"項目主管"與實體"項目"的聯(lián)系屬于【】的聯(lián)系。
27.—個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
28.若a=1,b=2,則表達式!(x=A)‖(y=B)&&0的值是______。
29.下面fun函數(shù)的功能是將形參x的值轉換成二進制數(shù),所得二進制數(shù)的每一位數(shù)放在數(shù)組中返回,二進制數(shù)的最低位放在下標為0的元素中,其他依此類推。請?zhí)羁铡?/p>
Fun(intx,intb[])
{intk=0,r;
do
{r=x%2;
()=r;
x/=2;
}while(x);
}
30.若有下列定義(設int類型變量占兩個字節(jié)),則i=【】,j=【】。
inti=8,j=9;floatx=123.456;
print("i=%oj=%o\n",i,j);
31.以下程序的功能是【】。
main()
{intnum[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
intsum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf("sum=%6d",sum);
}
32.下列程序段的運行結果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
33.設有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對結構體成員a的引用方法可以是abc.a和p_abc______。
34.若有以下定義和語句:
intw[10]={23,54,10,33,47,98,72,80,61},*p;
p=w;
則通過指針p引用值為98的數(shù)組元素的表達式是【】。
35.以下程序的功能是計算: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);
}
36.為了建立如圖所示的存儲結構(即每個結點含兩個域,data是數(shù)據(jù)域,next是指向結點的指針域)。請?zhí)羁铡?/p>
structlink{chardata;【】;}node;
37.設在主函數(shù)中有以下定義和函數(shù)調用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
38.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{intI;
for(I=0;【】!='\n';I++);
return(I);}
39.以下程序運行后輸入3,abcde<回車>,則輸出結果是【】。
#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);
}
40.在面向對象方法中,允許作用于某個對象上的操作稱為【】。
三、1.選擇題(20題)41.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
42.在軟件工程中,高質量的文檔是______、一致性和無二義性的。
A.安全性B.完整性C.組合性D.統(tǒng)一性
43.以下程序的輸出結果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
44.若有下列說明和語句,則對結構體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
45.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}
D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}
46.下面程序段的運行結果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符′C′的地址D.字符′C′
47.以下不合法的字符常量是()。
A.'\018'B.'\'''C.'\\'D.'\xcc\
48.以下正確的說法是
A.定義函數(shù)時,形參的類型說明可以放在函數(shù)體內
B.return后邊的值不能為表達式
C.如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準
D.如果形參與實參類型不一致,以實參類型為準
49.以下程序中函數(shù)setup的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址:#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運行時依次輸入:abcd、abba和abc3個字符串,則輸出結果為______。
A.abcdB.abbaC.abcD.abca
50.在最壞情況下,下列排序方法中時間復雜度最小的是()。
A.冒泡排序B.快速排序C.插入排序D.堆排序
51.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內不能使用復合語句
B.do-while循環(huán)由do開始,用while結束,在while(表達式.后面不能寫分號
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
52.設ch是char型變量,其值為A,且有表達式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch。該表達式的值是______。
A.AB.aC.ZD.z
53.有如下程序main(){chars[][5]={"abc","de","fgh"};printf("%c",s[2][6]);}其輸出為______。
A.不確定B.編譯錯誤C.gD.輸出null字符
54.以下程序的輸出結果是______。structdate{long*a;structdate*next;doubleb;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
55.閱讀以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("請輸入2個數(shù):");scanf("%d%f",&Case,&printF);printf("%d%f\n",Case,printF);}以下說法正確的是()。
A.定義浯句出錯,Case是關鍵字,不能用作用戶自定義標識符,printF不能用作用戶自定義標識符
B.定義語句出錯,Int無法被識別
C.定義語句無錯,scanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出Case的值
56.算法一般都可以用______控制結構組合而成。
A.循環(huán)、分支、遞歸B.順序、循環(huán)、嵌套C.循環(huán)、遞歸、選擇D.順序、選擇、循環(huán)
57.設計數(shù)據(jù)庫的存儲結構屬于()。
A.需求分析B.概念設計C.邏輯設計D.物理設計
58.以下選項中可作為C語言合法整數(shù)的是A.10110BB.386C.0XffaD.x2a2
59.以下程序的運行結果為______。main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf("%d%d",f1,f2);f1+=f2;f2+=f1;}}
A.1123581321
B.1122551010
C.1258981321
D.0112451521
60.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序運行后的輸出結果是
A.0,0B.0,1C.1,0D.1,1
四、選擇題(20題)61.軟件按其功能進行分類,可分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是
A.文字編輯軟件B.網(wǎng)頁瀏覽器C.數(shù)據(jù)庫管理系統(tǒng)D.視頻播放軟件
62.以下敘述中錯誤的是()。
A.C程序在運行過程中所有計算都以二進制方式進行
B.C程序在運行過程中所有計算都以十進制方式進行
C.所有C程序都需要編譯鏈接無誤后才能運行
D.C程序中字符變量存放的是字符的ASCIl碼值
63.
64.程序流程圖(PFD.中的菱形代表的是()。
A.數(shù)據(jù)流B.控制流C.加工步驟D.邏輯條件
65.有以下程序程序的運行結果是()。
A.a=2,b=lB.a=2,b=2C.a=1,b=lD.a=1.b=0
66.
67.
68.
程序運行后的輸出結果是()。
A.ABCDE\0FG\OUKB.ABCDUKC.UKD.EFGUK
69.
70.有以下程序程序執(zhí)行后輸出結果是()。
A.5.OOB.5C.5.2lD.0.0
71.有以下程序:
執(zhí)行后輸出結果是()。
A.58B.56C.45D.24
72.
以下程序執(zhí)行后sum的值是()。
main
{inti,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d\n",sum):
}
A.15B.14C.不確定D.0
73.
74.設有圖書(圖書編號,書名,第一作者,出版社.、讀者(借書證號,姓名,單位,職稱.和借閱(借書證號,圖書編號,借書日期,還書日期.三張表,則表借閱的關鍵字(鍵或碼.為()。
A.借書證號,圖書編號
B.圖書編號,借書日期
C.借書日期,還書日期
D.借書證號,借書日期
75.下列關于數(shù)據(jù)庫設計的敘述中,正確的是()。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設計階段建立數(shù)據(jù)字典
C.在邏輯設計階段建立數(shù)據(jù)字典
D.在物理設計階段建立數(shù)據(jù)字典
76.以下選項中關于程序模塊化的敘述錯誤的是()。
A.可采用自底向上、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
B.把程序分成若干相對獨立、功能單一的模塊,可便于重復使用這些模塊
C.把程序分成若干相對獨立的模塊,可便于編碼和調試
D.可采用自頂向下、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
77.有以下程序:
程序運行后的輸出結果是()。
A.7,4.2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,
78.
79.對于長度為n的線性表,在最壞的情況下,下列各排序法所對應的比較次數(shù)中正確的是
A.插入排序為n/2B.插入排序為nC.快速排序為nD.快速排序為n(n-1)/2
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串的最前端加入m個*號,形成新串,并且覆蓋原串。例如,用戶輸入字符串abcd(以Enter鍵結束),然后輸入m值為3,則結果為***abcd。注意:字符串的長度最長允許為79。請修改函數(shù)proc()中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.數(shù)組point中存放著m個人的成績,請編寫函數(shù)fun().它的功能是:返回高于平均分的人數(shù),并將高于平均分的分數(shù)放在high所指的數(shù)組中。例如,當point數(shù)組中的數(shù)據(jù)為50,60,65,70.75,80.88,90,95時,函數(shù)返回的人數(shù)應該是5,high中的數(shù)據(jù)應為75,80,88,90,95。請勿改動main()函數(shù)與其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入所編寫的若干語句。注意:部分源程序給出如下。試題程序:
參考答案
1.B
2.D
3.A解析:本題考查ifelse語句。第1個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第2個if語句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語句:第3個if語句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對的else語句:第4個if語句,先判斷條件,d=0,條件不成立,則x=-1,結束循環(huán)。
4.C在C語言中,字母區(qū)分大小,所以break、char、return、switch都是C語言中的關鍵字,而Swithch不是。
5.CC)【解析】線性表是一種線性結構,由n(n≥O)個元素組成,所以線性表可以是空表。但是性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C)是錯誤的。
6.A
7.BT為結構體類型名,可以用來定義結構體變量。故本題答案為B選項。
8.B
\n當邏輯運算符“&&”兩邊的值是非零時,邏輯表達式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
\n
9.D在選項中,\\019,以0開頭的數(shù)都為八進制數(shù),而八進制的表示數(shù)字是0~7,所以答案選擇D。
10.C
11.A
12.B
13.Dgetmax函數(shù)接收兩個整型變量x、y,使用條件運算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個整數(shù)值,然后通過調用getmax函數(shù),輸出它們的最大值。假設x、y是整數(shù),選項A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿足題意,正確;選項B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號表達式“(x,y)”,返回值為7,不滿足題意。故本題答案為D選項。
14.D
15.D
16.A\nA。【解析】頭結點不僅標識了表中首結點的位置,而且根據(jù)單鏈表(包含頭結點)的結構,只要掌握了表頭,就能夠訪問整個鏈表,因此增加頭結點的目的是為了便于運算的實現(xiàn)。
\n
17.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對指針進行賦值時沒有錯誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。
18.D答案D
解析:在選項D中,n是一個整型的變量。C語言規(guī)定,在一維數(shù)組的定義中,其下標只能是常量表達式,不能包含變量。
19.C解析:本題主要考查怎樣為嵌套定義的結構中的成員賦值:由于worker中的birth是一個st型的結構,在給birth賦值時,不能將birth作為一個整體,要用“.”運算再深入一層訪問到最基本的成員x、y、z。
20.C
21.k-1k\r\n-1解析:程序山使用了整型變量i、j、k,使用前應先聲明,因此第1個空應填變量k。i和j作為下標的值,i被賦初值為0,j應為下標的最大值,下標的最大值為數(shù)組的長度減1。
22.軟件危機軟件危機
23.3535解析:函數(shù)swap(int*a,int*b)的功能是實現(xiàn)*a和*b中兩個數(shù)據(jù)的交換,在主函數(shù)中調用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結果為35。
24.7979解析:因為在調用子函數(shù)時進行的是數(shù)值傳遞,調用于函數(shù)并不能改變實參的值,所以經過調用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。
25.(a+b>C)&&(a+c>B)&&(b+c>A)(a+b>C)&&(a+c>B)&&(b+c>A)解析:本題主要考查運算符邏輯與“&&”的用法。
26.一對多(或1∶N)一對多(或1∶N)解析:兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關系,這種函數(shù)關系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
27.可重用性可重用性解析:繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結構,從而大大減少了程序中的冗余,提高軟件的可重用性。
28.00解析:根據(jù)運算符的運算順序可知,該表達式最后運算的是與(&&)運算,而任何表達式與“0”進行“與”運算,結果都為0。
29.b[k++]b[k++]解析:本題的考查點是do-while語句。形參x默認為十進制,要想將一個十進制的數(shù)轉換成二進制,可以使用整除求余法,題中的程序段也表明了將使用這種方法,將一個十進制的數(shù)轉換成二進制要用這個十進制數(shù)不斷的整除2,將每次的余數(shù)記錄下來,直至無法再除,此時,整除得到的第一個元素即為二進制數(shù)的最低位,其余依次類推,所以在程序段中的橫線處,應當填寫“b[k++]”。
30.1011
31.計算數(shù)組num中大于零的數(shù)據(jù)之和計算數(shù)組num中大于零的數(shù)據(jù)之和
32.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應ASCII碼值68。
33.若結構體變量abc有成員a,并有指針p_abc指向結構變量abe,則引用變量abe成員s的標記形式有abe.a和p_abc->a。
34.*(p+5)
35.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結果來看,s保存的是最終結果,而s在循環(huán)體中,每次累加一個t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內容”加上循環(huán)變量i,又因為i在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內容”應分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內容”應是t*10。
36.structlink*next
37.
38.*(str+I)或str[I]*(str+I)或str[I]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+I)來訪問字符串中的第I個元素,判斷是否為結束標志,如果不是,I=I+1,繼續(xù)取下一個元素進行判斷,直到*(str+I)的值為'\\0'為止,也可以用下標的方式引用字符,如*(str+I)相當于str[I]。
39.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個for循環(huán)調用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。
40.方法方法解析:在面向對象方法中,方法是指允許作用于某個對象上的各種操作。
41.A解析:在C語言中所謂函數(shù)的遞歸是指在調用一個函數(shù)的過程中,又出現(xiàn)了直接或間接調用該函數(shù)本身,直接調用該函數(shù)本身的稱為函數(shù)遞歸,而間接調用該函數(shù)稱為函數(shù)的間接遞歸調用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當i<j時,將數(shù)組中的元素a[i]和a[j]交換,然后再調用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標i=j,可見該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個長度為5的數(shù)組aa并初始化,然后調用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個選項中選項A符合題意。
42.B
43.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認初始化為零。
44.B解析:本題主要考查結構指針:p=&st,訪問結構體的成員,可以通過結構變量訪問,即st.i,也可以用等價的指針形式,即(*p).i和p->i。
45.C解析:switch后的括號中只能是整型或字符型表達式,選項A中使用的是浮點型變量x,故不正確。選項B在switch的括號后面多了一個分號,故也不正確。switch的case標號后只能是常量或常量表達式,而不能是變量,所以選項D也不正確。故應該選擇C。
46.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應該是該字符串中的首地址,p+3指向的是字符串結束標志'\\0'的地址,因而*(p+3)的值為0。
47.A解析:在選項A中,“\\”后跟著三個數(shù)字,是表示一個ASCII碼值等于這三位數(shù)字所組成的八進制數(shù)數(shù)值的字符,但是八進制數(shù)只能是由0-7這八個數(shù)字表示,而選項A中出現(xiàn)了數(shù)字8所以是不合法的。選項B是表示一個雙引號的轉義字符表示方法;選項C表示的是一個反斜桿;選項D表示一個ASCII值為十六進制值“的字符。故應該選擇A。
48.C解析:選項A)中定義函數(shù)時,形參的類型說明應該放在形參表列內說明。老版本C語言中,對形參類型的聲明是放在函數(shù)定義的第2行,也就是不在第1行的括號內指定形參的類型,而在括號外單獨指定。選項B)中return后面的值可以是一個表達式。選項D)中實參與形參的類型應相同或賦值兼容。如果實參為整型而形參為實型,或者相反,則按不同類型數(shù)值的賦值規(guī)則進行轉換,以形參類型為準。
49.B解析:函數(shù)scmp的功能是比較兩個符號串的大小,返回值較小的那個符號串。str[0]中存放'abcd'、str[1]中存放'abba'、str[2]中存放'abc',執(zhí)行完語句strcpy(string,scmp(sty[0],sir[1]));后string中存放'abba',執(zhí)行完語句strcpy(string,scmp(string,str[2]));后string中存放'abba'。
50.D解析:在最壞情況下:冒泡排序需要的比較次數(shù)為n(n-1)/2;快速排序需要的比較次數(shù)也為n(n-1)/2;插入排序需要的比較次數(shù)也為n(n-1)/2;堆排序需要比較的次數(shù)為O(nlog2n)。可知,在最壞情況下,堆排序的時間復雜度最小,本題的正確答案為選項D。
51.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結束,在do-while循環(huán)中,不可以省略while。
52.B
53.A解析:由于s[2][6]表示字符串已超出了數(shù)組s的表示范圍,在C中不會劉數(shù)組越界進行檢查,當數(shù)組越界時,會得到一個不確定的值。
54.D解析:指針類型占2個字節(jié),雙精度型占8個字節(jié),因此sizeof(too)=2+2+8=12
55.B解析:C語畝足一種大小寫敏感的語言,因此Int應為int,而CaseprintF則可以使用。
56.D解析:算法的控制結構給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設計是否符合結構化原則。一個算法一般都可以用順序、選擇、循環(huán)三種基本控制結構組合而成。
57.DD?!窘馕觥课锢碓O計階段主要解決選擇文件存儲結構和確定文件存取方法的問題。物理設計階段包括:選擇存儲結構、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。
58.C解析:本題考核的知識點是整數(shù)及常數(shù)的表示方法。在C語言中,整數(shù)常量可以用十進制、八進制和十六進制來表示,選項A為二進制表示,故選項A不正確;選項B是八進制表示法,但在八進制數(shù)中,各個位數(shù)只能為數(shù)字。到7中的一個,而在選項B中,有一個數(shù)字8,故選項B不正確;選項C為十六進制表示法正確:選項D中也為十六進制表示法,但十六進制數(shù)以Ox開頭,故選項D不正確,所以,4個選項中選項c符合題意。
59.A
60.C解析:本題考查“邏輯或”運算的特例。本題中執(zhí)行語句k=(n=b>a)||(m=a<b)時,首先計算表達式(n=b>a)||(m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表達式(n=b>a)||(m=a<b)的值為真,不再執(zhí)行表達式m=a<b,故執(zhí)行完表達式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。
61.C本題考查不同種類軟件的劃分。
應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件和用戶程序。應用軟件包括辦公室軟件(文書處理器、檔案管理系統(tǒng)、文本編輯器)、互聯(lián)網(wǎng)軟件(即時通訊軟件、電子郵件客戶端、網(wǎng)頁瀏覽器FTP客戶端下載工具)、多媒體軟件(媒體播放器、圖像編輯軟件、音訊編輯軟件、視訊編輯軟件)、分析軟件(統(tǒng)計軟件、數(shù)字計算)、協(xié)作軟件、商務軟件、會計軟件(企業(yè)工作流程分析軟件)。
系統(tǒng)軟件是指控制和協(xié)調計算機及外部設備,支持應用的軟件開發(fā)和運行的系統(tǒng),是無須用戶干預的各種程序的集合,主要功能是調度、監(jiān)控和維護計算機系統(tǒng);負責管理計算機系統(tǒng)中各種獨立的硬件,使得它們可以協(xié)調工作。系統(tǒng)軟件使得計算機使用者和其他軟件將計算機當做一個整體而不需要顧及到底層每個硬件是如何工作的。系統(tǒng)軟件主要包括:操作系統(tǒng)(Windows、Linux、DOS、UNIX)、語言處理程序(匯編語言匯編器、C語言編譯、連接器)、高級語言系統(tǒng)和各種服務性程序(數(shù)據(jù)庫管理、存儲器格式化)等。
支撐軟件是支撐各種軟件的開發(fā)與維護的軟件,又稱為軟件開發(fā)環(huán)境,如IBM公司的WebSphere、微軟公司的Studio.NET,它主要包括環(huán)境數(shù)據(jù)庫、各種接口軟件和工具組。
選項A、B、D都屬于應用軟件。
62.BC程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。
63.C
64.D程序流程圖是軟件設計過程中常用的圖形描述工具之一。構成程序流程圖的最基本符號有:“→”或“↓”表示控制流,“口”表示加工步驟,“
”表示邏輯條件。
65.Acase常量表達式只是起語句標號作用,并不是該處進行條件判斷。在執(zhí)行switch語句時,根據(jù)switch的表達式,找到與之匹配的case語句,就從該case-子句執(zhí)行下去,不再進行判斷。直到碰到break競語句結束為止。因此執(zhí)行內層switch
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 牙醫(yī)藥品知識培訓課件
- 教育投資績效評估表格(年份對比)
- 心理咨詢技能實務試題
- 印刷材料采購與使用協(xié)議
- 山東省菏澤市2024-2025學年高二上學期1月期末生物學試題(含答案)
- 健康醫(yī)療智能硬件開發(fā)合作契約書
- 秘密花園的閱讀引導:英文名著導讀教案
- 智慧城市智慧交通系統(tǒng)智能調度預案
- 產品定制開發(fā)合同書及產品質量保障承諾書
- 大數(shù)據(jù)分析平臺開發(fā)合作協(xié)議
- 2024年寧夏回族自治區(qū)消防救援總隊招聘機關消防文員考試真題
- 鐵路沿線危樹清理施工方案
- 二年級下冊數(shù)學口算題-可打印
- 公司信息化安全規(guī)章制度及操作手冊
- 福建省南平市2024-2025學年九年級上學期期末語文試題(解析版)
- 2025年湖南工程職業(yè)技術學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 蘇教版二年級數(shù)學下冊單元測試題及答案
- 部編版五年級下冊語文全冊優(yōu)質課件
- 約等于計算題100道乘除法
- 水泵站工程施工設計方案
- 新聞類文體的翻譯(課堂PPT)
評論
0/150
提交評論