




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年安徽省馬鞍山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
3.以下選項(xiàng)中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
4.下列說法不正確的是()。
A.圖的遍歷是從給定的源點(diǎn)出發(fā)每一個(gè)頂點(diǎn)僅被訪問一次
B.圖的深度遍歷不適用于有向圖
C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷
D.圖的深度遍歷是一個(gè)遞歸過程
5.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
6.在16位IBM-PC機(jī)上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是
A.1B.2C.7D.11
7.若有說明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
8.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
9.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
10.以下選項(xiàng)中,合法的一組C語言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e-3-0xf
C..1774e1.50abc
D.0x8A10,0003.e5
11.以下關(guān)于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
12.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語句中表達(dá)式值的類型與說明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
13.若變量已正確定義,要求程序段完成5!的計(jì)算,不能完成此操作的程序段是______。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
14.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是
A.P的值不等于12345并且n的值小于3
B.P的值等于12345并且n的值大于等于3
C.P的值不等于12345或者n的值小于3
D.P的值等于12345或者n的值大于等于3
15.有以下程序:#include<stdio.h>main(){chara==‘0’,b=‘A’;inti;for(i=1;i<6;i++)if(i%2==0)putchar(a+i);elseputchar(b+i);}程序運(yùn)行后的輸出結(jié)果是()。
A.A2A3BB.2B4DFC.B4CD7D.B2D4F
16.下列排序算法中,其時(shí)間復(fù)雜度和記錄的初始排列無關(guān)的是()
A.插入排序B.堆排序C.快速排序D.冒泡排序
17.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易讀性和文檔性
18.以下敘述中正確的是()。
A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列中的隊(duì)尾指針一定大于隊(duì)頭指針
D.循環(huán)隊(duì)列中的隊(duì)尾指針一定小于隊(duì)頭指針
19.
20.有以下程序:main(){intp[7]={11,13,14,15,16,17,18),i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k)}執(zhí)行后的輸出結(jié)果是______。
A.58B.56C.45D.24
二、2.填空題(20題)21.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
22.設(shè)y為int型變量,請寫出描述“y是偶數(shù)”的表達(dá)式______。
23.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
24.在數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。
25.有以下程序,若運(yùn)行時(shí)從鍵盤輸入:18,11<回車>,則程序的輸出結(jié)果是【】。
main()
{inta,b;
printf("Entera,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{while(a>b)a-=b;
while(b>a)b-=a;
}
printf("%3d%3d\n",a,b);
}
26.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
27.長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
28.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
29.以下程序的功能是計(jì)算: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);
}
30.下列程序的輸出結(jié)果是16.00,請?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
31.以下程序運(yùn)行后的輸出結(jié)果是【】。
intf(inta[],intn)
{
if(n>=1)
returnf(a,n-1)+a[n-1];
else
return0;
}
main()
{
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf("%d\n",s);
}
32.strcat函數(shù)的作用是【】。
33.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
34.以下程序段的輸出結(jié)果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
35.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
36.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
37.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
38.為了列出當(dāng)前盤當(dāng)前目錄中所有第三個(gè)字符為C的文件名的有關(guān)信息,應(yīng)該使用命令【】。
39.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>,則輸出結(jié)果是【】。
#include
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
40.算法的基本特征是可行性、確定性、【】和擁有足夠的情報(bào)。
三、1.選擇題(20題)41.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
42.關(guān)系表中的每一橫行稱為—個(gè)______。
A.元組B.字段C.屬性D.碼
43.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
44.在面向?qū)ο蠓椒ㄖ?,一個(gè)對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息
45.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′xa′,′\x8′};
46.閱讀下列程序,則運(yùn)行結(jié)果為
#include"stdio.h"
fun()
{staticintx=5;
x++;
returnx;}
main()
{inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);}
A.5B.6C.7D.8
47.下列程序執(zhí)行后輸出結(jié)果是()main(){chararr[2][4];strcpy(arr,"you");strcpy(arr,[1],"me");arr[0][3]='&';printf("%s\n",arr);}
A.you&meB.youC.meD.err
48.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為()。
A.對應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系
49.以下4個(gè)選項(xiàng)中,不能看成一條語句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
50.若有以下定義和語句,則對w數(shù)組元素非法引用的是______。intw[2][3],(*pw)[3];pw=w;
A.w[0]+2B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)
51.整型變量X和Y的值相等,且為非0值,則以下選項(xiàng)中結(jié)果為0的表達(dá)是______。
A.X||YB.X|YC.X&YD.XY
52.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。
A.除了最后—層外,每—層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C.完全二叉樹—般不是滿二叉樹
D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1
53.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
54.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
該程序的輸出結(jié)果是
A.0.000000B.0.250000C.0.500000D.1.000000
55.下列程序的輸出結(jié)果為main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}
A.28B.1000C.0D.不確定
56.假定當(dāng)前盤符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar('\n');}
A.123321B.123C.321D.以上答案都不正確
57.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)
58.設(shè)有語句“chara='72';”則變量a()。
A.包含一個(gè)字符B.包含二個(gè)字符C.包含三個(gè)字符D.說明不合法
59.設(shè)intx=1,y=1;表達(dá)式(!x‖--y)的值是()。
A.0B.1C.2D.-1
60.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
四、選擇題(20題)61.
62.
63.
64.有以下程序
.程序運(yùn)行后的輸出結(jié)果是()。
A.3040B.2050C.3344D.0304
65.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
66.在面向?qū)ο蠓椒ㄖ?,不屬于“對象’’基本特點(diǎn)的是()。A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性
67.
68.
69.若有以下程序
#include<stdio.h>
main()
{inti;
inta[]={1,3,5,7,9}
int*p=a;
for(i=0;i<4;i++)
a[i]=*p;
printf("%d,%d\n",a[2],a[4]);
}
上面程序的輸出結(jié)果是
A.3,9B.5,9
C.1,9D.1,1
70.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.軟件需求規(guī)格說明書B.數(shù)據(jù)庫說明書C.集成測試計(jì)劃D.概要設(shè)計(jì)說明書
71.
72.
73.以下敘述中正確的是(.。
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í),可以從鍵盤上輸入字符所對應(yīng)的ASCIl碼
74.若有以下程序段:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.8C.4D.2
75.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
76.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1234B.5678C.9101112D.1111
77.
78.有以下程序
#include<stdio.h>
main
{intn,*p=NULL;
*p=&n;
printf("Inputn:");
scanf("%d",&p);
printf("outputn:");
printf("%d\n",p);
}
該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語句正確的是
A.intn,*p=NULL;B.*p=&n;
C.scanf("%d",&p)D.printf("%d\n",p);
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92
80.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:判斷一個(gè)整數(shù)m是否是素?cái)?shù),若是返回1,否則返回0。在main()函數(shù)中,若proc()返回1,則輸出″YES″;若proc()返回0,則輸出″NO″!
請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main)函數(shù),不得增行或刪行,也不得,t更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開觸文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則是把第1~m個(gè)字符,移動(dòng)到字符串的最后,把第m+1到最后的字符移動(dòng)到于符串的前面。例如,字符串中原有的內(nèi)容為“ABCDEFGHIJK”,m的值為3,移動(dòng)后,字符串中的內(nèi)容應(yīng)該是“DEFGHUKABC”。注意:部分源程序在文件prog1.c中。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.C解析:二分查找法也稱為折半查找法。它的基本思想是:將n個(gè)元素分成個(gè)數(shù)大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2],則找到x,算法終止;如果x<a[n/2],則只要在數(shù)組a的左半部繼續(xù)搜索x(這里假設(shè)數(shù)組元素呈升序排列);如果x>a[n/2],則只要在數(shù)組a的右半部繼續(xù)搜索x。每次余下n/(2i)個(gè)元素待比較,當(dāng)最后剩下一個(gè)時(shí),即n/(2i)=1。故n=2i;所以i=log2n。
3.C解析:C語言中字符常量是以單引號括起來的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
4.C
5.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
6.D解析:結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。
7.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對二維數(shù)組元素賦初值時(shí),可以只對部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大?。划?dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
8.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。
9.D解析:本題考查軟件工程中軟件設(shè)計(jì)的概念和原理。人們在開發(fā)計(jì)算機(jī)軟件的長期實(shí)踐中積累了豐富的經(jīng)驗(yàn),總結(jié)這些經(jīng)驗(yàn)得到如下的啟發(fā)式規(guī)則:
(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;通過模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴的緊密程度,高內(nèi)聚是提高一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個(gè)模塊的規(guī)模不應(yīng)過大,過大的模塊往往是由于分解不夠充分:過小的模塊開銷大于有益操作,而且模塊過多將使系統(tǒng)接口復(fù)雜。因此過小的模塊有時(shí)不值得單獨(dú)存在。
(3)模塊的功能應(yīng)該可以預(yù)測,但也要防止模塊功能過分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計(jì)的特點(diǎn):如果模塊的功能過分的局限,使用范圍就過分狹窄。
經(jīng)過上述分析,本題的正確答案是選項(xiàng)D。
10.AC語言中,八進(jìn)制整型常量以0開頭,十六進(jìn)制整型常量以0x或0X開頭。C語言中的實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。小數(shù)形式,表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,在e或E后加一個(gè)整數(shù)來表示以10為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中“028”不合法,八進(jìn)制中沒有數(shù)字8。C選項(xiàng)中,e后面的指數(shù)不是整數(shù)。D選項(xiàng)中“10,000”數(shù)字之間不能有逗號。故本題答案為A選項(xiàng)。
11.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ò)誤。
12.D題干中“x+y”是整型,函數(shù)的返回值是double類型,由于整型可以自動(dòng)轉(zhuǎn)換成double類型,因此函數(shù)值返回時(shí)自動(dòng)轉(zhuǎn)換成double類型。故本題答案為D選項(xiàng)。
13.B解析:選項(xiàng)B中每次執(zhí)行循環(huán)體都要執(zhí)行p=1,無法保存上次的運(yùn)算結(jié)果,執(zhí)行完while循環(huán)后p=5。
14.D解析:本題考查的知識點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語句必須注意以下幾點(diǎn):
先執(zhí)行語句,后判斷表達(dá)式。所以,無論一開始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語句至少執(zhí)行一次,這一點(diǎn)與while不同,
如果do-while語句循環(huán)體部分是由多個(gè)語句組成,則必須用花括號括起來,使其形成復(fù)合語句。
C語言中的do—while語句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。
在本題中,循環(huán)執(zhí)行判斷條件為while后面括號里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿足題意。所以4個(gè)選項(xiàng)中D正確。
15.D程序首先定義字符變量a并賦初值‘0’,定義字符變量b并賦初值‘A’。然后執(zhí)行for循環(huán),當(dāng)i為偶數(shù)時(shí),輸出字符“a+i”;當(dāng)i為奇數(shù)時(shí),輸出字符“b+i”。因?yàn)閿?shù)字和字母的ASCII值都是按順序遞增的,所以本題輸出為B2D4F。故本題答案為D選項(xiàng)。
16.B
17.C
18.B在實(shí)際應(yīng)用中,隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)一般采用循環(huán)隊(duì)列的形式。當(dāng)循環(huán)隊(duì)列為滿或者為空時(shí),隊(duì)尾指針=隊(duì)頭指針。本題答案為B選項(xiàng)。
19.D
20.D解析:程序中while語句的循環(huán)條件為i<7&&p[i]%2。當(dāng)i=0時(shí),條件成立,k=k+p[0]=11;當(dāng)i=1時(shí),條件仍成立,k=k+p[1]=11+13=24;當(dāng)i=2時(shí),p[2]%2=0條件不成立,結(jié)束while循環(huán),所以k=24。
21.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運(yùn)算時(shí),應(yīng)該先將2.8轉(zhuǎn)換成float類型再運(yùn)算,最后結(jié)果仍是float型。
22.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。
23.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
24.E-R圖E-R圖解析:E-R圖是設(shè)計(jì)概念模型的有力工具。
25.1111解析:首先,程序通過scanf()函數(shù)將18和11分別讀入到變量a和b中。然后,因?yàn)閍!=b為真,進(jìn)入外層while循環(huán)。此時(shí)a>b為真,執(zhí)行a-=b;,a的值變?yōu)?8-11=7:接下來b>a也為真,執(zhí)行b-=a;,b的值變?yōu)?1-7=4。此時(shí)a!=b還是為真,第2次進(jìn)入外層循環(huán)。a>b為真,執(zhí)行a-=b;,a的值變?yōu)?-4=3。b>a為真,執(zhí)行b-=a;,b的值變?yōu)?-3=1接下來a!=b為真第3次進(jìn)入外層循環(huán)。a>b為真,執(zhí)行a-=b,a的值變?yōu)?-1=2。b>a為假,不執(zhí)行b-=a;;然后第4次進(jìn)入外層循環(huán),a>b為真,執(zhí)行a-=b,a的值變?yōu)?-1=1。b>a為假,不執(zhí)行b-=a;此時(shí)a和b均為1了,a!=b條件為假,外層循環(huán)結(jié)束。故本題輸出的結(jié)果是11。
26.morningclassmorningclass解析:本題考查了兩個(gè)知識點(diǎn):①“++、--”運(yùn)算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時(shí),執(zhí)行“case\'c\':”,輸出morning;因?yàn)榇司渲袥]有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
27.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
28.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個(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。
29.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個(gè)t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在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。
解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
31.1515解析:在函數(shù)f()中只有一條if語句,如果n不小于1,則返回f(a,n-1)+a[n-1];否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3],……直到f(aa,0)返回0。故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。
32.連接兩個(gè)字符數(shù)組中的字符連接兩個(gè)字符數(shù)組中的字符解析:strcat函數(shù)的作用是連接兩個(gè)字符數(shù)組中的字符串。
33.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。
34.2626解析:a*=16+(b++)-(++c)等價(jià)于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值參加運(yùn)算,再對b加1;++c是先c加1,再使用c的值參加運(yùn)算。
35.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
36.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語句的值應(yīng)當(dāng)為false,即為0。
37.67G67G解析:字符型變量中保存的是某個(gè)字符的ASCII碼值,是一個(gè)整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。
38.DIR??C*.*
39.1B1B解析:從鍵盤輸入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在輸出時(shí)均需要把a(bǔ),b轉(zhuǎn)化為字符型,因此輸出為1B。
40.有窮性有窮性解析:算法有四個(gè)基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。
41.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對象必須是整型,而選項(xiàng)B)和D)中'%'兩邊的運(yùn)算對象有浮點(diǎn)整數(shù)據(jù),所以選項(xiàng)B)和D)是錯(cuò)誤的表達(dá)式。在選項(xiàng)A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯(cuò)誤的。選項(xiàng)C)是一個(gè)逗號表達(dá)式,所以正確答案為C)。
42.A解析:在關(guān)系數(shù)據(jù)庫中,關(guān)系模型采用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。
43.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
44.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動(dòng)的,對象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
45.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。
46.D解析:在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,即使退出函數(shù)以后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來的存儲(chǔ)單元,靜態(tài)局部變量的初值是在編譯的時(shí)候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對靜態(tài)變量x進(jìn)行操作,x的值應(yīng)依次為6,7,8。
47.A
48.C解析:在關(guān)系模型數(shù)據(jù)庫中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱為N元關(guān)系。注意:各種關(guān)系查詢語言與過程性語言和非過程性語言的關(guān)系,過程性語言的特點(diǎn)。
49.D解析:選項(xiàng)D)為兩條語句。
50.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ù)組的范圍。
51.D解析:“||”為或運(yùn)算符,當(dāng)其左右表達(dá)式中只要一個(gè)為非零則整個(gè)表達(dá)式的值1。是按位或,&是按位與,^是按位異或,這三位運(yùn)算符是按值的二進(jìn)制位來比較的。
52.B解析:滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后—層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。
53.A樹形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對應(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è)。
54.D解析:本題考查if語句中的一種表達(dá)方式,即:if卐lseif叀
該表達(dá)式的語句是:
if(表達(dá)式1)
語句1
elseif(表達(dá)式2)
語句2
elseif(表達(dá)式3)
語句3
else
語句4
厖
本題執(zhí)行elsey=1.0,并且以'%f'輸出。
55.B解析:本題對共用體的使用進(jìn)行了考查。由于共用體所有成員共同占據(jù)一段存儲(chǔ)空間,所以對成員變量的賦值,后面的賦值會(huì)覆蓋掉前面的賦值,因?yàn)閟.income=1000;是最后一次成員變量賦值,變量age與變量income共同占據(jù)一段存儲(chǔ)空間,所以age的值也為1000。
56.A解析:本題的功能是順序的讀兩個(gè)文本文件;依次輸出。當(dāng)打開文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。
57.C數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)元素之間的前后件關(guān)系,而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。
58.D解析:字符變量的值為單個(gè)字符,并用單引號包含,而本題中的單引號中是兩個(gè)字符,不是合法說明。
59.A解析:當(dāng)邏輯或運(yùn)算符兩邊的運(yùn)算對象至少有一個(gè)為1時(shí),整個(gè)邏輯表達(dá)式的值是1;如果兩邊的運(yùn)算對象都為0,則整個(gè)邏輯表達(dá)式的值為0。題中!x=0,--y=0,所以整個(gè)表達(dá)式的值是0。
60.B解析:數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。
61.D
62.C\r\n
63.B
64.A第一次循環(huán)i為0,i%2為0,執(zhí)行switch(a[0]%2)中的case0語句后內(nèi)容即a[0]++,a[o]的值變成3;第二次循環(huán)i的值為I,i%2為l,執(zhí)行casel:a[i]=0;因此a[l]的值變成0;第三次循環(huán)i的值為2,1%2為0,執(zhí)行switch(a[2]%2)中的casel語句后的內(nèi)容a[2]一,a[21的值變成4;第四次循環(huán)i的值為3,1%2為l,執(zhí)行case1:a[i]=0;因此a[3]的值變成O。故本題答案為A)。
65.DmaUoc函數(shù)動(dòng)態(tài)分配一個(gè)整型的內(nèi)存空間,然后把函數(shù)返回的地址用(int{)強(qiáng)制類型轉(zhuǎn)換為整型指針,再把它賦給a,b,c,即讓指針變量a,b,c都指向剛申請的內(nèi)存空間。所以只有最后一個(gè)賦值語句+C=3的值保留在了該空間內(nèi),因?yàn)閍、b、C三個(gè)指針變量均指向該空間,所以打印該空間內(nèi)的數(shù)值為3。
66.A在面向?qū)ο蠓椒ㄖ校瑢ο蟮幕咎攸c(diǎn)包括:標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性好。一致性不屬于對象的基本特點(diǎn),因此本題答案為A)。
67.D
68.B
69.C本題中,程序開始定義了一個(gè)數(shù)組a,并對這個(gè)數(shù)組進(jìn)行賦初值。然后定義一個(gè)整型變量i和一個(gè)整型指針變量p,并使指針變量p指向數(shù)組a的首地址。然后執(zhí)行for循環(huán),循環(huán)變量i的初值為0,循環(huán)結(jié)束條件為變量i的值大于等于4,循環(huán)變量i的值每循環(huán)一次自加1,通過這些分析我們知道,循環(huán)執(zhí)行了4次結(jié)束。
第一次循環(huán)時(shí),由于*p表示數(shù)組的第一個(gè)元素值1,那么執(zhí)行a[i]=*p;語句,即將數(shù)組的第一個(gè)元素變?yōu)?;第二次循環(huán)時(shí),由于i為1,即將數(shù)組的第二個(gè)元素變?yōu)?,同理,第三次與第四次循環(huán)分別將數(shù)組的第三和第四個(gè)元素值變?yōu)?。
循環(huán)結(jié)束,程序執(zhí)行輸出語句,這時(shí)數(shù)組中所有元素的值分別為1,1,1,1,9,因此,程序最后的輸出結(jié)果是1,9,答案選C。
70.A軟件需求規(guī)格說明書是需求分析階段最后的成果,它是作為需求分析的一部分而制定的可交付文檔。概要設(shè)計(jì)說明書、數(shù)據(jù)庫說明書、集成測試計(jì)劃都是概要設(shè)計(jì)階段需要編寫的文檔。
71.D
72.D
73.B本題考查的是標(biāo)準(zhǔn)輸入輸出函數(shù)。在使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)(除了printf和scanf)前,必須要用預(yù)編譯命令”#include”將頭文件”stdio.h”包括到用戶源文件中。調(diào)用printf函數(shù)時(shí)可以沒有輸出項(xiàng),比如printf(””)是允許的。c語言中整數(shù)的輸出形式中沒有十二進(jìn)制的形式。getchar函數(shù)讀人字符時(shí)可以得到第一個(gè)輸入字符的ASCIl碼,無法通過輸入相應(yīng)字符的ASCIl得到該字符。
74.C本題考查位運(yùn)算,屬于基礎(chǔ)知識,題目中將整型變量8,二進(jìn)制表達(dá)為00(301000,右移一位為00000100,即4,選項(xiàng)c正確。
75.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點(diǎn)。
76.D在for(i=0;i<12;i++)e[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組C的4個(gè)元素的值分別為l、1、1、1。所以選項(xiàng)D)正確。
77.C
78.A在C語言中存在直接存取和間接存取兩種訪問內(nèi)存數(shù)據(jù)的方法。前者利用變量名隱式地訪問內(nèi)存:首先定義變量,然后由編譯系統(tǒng)完成從變量名到內(nèi)存地址的映射工作,用戶通過變量名訪問內(nèi)存空間,變量地址對用戶完全透明。后者則通過指針顯式地訪問內(nèi)存:用戶直接使用變量的地址,或者將變量的地址值儲(chǔ)存于特殊的變量中,然后通過此特殊的變量獲取地址值訪問內(nèi)存。
為了更好地使用指針變量,C語言提供了獲取變量地址和通過地址訪問變量的運(yùn)算符“&”和“*”。
(1)取地址運(yùn)算符“&”的使用格式為:&變量名,如&a表示變量a在內(nèi)存中的地址。本運(yùn)算符實(shí)現(xiàn)從變量到地址的轉(zhuǎn)化。
(2)指針運(yùn)算符“*”的使用格式為:*指針變量名,如*p表示指針變量p所指向的變量的值。本運(yùn)算符實(shí)現(xiàn)從地址到變量的轉(zhuǎn)化。
在本題中,程序的作用已經(jīng)給出,下面分別分析各選項(xiàng)中的語句。在選項(xiàng)A中,定義了一個(gè)整型變量n和一個(gè)整型指針變量p,并使其指向一個(gè)空,即不指向任何變量,該語句是正確的語句;在選項(xiàng)B中,由于*p表示值,而&n表示地址,它們之間進(jìn)行賦值操作明顯是錯(cuò)誤的;在選項(xiàng)C中,由于p是指針變量,沒有&p表示方法,因此錯(cuò)誤;在D選項(xiàng)中,輸出的是p指針?biāo)赶虻牡刂罚皇莗指針?biāo)赶虻淖兞恐?,不符合題目的要求。
79.D本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會(huì)生成參數(shù)C的一個(gè)副本,而不會(huì)改變c的值,所以c值維持原值,選項(xiàng)D正確。
80.C選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對表達(dá)式b=c計(jì)算;對于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。
81.(1)錯(cuò)誤:k++
正確:k++;
(2)錯(cuò)誤:if(m=k)
正確:if(m==k)
【解析】根據(jù)C語言的語法規(guī)則,每一條語句都要以分號結(jié)束,因此,要在語句“k++”之后加上分號。判斷變量m與變量k是否相等應(yīng)該用符號“==”,符號“=”為賦值符號,因此,“if(m=k)”應(yīng)改為“if(m==k)”。
82.Voidfun(char*w,intm)chart;for(i=1;i<=m;i++)/*進(jìn)行m次的循環(huán)左移*/{t=w[o];for(j=1;w[j]!='\0';j++)/*從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符*/w[j-l]=w[j];9w[j-l]=t;/*將第1個(gè)字符放到最后一個(gè)字符中*/10}}本題應(yīng)采用“循環(huán)左移”的算法。外層循環(huán)用于控制移動(dòng)的字符的個(gè)數(shù),即需進(jìn)行多少次循環(huán)。內(nèi)層循環(huán)的作用是將第2個(gè)字符以后的每個(gè)字符依次前移一個(gè)位置,最后將第1個(gè)字符放到最后一個(gè)字符中。2022-2023年安徽省馬鞍山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
3.以下選項(xiàng)中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
4.下列說法不正確的是()。
A.圖的遍歷是從給定的源點(diǎn)出發(fā)每一個(gè)頂點(diǎn)僅被訪問一次
B.圖的深度遍歷不適用于有向圖
C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷
D.圖的深度遍歷是一個(gè)遞歸過程
5.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
6.在16位IBM-PC機(jī)上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是
A.1B.2C.7D.11
7.若有說明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
8.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
9.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
10.以下選項(xiàng)中,合法的一組C語言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e-3-0xf
C..1774e1.50abc
D.0x8A10,0003.e5
11.以下關(guān)于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
12.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語句中表達(dá)式值的類型與說明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
13.若變量已正確定義,要求程序段完成5!的計(jì)算,不能完成此操作的程序段是______。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
14.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是
A.P的值不等于12345并且n的值小于3
B.P的值等于12345并且n的值大于等于3
C.P的值不等于12345或者n的值小于3
D.P的值等于12345或者n的值大于等于3
15.有以下程序:#include<stdio.h>main(){chara==‘0’,b=‘A’;inti;for(i=1;i<6;i++)if(i%2==0)putchar(a+i);elseputchar(b+i);}程序運(yùn)行后的輸出結(jié)果是()。
A.A2A3BB.2B4DFC.B4CD7D.B2D4F
16.下列排序算法中,其時(shí)間復(fù)雜度和記錄的初始排列無關(guān)的是()
A.插入排序B.堆排序C.快速排序D.冒泡排序
17.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易讀性和文檔性
18.以下敘述中正確的是()。
A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列中的隊(duì)尾指針一定大于隊(duì)頭指針
D.循環(huán)隊(duì)列中的隊(duì)尾指針一定小于隊(duì)頭指針
19.
20.有以下程序:main(){intp[7]={11,13,14,15,16,17,18),i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k)}執(zhí)行后的輸出結(jié)果是______。
A.58B.56C.45D.24
二、2.填空題(20題)21.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
22.設(shè)y為int型變量,請寫出描述“y是偶數(shù)”的表達(dá)式______。
23.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
24.在數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。
25.有以下程序,若運(yùn)行時(shí)從鍵盤輸入:18,11<回車>,則程序的輸出結(jié)果是【】。
main()
{inta,b;
printf("Entera,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{while(a>b)a-=b;
while(b>a)b-=a;
}
printf("%3d%3d\n",a,b);
}
26.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
27.長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
28.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
29.以下程序的功能是計(jì)算: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);
}
30.下列程序的輸出結(jié)果是16.00,請?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
31.以下程序運(yùn)行后的輸出結(jié)果是【】。
intf(inta[],intn)
{
if(n>=1)
returnf(a,n-1)+a[n-1];
else
return0;
}
main()
{
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf("%d\n",s);
}
32.strcat函數(shù)的作用是【】。
33.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
34.以下程序段的輸出結(jié)果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
35.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
36.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
37.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
38.為了列出當(dāng)前盤當(dāng)前目錄中所有第三個(gè)字符為C的文件名的有關(guān)信息,應(yīng)該使用命令【】。
39.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>,則輸出結(jié)果是【】。
#include
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
40.算法的基本特征是可行性、確定性、【】和擁有足夠的情報(bào)。
三、1.選擇題(20題)41.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
42.關(guān)系表中的每一橫行稱為—個(gè)______。
A.元組B.字段C.屬性D.碼
43.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
44.在面向?qū)ο蠓椒ㄖ?,一個(gè)對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息
45.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′xa′,′\x8′};
46.閱讀下列程序,則運(yùn)行結(jié)果為
#include"stdio.h"
fun()
{staticintx=5;
x++;
returnx;}
main()
{inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);}
A.5B.6C.7D.8
47.下列程序執(zhí)行后輸出結(jié)果是()main(){chararr[2][4];strcpy(arr,"you");strcpy(arr,[1],"me");arr[0][3]='&';printf("%s\n",arr);}
A.you&meB.youC.meD.err
48.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為()。
A.對應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系
49.以下4個(gè)選項(xiàng)中,不能看成一條語句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
50.若有以下定義和語句,則對w數(shù)組元素非法引用的是______。intw[2][3],(*pw)[3];pw=w;
A.w[0]+2B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)
51.整型變量X和Y的值相等,且為非0值,則以下選項(xiàng)中結(jié)果為0的表達(dá)是______。
A.X||YB.X|YC.X&YD.XY
52.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。
A.除了最后—層外,每—層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C.完全二叉樹—般不是滿二叉樹
D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1
53.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
54.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
該程序的輸出結(jié)果是
A.0.000000B.0.250000C.0.500000D.1.000000
55.下列程序的輸出結(jié)果為main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}
A.28B.1000C.0D.不確定
56.假定當(dāng)前盤符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar('\n');}
A.123321B.123C.321D.以上答案都不正確
57.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)
58.設(shè)有語句“chara='72';”則變量a()。
A.包含一個(gè)字符B.包含二個(gè)字符C.包含三個(gè)字符D.說明不合法
59.設(shè)intx=1,y=1;表達(dá)式(!x‖--y)的值是()。
A.0B.1C.2D.-1
60.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
四、選擇題(20題)61.
62.
63.
64.有以下程序
.程序運(yùn)行后的輸出結(jié)果是()。
A.3040B.2050C.3344D.0304
65.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
66.在面向?qū)ο蠓椒ㄖ?,不屬于“對象’’基本特點(diǎn)的是()。A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性
67.
68.
69.若有以下程序
#include<stdio.h>
main()
{inti;
inta[]={1,3,5,7,9}
int*p=a;
for(i=0;i<4;i++)
a[i]=*p;
printf("%d,%d\n",a[2],a[4]);
}
上面程序的輸出結(jié)果是
A.3,9B.5,9
C.1,9D.1,1
70.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.軟件需求規(guī)格說明書B.數(shù)據(jù)庫說明書C.集成測試計(jì)劃D.概要設(shè)計(jì)說明書
71.
72.
73.以下敘述中正確的是(.。
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í),可以從鍵盤上輸入字符所對應(yīng)的ASCIl碼
74.若有以下程序段:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.8C.4D.2
75.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
76.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1234B.5678C.9101112D.1111
77.
78.有以下程序
#include<stdio.h>
main
{intn,*p=NULL;
*p=&n;
printf("Inputn:");
scanf("%d",&p);
printf("outputn:");
printf("%d\n",p);
}
該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語句正確的是
A.intn,*p=NULL;B.*p=&n;
C.scanf("%d",&p)D.printf("%d\n",p);
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92
80.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:判斷一個(gè)整數(shù)m是否是素?cái)?shù),若是返回1,否則返回0。在main()函數(shù)中,若proc()返回1,則輸出″YES″;若proc()返回0,則輸出″NO″!
請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main)函數(shù),不得增行或刪行,也不得,t更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開觸文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則是把第1~m個(gè)字符,移動(dòng)到字符串的最后,把第m+1到最后的字符移動(dòng)到于符串的前面。例如,字符串中原有的內(nèi)容為“ABCDEFGHIJK”,m的值為3,移動(dòng)后,字符串中的內(nèi)容應(yīng)該是“DEFGHUKABC”。注意:部分源程序在文件prog1.c中。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.C解析:二分查找法也稱為折半查找法。它的基本思想是:將n個(gè)元素分成個(gè)數(shù)大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2],則找到x,算法終止;如果x<a[n/2],則只要在數(shù)組a的左半部繼續(xù)搜索x(這里假設(shè)數(shù)組元素呈升序排列);如果x>a[n/2],則只要在數(shù)組a的右半部繼續(xù)搜索x。每次余下n/(2i)個(gè)元素待比較,當(dāng)最后剩下一個(gè)時(shí),即n/(2i)=1。故n=2i;所以i=log2n。
3.C解析:C語言中字符常量是以單引號括起來的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
4.C
5.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
6.D解析:結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。
7.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對二維數(shù)組元素賦初值時(shí),可以只對部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
8.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。
9.D解析:本題考查軟件工程中軟件設(shè)計(jì)的概念和原理。人們在開發(fā)計(jì)算機(jī)軟件的長期實(shí)踐中積累了豐富的經(jīng)驗(yàn),總結(jié)這些經(jīng)驗(yàn)得到如下的啟發(fā)式規(guī)則:
(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;通過模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴的緊密程度,高內(nèi)聚是提高一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個(gè)模塊的規(guī)模不應(yīng)過大,過大的模塊往往是由于分解不夠充分:過小的模塊開銷大于有益操作,而且模塊過多將使系統(tǒng)接口復(fù)雜。因此過小的模塊有時(shí)不值得單獨(dú)存在。
(3)模塊的功能應(yīng)該可以預(yù)測,但也要防止模塊功能過分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計(jì)的特點(diǎn):如果模塊的功能過分的局限,使用范圍就過分狹窄。
經(jīng)過上述分析,本題的正確答案是選項(xiàng)D。
10.AC語言中,八進(jìn)制整型常量以0開頭,十六進(jìn)制整型常量以0x或0X開頭。C語言中的實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。小數(shù)形式,表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,在e或E后加一個(gè)整數(shù)來表示以10為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中“028”不合法,八進(jìn)制中沒有數(shù)字8。C選項(xiàng)中,e后面的指數(shù)不是整數(shù)。D選項(xiàng)中“10,000”數(shù)字之間不能有逗號。故本題答案為A選項(xiàng)。
11.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ò)誤。
12.D題干中“x+y”是整型,函數(shù)的返回值是double類型,由于整型可以自動(dòng)轉(zhuǎn)換成double類型,因此函數(shù)值返回時(shí)自動(dòng)轉(zhuǎn)換成double類型。故本題答案為D選項(xiàng)。
13.B解析:選項(xiàng)B中每次執(zhí)行循環(huán)體都要執(zhí)行p=1,無法保存上次的運(yùn)算結(jié)果,執(zhí)行完while循環(huán)后p=5。
14.D解析:本題考查的知識點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語句必須注意以下幾點(diǎn):
先執(zhí)行語句,后判斷表達(dá)式。所以,無論一開始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語句至少執(zhí)行一次,這一點(diǎn)與while不同,
如果do-while語句循環(huán)體部分是由多個(gè)語句組成,則必須用花括號括起來,使其形成復(fù)合語句。
C語言中的do—while語句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。
在本題中,循環(huán)執(zhí)行判斷條件為while后面括號里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 9335:2025 EN Optics and photonics - Optical transfer function - Principles and procedures of measurement
- 【正版授權(quán)】 ISO/IEC 27562:2024 EN Information technology - Security techniques - Privacy guidelines for fintech services
- 【正版授權(quán)】 ISO 21068-3:2024 EN Chemical analysis of raw materials and refractory products containing silicon-carbide,silicon-nitride,silicon-oxynitride and sialon - Part 3: Determina
- 2025年度數(shù)據(jù)中心電路改造及智能監(jiān)控服務(wù)協(xié)議
- 2025年度金融機(jī)構(gòu)間同業(yè)拆借合同模板
- 2025年度辦公場地租賃及物業(yè)管理合同范本
- 2025年度城市綠化工程項(xiàng)目承包合同范本
- 2025年度城市燃?xì)夤艿腊惭b工程總承包合同范本
- 2025年度餐飲店鋪裝修設(shè)計(jì)與施工合同
- 2025年度戀愛雙方戀愛期間責(zé)任劃分合同模板
- 北京海淀人大附2025屆高一數(shù)學(xué)第二學(xué)期期末監(jiān)測試題含解析
- 2024年廣西職業(yè)院校技能大賽中職組《智慧物流作業(yè)》模塊MC競賽樣題
- ALC板施工施工方案及工藝要求
- 人事專員簡歷模板
- 超聲心動(dòng)圖診斷心肌病臨床應(yīng)用指南解讀
- 地面工程油氣集輸工藝介紹
- 漂流規(guī)劃設(shè)計(jì)方案
- 移動(dòng)取消寬帶委托書
- 國際市場營銷(高職)教學(xué)教案
- 消防設(shè)施維保服務(wù)投標(biāo)方案
- 城市軌道交通車輛電氣控制 課件 趙麗 第1-4章 城市軌道交通車輛電氣控制系統(tǒng)構(gòu)成、城市軌道交通車輛輔助供電系統(tǒng)、電動(dòng)列車常用電氣控制系統(tǒng)及其控制方法
評論
0/150
提交評論