單片機原理與應用學習通超星期末考試答案章節(jié)答案2024年_第1頁
單片機原理與應用學習通超星期末考試答案章節(jié)答案2024年_第2頁
單片機原理與應用學習通超星期末考試答案章節(jié)答案2024年_第3頁
單片機原理與應用學習通超星期末考試答案章節(jié)答案2024年_第4頁
單片機原理與應用學習通超星期末考試答案章節(jié)答案2024年_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機原理與應用學習通超星期末考試章節(jié)答案2024年STC89C52單片機使用的是什么體系架構?

答案:哈佛結構體系單片機集成中央處理器,數(shù)據(jù)存儲器、程序存儲器、中斷系統(tǒng)等,其中,中央處理器的英文簡稱是什么?

答案:CPU試解讀如下匯編程序,逐行分析,并說明整段程序最終實現(xiàn)的功能。MOV

A,#66HADD

A,#0F2HMOV

40H,AMOV

A,#88HADDC

A,#0FH

答案:將立即數(shù)66H放入A寄存器將立即數(shù)0F0H與A寄存器中數(shù)據(jù)66H相加,結果放入A寄存器將A寄存器中的內容,即相加的結果放入地址40H中將立即數(shù)88H放入A寄存器將立即數(shù)0FH與A寄存器中數(shù)據(jù)88H使用帶進位加法相加,結果放入A寄存器程序功能:計算8866H與0FF2H相加,結果的高8位存放在A寄存器中,低8位存放在地址40H中。試解讀如下匯編程序,逐行分析,并說明整段程序最終實現(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地址的內容存入A寄存器將A中數(shù)據(jù)傳送到片外RAM指定地址指針R0加1指針DPTR加1R3減1,判斷循環(huán)是否結束程序功能:將存放在片內RAM

20H單元開始的10個數(shù)據(jù)連續(xù)傳送到片外RAM

50H單元開始的地址處。MCS-51單片機復位后SP=(

),PC=(

),PSW=(

),A=00H,P0=P1=P2=P3=(

)。

答案:07H;0000H;00H;0FFH單片機中的CPU主要有()和()兩部分組成。

答案:控制器;運算器一個機器周期包含____個晶振周期,若晶振周期的頻率為12MHz,則機器周期為____。(2.0)

答案:第1空:12第2空:1uS8051單片機的下列特殊功能寄存器中,既能位尋址,又能字節(jié)尋址的是:(

答案:TCON8051單片機的存儲器為哈佛結構,其內部包括:(

答案:4個物理空間或3個邏輯空間8051的定時/計數(shù)器T0的有幾種工作模式,對各工作模式作簡單的敘述。

答案:定時/計數(shù)器T0的模式0:13位計數(shù)器,手動填充1:16位計數(shù)器,手動填充2:8位計數(shù)器,自動填充3:2個獨立的8位計數(shù)器,1個16位的計數(shù)器,都需要手動填充(

)為每秒傳送二進制數(shù)碼的位數(shù),也叫比特數(shù),單位為(

)。

答案:波特率;位/秒;bit/s;bps單片機的外部中斷請求有兩種觸發(fā)方式,一種是(

)觸發(fā),另一種是(

)觸發(fā)。(2.0)

答案:低電平;下降沿;低電平;下降沿C51中定義位變量的關鍵字是(

)。

答案:bitMCS-51系列單片機有(

)組并行I/O口,(

)個全雙工串口,(

)個16位定時計數(shù)器,(

)個中斷源。

答案:4;1;2;5定時與計數(shù)功能的選擇,由TMOD中的(

)位控制。

答案:C/T

要編寫定時器T1的中斷服務程序,按如下編寫:voidtimer1()interruptn其中n應為(

)。

答案:3下面的while循環(huán)執(zhí)行(

))次空語句。While(i=5);

答案:無限(

)函數(shù)表示等待一個機器周期。

答案:_nop_()要使51單片機能夠響應定時器T1、串口中斷,其中斷允許寄存器IE的內容應是(

)。

答案:0x9851單片機定時器T0的低8位計數(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語言賦值語句是(

)。

答案:x=y==5;x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是(

)。

答案:scanf("%d%d%d",&x,&y,&z);若有以下定義和語句

char

c1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

則輸出結果是(

)。

答案:3,E以下程序的輸出結果是(

)。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);}程序運行后的輸出結果是(

)。

答案:256

400設a和b均為double型變量,且a=5.5,b=2.5,則表達式(int)a+b/b的值是(

)。

答案:6.000000t為int類型,進入下面的循環(huán)之前,t的值為0

while(

t=l

.

{

……}

則以下敘述中正確的是()

答案:循環(huán)控制表達式的值為1能正確表示a和b同時為正或同時為負的邏輯表達式是(

)。

答案:a*b>0若有以下程序:main(){

int

k=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n”,m,i);}執(zhí)行后的輸出結果是(

)。

答案: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);若從鍵盤上輸入:

10A

10,則輸出結果是(

)。

答案: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);}

若運行時從鍵盤上輸入:6,5,65,66。則輸出結果是(

)。

答案:6,5,A,B以下程序的功能是:給r輸入數(shù)據(jù)后計算半徑為r的圓面積s。程序在編譯時出錯。main(){

int

r;

float

s;scanf("%d",&r);s=pi*r*r;

printf("s=%f\n",s);}出錯的原因是(

)。

答案:計算圓面積的賦值語句中使用了非法變量有以下程序main(

){

int

i,s=0;

for(i=1;i<10;i+=2)s+=i+1;

printf(“%d\n”,s);}執(zhí)行后的輸出結果是(

)。

答案:自然數(shù)1~10中的偶數(shù)之和以下程序段的輸出結果是(

)。int

a=1234;printf("%2d\n",a)

;

答案:1234有以下程序main(){

int

a=666,b=888;printf("%d\n",a,b)

;}程序運行后的輸出結果是(

)。

答案: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);}}后輸出結果是(

)。

答案: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);}

答案:編譯有錯假定a和b為int型變量,則執(zhí)行以下語句后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++);

}程序運行后,如果從鍵盤上輸入5,則輸出結果是(

)。

答案:4若變量c為char類型,能正確判斷出c為小寫字母的表達式是(

)。

答案:(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);}

程序運行后的輸出結果是(

)。

答案:1

65

1.5

6.5有以下程序#includemain(){charc1='1',c2='2';

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}當運行時輸入:a

后,以下敘述正確的是(

)。

答案:變量c1被賦予字符a,c2被賦予回車符語句:printf("%d",(a=2)&&(b=-2);的輸出結果是(

)。

答案: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í)行后輸出結果是

(

)。

答案:7下面程序運行的結果是(

)。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以下程序運行后,輸出結果是(

)。

#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以下程序的輸出結果是(

)。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設有定義:int

a,*pa=&a;以下scanf語句中能正確為變量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);

}程序運行后的輸出結果是(

)。

答案:a有以下程序1.

main(){

char

a[]={‘a’,‘b’,‘c’,‘d’,

‘e’,

‘f’,

‘g’,‘h’,‘\0’};

int

i,j;i=sizeof(a);

j=strlen(a);printf(“%d,%d\b”,i,j);}程序運行后的輸出結果是(

)。

答案:9,8有以下程序main(){char

str[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序運行后的輸出結果是(

)。

答案:Bejing設有數(shù)組定義:

char

array

[

]="China";

則數(shù)組

array所占的空間為

(

)。

答案:6個字節(jié)有以下程序#include

main(){

char

*p=“abcde\0fghjik\0”;printf(“%d\n”,strlen(p));}程序運行后的輸出結果是

(

)。

答案:5以下程序的輸出結果是(

)。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若有以下定義和語句:int

a[10]=

{1,2,3,4,5,6,7,8,9,10}

,*p=a;則不能表示a數(shù)組元素的表達式是(

)。

答案: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);

}程序運行后的輸出結果是(

)。

答案:gfedcba不能把字符串:Hello!賦給數(shù)組b的語句是(

)。

答案:char

b[10];b="Hello!";若要求從鍵盤讀入含有空格字符的字符串,應使用函數(shù)(

)。

答案:gets()若有以下的定義:int

t[3][2];能正確表示t數(shù)組元素地址的表達式是(

)。

答案:t[2]以下程序的輸出結果是(

)。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以下選項中,不能正確賦值的是(

)。

答案:char

s1[10];s1="Ctest";若有以下說明:int

a[12]=

{1,2,3,4,5,6,7,8,9,10,11,12}

;char

c='a',d,g;則數(shù)值為4的表達式是(

)。

答案:a['d'-c]有定義語句:int

b;char

c[10];,則正確的輸入語句是(

)。

答案:scanf("%d%s",&b,

c);以下能正確定義二維數(shù)組的是(

)。

答案:int

a[][3]={0};以下程序的輸出結果是(

)

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為字符型變量,以下賦值語句中錯誤的是(

)。

答案:ch='\';以下程序的輸出結果是(

)。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++);

}程序運行后的輸出結果是(

)。

答案:b,b以下正確的字符串常量是(

)。

答案:""以下選項中可作為C語言合法常量的是(

)。

答案:-80設有說明語句:char

a=’\72’;則變量a中(

)。

答案:包含1個字符以下不能定義為用戶標識符的是(

)。

答案:int有以下程序main(){intm=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}程序運行后的輸出結果是(

)。

答案:12353514已知字符’A’的ASCII代碼值是65,字符變量c1的值是’A’,c2的值是’D’。執(zhí)行語句printf("%d,%d",c1,c2-2);后,輸出結果是()。

答案:65,66C語言提供的合法的數(shù)據(jù)類型關鍵字是(

)。

答案:short數(shù)字字符0的ASCII值為48,若有以下程序main(){chara='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

}程序運行后的輸出結果是(

)。

答案:2,2以下選項中不屬于C語言的類型的是(

)。

答案:long

short一個C語言源程序由若干函數(shù)組成,其中應必須含()。

答案:主函數(shù)下列選項中,不能用作標識符的是(

)。

答案:2_int_以下不合法的用戶標識符是(

)。

答案:4d下列不正確的轉義字符是(

)。

答案:'074'若有說明和語句:int

a=5;intb;則執(zhí)行b=a++后,b的值是(

)。

答案:5已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進制表示的字符常量‘\

101’

是(

)。

答案:字符A以下選項中,不合法的C語言數(shù)值常量是(

)。

答案:028C語言提供的合法的關鍵字是(

)。

答案:default若有以下定義:chara;intb;floatc;doubled;則表達式a*b+d-c值的類型為(

)。

答案:double若已定義x和y為double類型,且x=1,則表達式:y=x+3/2的值是(

)。

答案:2.0以下程序的輸出結果是(

)。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ù)fun的定義形式為void

fun(char

ch,

float

x

)

{

}

則以下對函數(shù)fun的調用語句中,正確的是(

)。

答案: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);}程序運行后的輸出結果是(

)。

答案:9當調用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是(

)。

答案:數(shù)組的首地址以下敘述中錯誤的是(

)。

答案:可以給指針變量賦一個整數(shù)作為地址值若函數(shù)調用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是(

)。

答案:函數(shù)的形參和實參分別占用不同的存儲單元以下函數(shù)值的類型是(

)。fun

(

float

x

)

{

float

y;

y=

3*x-4;

return

y;

}

答案:int以下程序的輸出結果是(

)。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n",a,b);}

答案:57在C語言中,形參的缺省存儲類別是(

)。

答案:auto以下程序的輸出結果是(

)。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í)行后的輸出結果是

(

)。

答案: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的功能是對a所指數(shù)組中的數(shù)據(jù)進行由大到小的排序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以下程序的輸出結果是(

)。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;

fun(5,2,a);

printf("%d",a);}

答案:31以下程序運行后,輸出結果是(

)。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í)行后的輸出結果是(

)

。

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若有定義語句:int

a[3][6];

,按在內存中的存放順序,a數(shù)組的第10個元素是(

)。

答案:a[1][3]以下不能正確定義二維數(shù)組的選項是(

)。

答案:int

a[2][]=

{{1,2}

,

{3,4}

};以下程序的輸出結果是(

)。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í)行后的輸出結果是(

)。

答案: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]);

}程序運行后的輸出結果是(

)。

答案:345以下程序的輸出結果是

(

)。char

cchar(char

ch){if(ch>=‘A’&&ch<=‘Z')

ch=ch-‘A'+‘a';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;,則語句printf("%d\n",*p);的輸出結果是(

)。

答案:0下列函數(shù)的功能是(

)。intfun1(char*x){char*y=x;

while(*y++);

return(y-x-1);}

答案:求字符串的長度有以下程序#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);

}程序的運行結果是(

)。

答案:2以下不能正確進行字符串賦初值的語句是(

)。

答案:char

str[5]="good!";以下程序的輸出結果是(

)。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í)行后輸出結果是(

)。

答案:0若有以下定義和語句:double

r=99,

*p=&r;*p=r;則以下正確的敘述是(

)。

答案:語句"*p=r;"取變量r的值放回p中下列描述中不正確的是(

)。

答案:可以對整型數(shù)組進行整體輸入、輸出以下程序的輸出結果是(

)。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í)行后的輸出結果是(

)。

答案:y=-1設j為int型變量,則下面for循環(huán)語句的執(zhí)行結果是(

)。for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}

答案:7

4程序運行后的輸出結果是(

)。#includevoidmain(){

inta,b;

a=3;

b=20;

a=b;

printf("a=%d,b=%d\n",a,b);}

答案:a=20,b=20若變量a、i已正確定義,且i已正確賦值,合法的語句是(

)。

答案:++i;有如下程序,該程序的輸出結果是(

)。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有以下定義語句double

a,b;

int

w;

long

c;若各變量已正確賦值,則下列選項中正確的表達式是(

)。

答案:(c+w)%(int)a

在下列選項中,沒有構成死循環(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);}程序運行后的輸出結果是(

)。

答案: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);

}該程序的輸出結果是(

)。

答案:0.500000有定義語句:int

x,

y;,若要通過scanf("%d,%d",&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是(

)。

答案: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í)行后的輸出結果是(

)。

答案:3,2,-1若x和y代表整型數(shù),以下表達式中不能正確表示數(shù)學關系|x-y|<10的是()。

答案:!(x-y)<-10||!(y-x)>10執(zhí)行以下程序后,輸出的結果是(

)。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}

答案:0以下不能正確計算代數(shù)式值的C語言表達式是(

)。

答案:1/3*sin(1/2)*sin(1/2)以下選項中,非法的字符常量是(

)。

答案:"n"以下選項中屬于C89版本C語言的數(shù)據(jù)類型是(

)。

答案:雙精度型設有定義:float

a=2,b=4,h=3;,以下C語言表達式與代數(shù)式計算結果不相符的是(

.

。

答案:(1/2)*(a+b)

*h以下不合法的字符常量是(

)。

答案:′\018′設有

int

x=11;

則表達式x++

*

1/3.

的值是(

)。

答案:3在一個C程序中()。

答案:main函數(shù)可以在任何地方出現(xiàn)在C語言中,合法的字符常量是(

)。

答案:'\x43'下列關于C語言用戶標識符的敘述中正確的是(

)

答案:用戶標識符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線下面程序的輸出是(

)。main(){intx=10,y=3;

printf("%d\n",y=x/y);}

答案:3調用子程序指令(如:CALL)及返回指令(如:RET)與堆棧有關但與PC無關。

答案:錯INC

DPTR執(zhí)行后DPH的值將增加1.

答案:錯ANL

R1,#0FH指令是將R1與FEH求邏輯與操作。

答案:錯MCS-51單片機中的PC是不可尋址的。

答案:對MOV

A,@R7,將R7單元中的數(shù)據(jù)作為地址,從該地址中取數(shù),送入A中。

答案:錯CLR

R0是將R0置為0;

答案:錯SP內裝的是棧頂首址的內容;

答案:錯MCS-51單片機可執(zhí)行指令:MOV

R6,R7。

答案:錯當向堆棧壓入一個字節(jié)的數(shù)據(jù)后,SP中的內容減1。

答案:錯指令中直接給出的操作數(shù)稱為直接尋址。

答案:錯MCS-51單片機執(zhí)行指令:MOV

A,@R3是將R3里邊的數(shù)當著地址,取這個地址里邊的數(shù)送到A中

答案:錯XOR

P1,#31H

答案:錯對程序存儲器的讀操作,只能使用()

答案:MOVC指令已知:

MOV

A,#28H

MOV

R0,#20H

MOV

@R0,A執(zhí)行結果是把寄存器A內的數(shù)存放在

答案:地址20的空間(SP)=40H,當執(zhí)行完一條POP語句后,SP里邊的值是(

)

答案:3FHMOV

A,#28H

MOV

R0,#20H

MOV

@R0,A

ANL

A,

#0FH

ORL

A,

#80H

XRL

A,

@R0

執(zhí)行結果A的內容為

答案:A0H單片機復位后,SPPCI/O口的內容為

答案:SP=07H

PC=0000H

P0=P1=P2=P3=FFH8031有四個工作寄存器區(qū),由PSW狀態(tài)字中的RS1、RS0兩位的狀態(tài)來決定,單片機復位后,若執(zhí)行SETB

RS1指令,此時只能使用第(

)組的工作寄存器。

答案:351執(zhí)行完MOVA,#08H后,PSW的一位被置位的是()

答案:P執(zhí)行PUSHACC指令,MCS-51完成的操作是()

答案:SP的值+1,ACC里邊的值放入SP指的地址執(zhí)行MOVXA,@DPTR指令時,MCS-51產生的控制信號是()

答案:/RD設內部RAM(30H)=40H,(40H)=10H,(10H)=00H,分析以下程序執(zhí)行后(B)=(

)。MOV

R0,#30H

MOV

A,@R0

MOV

R1,A

MOV

B,@R1

答案:10H單片機在與外部I/O口進行數(shù)據(jù)傳送時,將使用(

)指令。

答案:MOVXMOV

C,#0H的尋址方式是(

)

答案:位尋址ADDC

A,C指令是將A和Cy相加。

答案:錯MOVXA,@DPTR指令中源操作數(shù)的尋址方式是()

答案:寄存器間接尋址8051有四個工作寄存器區(qū),由PSW狀態(tài)字中的RS1和RS0兩位的狀態(tài)來決定,單片機復位后,若執(zhí)行SETB

RS0指令,此時只能使用

區(qū)的工作寄存器。

答案:Ⅱ區(qū)利用KEIL軟件進行仿真調試時,在執(zhí)行調用指令時,

調試可跟蹤到子程序內部并逐條執(zhí)行子程序內部的各條指令。

答案:單步在進行BCD碼運算時,緊跟加法運算指令后面的指令必須是

指令。

答案:DA

ALCALL指令操作碼地址是2000H,執(zhí)行完相子程序返回指令后,PC=()

答案:2003H當CPU響應外部中斷0后,PC的值是(

)

答案:0003H利用下列(?????)關鍵字可以改變工作寄存器組

答案:using假定A=38H,(R0)=17H,(17H)=34H,執(zhí)行以下指令:

ANL

A,#17H

ORL

17H,A

XRL

A,@R0

CPL

A

后,A的內容為()。

答案:DBHPC存放的是當前執(zhí)行的指令。

答案:錯若不使用8051片內ROM引腳EA必須接地。

答案:對MCS-51有4個并行I\O口,其中P0~P3是準雙向口,所以由輸出轉輸入時必須先寫入"0"。

答案:錯MCS-51上電復位時,P0=00H。

答案:錯8155的復位引腳可與89C51的復位引腳直接相連。

答案:對MCS-51的特殊功能寄存器分布在60H~80H地址范圍內。

答案:錯使用8051且EA引腳為1時,仍可外擴64KB的程序存儲器。

答案:錯以下用作計算過程狀態(tài)保存的寄存器是

答案:PSW在6MHz的時鐘頻率下,執(zhí)行一條單機器周期的指令需要

答案:2us在51單片機中下列是16位寄存器的是

答案:PC在51單片機中具有高阻態(tài)的IO口是

答案:P051單片機的指令周期不不包

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論