高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第1頁
高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第2頁
高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第3頁
高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第4頁
高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

高級(jí)語言程序設(shè)計(jì)進(jìn)階學(xué)習(xí)通超星期末考試章節(jié)答案2024年1-5

C語言是面向______的程序設(shè)計(jì)語言。

答案:過程1-12

一個(gè)C源程序至少應(yīng)包括一個(gè)(

)。

答案:main;main函數(shù);主函數(shù)1-9

計(jì)算機(jī)只能識(shí)別___指令。

答案:二進(jìn)制;機(jī)器1-2C語言程序經(jīng)過鏈接后生成的可執(zhí)行文件的擴(kuò)展名為(

)。

答案:exe1-1

高級(jí)語言包括()

答案:以上都是1-7

C語言程序經(jīng)過編譯后生成的文件名的后綴為(

)

答案:obj

1-4

C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置()。

答案:可以任意1-3一個(gè)C程序的執(zhí)行是從(

)。

答案:本程序的main函數(shù)開始,到main函數(shù)結(jié)束1-6

以下敘述不正確的是()

答案:在C程序中,注釋說明只能位于一條語句的后面2-20

int類型數(shù)據(jù)占用字節(jié)數(shù)一定小于long類型的數(shù)據(jù)。

答案:錯(cuò)2-19

intx=5,y=5;

intx=y=5;是等價(jià)的變量聲明語句。

答案:錯(cuò)2-18

X=10;和10=X;是等價(jià)的C語句。

答案:錯(cuò)2-24以下程序運(yùn)行后的輸出結(jié)果是()。main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

答案:2,12-23若一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則最小的int型數(shù)據(jù)是(1),最大的int型數(shù)據(jù)是(2)。

答案:-32768;327672-22在C語言中,實(shí)型變量分為有效數(shù)字位數(shù)較少的(1)類型和相對(duì)較多的(2)類型。

答案:float;單精度浮點(diǎn);單精度;double;雙精度浮點(diǎn);雙精度2-21以下程序運(yùn)行后的輸出結(jié)果是:main()

{inta,b,c;

a=25;b=025;c=0x25;

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

答案:2521372-2以下選項(xiàng)中是合法的C語言整數(shù)常量的是:

答案:0xffa

2-11下列定義變量的語句錯(cuò)誤的是:

答案:floatUS$;2-3在C語言中,合法的實(shí)型常數(shù)是:

答案:2E02-8按照C語言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是:

答案:中劃線2-13若一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為:

答案:0~65535

2-6以下不合法的數(shù)值常量是:

答案:0182-9下列四組選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是:

答案:b-a

goto

int2-1在C語言中,整型數(shù)據(jù)分為:

答案:

八進(jìn)制、十進(jìn)制、十六進(jìn)制

3-25.若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行下面表達(dá)式后x的值為(),n的值為()。

x+=n++

答案:10;63-28.假設(shè)m是一個(gè)三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則表示a的表達(dá)式是(),表示c的表達(dá)式是()。

答案:m/100;m%103-23.若a是int型變量,且a的初值為6,則執(zhí)行下面表達(dá)式后a的值為()。a+=a-=a*a

答案:-603-26.若有定義:intb=7;floata=2.5,c=4.7;則下面表達(dá)式的值為()。

a+(int)(b/3*(int)(a+c)/2)%4

答案:5.500000;5.53-21.若s是int型變量,且s=6,則下面表達(dá)式的值為(

)。

s%2+(s+1)%2

答案:13-22.若a、b和c均是int型變量,則執(zhí)行下面表達(dá)式后,a值為(),b值為(),c值為()。

a=(b=4)+(c=2)

答案:6;4;23-29.請(qǐng)寫出數(shù)學(xué)式a/bc的C語言表達(dá)式(

)。

答案:a/(b*c3-24.若a是int型變量,則執(zhí)行下面表達(dá)式后a的值為()。

a=25/3%3

答案:23-15.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+‘a(chǎn)’+i*f值的數(shù)據(jù)類型為(

)。

答案:double/ananas/latex/p/3259009

答案:sqrt(fabs(pow(y,x)+log(y)))3-4.以下變量x.、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x/yz的C語言表達(dá)式是(

)。

答案:x/y*z3-14.sizeof(float)是(

)。

答案:一個(gè)整型表達(dá)式3-2.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是(

)。

答案:2.5000003-3.設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是(

)。

答案:33-18.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為(

)。

答案:double

3-5.下列語句執(zhí)行后y的值為(

)。

intx,y;

x=1.2;y=(x+3.8)/5.0;

答案:04-26:下面程序的輸出結(jié)果是

。

#include

intmain(void){

charc1='a',c2='b',c3='c';

printf(“a%cb%cc%c\n”,c1,c2,c3);

return0;

}

答案:aabbcc4-24:以下程序的輸出結(jié)果是

。intmain()

{

intx=1,y=2;

printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);

printf(“10Squaredis:%d\n”,10*10);

return0;}

答案:x=1y=2*sum*=310Squaredis:1004-27:下面程序的輸出結(jié)果是

。#include

intmain(void){

inta=12,b=15;

printf(“a=%d%%,b=%d%%\n”,a,b);

return0;}

答案:a=12%,b=15%4-29:要使下面程序在屏幕上顯示1,2,34,則從鍵盤輸入的數(shù)據(jù)格式應(yīng)為

。#include

intmain(void){

chara,b;

intc;scanf(“%c%c%d”,&a,&b,&c);

printf(“%c,%c,%d\n”,a,b,c);

return0;

}

答案:12344-25:假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁铡?/p>

a+=

;b=a-

;a-=

;

答案:bbb;bbb4-30:下面程序運(yùn)行時(shí),輸入12+3,程序的輸出結(jié)果應(yīng)為

。#include

intmain(void){

inta,b;

charc;scanf(“%d%c%d”,&a,&c,&b);

printf(“%d%c%d=%d\n”,a,c,b,a+b);

return0;

}

答案:12+3=154-28:假設(shè)下面程序運(yùn)行時(shí)輸入123456,對(duì)應(yīng)的輸出結(jié)果是

。#include

intmain(void){

inta,b;scanf(“%2d%*2s%2d”,&a,&b);

printf(“%d,%d\n”,a,b);

return0;

}

答案:12,564-1:putchar函數(shù)可以向終端輸出一個(gè)

。

答案:字符或字符型變量值4-6:若有下列定義語句:doublea;floatb;執(zhí)行程序時(shí)輸入1.2,2.5↙,那么以下輸入語句中能正確為變量賦值的是

。

答案:scanf("%lf,%f",&a,&b);4-5:已知ch是字符型變量,下面不正確的賦值語句是

答案:ch=‘a(chǎn)+b’;4-22:有定義inta,b;對(duì)于語句scanf(“%d,%d“,&a,&b);正確的數(shù)據(jù)輸入是

。

答案:2,34-3:閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10(注:表示回車),則正確的輸出結(jié)果為

。

intmain()

{

intx,y,z;

scanf(“%d%d%d”,&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);

return0;

}

答案:不確定值4-19:有定義intd;scanf函數(shù)使用正確的語句是

答案:scanf("%d",&d);4-14:有定義intd=32;語句printf(“%x”,d);的輸出結(jié)果是

。

答案:204-16:有定義floatpi=3.1415926;語句printf(“%7.2f”,pi);的輸出結(jié)果是

。

答案:

3.144-2:printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式

。

答案:按原字符長(zhǎng)從左向右全部輸出【5.26】以下程序運(yùn)行后的輸出結(jié)果是_______。main(){

intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

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

答案:20,0【5.31】以下程序運(yùn)行后的輸出結(jié)果是

。main(){inta=1,b=3,c=5;if(c=a+b)printf("yes\n");elseprintf("no\n");}

答案:yes【5.5】有以下程序

main(){

inti;

for(i=0;i<3;i++)

switch(i)

{

case0:printf("%d",i);

case2:printf("%d",i);

default:printf("%d",i);

}

}

程序運(yùn)行后的輸出結(jié)果是

答案:000122【5.21】下面這段代碼的運(yùn)行結(jié)果為______。

inta=2,b=-1,c=2;

if(a答案:

2【5.12】閱讀以下程序:main(){intx;

scanf("%d",&x);

if(x--<5)printf("%d"'x);

elseprintf("%d"'x++);}程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是______。

答案:4【5.15】在下面的條件語句中,只有一個(gè)在功能上與其他三個(gè)語句不等價(jià)(其中s1和s2表示某個(gè)C語句),這個(gè)不等價(jià)的語句是________。

答案:if(a==0)s1;elses2;

【5.1】以下能判斷ch是大寫英文字符的選項(xiàng)是()

答案:if(ch>='A'&&ch<='Z')【5.3】下列條件語句中,功能與其他語句不同的是

答案:

if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

【5.13】若a、b、c1、c2、x、y、均是整型變量,正確的switch語句是

答案:switch(a-b){default:y=a*b;break;

case3:

case10:}【5.6】有以下程序main(){chark;inti;

for(i=1;i<3;i++)

{scanf(“%c”,&k);

switch(k)

{case‘0’:printf(“another\n”);

case‘1’:printf(“number\n”);

}

}}程序運(yùn)行時(shí),從鍵盤輸入:01,程序執(zhí)行后的輸出結(jié)果是

答案:anothernumbernumber【5.9】有以下程序main(){

inti;

for(i=0;i<3;i++)

switch(i)

{

case1:printf("%d",i);

case2:printf("%d",i);

default:printf("%d",i);

}}執(zhí)行后輸出結(jié)果是

答案:011122【5.17】當(dāng)從鍵盤輸入字母A時(shí),下面程序段的輸出結(jié)果為_________。

charch;

ch=getchar();

switch(ch)

{

case65:

printf("%c",'A');

case66:

printf("%c",'B');

default:

printf("%s\n","other");

}已知字符'A'的ASCII碼值是65

答案:

ABother

【5.2】執(zhí)行下列程序,k輸入為1的結(jié)果是()main(){intk;

scanf("%d",&k);

switch(k)

{case1:

printf("%d",k++);

case2:

printf("%d",k++);

case3:

printf("%d",k++);

break;

default:

printf("Full!");

}}

答案:123【5.11】以下程序的輸出結(jié)果是_______。main(){inta=0,i;

for(i=1;i<5;i++)

{

switch(i)

{case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

}

}

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

答案:31【5.4】有以下程序main(){

inta=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d",d+++1);

else

printf("%d",++d+1);

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

}

程序運(yùn)行后的輸出結(jié)果是

答案:2【5.10】有以下程序main(){

inta=15,b=21,m=0;

switch(a%3)

{

case0:m++;break;

case1:m++;

switch(b%2)

{

default:m++;

case0:m++;break;

}

}

printf(“%d\n”,m);}

程序運(yùn)行后的輸出結(jié)果是_____。

答案:16-24.下面程序的運(yùn)行結(jié)果是________.

#include

voidmain()

{inta=1,b=10;

do

{b-=a;a++;

}while(b--<0);

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

}

答案:2,86-19.下面程序段的運(yùn)行結(jié)果是_____。

intn=0;

while(n++<=2);

printf("%d",n);

答案:46-22.下列程序的輸出結(jié)果是:

int

i,s=0;for(i=1;i<=10;i++)

{

if(i%3!=0)continue;

s+=i;

}printf(“%d”,s);

答案:186-33.下面程序的輸出結(jié)果是__________.

#include

void

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y);

}

答案:1010916-10.inta=1,b=2,c=2,t;while(a答案:2,1,16-23.下面程序的運(yùn)行結(jié)果是_______.

#include

voidmain()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

printf("%d",--i);

}

答案:36-25.下面程序段的運(yùn)行結(jié)果是________.

for(x=10;x>3;x--)

{if(x%3)x--;

--x;--x;

printf("%d",x);

}

答案:746-8.設(shè)i和k都是int類型,則以下for循環(huán)語句

。

for(i=0,k=-1;k=1;i++,k++)

printf("****\n");

答案:是無限循環(huán)6-14.while和do-while循環(huán)的主要區(qū)別是

答案:do-while的循環(huán)體至少無條件執(zhí)行一次6-32.下面程序的輸出結(jié)果是___________.

#include

voidmain()

{inti;

for(i=1;i<6;i++)

{if(i%2!=0){printf("#");continue;}

printf("*");

}

printf("\n");

}

答案:

#*#*6-5.下列程序段執(zhí)行后k值為

。intk=0,i,j;for(i=0;i<5;i++)for(j=0;j<3;j++)

k=k+1;

答案:156-20.下面程序段的運(yùn)行結(jié)果是__________.

intn=0;

while(n++<=2)

printf("%d",n);

答案:1236-11.intx=-1;do

{x=x*x;}while(!x);下列說法正確的是

答案:循環(huán)執(zhí)行一次6-1.程序段如下:則以下說法中正確的是:

。intk=5;do{

k--;}while(k<=0);

答案:循環(huán)體語句執(zhí)行一次6-16.對(duì)for(表達(dá)式1;;表達(dá)式3)可理解為

。

答案:for(表達(dá)式1;1;表達(dá)式3)6-12.以下能正確計(jì)算1*2*3*…*10的程序段是

。

答案:i=1;s=1;

do{s=s*i;

i++;}

while(i<=10);6-18.下面程序段

。for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0)continue;

printf("%d\n",t);}

答案:最多允許輸出100個(gè)非負(fù)整數(shù)6-27.下面程序段的運(yùn)行結(jié)果是__________.

for(i=1;i<=5;)

printf("%d",i);

i++;

答案:無限循環(huán)7-24.以下程序的運(yùn)行結(jié)果是_____i

nta=1;intf(intc){

staticinta=2;

c=c+1;

return(a++)+c;}voidmain(){

inti,k=0;

for(i=0;i<2;i++)

{inta=3;k+=f(a);}

k+=a;

printf("%d\n",k);}

答案:147-22.以下程序的運(yùn)行結(jié)果是______#include

voidswap(inta,intb)

{

a=a+b;

b=a–b;

a=a–b;

}

intmain(){

inta=5,b=6;

swap(a,b);

printf(“a=%d,b=%d”,a,b);

return0;

}

答案:a=5,b=67-27.以下程序的運(yùn)行結(jié)果是

inta=5;int

b=7;

intplus(intx,inty);

voidmain()

{

inta=4,b=5,c;

c=plus(a,b);

printf("A+B=%d\n",c);

}

intplus(intx,inty){

intz;

z=x+y;

return(x);}

答案:A+B=47-26.以下程序的輸出結(jié)果是________。

voidfun()

{

staticinta;

a+=2;

printf("%d",a);}

main()

{

intcc;

for(cc=1;cc<=4;cc++)fun();

printf("\n");

}

答案:24687-29.下面程序的輸出結(jié)果是:____________#includeintTry(intn){if(n>0)return(n*Try(n-2));elsereturn1;}voidmain(){intx;x=Try(5);printf("x=%d\n",x);}

答案:x=157-30.下面程序的輸出結(jié)果是:_______#includevoidfun(intm,intn);voidmain(){intm=10,n=20;fun(m,n);printf("m=%d,n=%d\n",m,n);}voidfun(intm,intn){inttemp;if(m>n){temp=m;m=n;n=temp;}}

答案:m=10,n=207-28.以下程序的運(yùn)行結(jié)果是

#includevoidmain(){

incx();

incy();

incx();

incy();

incx();

incy();}voidincx(){

intx=0;

printf("x=%d\t",++x);}incy(){

staticinty=0;

printf("\ny=%d\n",++y);}

答案:x=1y=1x=1y=2x=1y=37-25.以下程序的運(yùn)行結(jié)果是_____

intf(inta){

intb;

staticintc=3;

a=c++,b++;

returna;}voidmain(){

inta=2,i,k;

for(i=0;i<2;i++)k=f(a++);

printf("%d\n",k);}

答案:47-21.以下程序的運(yùn)行結(jié)果是_______

#include

voidmain()

{

inta=1,b=2,c;

c=max(a,b);

printf("maxis%d\n",c);

}

intmax(intx,inty)

{

intz;

z=(x>y)?x:y;

return(z);

}

答案:maxis27-13.從變量的作用域角度分全局變量和_____

__。

答案:局部變量7-14.有函數(shù)定義:int

func(intn){if(n>0)

return

func(n-2)*2;else

return

-1;}則執(zhí)行語句:a=func(5);后a的值是

。

答案:-87-6.下面說法中不正確的是(

答案:在一個(gè)函數(shù)內(nèi)復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效7-4.若使用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則傳遞給形參的是(

答案:數(shù)組首地址7-11.以下程序的正確運(yùn)行結(jié)果是(

#include

voidnum()

{

externintx,y;inta=15,b=10;

x=a-b;

y=a+b;

}

intx,y;

voidmain()

{

inta=7,b=5;

x=a+b;

y=a-b;

num();

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

}

答案:5,257-9.以下程序段的輸出結(jié)果是(

)intfun(intx,inty)

{return(x+y);}main()

{inta=1,b=2,c=3,sum;

sum=fun(fun(a,b),c);

printf("%d\n",sum);}

答案:67-8.在C語言中,函數(shù)返回值的類型最終取決于(

答案:函數(shù)定義時(shí)在函數(shù)值首部所說明的函數(shù)類型7-5.如果在一個(gè)函數(shù)中的復(fù)合語句中定義了一個(gè)變量,則該變量(

答案:只在該復(fù)合語句中有效7-2.已知一個(gè)函數(shù)的定義如下:

doublefun(intx,doubley)

{……}

則該函數(shù)正確的函數(shù)原型聲明為(

答案:doublefun(int,double);7-1.下列關(guān)于C語言函數(shù)的描述中,正確的是(

答案:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套8-26下面程序的輸出是________。main(){

intaa[3][3]={{2},{4},{6}};

inti,p=aa[0][0];

for(i=0;i<2;i++)

{

if(i==0)

aa[i][i+1]=p+1;

else

++p;

printf("%d",p);

}

}

答案:238-24

以下程序的輸出結(jié)果是_________。

main()

{

inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d,",x[i][2-i]);

printf("\n");

}

答案:3,5,7,

8-22有如下程序main(){

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)

s+=a[i][j];

printf("%d\n",s);

}該程序的輸出結(jié)果是________。

答案:188-21下列程序執(zhí)行后的輸出結(jié)果是__________。main(){

inti,j,a[3][3];

for(i=0;i<3;i++)

for(j=0;j<=i;j++)

a[i][j]=i*j;

printf("%d,%d\n",a[1][2],a[2][1]);

}

答案:不定值,28-19在定義inta[5][6];后,數(shù)組a中的第10個(gè)元素是________。(設(shè)a[0][0]為第一個(gè)元素)

答案:a[1][3]

8-18

若有說明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是()。

答案:38-17

在定義int

a[5][4];之后,對(duì)a的引用正確的是________。

答案:a[4][3]8-14執(zhí)行下面程序的輸出結(jié)果為

。voidfunc(intb[]){

intj;

for(j=0;j<4;j++)

b[j]=j;}voidmain(){

inta[]={5,6,7,8},i;

func(a);

for(i=0;i<4;i++)

printf("%d",a[i]);}

答案:01238-13下面程序運(yùn)行后,輸出結(jié)果是________。#includemain(){

inta[10]={1,2,3,4,5,6},i,j;

for(i=0;i++<3;){

j=a[i];

a[i]=a[5-i];

a[5-i]=j;}

for(i=0;i<6;i++)

printf("%d",a[i]);

}

答案:1534268-12以下程序運(yùn)行,如果從鍵盤上輸入4,則輸出結(jié)果是________。

#include<>main(){

inta[20]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5,-1,-2,-3,-4,-5};

int

i,m,n,f=0;

scanf("%d",&n);

for(i=0;i<20;i++)

if(a[i]==n)

{

f=1;

m=i;

}

if(f!=0)

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

else

printf("%dnotfound!\n",n);}

答案:4,148-7

下面程序的輸出結(jié)果是________。

main()

{inta[]={1,8,2,8,3,8,4,8,5,8};

printf("%d,%d\n",a[4]+3,a[4+3]);

}

答案:6,88-6

有如下說明:inta[10]={0,1,2,3,4,5,6,7,8,9};,則數(shù)值不為9的表達(dá)式是________。

答案:

a[8]8-4

下列程序執(zhí)行后的輸出結(jié)果是__________。

main()

{

inta,b[5];

a=0;b[0]=3;

printf("%d,%d\n",b[0],a);

}

答案:3,0

8-2

如有定義語句inta[]={1,8,2,8,3,8,4,8,5,8};,則數(shù)組a的大小是________。

答案:108-1

以下能夠?qū)σ痪S數(shù)組a進(jìn)行正確定義的語句是________。

答案:inta[]={0};

【9.3】下列程序段的輸出結(jié)果是(

)。main(){int

a,

b,

k=4,

m=6,

*p1=&k,

*p2=&m;

a=(pl=

=&m);

b=(*p1)/(*p2)+7;printf("a=%d,b=%d\n",

a,b);}

答案:a=0,b=7【9.4】下列程序段的輸出結(jié)果是(

)。int

fun(int

*a){

int

b=5;*a=*a+b;

return(*a);}main(

){int

a=2,res=1;

res+=fun(&a);

printf(“%d,%d\n”,a,res);}

答案:7,8【9.4】下列程序段的輸出結(jié)果是(

)。int

x,y,z,w;

void

p(int

x,

int

*y)

{

int

z;++x;

++*y;

z=x+*y;w+=x;printf(“%d,%d,%d,%d,”,

x,*y,z,w);}main(){

x=y=z=w=2;

p(y,

&x);

printf(“%d,%d,%d,%d”,

x,y,z,w);

}

答案:3,3,6,5,3,2,2,5【9.4】下列程序段的輸出結(jié)果是(

)。sub(int

x,

int

y,

int

*z){*z=y-x+2;}main(){int

a,

b,

c;

sub(16,

7,

&a);

sub(9,

a,

&b);

sub(a,

b,

&c);

printf(“%d,

%d,

%d\n”,

a,

b,

c);}

答案:-7,-14,-5【9.4】下列程序段的輸出結(jié)果是(

)。void

as(int

x,int

y,int

*cp,int

*dp){*cp=x+y;

*dp=x-y;}main(){int

a=4,b=3,c,d;

as(a,b,&c,&d);

printf(“%d,%d\n”,c,d);}

答案:7,1【9.3】若有說明:int

*p1,

*p2,m=5,n;以下均是正確賦值語句的選項(xiàng)是()

答案:p1=&m;

p2=p1

;

【9.3】變量p為指針變量,若p=&a,下列說法不正確的是(

)。

答案:&p==&a【9.3】若有語句:int

*p,a=4;和p=&a;下面均代表地址的一組選項(xiàng)是()。

答案:&a,&*p,p【9.3】若有說明:int

*p,m=5,n;以下程序段正確的是()。

答案:p

=

&n

;*p

=

m

;【9.4】下列程序執(zhí)行后的輸出結(jié)果是(

)。void

func(int

*a,

int

b[

]){b[0]=*a+6;}main(){int

a,

b[5];

a=0;

b[0]=3;

func(&a,

b);

printf("%d\n",

b[0]);}

答案:6【9.6】若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是(

)。main(){

int

a[50],

n;

fun

(n,

&a[9]);

…}

答案:void

fun(int

n,int

a)【9.3】若有說明:int

i,

j=2,*p=&i;,則能完成i=j賦值功能的語句是(

)。

答案:

*p=*&j;【9.3】若有以下定義和語句:double

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

)。

答案:語句"*p=r;

"取變量r的值放回r中【9.6】若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的調(diào)用方法是()。

答案:(*p)(a,b);

【9.3】在下列敘述中,正確的一條是()。

答案:語句int

*p=a;等價(jià)于int

*p;

p=&a;【9.6】已有定義int

(*p)(

);指針p可以()。

答案:指向函數(shù)的入口地址【9.3】下列語句執(zhí)行后的結(jié)果是(

)int

x,y=5,

p=&y;

x=*p++;printf("x=%d,y=%d",x,y);

答案:x=5,y=5【9.4】已有變量定義和函數(shù)調(diào)用語句:int

a=25;print_value(&a);下面函數(shù)的輸出結(jié)果是()void

print_value(int

*x){

printf(“%d\n”,++*x);

}

答案:26【9.2】下列說法錯(cuò)誤的是()。

答案:指針變量占用的內(nèi)存單元字節(jié)數(shù)就是它所指向的變量所占用的內(nèi)存單元字節(jié)數(shù)。以下對(duì)結(jié)構(gòu)類型變量的定義中錯(cuò)誤的是(

答案:struct{intnum;floatage;}std1;structstudentstd1;

當(dāng)說明一個(gè)結(jié)構(gòu)變量時(shí)系統(tǒng)分配給它的內(nèi)存是(

答案:

各成員所需內(nèi)存量的總和以下scanf函數(shù)調(diào)用語句中對(duì)結(jié)構(gòu)變量成員的錯(cuò)誤引用是(

)。

structpupil

{

charname[20];

intage;

intsex;

}pup[5],*p;

p=pup;

答案:scanf(“%d”,p->age);選擇程序的運(yùn)行結(jié)果是(

#include

structstu

{

intnum;

charname[10];

intage;

};

voidfun(structstu*p)

{

printf(“%s\n”,(*p).name);

}

main()

{

structstustudent[3]={{9801,“Zhang”,20},{9802,“Wang”,19},{9803,“Zhao”,18}};

fun(students+2);

}

答案:Zhao閱讀程序,選擇注釋1和注釋2處正確的輸出結(jié)果。

#include

structstr1

{

charc[5];

char*s;

};

main()

{

structstr1s1[2]={{“ABCD”,“EFGH”},{“IJK”,“LMN”}};

structstr2

{

structstr1sr;

intd;

}s2={“OPQ”,“RST”,32767};

structstr1*p[2];

p[0]=&s1[0];

p[1]=&s1[1];

printf(“%s”,++p[1]->s);

/*1*/

printf(“%c”,s2.sr.c[2]);

/*2*/

}

答案:

MN,Q下面程序的運(yùn)行結(jié)果是(

)main(){structcmplx

{

intx;

inty;

}cnum[2]={1,3,2,7};

printf(“%d\n”,cnum[0].y/cnum[0].x*

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論