




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年安徽省宿州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在關(guān)系中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱為該表的()
A.連接碼B.關(guān)系碼C.外碼D.候選碼
2.語句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。
A.無輸出B.結(jié)果是不確定C.-1D.1
3.
4.以下關(guān)于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
5.有以下程序(strcat函數(shù)用于連接兩個(gè)字符串):#include<stdio.h>#include<string.h>main(){chara[20]=“ABCD\0EFG\0”,b[]=“UK”;strcat(a,b);printf(“%s\n”,a);}程序的運(yùn)行結(jié)果是()。
A.UKB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
6.以下選項(xiàng)中表示一個(gè)合法的常量是(說明:符號(hào)口表示空格)()。
A.9口9口9B.0XabC.123E0.2D.2.7e
7.在下列幾種排序方法中,要求內(nèi)存量最大的是______。
A.插入排序B.選擇排序C.快速排序D.歸并排序
8.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf(“%d\n,”,S(k+j));}程序的運(yùn)行結(jié)果是()。
A.33B.197C.143D.28
9.設(shè)有兩個(gè)串p和q,求q在p中首次出現(xiàn)的位置的運(yùn)算稱為()。
A.連接B.模式匹配C.求子串D.求串長
10.關(guān)于C語言中數(shù)的表示,以下敘述中正確的是()。
A.只有整型數(shù)在允許范圍內(nèi)能精確無誤地表示,實(shí)型數(shù)會(huì)有誤差
B.只要在允許范圍內(nèi)整型數(shù)和實(shí)型數(shù)都能精確地表示
C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無誤地表示,整形數(shù)會(huì)有誤差
D.只有用八進(jìn)制表示的數(shù)才不會(huì)有誤差
11.以下一維數(shù)組a正確的定義是()
A.inta(5)B.intn=5,a[n]C.inta[SZ]其中SZ為符號(hào)常量D.inta{5}
12.一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。
A.2B.4C.6D.8
13.假設(shè)把整數(shù)關(guān)鍵碼K散列到有N個(gè)槽的散列表,以下哪些散列函數(shù)是好的散列函數(shù)()
A.h(K)=KmodN
B.h(K)=1
C.h(K)=K/N
D.h(K)=(K+rand(N))modN,rand(N)返回一個(gè)0到N-1的整數(shù)
14.下列哪一種圖的鄰接矩陣是對(duì)稱矩陣()。
A.有向圖B.無向圖C.AOV網(wǎng)D.AOE網(wǎng)
15.軟件調(diào)試的目的是______。
A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能
16.設(shè)有兩個(gè)串p和q,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱為()。
A.求子串B.聯(lián)接C.匹配D.求串長
17.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為
A.21B.78C.23D.28
18.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
19.有以下函數(shù):intfun(char*x,char*y){intn=0;.while((*x==*y)&&*x!="\0){x++;y++;n++;}returnn;}函數(shù)的功能是()。
A.將y所指字符串賦給x所指存儲(chǔ)空間
B.查找和y所指字符串中是否有"\0'
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)
20.以下不能正確進(jìn)行字符串賦初值的語句是
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*srt="good!";
D.charstr[5]={'g','o','o','d'};
二、2.填空題(20題)21.以下程序的功能是:對(duì)輸入的一行字符串的數(shù)字字符按它們的字面值累加,輸出此累加和。例如,輸入一行字符是:ab34dh8u,輸出值應(yīng)當(dāng)是15。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charch;inta,s;
【】;
while((ch=getchar())【】)
if(isdigit(ch))
{a=【】;s+=a;}
printf("s=%d\n\n",s);}
22.“printf("%d\n",strlen("\t\"023\xABC\n");”語句的輸出結(jié)果是______。
23.若a的值為1,則表達(dá)式!a‖++a的值是______。
24.算法復(fù)雜度主要包括時(shí)間復(fù)雜度和【】復(fù)雜度。
25.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
26.以下程序運(yùn)行后的輸出結(jié)果是______。
voidfun(intx,inty)
{
x=x+y;y=x-y;x=x-y;
printf("%d,%d,",x,y);
}
main()
{
intx=2,y=3;
fun(x,y);
printf("%d,%d\n",x,y);
}
27.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式double(1+x/y)的值為【】。
28.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
29.以下程序的功能是找出三個(gè)字符串中的最大串。
【】
#include<stdio.h>
main()
{inti;
charstring[20],str[3][20];
(i=0;i<3;i++)gets(【】);
if(strcmp(str,str[0],str[1]>0)strcpy(string,str[0]);
elsestrcpy(string,str[1]);
if(strcmp(str[2],string)>【】)srtcpy(string,str[2]);
printf("Thelargeststringis\n%s\n",string);
}
30.以下程序運(yùn)行后的輸出結(jié)果是______。
inta=5;
fun(intB)
{staticinta=10;
a+=b++;
printf("%d",A);
}
main()
{intc=20;
fun(C),
a+=C++;
printf("%d\n",A);
}
31.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
32.軟件是程序、數(shù)據(jù)和【】的集合。
33.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inta=0;
a+=(a=8);
printf("%d\n",a);
}
34.函數(shù)delete(s,i,n)的作用是從字符串s中刪除從第i個(gè)字符開始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,legth=0;
while(s[length])
【】;
-i;
j=i;
}
if(【】)
{k=i+n;
if(i+n<length)
while(k<length)
s[j++]=s[k++];
s[j]='\0'
}
35.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>。則輸出結(jié)果是______。
#include<stdio,h>
main()
{
chara,b;
a=geCchar();scanf("%d“,&b);
a=a-'A'+‘0';b=b*2;
printf('%c%c\n",a,b);
}
36.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是______。
37.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
38.設(shè)有以下定義
struetss
{intinfo;struetss*link;}x,y,z;
且已建立如下圖所示鏈表結(jié)構(gòu):
請(qǐng)寫出刪除結(jié)點(diǎn)y的賦值語句【】。
39.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=3,b=4,c=5,t=99;
i[(b<a&&a<C)t=a;a=c;c=t;
if(a<c&&b<C)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,c);
}
40.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
三、1.選擇題(20題)41.若有如下程序:main(){inta[3][4]={1,2,3,4,5,6,7,8,9};printf("%d%d%d\n",a[0][1],a[1][2],a[2][3]);}則程序運(yùn)行后的輸出結(jié)果是()
A.270B.480C.160D.不定值
42.設(shè)有以下定義:inta[3][3]={1,2,3,4,5,6,7,8,9};int(*ptr)[3]=a;則下列能正確表示數(shù)組元素a[1][2]的表達(dá)式是______。
A.*((*ptr+1)[2])B.a[2][3]C.(*ptr+1)+2D.*(*(a+1)+2)
43.以下程序段中的變量已正確定義:for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");程序段的輸出結(jié)果是______。
A.******B.****C.**D.*
44.算法的空間復(fù)雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間
45.在下列敘述中,正確的一條是_______。
A.#defineprintf都是C語句
B.#define是C語句,而priatf不是
C.printf是C語句,但#define不是
D.#define和printf都不是C語句
46.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)
47.有下列程序:
main()
{intx=5;
do
(printf("%d",x-=4);}
while(!(--X));
}
程序的輸出結(jié)果是()。
A.1B.20C.1-4D.死循環(huán)
48.以下關(guān)鍵字序列用快速排序法進(jìn)行排序,速度最慢的是______。
A.{23,27,7,19,11,25,32}
B.{23,11,19,32,27,35,7}
C.{7,11,19,23,25,27,32}
D.{27,25,32,19,23,7,11}
49.下列程序的輸出結(jié)果為main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}
A.28B.1000C.0D.不確定
50.以下敘述中錯(cuò)誤的是()。
A.C語句必須以分號(hào)結(jié)束
B.復(fù)合語句在語法上被看做一條語句
C.空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
51.若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是
A.程序段有語法錯(cuò)B.3,5,3C.3,5,5D.3,5,7
52.下面程序段的執(zhí)行結(jié)果為()。inti=3,j=0,k=0;for(;i>0;--i){++k;do{++j;if(i!=j)break;++k;}while(j<5);}printf("i=%dj=%dk=%d\n",i,j,k);
A.i=0j=4k=12B.i=0j=5k=5C.i=0j=4k=4D.i=0j=3k=3
53.有下列二叉樹,
對(duì)此二叉樹前序遍歷的結(jié)果為()。
A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI
54.下列描述中正確的是()。
A.軟件工程只是解決軟件項(xiàng)目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題
55.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");
A.9B.5C.6D.7
56.下列程序的運(yùn)行結(jié)果為()。#defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=2,b=3,c=1,d=3,t;printf("%d\n",(MAX(a+b,c+d))*100);}
A.500B.5C.4D.400
57.以下不能定義為用戶標(biāo)識(shí)符的是()。
A.scanfB.VoidC.3comD.int
58.設(shè)有以下說明和定義:typedefunion{longi;intk[5];charc;}DATE;structdate{intcat;DATEcow;doubledog;}too;DATEmax;則下列語句的執(zhí)行結(jié)果是______。printf("%d",sizeof(structdate)+sizeof(max));
A.26B.30C.18D.8
59.軟件開發(fā)模型包括Ⅰ、瀑布模型Ⅱ、扇形模型Ⅲ、快速原型法模型Ⅳ、螺旋模型
A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ
60.有以下程序:intfa(intx){returnx*x;)intfb(intx){returnx*x*x;}intf(int(*f1)().int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i=f(fa,fb,2);printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是()。
A.-4B.1C.4D.8
四、選擇題(20題)61.有以下程序:
fun(intx)
{intP;
if(x==0||x==l)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
程序執(zhí)行后的輸出結(jié)果是()。A.A.7B.3C.2D.0
62.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一個(gè)文件指針,指向待讀取的文件
B.一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址
D.一個(gè)內(nèi)存塊的字節(jié)數(shù)
63.
有下列程序:
main
{char*p[]={"3697","2584"};
inti,j;longnum=0;
for(i=0;i<2:i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-\0)%2)num=1O*num+p
[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序執(zhí)行后的輸m結(jié)果是()。
A.35B.37C.39D.3975
64.
65.(20)數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)
B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)
C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)
D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
66.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
67.有以下程序(strcat函數(shù)用以連接兩個(gè)字符串)
68.
69.以下敘述中正確的是(.。
A.調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B.使用putChar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)用getChar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCIl碼
70.
71.
72.下列4個(gè)關(guān)于C語言的結(jié)論中錯(cuò)誤的是()。
A.可以用do—while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)
B.可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)
C.可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)
D.do-while語句與while語句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同
73.下列說法正確的是()。
A.在C語言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
74.
75.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
76.下列敘述中正確的是()。A.棧是“先進(jìn)先出”的線性表
B.隊(duì)列是“先進(jìn)后出”的線性表
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)的線性表
D.有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
77.有以下程序段:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=10b=50C=30
B.a=10b=50c=10
C.a=10b=30c=10
D.a=50b=30c:50
78.關(guān)于以下程序段的描述,正確的是
x=-1;
do
{x=x*x-1;}while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行兩次
C.循環(huán)執(zhí)行一次D.有語法錯(cuò)誤
79.若有以下說明和語句,請(qǐng)選出哪個(gè)是對(duì)C數(shù)組元素的正確引用()。
A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)
80.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項(xiàng)中所用變量都已經(jīng)正確定義并賦值,錯(cuò)誤的函數(shù)調(diào)用是()。A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(X,y)x,y);
D.fun(x,y);
五、程序改錯(cuò)題(1題)81.寫出下列程序的運(yùn)行結(jié)果。
fun(inta,intb)
{if(a>b)return(a);
Elsereturn(b);}
main
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);printf(“%d\n”,r);}
六、程序設(shè)計(jì)題(1題)82.數(shù)組point中存放著m個(gè)人的成績(jī),請(qǐng)編寫函數(shù)fun().它的功能是:返回高于平均分的人數(shù),并將高于平均分的分?jǐn)?shù)放在high所指的數(shù)組中。例如,當(dāng)point數(shù)組中的數(shù)據(jù)為50,60,65,70.75,80.88,90,95時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,high中的數(shù)據(jù)應(yīng)為75,80,88,90,95。請(qǐng)勿改動(dòng)main()函數(shù)與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語句。注意:部分源程序給出如下。試題程序:
參考答案
1.DD)【解析】在關(guān)系中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個(gè)作為用戶使用的鍵稱為主鍵或主碼。
2.D因?yàn)樵谶壿嫳磉_(dá)式中,兩邊的賦值表達(dá)式都成立,即值為1,故選擇D選項(xiàng)。
3.B
4.B解析:C語言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。
5.C字符數(shù)組a中包含兩個(gè)‘\\0’。遇到第1個(gè)‘\\0’時(shí)就表示字符串a(chǎn)結(jié)束。字符串處理函數(shù)strcat(字符數(shù)組a,字符數(shù)組b),功能是連接兩個(gè)字符串,把字符串b連接到字符串a(chǎn)的后面,結(jié)果放在字符數(shù)組a中。連接時(shí)將字符串a(chǎn)后的‘\\0’取消,只在新串最后保留一個(gè)‘\\0’。本題相當(dāng)于將“ABCD”和“IJK”連接。故本題答案為C選項(xiàng)。
6.B當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。
7.D解析:快速排序的基本思想是,通過一趟排序?qū)⑴判蛴涗浄指畛瑟?dú)立的兩部
分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對(duì)這兩部分記錄繼
續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無序序列中的各元素依
次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基本思想是:掃描整
個(gè)線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對(duì)剩
下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個(gè)或兩個(gè)以上的有序表組合
成一個(gè)新的有序表。
注意:各種排序方法實(shí)現(xiàn)過程及實(shí)現(xiàn)機(jī)制。
8.CS為帶參數(shù)的宏定義,運(yùn)行“S(k+j)”為4*(k+j)*k+j+1=143。故本題答案為C選項(xiàng)。
9.B
10.A當(dāng)數(shù)據(jù)類型是實(shí)數(shù)時(shí),在存儲(chǔ)過程中,當(dāng)小數(shù)部分無限長時(shí),會(huì)存在小數(shù)部分的截?cái)?,?huì)存在誤差,所以答案選擇A。
11.C
12.C
13.A
14.B
15.B解析:在對(duì)程序進(jìn)行測(cè)試時(shí)會(huì)發(fā)現(xiàn)錯(cuò)誤,這就要進(jìn)行程序調(diào)試(排錯(cuò))。程序調(diào)試活動(dòng)由三部分組成:一是錯(cuò)誤定位,根據(jù)錯(cuò)誤的外部表現(xiàn)形式,確定程序中出錯(cuò)的位置,找出錯(cuò)誤的內(nèi)在原因;二是對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤;三是進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯(cuò)誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。
16.C
17.A解析:通過地址來引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。
18.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項(xiàng)D)等于關(guān)系表達(dá)式的結(jié)果為假,即等于0。
19.C本題中由循環(huán)條件可知遇到“0或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。
20.A解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組和字符指針變量的初始化。選項(xiàng)A定義了一個(gè)字符數(shù)組str,具有5個(gè)元素,但賦初值的時(shí)候,初值個(gè)數(shù)卻是6個(gè)(有一個(gè)'\\0'),故選項(xiàng)A錯(cuò)誤的;選項(xiàng)B定義了一個(gè)字符數(shù)組str并給它賦初值,由于省去了長度定義,長度由初值個(gè)數(shù)確定,相當(dāng)于str[6],選項(xiàng)B正確;選項(xiàng)C定義了一個(gè)字符型指針變量并用一個(gè)字符串給它賦初值,使該字符型指針指向了該字符串,選項(xiàng)C正確;選項(xiàng)D是對(duì)字符型數(shù)組中單個(gè)元素依次賦初值,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中A為所選。21.s=0\r\n!='\\n'\r\nch-'0's=0\r\n!='\\n'\r\nch-'0'解析:按照題目的要求,s用于保存累加結(jié)果;while語句用于得到一個(gè)字符串,并以'\\n'結(jié)束;if語句用于判斷一個(gè)字符是否為數(shù)值型,如果是就將其累加至s中。
22.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標(biāo)志\'\\0\'。
\'\\t\'f是轉(zhuǎn)義字符,代表橫向跳若干格:'\\'是轉(zhuǎn)義字符,代表雙引號(hào);\'\\023\'只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符;’僅AB,是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。
5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的長度是6。
23.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
24.空間空間解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由程序運(yùn)行時(shí)所需輸入的數(shù)據(jù)總量、對(duì)源程序進(jìn)行編譯所需時(shí)間、計(jì)算機(jī)執(zhí)行每條指令所需時(shí)間、程序中的指令重復(fù)執(zhí)行的次數(shù)等決定。習(xí)慣上常常把語句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。
25.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
26.32233,2,2,3解析:主函數(shù)中首先定義了整型變量x和y,并分別給它們賦初值為2和3,接著調(diào)用fun()函數(shù),fun()函數(shù)把實(shí)參x和y的值傳給形式參數(shù)x和y,實(shí)參和形參不再有聯(lián)系.在fun()函數(shù)中通過運(yùn)算使x和y的值交換過來,所以fun()函數(shù)中的輸出結(jié)果是“3,2”。fun()函數(shù)調(diào)用返回輸出x和y依舊是原來的x和y,為“2,3”原因是變量作為形參傳值的,對(duì)形參的修改并不影響對(duì)應(yīng)的實(shí)參。所以最后輸出為3,2,2,3。
27.11解析:本題考查兩個(gè)知識(shí)點(diǎn):一是x/y的值為整型,即為0;二是數(shù)1是double類型。
28.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。
29.#include<string.h>str[i]0
30.30253025解析:本題考核的知識(shí)點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開始到本文件的結(jié)束;靜態(tài)變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類別標(biāo)識(shí)符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。
31.22
32.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
33.1616解析:本題中a+=8相當(dāng)于a=a+8。對(duì)表達(dá)式逐步進(jìn)行求解:在a+=(a=8)中,首先a被賦值為8,語句等價(jià)于a+=8;即a=a+8;結(jié)果為a=16。
34.length++i<lengthlength++\r\ni<length解析:第—個(gè)循環(huán)極有可能是計(jì)算串的長度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
35.1B1B解析:在C語古中,字符型變量可以看作整型變量來對(duì)待,與整型所不同的是字符型變量在內(nèi)存中只占1個(gè)字節(jié),而整型是2個(gè)字節(jié).字符型變量中所有的數(shù)值是它所表示字符的ASCII碼值.ASCII碼中的一些相關(guān)字符是順序排列的,如'0',的ASCII碼值為48,'1'為49以此類推一直到'9';'A'的ASCII碼值為65,'B'為66以此類推一直到'Z'。本題程序首先定義了兩個(gè)字符型變量a和b,然后分別使用getchar()和scanf()函數(shù)讀取輸入的字符'B'和十進(jìn)制整數(shù)33到a和b中,因?yàn)閍-'A'+'0'等于,'B'-'A'+'0'='1'+'0'='1',而b*2等于33*2=66'A'+1='B'。所以最終輸出的結(jié)果是:1B。
36.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。
37.存儲(chǔ)結(jié)構(gòu)
38.x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;解析:鏈表中結(jié)點(diǎn)的刪除,要?jiǎng)h除結(jié)點(diǎn)y,只需要讓結(jié)點(diǎn)x的指針域指向y結(jié)點(diǎn)的指針域所指向的后續(xù)結(jié)點(diǎn)就可,因此只需把結(jié)點(diǎn)z的地址賦給x的指針域就可以了,即讓結(jié)點(diǎn)x的指針域指向結(jié)點(diǎn)z。而結(jié)點(diǎn)z的地址保存在結(jié)點(diǎn)y的指針域中,因此只需把結(jié)點(diǎn)y的指針域賦值給結(jié)點(diǎn)x的指針域即可。
39.45994599解析:本題是一個(gè)陷阱題,以書寫格式來考查考生對(duì)if語句的理解.if語句只對(duì)緊跟其后的一條語句或語句塊產(chǎn)生作用。因此,題目中兩條if語句只有t=a;和t=b是if的子句。第1條if語句中b<a為假,所以跳過語句t=a;,執(zhí)行a=c;c=t;后,a=5、b=4、c=99。第2條if語句的判斷條件a<c&&b<c為真,所以后面三條語句都被執(zhí)行,這三條語句構(gòu)成一次a和b的內(nèi)容交換。所以最后輸出的結(jié)果是:4599。
40.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開,八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。
41.A
42.D解析:指針變量ptr是指向長度為3的整型一維數(shù)組,當(dāng)ptr指向二維數(shù)組a時(shí),ptr每移動(dòng)一個(gè)單位將指向數(shù)組的下一行,*(*(a+1)+2)表示數(shù)組元素a[1][2],*(*(ptr+1)+2)也可以。
43.D解析:本題考杏for循環(huán)語句中嵌套for循環(huán)語句的情況。由于第一個(gè)for語句沒有具體的執(zhí)行語句,故當(dāng)i=0時(shí),k=1時(shí),執(zhí)行一次語句printf(“*”);,程序便會(huì)跳出整個(gè)循環(huán),故運(yùn)行結(jié)果為一個(gè)星號(hào)。
44.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
45.D
46.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
47.C解析:本題考查do…while循環(huán)。①執(zhí)行printf語句,x=x-4=1,輸出1,判斷while循環(huán)的控制條件,--x=0,則(!(--x))非零,循環(huán)條件成立,執(zhí)行下一次循環(huán);②執(zhí)行printf語句,x=x-4=-4,輸出-4,判斷while循環(huán)的控制條件,--X=-5,則(!(--X))為零,循環(huán)條件不成立,結(jié)束循環(huán)。
48.C
49.B解析:本題對(duì)共用體的使用進(jìn)行了考查。由于共用體所有成員共同占據(jù)一段存儲(chǔ)空間,所以對(duì)成員變量的賦值,后面的賦值會(huì)覆蓋掉前面的賦值,因?yàn)閟.income=1000;是最后一次成員變量賦值,變量age與變量income共同占據(jù)一段存儲(chǔ)空間,所以age的值也為1000。
50.C解析:C程序中所有語句都必須由一個(gè)分號(hào)“;”作為結(jié)束符。如果只有一個(gè)分號(hào),這個(gè)分號(hào)也是一條語句,稱為“空語句”,程序執(zhí)行時(shí)不產(chǎn)生任何動(dòng)作。程序設(shè)計(jì)中有時(shí)需要加一個(gè)空語句來表示存在一條語句,但隨意加分號(hào)也會(huì)導(dǎo)致邏輯上的錯(cuò)誤,影響程序的運(yùn)行。所以選項(xiàng)C的說法是錯(cuò)誤的。
51.B解析:本題考查if條件語句。a=3,b=5,因此a>b條件不成立,c=a=3。此時(shí)c!=a條件不成立,不執(zhí)行c=b;語句,c的值仍然為5。結(jié)果a=3,b=5,c=3。
52.C解析:程序開始時(shí)(i,j,k)三個(gè)值分別為(3,0,0),然后進(jìn)入for循環(huán),由于for的第一條語句空缺,所以不做初始化,此時(shí)i為3滿足循環(huán)條件,進(jìn)入循環(huán)體。然后執(zhí)行“++k;”使k變成1,再無條件進(jìn)入do-while循環(huán)體執(zhí)行“++j;”使j變成1,此時(shí)i和j不相等所以執(zhí)行break;語句跳出do-while循環(huán)。
準(zhǔn)備開始第二遍for循環(huán),i的值被減1,此時(shí)3個(gè)值分別為(2,1,1),i為2滿足循環(huán)條件,進(jìn)入循環(huán)體。然后依次執(zhí)行++k;和++j;使它們?cè)?,此時(shí)i和j同為2相等,所以跳過break;語句再執(zhí)行一次++k;使k為3,由于此時(shí)j滿足do-while的循環(huán)條件,所以下一步回到前面執(zhí)行do后面的++j;語句,使j為3,此時(shí)i和j不相等,所以執(zhí)行break;跳出do-while循環(huán)。
準(zhǔn)備開始第三遍for循環(huán),i的值被減1,此時(shí)3個(gè)值分別為(1,3,3),i為1滿足循環(huán)條件,進(jìn)入循環(huán)體。然后依次執(zhí)行++k;和++j;使它們?cè)?,此時(shí)i和j不相等,所以執(zhí)行break;跳出do-while循環(huán)。
準(zhǔn)備開始第四遍for循環(huán),i的值被減1,此時(shí)3個(gè)值分別為(0,4,4),i為0不滿足for語句的循環(huán)條件,所以執(zhí)行循環(huán)體后面的printf()函數(shù)輸出3個(gè)值,故正確答案為C。
53.C解析:對(duì)二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右子樹。
54.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進(jìn)度無法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術(shù)都是軟件工程需要解決的部分問題。因此選項(xiàng)C正確。
55.C解析:本題中,格式符。表示的是八進(jìn)制無符號(hào)形式輸出整型數(shù)(不帶前導(dǎo)0),字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是ACSII碼代碼值。C語言規(guī)定,所有字符常量都作為整型量來處理,在計(jì)算機(jī)內(nèi)部,其對(duì)應(yīng)的整數(shù)值就是ACSII字符集中該字符的序號(hào),即&*s中有幾個(gè)字符就輸出幾個(gè)*。
56.A解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:(x)>(y)?(x):(y)是x>y時(shí)輸出x,否則輸出y,調(diào)用(MAX(a+b,c+d))*100時(shí),(a+b=5)>(c+d=4),所以輸出a+b=5,所以x=5*100。
57.D解析:標(biāo)識(shí)符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語言中的關(guān)鍵字。
58.B
59.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。
60.C解析:函數(shù)f()有3個(gè)形式參數(shù)f1、f2和x,其中f1、f2是指向函數(shù)的指針變量。在main()函數(shù)中執(zhí)行了函數(shù)調(diào)用“f(fa,fb,2)”,從而使f()的形式參數(shù)f1指向了fa,形式參數(shù)f2指向了fb,把實(shí)參2傳給了形參變量x。函數(shù)f()中的return語句相當(dāng)于“fb(2)-fa(2)”(fb(2)的返叫值為2*2*2=8,fa(2)返回值為2*2=4)即(8-4),值為4。函數(shù)f()執(zhí)行后把返回值4賦給了i,輸出i的值是4。所以4個(gè)選項(xiàng)中C正確。
61.C在函數(shù)fun(intx)中,有個(gè)if語句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海東貨運(yùn)考試題庫
- 入圍中標(biāo)合同范本
- 公司注冊(cè)協(xié)議合同范本
- 公司家具搬遷合同范本
- 公路防撞墻勞務(wù)合同范本
- 公司合同股合同范本
- 保潔服裝購置合同范本
- UI軟件合同范本
- 正規(guī)家具合同范本
- 鄉(xiāng)政府廚師合同范本
- 河南文旅行業(yè)分析
- 民法典之侵權(quán)責(zé)任編培訓(xùn)課件
- 研究生矩陣論試題及答案
- 肺葉切除術(shù)和全肺切除術(shù)的麻醉課件
- 初三語文月考質(zhì)量分析
- 《天才少年維克多》
- CH:火花塞功能、結(jié)構(gòu)類型及檢測(cè)
- 信訪工作課件
- 物資盤點(diǎn)工作步驟與細(xì)則
- “中小學(xué)教師全員遠(yuǎn)程培訓(xùn)”的實(shí)效性研究-以山西省J市為例的中期報(bào)告
- 視頻監(jiān)控入門基礎(chǔ)教程視頻監(jiān)控系統(tǒng)
評(píng)論
0/150
提交評(píng)論