




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023年9月全國計算機等級考試二級C語言筆試試題一、選擇題((1)—(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)(1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是(C)A)循環(huán)隊列
B)帶鏈隊列
C)二叉樹
D)帶鏈棧(2)下列數(shù)據(jù)結(jié)果中,可以按照“先進后出”原則存取數(shù)據(jù)的是(B)A)循環(huán)隊列
B)棧
C)隊列
D)二叉樹(3)對于循環(huán)隊列,下列敘述中對的的是(D)A)隊頭指針是固定不變的B)隊頭指針一定大于隊尾指針C)隊頭指針一定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針(4)算法的空間復(fù)雜度是指(A)A)算法在執(zhí)行過程中所需要的計算機存儲空間B)算法所解決的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的臨時工作單元數(shù)(5)軟件設(shè)計中劃分模塊的一個準則是(B)A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合(6)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是(A)A)可封裝D)自頂向下C)模塊化D)逐步求精(7)軟件具體設(shè)計產(chǎn)生的圖如下:
該圖是(C)A)N-S圖B)PAD圖C)程序流程圖D)E-R圖(8)數(shù)據(jù)庫管理系統(tǒng)是(B)A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件C)一種編譯系統(tǒng)D)一種操作系統(tǒng)(9)在E-R圖中,用來表達實體聯(lián)系的圖形是(C)A)橢圓圖B)矩形C)菱形D)三角形(10)有三個關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為(D)A)
選擇B)
投影C)
交D)
并(11)以下敘述中對的的是
A)程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試
B)程序設(shè)計的任務(wù)就是擬定所用數(shù)據(jù)結(jié)構(gòu)
C)程序設(shè)計的任務(wù)就是擬定所用算法
D)以上三種說法都不完整解析:選D。原文見高教版二級教程P2,程序設(shè)計的任務(wù)涉及A、B、c及相關(guān)文檔。
(12)以下選項中,能用作用戶標記符的是A)voidB)8_8C)_0_D)unsigned解析:選C。標記符由字母或下劃線開頭,關(guān)鍵字不能用作標記符。
A、D為關(guān)鍵字,B以數(shù)字開頭,所以都是錯誤的。
(13)閱讀以下程序
#include<stdio.h>
main()
{intcase;floatprintF;
printf(“請輸入2個數(shù):”);
scanf(“%d%f”,&case,&pjrintF);
printf(“%d%f\n”,case,printF);
}
該程序編譯時產(chǎn)生錯誤,其犯錯因素是
A)定義語句犯錯,case是關(guān)鍵字,不能用作用戶自定義標記符
B)定義語句犯錯,printF不能用作用戶自定義標記符
C)定義語句無錯,scanf不能作為輸入函數(shù)使用
D)定義語句無錯,printf不能輸出case的值解析:選A。case是關(guān)鍵字,關(guān)鍵字不能用作標記符。C語言關(guān)鍵字見教材附錄。(注:標記符區(qū)分大小寫,printf是關(guān)鍵字,可用作標記符,當然printF也可以)
(14)表達式:(int)((double)9/2)-(9)%2的值是
A)0
B)3
C)4
D)5解析:選B??键c為運算符的優(yōu)先級。
括號>強制類型轉(zhuǎn)換int>乘除>加減
(int)((double)9/2)一(9)%2=(int)(9.0/2)-(9)%2=(int)(4.5)-1=3
(15)若有定義語句:intx=10;,則表達式x-=x+x的值為
A)-20
B)-10
C)0
D)10解析:選B??键c為復(fù)合的賦值運算符。(注意x+x作為一個整體)
x-=x+x→x=x-(x+x)→x=-x=-10
(16)有以下程序
#include<stdio.h>
main()
{inta=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序運營后的輸出結(jié)果是
A)0,0
B)1,0
C)3,2
D)1,2解析:選D??键c為賦值表達式的使用,賦值表達式的值和變量的值是同樣的。
printf在輸出賦值表達式的值時,先賦值再輸出。
b=a+b=l+0=1
a=2*b=2
17)設(shè)有定義:inta=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是
A)if(a>b)c=a,a=b,b=c;
B)if(a>b){c=a,a=b,b=c;}
C)if(a>b)c=a;a=b;b=c;
D)if(a>b){c=a;a=b;b=c;}解析:選C??键c為if句和逗號表達式的使用。逗號運算符也稱為順序求值運算符,依次執(zhí)行逗號表達式中的每個表選式。逗號表達式是一個整體,復(fù)合語句也是一個整體,當a>b時,A、B、D中if后的語句可以作為整體被執(zhí)行,把a、b的值互換。C的等價語句形式為:
if(a>b)
c=a;
a=b;b=c;
不能實現(xiàn)a、b的值互換。
(18)有以下程序
#include<stdio.h>
main()
{intc=0,k;
for(k=1;k<3;k++)
switch(k)
{default:c+=k
case2:c++;break;
case4:c+=2;break;
}
printf(“%d\n”,c);
}
程序運營后的輸出結(jié)果是
A)3
B)5
C)7
D)9解析:選A。考點為switch語句的使用。switch語句中case和default的順序可以任意,不影響程序結(jié)果。switch語句在循環(huán)中被執(zhí)行2次。k=l時,
c+=k
c=0+1=1
無break,繼續(xù)執(zhí)行c++
c=2
有break,終止switch
k=2時,c++
c=3
有break,終止switch,循環(huán)結(jié)束,輸出c。
(19)以下程序段中,與語句:k=a>b?(b>c?1:0):0;功能相同的是
A)if((a>b)&&(b>c))k=1;
elsek=0;
B)if((a>b)||(b>c)k=1;
elsek=0;
C)if(a<=b)k=0;
elseif(b<=c)k=1;
D)if(a>b)k=1;
elseif(b>c)k=1;
elsek=0;解析:選A??键c為條件表達式的使用。語句的功能為:
a>b且b>c時,k=l
a>b且b<=e時,k=0
a<=b時,k=0符合語句功能的只有A。
20)有以下程序
#include<stdio.h>
main()
{chars[]={“012xy”};inti,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’)n++;
printf(“%d\n”,n);
}
程序運營后的輸出結(jié)果是
A)0
B)2
C)3
D)5解析:選B??键c為字符數(shù)組的使用。C語言用字符數(shù)組存放字符串,用\O作為結(jié)束標志。(\0是ASCII碼值為0的字符,也即數(shù)值0)程序的功能為記錄字符數(shù)組s中小寫字符的個數(shù),n為計數(shù)器。
(21)有以下程序
#include<stdio.h>
main()
{intn=2,k=0;
while(k++&&n++>2);
printf(“%d%d\n”,k,n);
}
程序運營后的輸出結(jié)果是
A)02
B)13
C)57
D)12解析:選D??键c為while語句的使用。該while(k++&&n++>2);的循環(huán)體為空語句,所以程序是輸出退出while循環(huán)后k、n的值。k++為先使用k的值再增1。先使用k的值,k=0,邏輯與結(jié)果為。,第一次執(zhí)行while循環(huán)時條件就不成立,直接退出循環(huán),k的值增1,n的值沒有任何改變。
(22)有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是
A)chara=’a’;
B)chara=’\n’;
C)chara=’aa’;
D)chara=’\x2d’;解析:選C??键c為字符型變量的賦值和基本概念。字符型為單引號括起的一個字符。A為標準的字符型賦值方法,B為把一個轉(zhuǎn)義字符賦值給字符變量,也是對的的。C為單引號括起的兩個字符,不符合字符型定義。D表面看上去是錯誤的,其實是對的的,也是一個轉(zhuǎn)義字符。‘/x2d’表達ASCII碼值為16進制數(shù)2d的字符,即‘-’號。
(23)有以下程序#include<stdio.h>main(){charc1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII碼為65,程序運營后的輸出結(jié)果是
A)E,68
B)D,69
C)E,D
D)輸出無定值解析:選A??键c為字符型數(shù)據(jù)的使用和基本知識。字符型數(shù)據(jù)在內(nèi)存中存放的是字符的ASCII碼值,可以作為整型數(shù)據(jù)來解決。英文字符和數(shù)字在ASCII碼表中是按順序排列的。
c1=‘A’+‘8'-‘4’=‘A’+‘4’=E
c2=‘A’+‘8’-‘5’=‘A’+3=‘D’
(24)有以下程序
#include<stdio.h>
voidfun(intp)
{intd=2;
p=d++;printf(“%d”,p);}
main()
{inta=1;
fun(a);printf(“%d\n”,a);}
程序運營后的輸出結(jié)果是
A)32
B)12
C)21
D)22解析:選C。考點為函數(shù)參數(shù)的傳遞。c語言中函數(shù)參數(shù)的傳遞是值傳遞,是把實參的值傳給形參,是單向傳遞,形參的改變不會影響到實參的值。程序中,把實參a的值傳給形參p,p=1,然后p=d++,再次賦值后p=2.輸出p的值2。返回到主程序中,輸出a的值1。(形參p的改變不會影響到實參a的值,a的值仍為1)
(25)以下函數(shù)findmax擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導(dǎo)致不能實現(xiàn)預(yù)定功能#defineMIN-
intfindmax(intx[],intn)
{inti,max;
for(i=0;i<n;i++)
{max=MIN;
if(max<x[i])max=x[i];}
returnmax;
}
導(dǎo)致錯誤的因素是
A)定義語句inti,max;中max未賦初值
B)賦值語句max=MIN;中,不應(yīng)給max賦MIN值
C)語句if(max<x[i])max=x[i];中判斷條件設(shè)立錯誤
D)賦值語句max=MIN;放錯了位置解析:選D。考點為求最大值的算法。max=MIN.不應(yīng)當放在循環(huán)內(nèi),而應(yīng)當放到for循環(huán)的前面。先讓max取最小的整數(shù),這樣第1次循環(huán)時max就可以取得第1個數(shù)組元素的值,然后在循環(huán)中把后面的數(shù)組元素依次和max比較,讓max取大值。
(26)有以下程序
#include<stdio.h>
main()
{intm=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d\n”,m,n,*p,*q);
}
程序運營后的輸出結(jié)果是
A)1,2,1,2
B)1,2,2,1
C)2,1,2,1
D)2,1,1,2
解析:選B??键c為指針的基本概念。p、q為指針,初始化時p指向m,q指向n。執(zhí)行r=p;p:q;q:r;后,p和q的值互換,從而p指向n,q指向m。指針的改變不會影響m、n的值,最后*p和*q的值為n、m的值。
(27)若有定義語句:inta[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是
A)p=a
B)q[i]=a[i]
C)p=a[i]
D)p=&a[2][1]解析:選A??键c為指向二維數(shù)組的指針的用法。
p為基類型為int的指針,指向一個整型數(shù)據(jù),也就可咀指向一個數(shù)組元素,所以D對的。
a是二維數(shù)組名,存放二維數(shù)組的首地址,但二維數(shù)組名是一個行指針,其基類型為具有10個元素的一維數(shù)組。所以A錯誤,兩者基類型不一致(p+1指向下一個元素,而a+l指向二維數(shù)組的下一行)。假如p定義為int(*p)[10],才可以賦值p=a。在C語言中,二維數(shù)組a[4][10]可以看做是由4個元素組成的一維數(shù)組,這4個元素為a[0]、a[l]、a[2]、a[3],而其中每個元素又是由10個元素組成的維數(shù)組。
在這里,a[i]也是一個數(shù)組名,可以表達一維數(shù)組的首地址,但a[i]是一個列指針,基類型為int.指向一維數(shù)組的第1個元素。同時,指針數(shù)組q的每個數(shù)組元素q[i]的基類型也為int,所以p、a[i]、q[i]的基類型一致,選項B、C是對的的。
(28)有以下程序
#include<stdio.h>
#include<string.h>
main()
{charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s\n”,p);
}
程序運營后的輸出結(jié)果是
A)9,One*World
B)9,One*Dream
C)10,One*Dream
D)10,One*World解析:選C。考點為二維字符數(shù)組的使用和strlen()函數(shù)的使用。初始化p=str[l]后,p指向第二個字符串“One*Dream!”。strlen()函數(shù)計算字符串的長度時不涉及結(jié)束標志,所以strlen(p)=10。
(29)有以下程序
#include<stdio.h>
main()
{inta[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{case0:switch(a[i]%2)
{case0:a[i]++;break;
case1:a[i]--;
}break;
case1:a[i[=0;}for(i=0;i<4;i++)printf(“%d”,a[i]);printf(“\n”);}
A)3344
B)2050
C)3040
D)0304解析:選C??键c為switch語句。外部switch語句在循環(huán)中被執(zhí)行4次。i=0時,執(zhí)行case0.
內(nèi)部switch語句也執(zhí)行case0,
a[i]++
a[0]=3
i=1時,執(zhí)行case1,a[l]=0
排除法,只有C對的。i=2時,執(zhí)行case0.
內(nèi)部switch語句執(zhí)行case1.
a[i]--
a[2]=4i=3時,執(zhí)行case1,a[3]=0
最后依次輸出為:3040
(30)有以下程序
#include<stdio.h>#include<string.h>
main(){chara[10]=”abcd”;
printf(“%d,%d\n”,strlen(a),sizeof(a));}程序運營后的輸出結(jié)果是
A)7,4
B)4,10
C)8,8
D)10,10解析:選B??键c為strlen()函數(shù)和sizeof()運算符的使用。
strlen()函數(shù)計算字符串的長度時,碰到結(jié)束標志為止,且長度不涉及結(jié)束標志,所以strlen(a)=4,排除法選B。
sizeof()運算符的操作數(shù)可以是類型名或變量名、數(shù)組名等,當操作數(shù)是數(shù)組名時,其結(jié)果是數(shù)組的總字節(jié)數(shù),所咀sizeof(a)=10。
(31)下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是
A)不可以用賦值語句給字符數(shù)組名賦字符串
B)可以用輸入語句把字符串整體輸入給字符數(shù)組
C)字符數(shù)組中的內(nèi)容不一定是字符串
D)字符數(shù)組只能存放字符串解析:選D??键c為字符數(shù)組的使用。字符數(shù)組名是數(shù)組首地址,是常量,不能被重新賦值,所以A對的??梢杂胹canf(“%s”,str)對字符串整體輸入,str可以是字符數(shù)組名或者字符指針,所以B對的。C和D說法對立,必然有一個對的,用排除法A、B選項主線不用看。字符數(shù)組的所有元素可以只存放普通字符,不存放結(jié)束標志。所以D錯誤。
(32)下列函數(shù)的功能是
fun(char*a,char*b)
{while((*b=*a)!=’\0’){a++,b++;}}
A)將a所指字符串賦給b所指空間
B)使指針b指向a所指字符串
C)將a所指字符串和b所指字符串進行比較
D)檢查a和b所指字符串中是否有’\0’
解析:選A??键c為指針的概念及while循環(huán)。While循環(huán)條件為:(*b=*a)!='\0’,執(zhí)行時先把指針a所指向的字符賦給指針b所在內(nèi)存單元,假如該字符不是結(jié)束標志“\0”,執(zhí)行循環(huán)體a++;b++;,指針a、b分別指向下一個字符單元。再判斷循環(huán)條件,假如成立,繼續(xù)把指針a所指向的字符賦給指針b所在內(nèi)存單元,直到碰到結(jié)束標志為止。所以對的答案為A。
(33)設(shè)有以下函數(shù)
voidfun(intn,char*s){……}
則下面對函數(shù)指針的定義和賦值均是對的的是
A)void(*pf)();pf=fun;
B)viod*pf();pf=fun;
C)void*pf();*pf=fun;
D)void(*pf)(int,char);pf=&fun;解析:選A??键c為指向函數(shù)的指針的用法。函數(shù)名代表函數(shù)的入口地址。指向函數(shù)的指針應(yīng)當定義為void(*pf)()。假如定義為void*pf(),則表達函數(shù)pf返回值為一個基類型為void的指針。綜上,所以對的答案為A。
(34)有以下程序
#include<stdio.h>
intf(intn);
main()
{inta=3,s;
s=f(a);s=s+f(a);printf(“%d\n”,s);
}
intf(intn)
{staticinta=1;
n+=a++;
returnn;
}
程序運營以后的輸出結(jié)果是
A)7
B)8
C)9
D)10解析:選C.考點為靜態(tài)局部變量的使用。
主函數(shù)和f函數(shù)中的a都為局部變量,作用域都在本函數(shù)之內(nèi),互不影響。f函數(shù)中的a為靜態(tài)局部變量,占用固定的內(nèi)存單元,下一次調(diào)用時仍可保存上次調(diào)用時的值。也就是說,假如多次調(diào)用f函數(shù),a的定義只在第一次調(diào)用時有效,從第二次調(diào)用開始,a的定義相稱于不存在,直接使用a的值。主函數(shù)中調(diào)用了2次f(a),第一次調(diào)用,s=f(a)=f(3)
f函數(shù):n=3
a=l
n=n+(a++)=4
a=2
返回n,主函數(shù)s=4。第二次調(diào)用,s=s+f(a)=4+f(3)(a值為主函數(shù)中的a值)
f函數(shù)n=3
a=2
n=n+(a++)=5
a=3
返回n,主函數(shù)s=4+f(3)=4+5=9
最后輸出s的值為9。
(35)有以下程序
#include<stdio.h>
#definef(x)x*x*x
main()
{inta=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d\n’,s,t);
}
程序運營后的輸出結(jié)果是
A)10,64
B)10,10
C)64,10
D)64,64解析:選A??键c為帶參數(shù)的宏定義。宏定義中的參數(shù)授有類型,僅為字符序列,不能當作表達式運算。宏展開時,把實參字符串原樣寫在替換文本中。s=f(a+l)=a+l*a+l*a+l=10t=f((a+1))=(a+1)*(a+1)*(a+1)=64
(36)下面結(jié)構(gòu)體的定義語句中,錯誤的是
A)structord{intx;inty;intz;};structorda;
B)structord{intx;inty;intz;}structorda;
C)structord{intx;inty;intz;}a;
D)struct{intx;inty;intz;}a;解析:選B??键c為結(jié)構(gòu)體變量的定義??梢韵榷x結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量,如A??梢栽诙x結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如C。可以直接定義結(jié)構(gòu)體變量,沒有類型名,如D。B選項錯誤,定義結(jié)構(gòu)體類型的同時使用此類型。
(37)設(shè)有定義:char*c;,以下選項中可以使字符型指針c對的指向一個字符串的是
A)charstr[]=”string”;c=str;
B)scanf(“%s”,c);
C)c=getchar();
D)*c=”string”;解析:選A??键c為字符指針的使用。選項A為對的用法。先將字符串存于字符數(shù)組中,然后將數(shù)組名賦給字符指針。(數(shù)組名代表數(shù)組首地址,定義數(shù)組時為其分派擬定地址)選項C錯誤。getchar()函數(shù)輸入個字符給字符型變量,而不是字符指針。選項B和D有類似的錯誤,兩個選項并無語法錯誤,但運營時也許會出現(xiàn)問題。因素:在選項B和D中,字符指針沒有被賦值,是個不擬定的值,指向一個不擬定的內(nèi)存區(qū)域,這個區(qū)域也許存放有用的指令或數(shù)據(jù)。在這個不擬定的區(qū)域重新存放字符串,也許會發(fā)生無法預(yù)知的錯誤。
(38)有以下程序
#include<stdio.h>
#include<string.h>
structA
{inta;charb[10];doublec;};
structAf(structAt);
main()
{structAa={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);
}
structAf(structAt)
(t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;returnt;)
程序運營后的輸出結(jié)果是
A)1001,ZhangDa,1098.0
B)1001,ZhangDa,1202.0
C)1001,ChangRong,1098.0
D)1001,ChangRong,1202.0解析:選D??键c為結(jié)構(gòu)體類型在函數(shù)中的應(yīng)用。由于使用結(jié)構(gòu)體變量,程序看似很雜亂。但在使用中,結(jié)構(gòu)體變量和普通變量的作用是同樣的。假如這樣看,程序執(zhí)行流程如下:函數(shù)調(diào)用f(a)將實參a傳給形參t,函數(shù)內(nèi)部對t重新賦值,然后返回t;主函數(shù)a=f(a),把返回值t賦給a,然后輸出a,其實就是t的值。
(39)若有以下程序段
intr=8;
printf(“%d\n”,r>>1);
輸出結(jié)果是
A)16
B)8
C)4
D)2解析:選C??键c為位運算中右移運算符的使用。
每右移一次,相稱于除以2。本題中,r=(8)10=(00001000)2
r>>1后,r=(00000100)2=(4)10
(40)下列關(guān)于C語言文獻的敘述中對的的是
A)文獻由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文獻
B)文獻由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文獻或文本文獻
C)文獻由數(shù)據(jù)序列組成,可以構(gòu)成二進制文獻或文本文獻
D)文獻由字符序列組成,其類型只能是文本文獻解析:選C。C語言中根據(jù)數(shù)據(jù)的組織形式,分為二進制文獻和ASCII碼文本文獻。一個C文獻是一個字節(jié)序列或者二進制序列,而不是一個記錄(結(jié)構(gòu))序列。
二、填空題(每空2分,共30分)(1)某二叉樹有5個度為2的結(jié)點以及3個度為1的結(jié)點,則該二叉樹中共有14個結(jié)點。解析:度為2的結(jié)點有5個,則度為0的結(jié)點(葉子結(jié)點)為5+1=6個,度為1的結(jié)點有3個,總結(jié)點數(shù)位5+6+3=14個。
(2)程序流程圖中的菱形框表達的是邏輯條件。(3)軟件開發(fā)過程重要分為需求分析、設(shè)計、編碼與測試四個階段,其中需求分析階段產(chǎn)生“軟件需求規(guī)格說明書。(4)在數(shù)據(jù)庫技術(shù)中,實體集之間的聯(lián)系可以是一對一或一對多或多對多的,那么“學(xué)生”和“可選課程”的聯(lián)系為多對多。解析:一個學(xué)生可以選多門功課,一門功課可以多個學(xué)生選擇。
(5)人員基本信息一般涉及:身份證號,姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是身份證號碼。解析:關(guān)鍵字的值不能反復(fù),只能是唯一的。
(6)若有定義語句:inta=5;,則表達式:a++的值是5。解析:a++先使用a的值再增長1。
(7)若有語句doublex=17;inty;,當執(zhí)行y=(int)(x/5)%2;之后y的值為1。解析:y=(int)(3.
)%2=3%2=1。
(8)以下程序運營后的輸出結(jié)果是1
0。#include<stdio.h>main(){intx=20;
printf(“%d”,0<x<20);
printf(“%d\n”,0<x&&x<20);}解析:“<”的結(jié)合性為從左到右。計算O<x<20,x=20,O<x為1,然后1<20結(jié)果為1。關(guān)系運算符優(yōu)先級大于邏輯運算符。0<x&&x<20相稱于(0<x)&&(x<20),結(jié)果為0。
(9)以下程序運營后的輸出結(jié)果是
5
。#include<stdio.h>main(){inta=1,b=7;
do{
b=b/2;a+=b;
}while(b>1);
printf(“%d\n”,a);}解析:考點為dowhile語句的用法。程序執(zhí)行流程:a=lb=7執(zhí)行循環(huán)體,b=b/2=3
a=4;b>l條件成立,再執(zhí)行循環(huán)體,b=b/2=1a=5;此時,b>l條件不成立,輸出a的值5。
(10)有以下程序#include<stdio.h>main(){intf,f1,f2,i;
f1=0;f2=1;
printf(“%d%d”,f1,f2);
for(i=3;i<=5;i++)
{f=f1+f2;printf(“%d”,f);
f1=f2;f2=f;
}
printf(“\n”);}程序運營后的輸出結(jié)果是0
1
123。解析:程序執(zhí)行流程:
fl=0f2=1輸出:01For循環(huán)變量中的i只起到控制循環(huán)次數(shù)的作用,循環(huán)3次。i=3
f=f1+f2=0+1=1輸出1;
f1=f2=1
f2=f=li=4
f=f1+f2=1+1=2輸出2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人防經(jīng)費報告范文
- 2025年度銀行資金監(jiān)管與合規(guī)性評估專項協(xié)議
- 2025年度股權(quán)代持股權(quán)繼承協(xié)議書:OO股東代持PP公司股權(quán)的繼承合同
- 二零二五年度實習(xí)生實習(xí)期間實習(xí)成果獎勵合同
- 二零二五年度倉儲貨物保險及索賠服務(wù)合同
- 2025年度餐廳裝修合同(含餐廳燈光設(shè)計與氛圍營造)
- 2025年度高科技企業(yè)員工年勞動合同
- 2025年度美團外賣平臺食品安全代運營合作協(xié)議
- 貨代公司知識培訓(xùn)課件
- 2025黑龍江中鐵特貨物流股份有限公司招聘75人筆試參考題庫附帶答案詳解
- 湖北省2025屆高三下學(xué)期2月調(diào)考語文試題及參考答案
- 2025年湖南國防工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整版
- 2025年《地陪導(dǎo)游服務(wù)程序》公開課標準教案
- 愛耳日完整課件
- 云南省2025年中考化學(xué)第三次模擬考試試題含答案
- 生物醫(yī)藥研發(fā)實驗室的安全風(fēng)險評估與控制
- 合肥科技職業(yè)學(xué)院單招計算機類考試復(fù)習(xí)題庫(含答案)
- 系統(tǒng)集成項目售后服務(wù)方案
- 2018-2022年北京市中考真題數(shù)學(xué)試題匯編:填空壓軸(第16題)
- 過敏性休克完整版本
- 2024年益陽醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫及答案解析
評論
0/150
提交評論