版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年內(nèi)蒙古自治區(qū)通遼市全國計算機(jī)等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序運行后的輸出結(jié)果是()。A.0B.10C.30D.64
2.有以下程序段當(dāng)執(zhí)行上述程序段,從鍵盤上輸A,555667777123后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
3.如果樹的的結(jié)點A有4個兄弟,而且B為A的雙親,則B的度為()。
A.3B.4C.5D.1
4.下列選項中,不屬于數(shù)據(jù)管理員(DBA.職責(zé)的是()。
A.數(shù)據(jù)庫維護(hù)B.數(shù)據(jù)庫設(shè)計C.改善系統(tǒng)性能,提高系統(tǒng)效率D.數(shù)據(jù)類型轉(zhuǎn)換
5.以下是if語句的基本形式:
if(表達(dá)式.語句
其中“表達(dá)式”()。
A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式
6.已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)該采用的算法是()
A.直接選擇排序B.堆排序C.快速排序D.直接插入排序
7.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是()。
A.循環(huán)隊列B.棧C.順序表D.循環(huán)鏈表
8.下列描述中正確的是______。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件新產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題
9.下列關(guān)于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
10.以下敘述中正確的是()。
A.C語言的源程序不必通過編譯就可以直接運行
B.C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運行
D.C語言中的函數(shù)不可以單獨進(jìn)行編譯
11.
12.若有定義:floatx=1.5;inta=1.b=3.c=2;則正確的switch語句是()。A.
B.
C.
D.
13.以下選項中表示一個合法的常量是(說明:符號口表示空格)()。
A.9口9口9B.0XabC.123E0.2D.2.7e
14.對初始狀態(tài)為遞增序列的數(shù)組按遞增順序排序,最省時間的是插入排序算法,最費時間的算法是()
A.堆排序B.快速排序C.插入排序D.歸并排序
15.有以下函數(shù):intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函數(shù)的功能是()。A.將y所指字符串賦給x所指存儲空間
B.查找和y所指字符串中是否有‘\0’
C.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)
D.統(tǒng)計x和y所指字符串中相同的字符個數(shù)
16.對于順序存儲的線性表,訪問結(jié)點和增加、刪除結(jié)點的時間復(fù)雜度為()。
A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)
17.下列不屬于C語言關(guān)鍵字的是()。A.A.default
B.register
C.enum
D.external
18.如有inta=11;則表達(dá)式(a/1)的值是()。
A.0B.3C.4D.11
19.設(shè)abcdef以所給的次序進(jìn)棧,若在進(jìn)棧操作時,允許退棧操作,則下面得不到的序列為()。
A.fedcbaB.bcafedC.dcefbaD.cabdef
20.
(2)
A.*sB.sC.*s++D.(*s)++
二、2.填空題(20題)21.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
22.以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義補充完整。
structnode
{intinfo;
【】link;};
23.以下程序通過函數(shù)指針p調(diào)用函數(shù)fun,請在填空欄內(nèi)寫出定義變量p的語句。
voidfun(intx,int*y)
{……}
main()
{inta=10,b=20;
【】;/*定義變量p*/
p=fun;p(&a,&b);
}
24.下面程序的運行結(jié)果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
25.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。
26.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
27.數(shù)據(jù)的【】結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)或物理結(jié)構(gòu)。
28.以下程序運行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
29.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體"項目主管"與實體"項目"的聯(lián)系屬于【】的聯(lián)系。
30.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語句"k=B*20;"(k為int型變量)后,k的值是______。
31.度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為______。
32.與結(jié)構(gòu)化需求分析方法相對應(yīng)的是【】方法。
33.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
34.在樹形結(jié)構(gòu)中,樹根結(jié)點沒有______。
35.下面程序的輸出結(jié)果是()。#include<stdio.h>main(){staticchara[]="zhao",b[]="juan";char*ptr1=a,*ptr2=b;intk;for(k=0;k<4;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));}
36.軟件定義時期主要包括______和需求分析兩個階段。
37.以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>
main()
{intx[10],a[9],I;
for(I=0;I<10;I++)scanf("%d",&x[I]);
for(【】;I<10;I++)
a[I-1]=x[I]+【】;.
for(I=0;I<9;I++)printf("%d",a[I]);
printf("");
}
38.執(zhí)行以下“for(i=1;i++<=4;i++);”語句后,變量i的值是()。
39.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
40.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。
三、1.選擇題(20題)41.有以下程序main(){inti=0,s=0;for(;;){if(i==3‖i==5)continue;if(i==6)break;i++;s+=i};printf("%d\n",s)}程序運行后的輸出結(jié)果是
A.10B.13C.21D.程序進(jìn)入死循環(huán)
42.下面程序的輸出結(jié)果是
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);}
A.0B.1C.10D.9
43.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
44.閱讀下列程序,則在執(zhí)行后,程序的運行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
A.nicetomeetyouyouB.nicetoC.meetyouyouD.nicetoyou
45.設(shè)有下列定義:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正確的賦值語句是()。
A.q=&data.m;
B.q=data.m;
C.q=(structsk*)&data.m;
D.q=(structsk*)data.m;
46.以下不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'\d'C.'\s'D.'088'
47.以下程序段的輸出結(jié)果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}輸入數(shù)據(jù)如下:(此處<CR>代表回車符)aaa<CR>bbb<CR>
A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb
48.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)是一種______的存儲結(jié)構(gòu)。
A.隨機(jī)存儲B.順序存儲C.索引結(jié)構(gòu)D.散列結(jié)構(gòu)
49.有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序運行后的輸出結(jié)果是()。
A.1*1=11*2=21*3=32*1=22*2=43*1=3
B.1*1=11*2=21*3=32*2=42*3=63*3=9
C.1*1=11*2=22*2=41*3=32*3=63*3=9
D.1*1=12*1=22*2=43*1=33*2=63*3=9
50.若有定義和語句:int**pp,*p,a=20,b=1O;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()。
A.20,10B.20,20C.10,20D.10,10
51.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計語言的先進(jìn)性D.程序易讀性
52.有以下程序
#include<string.h>
main()
{charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};
printf("%d%d\n",strlen(p),strlen(q));}
以下敘述中正確的是
A.在給p和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結(jié)束符,故輸出的長度都為3
B.由于p數(shù)組中沒有字符串結(jié)束符,長度不能確定,但q數(shù)組中字符串長度為3
C.由于q數(shù)組中沒有字符串結(jié)束符,長度不能確定,但p數(shù)組中字符串長度為3
D.由于p和q數(shù)組中都沒有字符串結(jié)束符,故長度都不能確定
53.以下敘述中錯誤的是______。A.用戶所定義的標(biāo)識符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意”
C.用戶所定義的標(biāo)識符必須以字母或下劃線開頭
D.用戶定義的標(biāo)識符中,大、小寫字母代表不同標(biāo)識
54.有下列二叉樹,對此二叉樹中序遍歷的結(jié)果為()。
A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ
55.下列關(guān)于棧的描述中錯誤的是______。
A.棧是先進(jìn)后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入和刪除操作中,不需要改變棧底指針
56.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
57.有以下計算公式:
若程序前面已在命令行中包括math.h文件,不能夠正確計算上述公式的程序是()。
A.if(x>=0)y=sqrt(x);
B.y=sqrt(x);elsey=sqrt(-x);if(x<0)y=sqrt(-x);
C.if(x>=0)y=sqrt(x);
D.y=sqrt(x>=0?x:-x);
58.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}
A.2,1B.3,2C.4,3D.2,-1
59.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下列各輸入語句中錯誤的是_______。
A.scanf("%d",&(*p).age);
B.scanf("%s",&);
C.scanf("%c",&std[0].sex);
D.scanf("%c",&(p->sex));
60.a、b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是()
A.'a'&&'b
B.a<=b
C.ab+c&&b-c
D.!((a<b)&&!c1)
四、選擇題(20題)61.以下程序的輸出結(jié)果是______。intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staticintx=1;x*=x+1;printf("%d",x);}
A.33B.22C.26D.25
62.若有定義:doublex;,則表達(dá)式IX=0,x+10,x+十的值是()。
A.11.0B.10.0C.0.0D.1.0
63.下面敘述中正確的是(
)。A.全局變量的作用域一定比局部變量的作用域范圍大B.靜態(tài)類型變量的生存期貫穿于整個程序的運行期間C.函數(shù)的形參都屬于全局變量D.未在定義語句中賦值的auto變量和static變量的初值都是隨機(jī)值
64.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。
A.2B.3C.4D.5
65.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
66.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:
程序運行后的輸出結(jié)果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
67.
68.
69.C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是()。
A.DoubleB.shortC.integerD.Char
70.
71.
以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
72.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
73.如果在C程序中要用到庫函數(shù)中的字符串比較函數(shù)strcmp(),那么在程序前面應(yīng)該添加的頭文件是()。
A.stdio.hB.string,hC.a(chǎn)lloc.hD.math.H
74.有以下程序程序運行后的輸出結(jié)果是()。
A.m=6B.m=2C.m=4D.m=5
75.有以下程序(strcat函數(shù)用于連接兩個字符串):
程序運行后的輸出結(jié)果是()。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
76.(69)單個用戶使用的數(shù)據(jù)視圖的描述稱為()
A.外模式
B.概念模式
C.內(nèi)模式
D.存儲模式
77.
78.for(i=1;i<=10;i=i+3)for(j=2;j<6;j++){··…·}的循環(huán)次數(shù)是()。
A.16B.18C.14D.12
79.用鏈表表示線性表的優(yōu)點是()。
A.便于隨機(jī)存取B.花費的存儲空間較順序存儲少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(Z轉(zhuǎn)換A,z轉(zhuǎn)換a),其他字符不變。
請修改函數(shù)fun()中的錯誤,得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),它的功能是求出能整除x且不是偶數(shù)的整數(shù),并將這些整數(shù)按從小到大的順序放在PP所指的數(shù)組中,總個數(shù)通過形參n返回。如x中的值為30,則有4個數(shù)符合要求,它們是1、3、5、15。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D函數(shù)fun是2的次方的運算,而s*=fun,所以答案為64。
2.A本題考查的是格式輸)ki$i數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中,其中的格式命令可以說明最大域?qū)?。在百分?%)與格式碼之間的整數(shù)用于限制從對應(yīng)域讀入的最大字符數(shù)。因此j的值為55,y的值為566.0,字符數(shù)組nanle的值為7777123。故本題答案為A)。
3.C
4.DD)【解析】數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)是指對數(shù)據(jù)庫的規(guī)劃、設(shè)計、維護(hù)、監(jiān)視等的人員,其主要工作如下:數(shù)據(jù)庫設(shè)計。DBA的主要任務(wù)之一是數(shù)據(jù)庫設(shè)計,具體地說是進(jìn)行數(shù)據(jù)模式的設(shè)計;數(shù)據(jù)庫維護(hù)。DBA必須對數(shù)據(jù)庫中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲等進(jìn)行實施與維護(hù);改善系統(tǒng)性能,提高系統(tǒng)效率。DBA必須隨時監(jiān)視數(shù)據(jù)庫的運行狀態(tài),不斷調(diào)整內(nèi)部結(jié)構(gòu),使系統(tǒng)保持最佳狀態(tài)與效率。
5.D解析:本題主要考查關(guān)于if語句的說明,if后面圓括號中的表達(dá)式,可是任意合法的C語言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實型、字符型、指針型等。)
6.D
7.B解析:循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu),隊列是以先進(jìn)先出為原則組織數(shù)據(jù)的一種特殊線性表,選項A錯誤;棧是以先進(jìn)后出為原則組織數(shù)據(jù)的一種特殊線性表,選項B正確;順序表是線性表的順序存儲結(jié)構(gòu),選項C錯誤;循環(huán)鏈表是一般線性表的一種鏈?zhǔn)酱鎯Y(jié)構(gòu),選項D錯誤。
8.C解析:軟件工程是解決軟件項目的管理、軟件開發(fā)過程中的技術(shù)、軟件產(chǎn)品的生產(chǎn)率等問題,它的主要思想是強調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則。
9.B解析:'\\0'作為標(biāo)志占用存儲空間,但是不計入串的實際長度。當(dāng)給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
10.B解析:本題考核的知識點是C程序從編寫到生成可執(zhí)行文件的步驟。C語言采用編譯方式將源程序轉(zhuǎn)換為二進(jìn)制的目標(biāo)代碼,編寫好一個C程序到完成運行一般經(jīng)過以下幾個步驟:編輯;編譯,就是將已經(jīng)編輯好的源程序翻譯成二進(jìn)制的目標(biāo)代碼,經(jīng)編譯后的得到的二進(jìn)制代碼還不能直接執(zhí)行,因為每一個模塊往往是單獨編譯的,必須把經(jīng)過編譯的各個模塊的目標(biāo)代碼與系統(tǒng)提供的標(biāo)準(zhǔn)模塊連接后才能運行;連接,將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有絕對地址的可執(zhí)行文件,它是計算機(jī)能直接執(zhí)行的文件;執(zhí)行,執(zhí)行一個經(jīng)過編譯和連接的可執(zhí)行的目標(biāo)文件。由以上定義可知,選項A、C、D均不正確。所以,4個選項中選項B符合題意。
11.B
12.AB)選項中switch(n[nx);語句中不應(yīng)該有最后的分號。switch(expr1),中的exp1不能用浮點類型或Iong類型,也不能為一個字符串,所以C)錯誤。case后面常量表達(dá)式的類型必須與switch后面表達(dá)式的類型一致,所以D)錯誤。
13.B當(dāng)用指數(shù)形式表示浮點數(shù)據(jù)時,E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。
14.B
15.C本題中由循環(huán)條件可知遇到‘\\0’或x與y所指的字符的值不等中的一個條件時就結(jié)束,所以功能是統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。
16.C
17.Dregister聲明寄存器變量enum聲明枚舉類型default開關(guān)語句中的“其他”分支
18.D
19.D
20.A
21.數(shù)據(jù)存儲數(shù)據(jù)存儲
22.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個指向自身的結(jié)構(gòu)體指針。
23.void(*p)()或void(*p)(int*int*)void(*p)()或void(*p)(int*,int*)
24.11
25.繼承繼承
26.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有其自己的內(nèi)存單元。int占2個字節(jié),float占4個字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
27.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)或物理結(jié)構(gòu)。
28.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
29.一對多(或1∶N)一對多(或1∶N)解析:兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
30.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運算。運算過程為:k=B*20=(A+3)*20=(2+3)*20=100。
31.4545解析:對于長度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標(biāo)順序正好相反),冒泡排序需要經(jīng)過N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。
32.結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計解析:與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術(shù)。
33.1111解析:本題考核的知識點是printf()函數(shù)的輸出格式。本題中定義了一個整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
34.前件前件
35.aa解析:本程序先將指針ptr1和ptr2分別指向字符數(shù)組a和b,然后通過指針的移動比較a和b中是否有相同的字符。若有相同的字符則將其輸出。
36.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計、實現(xiàn)、測試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計、實現(xiàn)和測試;③軟件運行維護(hù)階段:交付使用和維護(hù)。
37.I=1x[I-1]I=1,x[I-1]解析:對于10個數(shù),相臨的兩個數(shù)相加取和,總共要進(jìn)行9次加法運算,所以空14處應(yīng)填入I=1。相臨的兩個數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[I-1]。
38.6
39.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。
40.整型整型解析:上面的表達(dá)式中,通過強制類型轉(zhuǎn)換把最后參與運算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
41.D解析:本題考核的知識點是for循環(huán),continue語句和break語句的運用。程序中for循環(huán)中省略了判斷退出循環(huán)的表達(dá)式,for循環(huán)將由里面的break語句控制是否結(jié)束循環(huán),第一次循環(huán),第一條if語句后面括號里的表達(dá)式的值為假,所以該if語句不被執(zhí)行,執(zhí)行下面的第二條語句,此時該if語句表達(dá)式的值為假,所以該if語句也不執(zhí)行,執(zhí)行下面的語句,i++、s+=i,執(zhí)行完畢后i的值為1,s的值為1,如此循環(huán),直到第三次之后i,s的值都為3,繼續(xù)第四次循環(huán),顯然這時滿足第一條if語句的,執(zhí)行后面的continue;該次循環(huán)結(jié)束從頭開始下次循環(huán),而i的值為3一直沒有改變,所以第一條語句始終要執(zhí)行,因此for循環(huán)將一直循環(huán)下去,所以,4個選項中選項D符合題意。
42.C解析:此題考查了指針引用一維數(shù)組元素的方法。*p+9因為運算符'*'的優(yōu)先級高于'+',所以輸出結(jié)果為p指向的元素1,然后加9,值為10。
43.B解析:第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3:第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4:第3次執(zhí)行for循環(huán),p[1][2]=1,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
44.D解析:考查通過賦值的方式給一維數(shù)組賦初值。字符串復(fù)制函數(shù)strcpy調(diào)用形式為:strcpy(s1,s2),此函數(shù)用來把s2所指字符串的內(nèi)容復(fù)制到s1所指存儲空間中,函數(shù)返回s1的值,即目的串的首地址;求字符串長度函數(shù)strlen的調(diào)用形式如下:strlen(s),此函數(shù)計算出以s為起始地址的字符串長度,并作為函數(shù)值返回。注意這一長度不包括串的結(jié)束標(biāo)志。用于字符串處理的函數(shù)。
45.C解析:利用強制類型轉(zhuǎn)換(structsk*),把整數(shù)型地址&data.m轉(zhuǎn)換成結(jié)構(gòu)體變量指針賦給結(jié)構(gòu)體指針變量q。
46.D解析:'\\\\'是反斜線符,'\\d'是整型變量轉(zhuǎn)義字符,'\\s'是字符串型轉(zhuǎn)義字符,C語言中沒有規(guī)定'088'為轉(zhuǎn)義字符。
47.B解析:scanf是標(biāo)準(zhǔn)輸入函數(shù),在輸入字符串a(chǎn)aa時,實際的內(nèi)容為“aaa\\0”,“\\0”是由系統(tǒng)自動加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統(tǒng)自動以“/0”代替換行符。
48.B解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中的每一個存儲結(jié)點不僅含有一個數(shù)據(jù)元素,還包括指針,每一個指針指向一個與本結(jié)點有邏輯關(guān)系的結(jié)點。此類存儲方式屬于順序存儲。
49.B解析:外層for循環(huán)的自變量i從1開始,每次循環(huán)后增1,直到i等于3結(jié)束.對于外層循環(huán)自變量i的每一個值,內(nèi)層循環(huán)的自變量j每次從i開始,每次循環(huán)后增1,直到j(luò)等于3結(jié)束。所以在每次外循環(huán)開始后,內(nèi)層循環(huán)在一行先打印i*j=兩個乘數(shù)的積,然后回車換行,下次循環(huán)從下一行開始打印輸出結(jié)果。
50.D解析:本題考查指針變量的賦值。**pp是定義了一個指向指針的指針變量,語句pp=&p的意思是將pp指向指針p,*p和**pp都足指針p所指的內(nèi)存空間的內(nèi)容,即b的值。
51.D結(jié)構(gòu)化程序設(shè)計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。
由于模塊相互獨立,因此,在設(shè)計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計。模塊的獨立性還為擴(kuò)充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴(kuò)展。
結(jié)構(gòu)化程序設(shè)計的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計方法從問題本身開始,經(jīng)過逐步細(xì)化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認(rèn)為一個復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個新構(gòu)造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序。
52.A解析:在給p和q數(shù)組賦初值時,系統(tǒng)會自動添加字符串結(jié)束符,從題目中可以看出數(shù)組p和q都有3個字符,所以長度均為3。
53.A解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個不同的字符,用戶在定義標(biāo)識符時應(yīng)盡量做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識符。
54.B對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。在遍歷左、右子樹時,注意依舊按照“左子樹一根結(jié)點一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左予樹:BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后,接著訪問根結(jié)點A,接著訪問右子樹CFXZ;⑤右子樹CFXZ的訪問順序同理可得:FCZX。
55.B解析:棧是限定在一端進(jìn)行插入與刪除運算的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底,對棧的插入和刪除操作中,不需要改變棧底指針。棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。棧具有記憶作用。棧的存儲方式和線性表類似,也有兩種,即順序棧和鏈?zhǔn)綏!?/p>
56.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時一定是先出D,再出C,最后出A。
57.B
58.A
59.B解析:在C語言中,結(jié)構(gòu)體變量的引用有三種等價方式:
1、結(jié)構(gòu)體變量成員名;2、(*p).成員名;3、p->成員名。
因為std.name是字符數(shù)組名,本身代表地址,其前面不應(yīng)該使用“&”符號,所以選項B錯誤。
60.D
61.C解析:C語言規(guī)定如果全局變量與局部變量同名,則在局部變量的作用域內(nèi)全局變量不起作用。程序開頭定義的變量x為全局變量,函數(shù)incre中定義的變量x是局部靜態(tài)變量,存放在靜態(tài)存儲區(qū),incre調(diào)用結(jié)束后不釋放x占據(jù)的存儲單元。main函數(shù)中使用的x是全局變量x=3,所以main函數(shù)中調(diào)用函數(shù)incre兩次。調(diào)用過程如下。第1次調(diào)用:x=x*(x+1)=1×(1+1)=2,printf函數(shù)輸出2;第2次調(diào)用:x=x*(x+1)=2×(2+1)=6,printf函數(shù)輸出6。
62.Cc語言中,逗號運算符可以把兩個以上(包含兩個)的表達(dá)式連接成一個表達(dá)式。逗號運算符的優(yōu)先級是所有運算符中級別最低的,逗號運算符保證左邊的子表達(dá)式運笑結(jié)束后才進(jìn)行右邊的子表達(dá)式的運算。也麓是遼,逗號運算符是一個序列點,其左邊所有副作用都結(jié)束后,才對其右邊的子表達(dá)式進(jìn)行運算,并以最右邊表達(dá)式值作為整個逗號表達(dá)式的值。后置自增運算:k++表示先運算,后自■:曹置自增運算:++k表示先自加,后運算。因此,表達(dá)式l;O,I+10。x++的計算過程為首先賦值x=0,然后將x加l0,包是并不對x進(jìn)行賦值,最后計算x++,并,根據(jù)后置自增運算的計算結(jié)果,即為x=0.0。故答案為C選項。
63.B
64.A解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個位置,元素15則放在第二個位置。
65.Dintm=1,n=2,*P=&m,。q=&Il,*r;即指針變量P指向m,指針變量q指向n,r=P;P=q;q=。;即通過指針變量r,將指針P和指針q的指向交換。因此最后輸出1,2,2,1。
66.D調(diào)用缸函數(shù)后,實參數(shù)組名sl傳給形參指針P,P也指向數(shù)組sl。m函數(shù)的功能是遍歷字符數(shù)組中的所有字符,如果某一個字符是空格并且前一個字符是小寫字母的話,就把前一個字符轉(zhuǎn)換為大寫。程序中語句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 晉中師范高等??茖W(xué)校《通信電子線路》2023-2024學(xué)年第一學(xué)期期末試卷
- 鶴壁職業(yè)技術(shù)學(xué)院《房地產(chǎn)營銷策劃實務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶三峽學(xué)院《項目開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶財經(jīng)學(xué)院《語文教學(xué)與文本解讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工業(yè)職業(yè)技術(shù)學(xué)院《會計學(xué)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 國家一級保護(hù)植物水杉的故事
- 中國傳媒大學(xué)《英語創(chuàng)新創(chuàng)業(yè)教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 長治幼兒師范高等??茖W(xué)?!端|(zhì)程學(xué)實驗課》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)能源管理系統(tǒng)節(jié)能減排計劃
- 數(shù)據(jù)結(jié)構(gòu)講解模板
- 小學(xué)二年級100以內(nèi)進(jìn)退位加減法800道題
- 2025年1月普通高等學(xué)校招生全國統(tǒng)一考試適應(yīng)性測試(八省聯(lián)考)語文試題
- 《立式輥磨機(jī)用陶瓷金屬復(fù)合磨輥輥套及磨盤襯板》編制說明
- 保險公司2025年工作總結(jié)與2025年工作計劃
- 育肥牛購銷合同范例
- 暨南大學(xué)珠海校區(qū)財務(wù)辦招考財務(wù)工作人員管理單位遴選500模擬題附帶答案詳解
- (精心整理)高中生物必修二非選擇題專題訓(xùn)練
- 小學(xué)二年級100以內(nèi)進(jìn)退位加減法混合運算
- 福建省流動人口信息登記表
- 市委組織部副部長任職表態(tài)發(fā)言
- HXD1D客運電力機(jī)車轉(zhuǎn)向架培訓(xùn)教材
評論
0/150
提交評論