版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)原理與應(yīng)用學(xué)習(xí)通超星期末考試章節(jié)答案2024年STC89C52單片機(jī)使用的是什么體系架構(gòu)?
答案:哈佛結(jié)構(gòu)體系單片機(jī)集成中央處理器,數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、中斷系統(tǒng)等,其中,中央處理器的英文簡(jiǎn)稱(chēng)是什么?
答案:CPU試解讀如下匯編程序,逐行分析,并說(shuō)明整段程序最終實(shí)現(xiàn)的功能。MOV
A,#66HADD
A,#0F2HMOV
40H,AMOV
A,#88HADDC
A,#0FH
答案:將立即數(shù)66H放入A寄存器將立即數(shù)0F0H與A寄存器中數(shù)據(jù)66H相加,結(jié)果放入A寄存器將A寄存器中的內(nèi)容,即相加的結(jié)果放入地址40H中將立即數(shù)88H放入A寄存器將立即數(shù)0FH與A寄存器中數(shù)據(jù)88H使用帶進(jìn)位加法相加,結(jié)果放入A寄存器程序功能:計(jì)算8866H與0FF2H相加,結(jié)果的高8位存放在A寄存器中,低8位存放在地址40H中。試解讀如下匯編程序,逐行分析,并說(shuō)明整段程序最終實(shí)現(xiàn)的功能。
MOV
R0,#20H
MOV
DPTR,#50H
MOV
R3,#0AH
LAB:
MOV
A,@R0
MOVX
@DPTR,A
INC
R0
INC
DPTR
DJNZ
R3,LAB
答案:R0寄存器賦初始值20HDPTR寄存器賦初始值50HR3寄存器賦初始值0AH取20H地址的內(nèi)容存入A寄存器將A中數(shù)據(jù)傳送到片外RAM指定地址指針R0加1指針DPTR加1R3減1,判斷循環(huán)是否結(jié)束程序功能:將存放在片內(nèi)RAM
20H單元開(kāi)始的10個(gè)數(shù)據(jù)連續(xù)傳送到片外RAM
50H單元開(kāi)始的地址處。MCS-51單片機(jī)復(fù)位后SP=(
),PC=(
),PSW=(
),A=00H,P0=P1=P2=P3=(
)。
答案:07H;0000H;00H;0FFH單片機(jī)中的CPU主要有()和()兩部分組成。
答案:控制器;運(yùn)算器一個(gè)機(jī)器周期包含____個(gè)晶振周期,若晶振周期的頻率為12MHz,則機(jī)器周期為_(kāi)___。(2.0)
答案:第1空:12第2空:1uS8051單片機(jī)的下列特殊功能寄存器中,既能位尋址,又能字節(jié)尋址的是:(
)
答案:TCON8051單片機(jī)的存儲(chǔ)器為哈佛結(jié)構(gòu),其內(nèi)部包括:(
)
答案:4個(gè)物理空間或3個(gè)邏輯空間8051的定時(shí)/計(jì)數(shù)器T0的有幾種工作模式,對(duì)各工作模式作簡(jiǎn)單的敘述。
答案:定時(shí)/計(jì)數(shù)器T0的模式0:13位計(jì)數(shù)器,手動(dòng)填充1:16位計(jì)數(shù)器,手動(dòng)填充2:8位計(jì)數(shù)器,自動(dòng)填充3:2個(gè)獨(dú)立的8位計(jì)數(shù)器,1個(gè)16位的計(jì)數(shù)器,都需要手動(dòng)填充(
)為每秒傳送二進(jìn)制數(shù)碼的位數(shù),也叫比特?cái)?shù),單位為(
)。
答案:波特率;位/秒;bit/s;bps單片機(jī)的外部中斷請(qǐng)求有兩種觸發(fā)方式,一種是(
)觸發(fā),另一種是(
)觸發(fā)。(2.0)
答案:低電平;下降沿;低電平;下降沿C51中定義位變量的關(guān)鍵字是(
)。
答案:bitMCS-51系列單片機(jī)有(
)組并行I/O口,(
)個(gè)全雙工串口,(
)個(gè)16位定時(shí)計(jì)數(shù)器,(
)個(gè)中斷源。
答案:4;1;2;5定時(shí)與計(jì)數(shù)功能的選擇,由TMOD中的(
)位控制。
答案:C/T
要編寫(xiě)定時(shí)器T1的中斷服務(wù)程序,按如下編寫(xiě):voidtimer1()interruptn其中n應(yīng)為(
)。
答案:3下面的while循環(huán)執(zhí)行(
))次空語(yǔ)句。While(i=5);
答案:無(wú)限(
)函數(shù)表示等待一個(gè)機(jī)器周期。
答案:_nop_()要使51單片機(jī)能夠響應(yīng)定時(shí)器T1、串口中斷,其中斷允許寄存器IE的內(nèi)容應(yīng)是(
)。
答案:0x9851單片機(jī)定時(shí)器T0的低8位計(jì)數(shù)器是(
)。?
答案:TL0以下程序中,while循環(huán)的循環(huán)次數(shù)是(
)。main(){
int
i=0;while(i<10){
if(i<1)continue;if(i==5)
break;
i++;}......}
答案:死循環(huán),不能確定次數(shù)若有以下程序段,int
c1=1,c2=2,c3;
c3=1.0/c2*c1;則執(zhí)行后,c3中的值是(
)。
答案:0若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是(
)。
答案:x=y==5;x、y、z被定義為int型變量,若從鍵盤(pán)給x、y、z輸入數(shù)據(jù),正確的輸入語(yǔ)句是(
)。
答案:scanf("%d%d%d",&x,&y,&z);若有以下定義和語(yǔ)句
char
c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
則輸出結(jié)果是(
)。
答案:3,E以下程序的輸出結(jié)果是(
)。main(
)
{
int
i=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);
}
答案:8,10,16有以下程序main(){
int
m=0256,n=256;printf("%o
%o\n",m,n);}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:256
400設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b的值是(
)。
答案:6.000000t為int類(lèi)型,進(jìn)入下面的循環(huán)之前,t的值為0
while(
t=l
.
{
……}
則以下敘述中正確的是()
答案:循環(huán)控制表達(dá)式的值為1能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是(
)。
答案:a*b>0若有以下程序:main(){
int
k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是(
)。
答案:6,4有以下程序段int
m=0,n=0;
char
c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);若從鍵盤(pán)上輸入:
10A
10,則輸出結(jié)果是(
)。
答案:10,A,10有以下程序main(){
char
a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d)
;printf("%c,%c,%c,%c\n",a,b,c,d);}
若運(yùn)行時(shí)從鍵盤(pán)上輸入:6,5,65,66。則輸出結(jié)果是(
)。
答案:6,5,A,B以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出錯(cuò)。main(){
int
r;
float
s;scanf("%d",&r);s=pi*r*r;
printf("s=%f\n",s);}出錯(cuò)的原因是(
)。
答案:計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量有以下程序main(
){
int
i,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf(“%d\n”,s);}執(zhí)行后的輸出結(jié)果是(
)。
答案:自然數(shù)1~10中的偶數(shù)之和以下程序段的輸出結(jié)果是(
)。int
a=1234;printf("%2d\n",a)
;
答案:1234有以下程序main(){
int
a=666,b=888;printf("%d\n",a,b)
;}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:666有以下程序in()int
i;r(i=0;i<3;i++)switch(i)case
1:
printf("%d",i);case
2:
printf("%d",i);default:
printf("%d",i);}}后輸出結(jié)果是(
)。
答案:011122有以下程序,程序輸出為(
)。main(){int
a=0,b=0,c=0,d=0;if(a=1)
b=1;c=2;else
d=3;printf("%d,%d,%d,%d\n",a,b,c,d);}
答案:編譯有錯(cuò)假定a和b為int型變量,則執(zhí)行以下語(yǔ)句后b的值為(
)。a=1;b=10;do{b-=a;a++;}whileb--<0);
答案:8閱讀以下程序:main(){intx;
scanf("%d",&x);
if(x--<5)printf("%d",x);
elseprintf("%d",x++);
}程序運(yùn)行后,如果從鍵盤(pán)上輸入5,則輸出結(jié)果是(
)。
答案:4若變量c為char類(lèi)型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是(
)。
答案:(c>=
'a')&&(c<=
'z')有以下程序main(){
int
a;
char
c=10;float
f=100.0;
double
x;a=f/=c*=(x=6.5);printf("%d
%d
%
3.1f
%
3.1f
\n",a,c,f,x);}
程序運(yùn)行后的輸出結(jié)果是(
)。
答案:1
65
1.5
6.5有以下程序#includemain(){charc1='1',c2='2';
c1=getchar();c2=getchar();putchar(c1);putchar(c2);
}當(dāng)運(yùn)行時(shí)輸入:a
后,以下敘述正確的是(
)。
答案:變量c1被賦予字符a,c2被賦予回車(chē)符語(yǔ)句:printf("%d",(a=2)&&(b=-2);的輸出結(jié)果是(
)。
答案:1有以下程序int
a=2;int
f(int
*a)
{return
(*a)
++;}main(
){
int
s=0;
{
int
a=5;
s+=f(&a);
}
s+=f(&a);
printf(“%d\n”,s);}執(zhí)行后輸出結(jié)果是
(
)。
答案:7下面程序運(yùn)行的結(jié)果是(
)。main()
{
char
ch[7]={“65ab21”};
int
i,s=0;
for(i=0;ch[i]>='0'
&&
ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n",s);
}
答案:6以下程序運(yùn)行后,輸出結(jié)果是(
)。
#includess(char
*s){
char
*p=s;
while(*p)
p++;
return(p-s);
}main(){
char
*a="abded";
int
i;
i=ss(a);
printf("%d\n",i);
}
答案:5有如下程序段int
*p,a=10,b=1;p=&a;
a=*p+b;執(zhí)行該程序段后,a的值為(
)。
答案:11以下程序的輸出結(jié)果是(
)。main()
{
char
w[
][10]={
"ABCD","EFGH","IJKL","MNOP"}
,k;for(k=1;k<3;k++)
printf("%s\n",w[k]);}
答案:EFGH
IJKL下面程序的輸出是(
)。main(){
char
*s="121";
int
k=0,
a=0,
b=0;
do
{k++;
if(k%2=
=0)
{a=a+s[k]-'0';continue;}b=b+s[k]-'0';
a=a+s[k]-'0';}while
(s[k+1]);printf("k=%d
a=%d
b=%d\n",k,a,b);
答案:k=
2
a
=3
b=2設(shè)有定義:int
a,*pa=&a;以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是(
)。
答案:scanf(“%d”,pa)有以下程序point(char
*p){p+=3;}
main()
{
char
b[4]={'a','b','c','d'},*p=b;
point(p);printf("%c\n",*p);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:a有以下程序1.
main(){
char
a[]={‘a(chǎn)’,‘b’,‘c’,‘d’,
‘e’,
‘f’,
‘g’,‘h’,‘\0’};
int
i,j;i=sizeof(a);
j=strlen(a);printf(“%d,%d\b”,i,j);}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:9,8有以下程序main(){char
str[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:Bejing設(shè)有數(shù)組定義:
char
array
[
]="China";
則數(shù)組
array所占的空間為
(
)。
答案:6個(gè)字節(jié)有以下程序#include
main(){
char
*p=“abcde\0fghjik\0”;printf(“%d\n”,strlen(p));}程序運(yùn)行后的輸出結(jié)果是
(
)。
答案:5以下程序的輸出結(jié)果是(
)。main()
{
int
i,
x[3][3]={1,2,3,4,5,6,7,8,9}
;for(i=0;i<3;i++)
printf("%d,",x[i][2-i]);
答案:3,5,7若有以下定義和語(yǔ)句:int
a[10]=
{1,2,3,4,5,6,7,8,9,10}
,*p=a;則不能表示a數(shù)組元素的表達(dá)式是(
)。
答案:a[10]有以下程序#
include
void
f(char
*s,
char
*t){
char
k;
k=*s;
*s=*t;
*t=k;
s++;
t--;
if
(*s)
f(s,
t);
}main(){
char
str[10]="abcdefg",
*p;
p=str+strlen(str)/2+1;
f(p,
p-2);
printf("%s\n",str);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:gfedcba不能把字符串:Hello!賦給數(shù)組b的語(yǔ)句是(
)。
答案:char
b[10];b="Hello!";若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)使用函數(shù)(
)。
答案:gets()若有以下的定義:int
t[3][2];能正確表示t數(shù)組元素地址的表達(dá)式是(
)。
答案:t[2]以下程序的輸出結(jié)果是(
)。main()
{
int
a[4][4]={{1,3,5}
,
{2,4,6}
,
{3,5,7}
};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
答案:0650以下選項(xiàng)中,不能正確賦值的是(
)。
答案:char
s1[10];s1="Ctest";若有以下說(shuō)明:int
a[12]=
{1,2,3,4,5,6,7,8,9,10,11,12}
;char
c='a',d,g;則數(shù)值為4的表達(dá)式是(
)。
答案:a['d'-c]有定義語(yǔ)句:int
b;char
c[10];,則正確的輸入語(yǔ)句是(
)。
答案:scanf("%d%s",&b,
c);以下能正確定義二維數(shù)組的是(
)。
答案:int
a[][3]={0};以下程序的輸出結(jié)果是(
)
main()
{
int
i,
k,
a[10],
p[3];
k=5;
for
(i=0;i<10;i++)
a[i
]=i;
for
(i=0;i<3;i++)
p[i
]=a[i
*(i+1)];
for
(i=0;i<3;i++)
k+=p[i]
*2;
printf("%d\n",k);}
答案:21已定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是(
)。
答案:ch='\';以下程序的輸出結(jié)果是(
)。main(){
int
a=12,b=12;printf("%d,%d\n",-
-a,+
+B.
;}
答案:11
13有以下程序main(){chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:b,b以下正確的字符串常量是(
)。
答案:""以下選項(xiàng)中可作為C語(yǔ)言合法常量的是(
)。
答案:-80設(shè)有說(shuō)明語(yǔ)句:char
a=’\72’;則變量a中(
)。
答案:包含1個(gè)字符以下不能定義為用戶(hù)標(biāo)識(shí)符的是(
)。
答案:int有以下程序main(){intm=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:12353514已知字符’A’的ASCII代碼值是65,字符變量c1的值是’A’,c2的值是’D’。執(zhí)行語(yǔ)句printf("%d,%d",c1,c2-2);后,輸出結(jié)果是()。
答案:65,66C語(yǔ)言提供的合法的數(shù)據(jù)類(lèi)型關(guān)鍵字是(
)。
答案:short數(shù)字字符0的ASCII值為48,若有以下程序main(){chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:2,2以下選項(xiàng)中不屬于C語(yǔ)言的類(lèi)型的是(
)。
答案:long
short一個(gè)C語(yǔ)言源程序由若干函數(shù)組成,其中應(yīng)必須含()。
答案:主函數(shù)下列選項(xiàng)中,不能用作標(biāo)識(shí)符的是(
)。
答案:2_int_以下不合法的用戶(hù)標(biāo)識(shí)符是(
)。
答案:4d下列不正確的轉(zhuǎn)義字符是(
)。
答案:'074'若有說(shuō)明和語(yǔ)句:int
a=5;intb;則執(zhí)行b=a++后,b的值是(
)。
答案:5已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量‘\
101’
是(
)。
答案:字符A以下選項(xiàng)中,不合法的C語(yǔ)言數(shù)值常量是(
)。
答案:028C語(yǔ)言提供的合法的關(guān)鍵字是(
)。
答案:default若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類(lèi)型為(
)。
答案:double若已定義x和y為double類(lèi)型,且x=1,則表達(dá)式:y=x+3/2的值是(
)。
答案:2.0以下程序的輸出結(jié)果是(
)。f(int
b[],int
m,intn){
int
i,s=0;for(i=m;i答案:10有以下程序int
fun1(double
a){return
a*=a;}int
fun2(double
x,double
y){double
a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){double
w;w=fun2(1.1,2.0);……}程序執(zhí)行后變量w中的值是(
)。
答案:5.0設(shè)函數(shù)fun的定義形式為void
fun(char
ch,
float
x
)
{
…
}
則以下對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是(
)。
答案:fun(32,32);有以下程序intf(inta){returna%2;}main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:9當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是(
)。
答案:數(shù)組的首地址以下敘述中錯(cuò)誤的是(
)。
答案:可以給指針變量賦一個(gè)整數(shù)作為地址值若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是(
)。
答案:函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元以下函數(shù)值的類(lèi)型是(
)。fun
(
float
x
)
{
float
y;
y=
3*x-4;
return
y;
}
答案:int以下程序的輸出結(jié)果是(
)。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n",a,b);}
答案:57在C語(yǔ)言中,形參的缺省存儲(chǔ)類(lèi)別是(
)。
答案:auto以下程序的輸出結(jié)果是(
)。1.
longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}
答案:1有以下程序int
f(int
b[][4]){
int
i,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}return
s;}main(
){
int
a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf(“%d\n”,f(a)
);}執(zhí)行后的輸出結(jié)果是
(
)。
答案:16有以下程序void
sort(int
a[],int
n){
int
i,j,t;
for(i=0;i答案:9,2,7,4,5,6,3,8,1,10,以下程序中函數(shù)sort的功能是對(duì)a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序voidsort(inta[],intn){int
i,j,t;for(i=0;i答案:1,2,3,8,7,6,5,4,9,10有如下程序void
f(int
x,inty){
int
t;
if(x答案:4,3,5以下程序的輸出結(jié)果是(
)。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;
fun(5,2,a);
printf("%d",a);}
答案:31以下程序運(yùn)行后,輸出結(jié)果是(
)。1.
func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}
答案:8,17以下所列的各函數(shù)首部中,正確的是(
)。
答案:void
play(int
a,int
b)下列程序執(zhí)行后的輸出結(jié)果是(
)
。
main()
{
int
a[3][3],
*p,i;
p=&a[0][0];
for(i=0;
i<9;
i++)
p[i]=i+1;
printf("%d
\n",a[1][2]);
}
答案:6若有定義語(yǔ)句:int
a[3][6];
,按在內(nèi)存中的存放順序,a數(shù)組的第10個(gè)元素是(
)。
答案:a[1][3]以下不能正確定義二維數(shù)組的選項(xiàng)是(
)。
答案:int
a[2][]=
{{1,2}
,
{3,4}
};以下程序的輸出結(jié)果是(
)。1.
main(){chara[10]={'1','2','3','4','5','6','7','8','9'},*p;inti;i=8;p=a+i;printf("%s\n",p-3);}
答案:6789有以下程序
void
fun1(char
*p)
{char
*q;q=p;while(*q!=′\0′){
(*q)++;
q++;
)}main(){char
a[]={"Program"),
*p;p=&a[3];fun1(p);printf("%s\n",a);}程序執(zhí)行后的輸出結(jié)果是(
)。
答案:Prohsbn有以下程序main()
{
int
a[3][3]={0},*p,i;
p=&a[0][0];
for(i=0;i<9;i++)*p++=i;
for(i=0;i<3;i++)printf("%d",a[1][i]);
}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:345以下程序的輸出結(jié)果是
(
)。char
cchar(char
ch){if(ch>=‘A’&&ch<=‘Z')
ch=ch-‘A'+‘a(chǎn)';return
ch;}main(){
char
s[]="ABC+abc=defDEF",*p=s;while(*p){
*p=cchar(*p);p++;}printf("%s\n",s);}
答案:abc+abc=defdef若有定義:int
x=0,
*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是(
)。
答案:0下列函數(shù)的功能是(
)。intfun1(char*x){char*y=x;
while(*y++);
return(y-x-1);}
答案:求字符串的長(zhǎng)度有以下程序#include
void
fun(int
n,int
*p){
int
f1,f2;
if(n==1||n==2)
*p=1;
else
{
fun(n-1,&f1);
fun(n-2,&f2);
*p=f1+f2;
}}main(){
int
s;
fun(3,&s);
printf("%d\n",s);
}程序的運(yùn)行結(jié)果是(
)。
答案:2以下不能正確進(jìn)行字符串賦初值的語(yǔ)句是(
)。
答案:char
str[5]="good!";以下程序的輸出結(jié)果是(
)。main()
{
int
b[3][3]={0,1,2,0,1,2,0,1,2}
,i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)t=t+b[j][j];printf("%d\n",t);}
答案:4有以下程序main(){
int
x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是(
)。
答案:0若有以下定義和語(yǔ)句:double
r=99,
*p=&r;*p=r;則以下正確的敘述是(
)。
答案:語(yǔ)句"*p=r;"取變量r的值放回p中下列描述中不正確的是(
)。
答案:可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出以下程序的輸出結(jié)果是(
)。main(){
int
a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case
0:
case
3:a+=2;
case
1:
case
2:a+=3;
default:a+=5;
}}printf("%d\n",a);}
答案:31main(){
int
k=4,n=0;
for(
n答案:3,3有以下程序main(.{int
y=10;while(y--);printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是(
)。
答案:y=-1設(shè)j為int型變量,則下面for循環(huán)語(yǔ)句的執(zhí)行結(jié)果是(
)。for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}
答案:7
4程序運(yùn)行后的輸出結(jié)果是(
)。#includevoidmain(){
inta,b;
a=3;
b=20;
a=b;
printf("a=%d,b=%d\n",a,b);}
答案:a=20,b=20若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是(
)。
答案:++i;有如下程序,該程序的輸出結(jié)果是(
)。main(){intx=1,a=0,b=0;
switch(x){
case0:b++;
case1:a++;
case2:a++;b++;
}printf(“a=%d,b=%d\n”,a,b);}
答案:a=2,b=1有以下定義語(yǔ)句double
a,b;
int
w;
long
c;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是(
)。
答案:(c+w)%(int)a
在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的程序段是(
)。
答案:int
k=1000;do
{++k;}
while(k>=10000);
有以下程序main(){intx,i;for(i=1;i<=50;i++){x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf("%d,i);}}
答案:41有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是(
)。
答案:7有如下程序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é)果是(
)。
答案:0.500000有定義語(yǔ)句:int
x,
y;,若要通過(guò)scanf("%d,%d",&x,&y);語(yǔ)句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯(cuò)誤的是(
)。
答案:11
12有以下程序main(
){
int
x=0,y=5,z=3;
while(z-->0&&++x<5.
y=y-1;
printf(“%d,%d,%d\n”,x,y,z);}程序執(zhí)行后的輸出結(jié)果是(
)。
答案:3,2,-1若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是()。
答案:!(x-y)<-10||!(y-x)>10執(zhí)行以下程序后,輸出的結(jié)果是(
)。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
答案:0以下不能正確計(jì)算代數(shù)式值的C語(yǔ)言表達(dá)式是(
)。
答案:1/3*sin(1/2)*sin(1/2)以下選項(xiàng)中,非法的字符常量是(
)。
答案:"n"以下選項(xiàng)中屬于C89版本C語(yǔ)言的數(shù)據(jù)類(lèi)型是(
)。
答案:雙精度型設(shè)有定義:float
a=2,b=4,h=3;,以下C語(yǔ)言表達(dá)式與代數(shù)式計(jì)算結(jié)果不相符的是(
.
。
答案:(1/2)*(a+b)
*h以下不合法的字符常量是(
)。
答案:′\018′設(shè)有
int
x=11;
則表達(dá)式x++
*
1/3.
的值是(
)。
答案:3在一個(gè)C程序中()。
答案:main函數(shù)可以在任何地方出現(xiàn)在C語(yǔ)言中,合法的字符常量是(
)。
答案:'\x43'下列關(guān)于C語(yǔ)言用戶(hù)標(biāo)識(shí)符的敘述中正確的是(
)
答案:用戶(hù)標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線下面程序的輸出是(
)。main(){intx=10,y=3;
printf("%d\n",y=x/y);}
答案:3調(diào)用子程序指令(如:CALL)及返回指令(如:RET)與堆棧有關(guān)但與PC無(wú)關(guān)。
答案:錯(cuò)INC
DPTR執(zhí)行后DPH的值將增加1.
答案:錯(cuò)ANL
R1,#0FH指令是將R1與FEH求邏輯與操作。
答案:錯(cuò)MCS-51單片機(jī)中的PC是不可尋址的。
答案:對(duì)MOV
A,@R7,將R7單元中的數(shù)據(jù)作為地址,從該地址中取數(shù),送入A中。
答案:錯(cuò)CLR
R0是將R0置為0;
答案:錯(cuò)SP內(nèi)裝的是棧頂首址的內(nèi)容;
答案:錯(cuò)MCS-51單片機(jī)可執(zhí)行指令:MOV
R6,R7。
答案:錯(cuò)當(dāng)向堆棧壓入一個(gè)字節(jié)的數(shù)據(jù)后,SP中的內(nèi)容減1。
答案:錯(cuò)指令中直接給出的操作數(shù)稱(chēng)為直接尋址。
答案:錯(cuò)MCS-51單片機(jī)執(zhí)行指令:MOV
A,@R3是將R3里邊的數(shù)當(dāng)著地址,取這個(gè)地址里邊的數(shù)送到A中
答案:錯(cuò)XOR
P1,#31H
答案:錯(cuò)對(duì)程序存儲(chǔ)器的讀操作,只能使用()
答案:MOVC指令已知:
MOV
A,#28H
MOV
R0,#20H
MOV
@R0,A執(zhí)行結(jié)果是把寄存器A內(nèi)的數(shù)存放在
答案:地址20的空間(SP)=40H,當(dāng)執(zhí)行完一條POP語(yǔ)句后,SP里邊的值是(
)
答案:3FHMOV
A,#28H
MOV
R0,#20H
MOV
@R0,A
ANL
A,
#0FH
ORL
A,
#80H
XRL
A,
@R0
執(zhí)行結(jié)果A的內(nèi)容為
答案:A0H單片機(jī)復(fù)位后,SPPCI/O口的內(nèi)容為
答案:SP=07H
PC=0000H
P0=P1=P2=P3=FFH8031有四個(gè)工作寄存器區(qū),由PSW狀態(tài)字中的RS1、RS0兩位的狀態(tài)來(lái)決定,單片機(jī)復(fù)位后,若執(zhí)行SETB
RS1指令,此時(shí)只能使用第(
)組的工作寄存器。
答案:351執(zhí)行完MOVA,#08H后,PSW的一位被置位的是()
答案:P執(zhí)行PUSHACC指令,MCS-51完成的操作是()
答案:SP的值+1,ACC里邊的值放入SP指的地址執(zhí)行MOVXA,@DPTR指令時(shí),MCS-51產(chǎn)生的控制信號(hào)是()
答案:/RD設(shè)內(nèi)部RAM(30H)=40H,(40H)=10H,(10H)=00H,分析以下程序執(zhí)行后(B)=(
)。MOV
R0,#30H
MOV
A,@R0
MOV
R1,A
MOV
B,@R1
答案:10H單片機(jī)在與外部I/O口進(jìn)行數(shù)據(jù)傳送時(shí),將使用(
)指令。
答案:MOVXMOV
C,#0H的尋址方式是(
)
答案:位尋址ADDC
A,C指令是將A和Cy相加。
答案:錯(cuò)MOVXA,@DPTR指令中源操作數(shù)的尋址方式是()
答案:寄存器間接尋址8051有四個(gè)工作寄存器區(qū),由PSW狀態(tài)字中的RS1和RS0兩位的狀態(tài)來(lái)決定,單片機(jī)復(fù)位后,若執(zhí)行SETB
RS0指令,此時(shí)只能使用
區(qū)的工作寄存器。
答案:Ⅱ區(qū)利用KEIL軟件進(jìn)行仿真調(diào)試時(shí),在執(zhí)行調(diào)用指令時(shí),
調(diào)試可跟蹤到子程序內(nèi)部并逐條執(zhí)行子程序內(nèi)部的各條指令。
答案:單步在進(jìn)行BCD碼運(yùn)算時(shí),緊跟加法運(yùn)算指令后面的指令必須是
指令。
答案:DA
ALCALL指令操作碼地址是2000H,執(zhí)行完相子程序返回指令后,PC=()
答案:2003H當(dāng)CPU響應(yīng)外部中斷0后,PC的值是(
)
答案:0003H利用下列(?????)關(guān)鍵字可以改變工作寄存器組
答案:using假定A=38H,(R0)=17H,(17H)=34H,執(zhí)行以下指令:
ANL
A,#17H
ORL
17H,A
XRL
A,@R0
CPL
A
后,A的內(nèi)容為()。
答案:DBHPC存放的是當(dāng)前執(zhí)行的指令。
答案:錯(cuò)若不使用8051片內(nèi)ROM引腳EA必須接地。
答案:對(duì)MCS-51有4個(gè)并行I\O口,其中P0~P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時(shí)必須先寫(xiě)入"0"。
答案:錯(cuò)MCS-51上電復(fù)位時(shí),P0=00H。
答案:錯(cuò)8155的復(fù)位引腳可與89C51的復(fù)位引腳直接相連。
答案:對(duì)MCS-51的特殊功能寄存器分布在60H~80H地址范圍內(nèi)。
答案:錯(cuò)使用8051且EA引腳為1時(shí),仍可外擴(kuò)64KB的程序存儲(chǔ)器。
答案:錯(cuò)以下用作計(jì)算過(guò)程狀態(tài)保存的寄存器是
答案:PSW在6MHz的時(shí)鐘頻率下,執(zhí)行一條單機(jī)器周期的指令需要
答案:2us在51單片機(jī)中下列是16位寄存器的是
答案:PC在51單片機(jī)中具有高阻態(tài)的IO口是
答案:P051單片機(jī)的指令周期不不包
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工績(jī)效計(jì)劃培訓(xùn)課件
- 2025年水處理阻垢緩蝕劑HEDP項(xiàng)目合作計(jì)劃書(shū)
- 氣道護(hù)理的科研進(jìn)展
- 護(hù)理專(zhuān)業(yè)就業(yè)現(xiàn)狀分析
- 腎臟疾病護(hù)理指南
- 護(hù)理規(guī)培:基礎(chǔ)理論精講
- EMR術(shù)后早期活動(dòng)的好處
- 護(hù)理專(zhuān)業(yè)領(lǐng)導(dǎo)力培養(yǎng)
- 護(hù)理翻轉(zhuǎn)課堂:跨文化交流與溝通
- 跌倒風(fēng)險(xiǎn)識(shí)別與評(píng)估
- 2025年杭州市公安局上城區(qū)分局警務(wù)輔助人員招聘60人備考題庫(kù)及完整答案詳解一套
- 2025年秋期國(guó)家開(kāi)放大學(xué)《理工英語(yǔ)4》期末機(jī)考精準(zhǔn)復(fù)習(xí)題庫(kù)
- 《勸學(xué)》課件+2025-2026學(xué)年統(tǒng)編版高一語(yǔ)文必修上冊(cè)
- 顱內(nèi)感染指南解讀
- 電氣試驗(yàn)標(biāo)準(zhǔn)化作業(yè)指導(dǎo)書(shū)
- 六年級(jí)數(shù)學(xué) 計(jì)算能力分析
- 套管外光纜下井保護(hù)器
- 文物保護(hù)學(xué)概論課件ppt 第一章 文物與文物學(xué)
- 安全教育教案課程全集
- 飼料生產(chǎn)許可證試題
- 規(guī)培醫(yī)院教學(xué)查房規(guī)范教案資料
評(píng)論
0/150
提交評(píng)論