版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年山西省陽泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.若聲明一個(gè)浮點(diǎn)數(shù)數(shù)組如下:froataverage[]=newfloat[30];假設(shè)該數(shù)組的內(nèi)存起始位置為200,average[15]的內(nèi)存地址是()。A.A.214B.215C.260D.256
3.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是()。
A.7B.8C.6D.2
4.當(dāng)一個(gè)函數(shù)無返回值時(shí),定義它的函數(shù)類型應(yīng)是()。
A.voidB.intC.任意D.無
5.在目標(biāo)串T[0,n-1]=”xwxxyxy”中,對(duì)模式串p[0,m-1]=”xy”進(jìn)行子串定位操作的結(jié)果_______
A.0B.2C.3D.5
6.有以下函數(shù)定義:voidfun(intn,doubx){……}若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun的正確調(diào)用語句是()。
A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfum(n,x);
7.數(shù)據(jù)庫是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。
A.視圖B.消息C.數(shù)據(jù)D.關(guān)系
8.在存儲(chǔ)數(shù)據(jù)時(shí),通常不僅要存儲(chǔ)各數(shù)據(jù)元素的值,而且還要存儲(chǔ)()。
A.數(shù)據(jù)的處理方法B.數(shù)據(jù)元素的類型C.數(shù)據(jù)元素之間的關(guān)系D.數(shù)據(jù)的存儲(chǔ)方法
9.
10.下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2:intfunc(int*a){b+=*a;returnb;}main{inta=1,t=2;t+=func(&a):printf("%d\n",t);}A.4B.5C.6D.8
11.有以下程序
#include<stdio.h>
main()
{inty=10
while(y--);
printf(“y=%d\n”,y);
}
程序執(zhí)行后的輸出結(jié)果是()。A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
12.有以下程序:#includeMain(){Int?x=1.y=0;if(!x)y++;elsef(x==0)if(x)y+=2;else?y+=3;printf("%d\n",y);\}程序運(yùn)行后的輸出結(jié)果是()。A.3B.2C.1D.0
13.下列說法不正確的是()。
A.圖的遍歷是從給定的源點(diǎn)出發(fā)每一個(gè)頂點(diǎn)僅被訪問一次
B.圖的深度遍歷不適用于有向圖
C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷
D.圖的深度遍歷是一個(gè)遞歸過程
14.非線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種()。
A.一對(duì)多關(guān)系B.多對(duì)多關(guān)系C.多對(duì)一關(guān)系D.一對(duì)一關(guān)系
15.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
16.對(duì)長(zhǎng)度為n的無序線性表進(jìn)行順序查找,則查找成功、不成功時(shí)的平均數(shù)據(jù)比較次數(shù)分別為()。
A.n/2,nB.n+1/2,n-1C.n+1/2,nD.n-1/2,n-1
17.fseek函數(shù)的正確調(diào)用形式是()。
A.fseek(文件指針,起始點(diǎn),位移量)
B.fseek(文件指針,位移量,起始點(diǎn))
C.fseek(位移量,起始點(diǎn),文件指針)
D.fseek(起始點(diǎn),位移量,文件指針)
18.下列二維數(shù)組的說明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4]
C.#defineN5floata[N][3]
D.inta[2][9.5];
19.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語句將無限循環(huán)
B.getchar()不可以出現(xiàn)在while語句的條件表達(dá)式中
C.當(dāng)執(zhí)行此while語句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行
D.當(dāng)執(zhí)行此while語句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行
20.
二、2.填空題(20題)21.以下程序通過函數(shù)SunFun求。這里f(x)=x2+1,由F函數(shù)實(shí)現(xiàn)。請(qǐng)?zhí)羁铡?/p>
main()
{printf("Thesum=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+=F(【】);
returns;
}
F(intx)
{returnx*x+1;}
22.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
23.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
24.以下函數(shù)用來在w數(shù)組中插入x,w數(shù)組中的數(shù)已按由小到大的順序存放,n為數(shù)組中存放的數(shù)的個(gè)數(shù)。插入后數(shù)組中的個(gè)數(shù)仍然有序。請(qǐng)?zhí)羁眨怪暾?/p>
voidfun(char*w,charx,int*n)
{inti,p;
p=0;
w[*n]=x;
whiel(x>w[p])【】;
for(i=*n;i>p;i--)w[i]=【】;
w[p]=x;
++*n;
}
25.與表達(dá)式a+=b等價(jià)的另一書寫形式是______。
26.fwrite函數(shù)的一般調(diào)用形式是
27.按照“先進(jìn)先出”的原則組織數(shù)據(jù)的結(jié)構(gòu)是______。
28.成本估算模型中,Putnam估算模型是一種【】模型。
29.下列程序可以判斷輸入的年份是不是閏年。
#include
main()
{int【】,leap;
scanf("%d",&year);
if(year%4)
leap=0;
elseif(year%lO0)
【】;
elseif(year%400)
leap=0;
else
leap=1;
if(【】)
printf("%d年是閏年",year);
else
printf("%d年不是閏年\n",year);
}
30.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
31.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請(qǐng)?zhí)羁铡?/p>
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;i<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(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
______=X;
}
}
32.下面程序的輸出是【】。
main()
{enumern{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
33.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。
34.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程
序的輸出結(jié)果是______。
35.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。
36.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
37.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
38.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
39.在對(duì)文件進(jìn)行操作的過程中,若要求文件的位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。
40.函數(shù)fun的功能是計(jì)算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語句為【】。
三、1.選擇題(20題)41.若有如下程序:voidsub(){inta,b;a=lO;b=20;printf("%d,%d\n",b,a);}main(){inta=1O,b=20;sub();printf("%d,%d\n"'a'b);}則程序運(yùn)行后的輸出結(jié)果是()。
A.10,20B.20,1020,10C.20,10D.10,2010,2020,10
42.以下敘述中錯(cuò)誤的是()
A.二進(jìn)制文件打開后可以先讀文件的末尾,而順序文件不可以
B.在程序結(jié)束時(shí),應(yīng)當(dāng)用fclose函數(shù)關(guān)閉已打開的文件
C.在利用fread函數(shù)從二進(jìn)制文件中讀數(shù)據(jù)時(shí),可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù)
D.不可以用FILE定義指向二進(jìn)制文件的文件指針
43.假定在一棵二叉樹中,雙分支結(jié)點(diǎn)數(shù)為15個(gè),單分支結(jié)點(diǎn)數(shù)為32個(gè),則葉結(jié)點(diǎn)數(shù)為______個(gè)。
A.15B.16C.17D.47
44.若有以下定義和語句,則對(duì)w數(shù)組元素非法引用的是______。intw[2][3],(*pw)[3];pw=w;
A.w[0]+2B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)
45.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為()。
A.log2nB.n/2C.nD.n+1
46.在16位IBM-PC上使用C語言,如定義下列共用體類型變量:uniondata{inti;charch;floatf;}a,b,c;則共用體變量a,b,c占用內(nèi)存的字節(jié)數(shù)為()。
A.1B.2C.4D.6
47.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)的數(shù)目是()。
A.有且只有1個(gè)B.1或多于1C.0或1D.至少有2個(gè)
48.有以下計(jì)算公式:若程序前面已在命令行中包含math.h文件,不能夠正確計(jì)算上述公式的程序段是()。
A.if(x>=0)y=sqrt(x);elsey=sqrt(-x);
B.y=sqrt(x);if(x<0)y=sqrt(-x);
C.if(x>=0)y=sqrt(x);if(x<0)=sqdrt(-x);
D.y=sqrt(x>=0?x:-x);
49.可以在C語言程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
50.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
51.若有以下定義的語句structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};main(){stmctstudent*p;p=stu;…}則以下不正確的引用是
A.(p++)->numB.p++C.(*p).numD.P=&stu.age.
52.在微機(jī)中,微處理器的主要功能是()
A.算術(shù)邏輯運(yùn)算B.算術(shù)運(yùn)算C.存儲(chǔ)程序和數(shù)據(jù)D.算術(shù)邏輯運(yùn)算及全機(jī)的控制
53.以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是______。A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
54.以下程序的功能是進(jìn)行位運(yùn)算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是______。
A.43B.73C.70D.40
55.當(dāng)輸入為“quert?”時(shí),下面程序的執(zhí)行結(jié)果是()#indude<stdio.h>main(){charc;c=getehar();while((c=getchar())!='?')putchar(++c);}
A.QuertB.vfsuC.quert?D.rvfsu?
56.定義如下變量:intn=10;則下列循環(huán)的輸出結(jié)果是()。while(n>7){-n;printf("%d\n",n);}
A.1098B.987C.10987D.9876
57.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
58.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
59.有以下程序:structSTU{charname[10];intnum;};voidf1(structSTUc){structSTUb={"LiSiGuo",2042);c=b;}voidf2(structSTU*c){structSTUb={"SunDan",2044);*c=b;}main(){structSTUa={"YangSan",2041},b={"WangYin",2043);f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}執(zhí)行后輸出結(jié)果是()。
A.20412044B.20412043C.20422044D.20422043
60.下列對(duì)于軟件測(cè)試的描述中正確的是()。
A.軟件測(cè)試的目的是證明程序是否正確
B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
四、選擇題(20題)61.下面關(guān)于數(shù)據(jù)庫系統(tǒng)中敘述正確的是()。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
62.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。
A.PDLB.DFD圖C.PAD圖D.N—S圖
63.
64.(45)信息隱蔽的概念與下述哪一種概念直接相關(guān)()
A.軟件結(jié)構(gòu)定義
B.模塊獨(dú)立性
C.模塊類型劃分
D.模擬耦合度
65.
66.
67.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
68.以下程序有錯(cuò),錯(cuò)誤的原因是
main()
{int*p,i;char*q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
......
}
A.p和q的類型不一致,不能執(zhí)行*p=*q;語句
B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語句
C.q沒有指向具體的存儲(chǔ)單元,所以*q沒有實(shí)際意義
D.q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定的值,所以執(zhí)行*p=*q;沒有意義,可能會(huì)影響后面語句的執(zhí)行結(jié)果
69.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是()。A.學(xué)生管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
70.下列關(guān)于C語言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92
72.已知大寫:字母A的ASCIl碼是65,小寫字母a的ASCIl碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語句是()。
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.6B.3C.8D.12
74.下列描述錯(cuò)誤的是()。
A.繼承分為多重繼承和單繼承
B.對(duì)象之間的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征
D.類是具有共同屬性、共同方法的對(duì)象的集合
75.下列敘述中正確的是()。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)
76.有以下程序
#include<stdio.h>
main()
{charb=2;
printf("%d\n",b=b<<3);
}
程序的運(yùn)行結(jié)果是
A.4B.8
C.16D.2000
77.如圖所示,兩個(gè)關(guān)系R1和R2:
則由關(guān)系R1和R2得到關(guān)系R3的操作是()。
A.笛卡爾積B.連接C.交D.除
78.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
79.下列敘述中正確的是()。
A.數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)
D.以上三種說法都不對(duì)
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。
例如,當(dāng)n為100時(shí),函數(shù)的值應(yīng)為1.566893。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun,其功能是:求ss所指字符串中指定字符的個(gè)數(shù),并返回此值。
例如,若輸入字符串123412132,輸入字符為l,則輸出3。
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
參考答案
1.A
2.C
3.B
4.A
5.C
6.C解析:選項(xiàng)A中應(yīng)將y和m前面的函數(shù)的類型說明符去掉,故選項(xiàng)A不正確;選項(xiàng)B中函數(shù)傳了2個(gè)參數(shù),其中一個(gè)為整型—個(gè)為浮點(diǎn)型,而fun()函數(shù)在定義時(shí)聲明的2個(gè)參數(shù),一個(gè)為整型一個(gè)為雙精度型,其參數(shù)類型不一致,故選項(xiàng)B不正確;選項(xiàng)D在調(diào)用函數(shù)時(shí),不應(yīng)該再聲明其返回類型,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意.
7.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。
8.C
9.D
10.B本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在執(zhí)行函數(shù)func時(shí),由于全局定義了一個(gè)變量b,所以在函數(shù)體中執(zhí)行b=2+1=3,最終t=2+3=5。
11.B解析:y-的作用是先取其值作為表達(dá)式的值,然后y的值減1存入y。當(dāng)y>0時(shí)循環(huán)繼續(xù),直到y(tǒng)=0時(shí)循環(huán)結(jié)束,然后y值減1存入y中,所以選B。
12.D[解析]在ifelse語句中else,總是與離它最近的配對(duì)。本題目中x為1所以!勸0.所以執(zhí)行elsei語句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閯?所以條件不成立,所以else內(nèi)部的if..else語句不再執(zhí)行,所以y的值還是初始值0.
13.C
14.B
15.B在C語名中規(guī)定進(jìn)行強(qiáng)制類型轉(zhuǎn)換的格式是:(類型名)變量名;并且給表達(dá)式賦值。
16.C
17.B解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn))
“起始點(diǎn)”用0,1或2代替,0代表“文件開始”,1為“當(dāng)前位置”,2為“文件末尾”。
“位移量”指以“起始點(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件長(zhǎng)度大于64k時(shí)不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字末尾加一個(gè)字母L表示long型。
18.D解析:C語言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式:二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
19.C主要是考查while和getchar函數(shù),getchar函數(shù)是輸入字符函數(shù),while是循環(huán)語句,所以當(dāng)輸入的字符為換行符時(shí)將執(zhí)行。
20.B
21.xx解析:考查函數(shù)的調(diào)用。函數(shù)調(diào)用時(shí),實(shí)參與形參一致,函數(shù)F只有一個(gè)形參,故函數(shù)的調(diào)用為F(x)。
22.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
23.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
24.++pw[i-1]
25.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。
26.D
27.隊(duì)列隊(duì)列解析:隊(duì)列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊(duì)尾”,刪除元素的一端叫做“隊(duì)頭”,先插入的元素先被刪除,是按先進(jìn)先出的原則組織數(shù)據(jù)的。
28.動(dòng)態(tài)多變量動(dòng)態(tài)多變量
29.yearleap=1leap
30.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級(jí)和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。本程序首先定義了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個(gè)形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。
31.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒有初始化,最后又要輸出它,所以數(shù)組b肯定是用來保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫成指針方式*(br+i)。
32.DDBBCCDDBBCC解析:c語言對(duì)枚舉的定義規(guī)定定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
33.封裝封裝
34.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。
35.@
36.邏輯關(guān)系邏輯關(guān)系
37.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
38.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
39.rewind()或fseek()rewind()或fseek()
40.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函數(shù)fun(x,n)的作用是求xn,因此a4應(yīng)該調(diào)用函數(shù)fun(a,4),b4應(yīng)該調(diào)用函數(shù)fun(b,4),(a+b)3應(yīng)該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學(xué)表達(dá)式,寫成C程序中的語句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。
41.C解析:程序首先調(diào)用sub()子函數(shù),在子函數(shù)中輸出子函數(shù)自己的變量b和a(20,10),然后主函數(shù)再輸出主函數(shù)中的變量a和b(10,20)。故應(yīng)該選擇C。
42.D解析:順序文件只能從頭讀寫,二進(jìn)制文件可以隨機(jī)讀寫,選項(xiàng)A正確:文件在使用后應(yīng)關(guān)閉,當(dāng)程序結(jié)束時(shí),應(yīng)當(dāng)把打開的文件關(guān)閉,選項(xiàng)B正確:用fread()函數(shù)可以一次性地讀取同類型的很多數(shù)據(jù),選項(xiàng)C正確;在C語言中指向各種文件的文件指針都是通過FILE來定義的,故選項(xiàng)D是錯(cuò)誤的。所以4個(gè)選項(xiàng)中選D
43.B
44.B解析:選項(xiàng)A表示元素w[0][2],選項(xiàng)C表示元素w[0][0],選項(xiàng)D表示元素w[1][2],而選項(xiàng)B中pw+1表示第2行元素的地址,(pw+1)[2]相當(dāng)于(pw+1)+2,表示第4行元素的地址,顯然超出該二維數(shù)組的范圍。
45.C解析:對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查到所要找的元素為止。在最壞的情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都將與表中所有元素進(jìn)行比較,因此比較次數(shù)為n。
46.C解析:共用體變量中的所有成員占有同一個(gè)存儲(chǔ)空間,其字節(jié)數(shù)與成員中占字節(jié)數(shù)最多的那個(gè)成員相等。char占1個(gè)字節(jié),int占2個(gè)字節(jié),float占4個(gè)字節(jié),因此本題中的共用體變量a,b,c占用內(nèi)存的字節(jié)數(shù)為4。
47.CC。【解析】樹具有明顯的層次關(guān)系,即樹是一種層次結(jié)構(gòu)。在樹結(jié)構(gòu)中,根結(jié)點(diǎn)在第一層上。當(dāng)樹為非空時(shí),樹中有且只有一個(gè)根結(jié)點(diǎn),當(dāng)樹為空時(shí),樹中根結(jié)點(diǎn)的數(shù)目為0。
48.B解析:選項(xiàng)B一開始就調(diào)用了sqrt(x)而沒有判斷x的正負(fù),所以是錯(cuò)誤的。故應(yīng)該選B。
49.B解析:C語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下畫線組成,并且它的第一個(gè)字符必須是字母或者下畫線。
50.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
51.D
52.D
53.D只要是合法的表達(dá)式,都可以作為邏輯運(yùn)算符的運(yùn)算對(duì)象。因此可知選項(xiàng)A、B、C錯(cuò)誤。故本題答案為D選項(xiàng)。
54.A解析:a=7^3=00000111^00000011=00000100=4;b=~4&3=~00000100&00000011=11111011&00000011=00000011=3
55.B
56.B解析:第1次循環(huán),10>7,--n=9,輸出9。第2次循環(huán),9>7,--n=8,輸出8。第3次循環(huán),8>7,--n=7,輸出7。
57.C解析:帶參數(shù)的宏定義命令行形式如下:
#define宏名(形參表)替換文本
在編譯的時(shí)候編譯預(yù)處理程序用“替換文本”來替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時(shí)由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時(shí)間,而函數(shù)調(diào)用是在程序運(yùn)行時(shí)進(jìn)行的,在函數(shù)的調(diào)用過程中需要占用一系列的處理時(shí)間。
58.A樹形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對(duì)應(yīng)任意一棵非空樹,它具有以下幾點(diǎn)重要的性質(zhì)。
①有且僅有一個(gè)特定的稱為根的結(jié)點(diǎn)。
②當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,…,TM,其中每一個(gè)集合本身又是一棵樹,稱為子樹。
因此,本題的正確答案有且只有一個(gè)。
59.A解析:本題中首先定義了一個(gè)結(jié)構(gòu)體類型STU,它由一個(gè)字符數(shù)組和一個(gè)整形變量hum組成。然后定義兩個(gè)函數(shù)f1和f2。其中f1是值傳遞的,f2是地址傳遞的。主函數(shù)中定義兩個(gè)結(jié)構(gòu)體變量a和b并分別賦初值,接著調(diào)用函數(shù)f1(a),由于函數(shù)n是值傳遞,故執(zhí)行該函數(shù)后并沒有改變a的值,再接著調(diào)用函數(shù)f2(&b),由于該函數(shù)是地址傳遞,執(zhí)行該函數(shù)后將使變量b的值為{'SunDan',2044},故函數(shù)最后輸出a.num和b.num的值為2041和2044。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
60.C解析:關(guān)于軟件測(cè)試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。整體來說,軟件測(cè)試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。本題答案為C。
61.A\n數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)在不同位置出現(xiàn)時(shí)應(yīng)保持相同的值。
\n
62.B常見的過程設(shè)計(jì)工具有圖形土具(程序流程圖、N—S圖、PAD圖、HIP0圖)、表格工具(判定表)和語言工具(PDL)。DFD是數(shù)據(jù)流圖,是描述數(shù)據(jù)處理過程的工具。
63.D
64.B
65.C
66.B
67.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
68.D在本題中,題目要求我們分析給出程序段錯(cuò)誤的原因。我們可以結(jié)合選項(xiàng)和程序段來分析。
在C語言中,是可以將字符型的變量賦值給整型變量的,主要是由于字符型是以ASCII碼存儲(chǔ)在計(jì)算機(jī)中的,在賦值的過程中,系統(tǒng)會(huì)將其對(duì)應(yīng)的ASCII碼值賦給整型變量,選項(xiàng)A描述的錯(cuò)誤原因是不成立的。
*p表示的是數(shù)值,而非地址,*p=40;語句是合法的語句,選項(xiàng)B描述的錯(cuò)誤原因也是不成立的。雖然q沒有指向具體的存儲(chǔ)單元,但*q的實(shí)際意義仍然是一樣的,選項(xiàng)C描述的錯(cuò)誤原因是不成立的。
執(zhí)行*p=*q;操作沒有實(shí)際的意義,因?yàn)橹羔樧兞縬所指向的存儲(chǔ)單元沒有
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市地下空間沉降監(jiān)測(cè)與開發(fā)合同7篇
- 2025年度棉花產(chǎn)業(yè)環(huán)保治理與污染防控合同4篇
- 2025年沙地生態(tài)保護(hù)與可持續(xù)發(fā)展承包合同3篇
- 2025年度戶外廣告牌使用權(quán)及維護(hù)合同4篇
- 二零二五版杭州二手房買賣合同產(chǎn)權(quán)變更與登記服務(wù)協(xié)議3篇
- 2025年度光伏發(fā)電項(xiàng)目個(gè)人工勞務(wù)分包合同2篇
- 2025年度苗木種植保險(xiǎn)合同匯編3篇
- 二零二五年度廚房設(shè)備安裝與智能化節(jié)能改造合同4篇
- 二零二五年度地產(chǎn)樣板間軟裝設(shè)計(jì)定制合同3篇
- 2025年拋光技術(shù)成果轉(zhuǎn)化與應(yīng)用合同4篇
- 墓地銷售計(jì)劃及方案設(shè)計(jì)書
- 從偏差行為到卓越一生3.0版
- 優(yōu)佳學(xué)案七年級(jí)上冊(cè)歷史
- 鋁箔行業(yè)海外分析
- 紀(jì)委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 【公司利潤(rùn)質(zhì)量研究國(guó)內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國(guó)地區(qū)碼
- 新疆2022年中考物理試卷及答案
評(píng)論
0/150
提交評(píng)論