版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
c語言程序被計
習(xí)題
李玲張海蓉黃玉蘭孫大洋趙曉京溫泉厲茜
吉林大學(xué)通信工程學(xué)院
第6章
練習(xí)6-1答案
一、選擇題
1.函數(shù)abc的定義為:
voidabc()
那么函數(shù)定義中void的含義是(A)。
A.執(zhí)行函數(shù)abc后,函數(shù)沒有返回值B.執(zhí)行函數(shù)abc后,函數(shù)不再返回
C.執(zhí)行函數(shù)abc后,可以返回任意類型D.以上三個答案全是錯誤的
2.:intp();,p是(C)。
A.int型委量
B.函數(shù)p的調(diào)用
C.一個函數(shù)聲明,該函數(shù)的返回值是int型的值
D.強制類型轉(zhuǎn)換表達式中的變量
3.以下正確的函數(shù)形式是(D)。
A.doublefun(intx,inty)B.fun(intx,y)
{z=x+y;returnz;}{intz;returnz;}
C.fun(x,y)D.doublefun(intx,inty)
{intx,y;doublez;z=x+y;returnz;}{doublez;z=x+y;returnz;}
4.以下說法正確的選項是(C)。”
A.定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)
B.return后邊的值不能為表達式
C.如果函數(shù)值的類型與返回值表達式的類型不一致,以函數(shù)值類型為準
D.如果形參與實參的類型不一致,以實參類型為準
5.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是(B)。
A.float型B.ini型C.long型D.double型
6.下面函數(shù)調(diào)用語句含有實參的個數(shù)為(B)。
func((expl,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
7.以下程序的功能是計算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請選擇填空。
#include<stdio.h>
#include<math.h>
floatf(float,float);
main()
{floatx,y,z,sum;
scanf(H%f%f%f,&x,&y,&z);
sum=f(①B)+f(②C);(注:或者選擇sum=f(①C)+f(②B))
printf(,,sum=%f\nH,sum);
)
floatf(floata,floatb)
{floatvalue;
value=a/b;
return(value);
)
①A.x-y,x+yB.x+y,x-yC.z-y,z-yD.z-y,z+y
②A.x-y,x+yB.x+y,x-yC.z+y,z-yD.z-y,z+y
二、填空題
8.以下程序的功能是根據(jù)輸入的”y”(”Y“)與”n”("N”),在屏幕上分別顯示出叮hisis
YES.“與“ThisisNO.%請?zhí)羁?,①?break;)、②是(getchar()或getch()或
getche())o
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case*y':
case'Y*:printf(n\nThisisYESAn");①;
case'n':
caseN:printf("\nThisisNO.\nn);
)
)
main()
{charch;
printf("\nEnterachar'y;¥or'n'JNT');
ch=②;
printf("ch:%c”,ch);
YesNo(ch);
)
9.下面函數(shù)pi的功能是:根據(jù)以下公式,返回滿足精度(0.0005)要求的乃的值,請
填空,①是(t=n=l,s=O)、②是(s*2)。
乃/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+….
#include<conio.h>
#include<math.h>
#include<stdio.h>
doublepi(doubleeps)
{doubles,t;intn;
for(①;t>eps;n++)
{s+=t;
t=n*t/(2*n+l);
)
return(②);
main()
{doublex;
printf("\nPleaseenteraprecision:'1);
scanf(n%lf\&x);
printf(M\neps=%1f,冗=%1f,x,pi(x));
)
三、讀程序,寫結(jié)果
10.以下程序的運行結(jié)果是(5)。
#include<stdio.h>
fun(intp)
{inta=10;
p=a;
++p;
)
main()
{inta=5;
fun(a);
printf("%d\nK,a);
)
11.以下程序的運行結(jié)果是(8)。
#include<stdio.h>
intabc(intu,intv);
main()
{inta=24,b=16,c;
c=abc(a,b);
printf(n%d\nH,c);
)
intabc(intu,intv)
{intw;
while(v)
{w=u%v;
u=v;
v=w;
}
returnu;
12.以下程序的運行結(jié)果是:
(beforeswapa=5,b=10
inswapx=10,y=5
afterswapa=5,b=10)。
#include<stdio.h>
main()
inta,b;
a=5;b=10;
printf("beforeswapa=%d,b=%d\n",a,b);
swap(a,b);
printf("afterswapa=%d,b=%d\n",a,b);
)
swap(intx,inty)
{inttemp;
temp=x;x=y;y=temp;
printf(*'inswapx=%d,y=%d\n';x,y);
}
13.以下程序的運行結(jié)果是:
(i=5
i=2
i=2
i=0
i=2)o
inti=0;
main()
{inti=5;
reset(i/2);printf(Hi=%d\n,\i);
reset(i=i/2);printf(,,i=%d\nM,i);
reset(i/2);printf(',i=%d\n,\i);
workover(i);printf(ni=%d\nM,i);
}
workover(inti)
{i=(i%i)*((i*i)/(2*i)+4);
printf(ni=%d\nu,i);
return(i);
)
reset(inti)
{i=i<=2?5:0;
retum(i);
)
練習(xí)6?2答案
一、選擇題
1.將一個函數(shù)說明為static后,該函數(shù)將(A)。
A.既能被同一源文件中的函數(shù)調(diào)用,也能被其他源文件中的函數(shù)調(diào)用
B.只能被同一源文件中的函數(shù)調(diào)用,不能被其他源文件中的函數(shù)調(diào)用
C.只能被其他源文件中的函數(shù)調(diào)用,不能被同一源文件中的函數(shù)調(diào)用
D.既不能被同一源文件中的函數(shù)調(diào)用,也不能被其他源文件中的函數(shù)調(diào)用
2.如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,那么該變量(A)。
A.只在該復(fù)合語句中有效B.在該函數(shù)中有效
C.在本程序范圍內(nèi)均有效D.為非法變量
3.以下不正確的說法是(D)。
A.在不同函數(shù)中可以使用一樣名字的變量
B.形式參數(shù)是局部變量
C.在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
4.以下程序的正確運行結(jié)果是(D)。
#defineMAX10
inta[MAX],i;
main()
{printf(n\n");sub1();sub3();sub2();sub3();
)
sub2()
{inta[MAX],i,max;
max=5;
for(i=0;i<max;i++)a[i]=i;
)
sub1()
{for(i=0;i<MAX;i++)a[i]=i+i;
}
sub3()
{inti;
for(i=0;i<MAX;i++)printf(',%d';a[ij);
printf(',\nM);
1
A.024681012141618B.01234
01234024681012141618
C.0123456789D.024681012141618
01234024681012141618
5.但凡函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為(A)。
A.自動(auto)B.靜態(tài)(static)C.外部(extern)D.存放器(register)
6.以下程序的正確運行結(jié)果是(D)。
main()
{inta=2,i;
for(i=0;i<3;i++)printf(n%4d",f(a));
1
f(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
A.777B.71013C.7911D.789
二、讀程序,寫結(jié)果
7.寫出下面程序的運行結(jié)果,①是(8)、②是(17)。
#include<stdio.h>
main()
{intk=4,m=l,p;
p=fun(k,m);printf("%d”,p);/*①*/
p=fun(k,m);printf(u%d",p);/*②*/
)
fun(inta,intb)
{staticintm=0,i=2;
i+=m+l;
m=i+a+b;
return(m);
)
8.下面程序的運行結(jié)果是(84)。
#include<stdio.h>
intd=l;
fun(intp)
{intd=5;
d+=p++;
printf("%d';d);
)
main()
{inta=3;
fun(a);
d+=a++;
printf("%d”,d);
)
第7章
練習(xí)7-1答案
選擇題
1.:int*p,a;,那么語句“p=&a;〃中的運算符“&〃的含義是(D)。
A.位與運算B.邏輯與運算C.取指針內(nèi)容D.取變量地址
2.:inta,x;,那么正確的賦值語句是(C)。
A.a=(a[l]+a[2])/2;B.a*=*a+l;C.a=(x=l,x++,x+2);D.a=Hgood";
3.:inta,*p=&a;,那么以下函數(shù)調(diào)用中錯誤的選項是(D)。
A.scanf("%d",&a);B.scanf(H%du,p);C.printf(,'%dH,a);D.scanf("%d",*p);
4.:char*p,*q;,選擇正確的語句(C)。
A.p*=3;B.p/=q;C.p+=3;D.p+=q;
5.:intx;,那么下面的說明指針變量pb的語句(C)是正確的。
A.intpb=&x;B.int*pb=x;C.int*pb=&x;D.*pb二*x;
練習(xí)7?2答案
一、選擇題
1.設(shè)有說明其中的標識符ptr是(C)。
A.M個指向整型變量的指針
B.指向M個整型變量的函數(shù)指針
C.一個指向具有M列的二維數(shù)組的一行的指針
D.具有M個指針元素的一維數(shù)組的指針
2.:double它的含義是(C)。
A.p是相向double型變量的指針B.p是double型數(shù)組
C.p是指針數(shù)組D.p是數(shù)組指針
3.:chars[10],*p=s,那么在以下語句中,錯誤的語句是(B)。
A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];
4.:chars[100];inti;,那么在以下引用數(shù)組元素的語句中,錯誤的表示形式是(D)。
A.s[i+10]B.*(s+i)C.*(i+s)D.*((s++)+i)
5.scharb[5],*p=b;,那么正確的賦值語句是(C5
A.b=nabcdn;B.*b="abcd";C.p=',abcd,';D.*p="abcd”;
6.以下對字符串的定義中,錯誤的選項是(A)。
A.charstr[7]=nFORTRANH;B.charstr[J="FORTRAN";
C.char*st尸"FORTRAN";D.charstr[]={'F,O,R,T,'R?A',N,0};
7.:chars[20]=nprogrammingM,*ps=s;,那么不能引用字母o的表達式是(A)。
A.ps+2B.s[2JC.ps[2]D.ps+=2,*ps
8.:char**s;,正確的語句是(B)。
A.s="compuier";B.*s="compuier";C.**s="compuier";D.*s='A';
9.:charc[8]=nbeijingn,*s=c;inti;,那么下面的輸出語句中,錯誤的選項是(B)。
A.printf(,'%s\nn,s);B.printf("%s\n",*s);
C.for(i=0;i<7;i++)D.for(i=0;i<7;i++)
printf(,'%cn,c[i]);printf(n%cn,s[i]);
10.:char*aa[2]={nabcdn,1ABCDn);,那么以下說法正確的選項是(D)。
A.aa數(shù)組元素的值分別是“abed”序列和“ABCD”序列
B.aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個元素中各自存放了字符宣和A的地址
11.:inta[3][4],*p=&a[0][0];p+=6;,那么*p和(D)的值一樣。
A.*(a+6)B.*(&a[0]+6)C.*a[l]+2D.a[l][2]
12.:inta[]={l,2,3,4,5,6,7,8,9,10,11,12),*p=a;,那么值為3的表達式是(A)。
A.p+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.*(&a[0][0]+6)
13.:int**p;,那么變量p是(B)。
A.指向int的指針B.指向指針的指針
C.int型變量D.以上三種說法均是錯誤的
14.:inta[]={1,2,3,4},y,*p=&a[l];>那么執(zhí)行語句y=(*--p)++;之后,變量y的值為
(A)。
A.1B.2C.3D.4
15.:intb[]={l,2,3,4),y,*p=b;>那么執(zhí)行語句y=*p++;之后,變量y的值為(A)。
A.1B.2C.3D.4
16.:intx[]={l,3,5,7,9,11),*ptr=x;,那么能夠正確引用數(shù)組元素的表達式是(B)。
A.xB.*(ptr-)C.x[61D.*(--ptr)
17.:intx[]={1,3,5,7,9,11},*ptr=x;,那么不能夠正確引用數(shù)組元素的表達式是(B)。
A.*(ptr-)B.*(-ptr)C.*(ptr++)D.*(++ptr)
18.假設(shè)有以下語句且0<二k<6,那么正確表示數(shù)組元素地址的表達式是(C)。
staticintx[]={1,3,5,7,9,11},*ptr=x,k;
A.x++B.&ptrC.&ptr[k]D.&(x+l)
19.:inti,x[3][4];,那么不能將的值賦給變量i的語句是(C)0
A.i=*(*(x+l)+l);B.i=x[l][l];C.i=*(*(x+l));D.i=*(x[l]+l);
20.:inta[2][3]={2,4,6,8,10,12);,正確表示數(shù)組元素的地址是(A)。
A.*(a+l)B.*(a[l]+2)C.a[l]+3D.a[0][0]
21.:使用如下語句動態(tài)申請一個int型的存儲單元,應(yīng)當使用(D)口
p=()malloc(sizeof(int));
A.intB.int*C.(*int)D.(int*)
二、填空題
22.閱讀程序,下面程序的輸出結(jié)果是(15)。
#include<stdio.h>
main()
{staticinta[2][3]={{1,2,3},{4,5,6));
intm,*pir;
ptr=&al0]l0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
printf(,'%d\nH,m);
)
23.下面程序的功能是:從鍵盤上輸入一行字符,存入一個字符數(shù)組中,然后輸出
該字符串.那么①是('\0域0)、②是(++)。
main()
{charstr[81],*sptr;
inti;
for(i=0;i<80;i++)
{str[i]=getchar();
if(str[i]=='\n,)break;
)
str[i]=①;
spti-str;
while(*sptr)putchar(*sptr②);
24.在下面的程序中假設(shè)第一個printf語句的輸出為ffe2,那么其余語句的輸出結(jié)果
分別為:①是(fff4)、②是(a)、③是(0)、④是(b)。
main()
{staticshorta[]={1,2,3,4,5,6,7,8,9,0},*p=a;
printf("%x\n",p);/*輸出結(jié)果為ffe2*/
printf(H%x\nn,p+9);/*輸出①*/
printf("%x\nn,*p+9);/*輸出②*/
printf(H%x\n",*(p+9));/*輸出③*/
printf("%x\n”,*++p+9);/*輸出④*/
25.下面程序的輸出結(jié)果,①是(m)、②是(a)、③是(w)、④是(z)、⑤是(mnopqr)。
#include<stdio.h>
nH,,Hnn,,,MHHn
char*pp[2][3]={abc,defgh,ijkl,mnopqr'!stuvw,xyz};
main()
輸
出①*/
,/
{pnntf('%c\n,***(pp+l));/*建
輸
出②*/
printf("%c\nu,**pp⑼);
輸
出③
/**/
printf(H%c\nu,(*(*(pp+l)+1))[4]);/
輸
/*出④*/
Hn/*/
輸
printf(%c\n,*(pp[l][2]+2));出
⑤*/
printf("%s\n",**(pp+l));/
三、讀程序,寫結(jié)果
26.下面程序的運行結(jié)果是:
(□□□1口口口3口口口5口口口7
□□□9口口11口口13口口15
□□17口口19口口21口口23)。(71::□表不空格。)
#include<stdio.h>
main()
{inta[3][4]={l,3,5,7,9,11,13,15,17,19,21,23);
int*p,i;
for(p=a,i=0;p<&a[0][0]+12;p++,i++)
{if(i%4==0)printf(”\n");
printf(,'%4dn,*p);
)
)
27.下面程序的運行結(jié)果是(3,3,3)。
#include<stdio.h>
main()
{inta=2,*p,**pp;
pp=&p;p=&a;
a++;
printf(n%d,%d,%d\n",a,*p,**pp);}
練習(xí)7?3答案
一、選擇題
1.main(argc,argv)中形式參數(shù)argv的正確說明形式應(yīng)當為(A).
A.char*argvf]B.charargv[]nC.charargvflD.char*argv
2.說明語句int(*p)();的含義是(C)。
A.p是一個指向一維數(shù)組的指針變量
B.p是指針變量,指向一個整型數(shù)據(jù)
C.p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型
D.以上都不對
3.說明語句int*(*p)();的含義是(D)。
A.p是一個指向int型數(shù)據(jù)的指針
B.p是指針變量,它構(gòu)成了指針數(shù)組
C.p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型
D.p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個指向整型的指針
4.函數(shù)說明語句void那么它的含義是(A)。
A.函數(shù)f的返回值是一個通用型指針
B.函數(shù)f的返回值可以是任意的數(shù)據(jù)類型
C.函數(shù)f無返回值
D.指針f指向一個函數(shù),該函數(shù)無返回值
5.函數(shù)的功能是交換變量x和y中的值,并且通過正確調(diào)用返回交換的結(jié)果。能正
確執(zhí)行此功能的函數(shù)是(D)o
A.funa(int*x,int*y)B.funb(intx,inty)
{int*p;{intt;
*p=x;*x=*y;*y=*p;t=x;x=y;y=t;
C.func(int*x,int*y)D.fund(int*x,int*y)
{*x=*y;*y=*x;{?x=*x+*y;*y=*x-*y;*x=*x-*y;
)
6.閱讀程序,下面程序的輸出結(jié)果是(B)。
假設(shè)可執(zhí)行文件的文件名為:PROG.EXE
運行時鍵入的命令行為:PROG-386NET3<回車,
#include<stdio.h>
main(intargc,char*argv[])
{inti;
for(i=0;i<argc;i++)printf(n%s\n'\argv[i]);
A.-386B.PROG.EXEC.PROG.EXED.PROG
NET3-386--386
NET3386NET3
NET3
7.下面程序的運行結(jié)果是(A)。
#include<stdio.h>
f(intx,inty)
{return(y-x);
)
main()
{inta=5,b=6,c=2;
intf();
int(*g)()=f;
c=(*g)(a,b);
printf("%d\n",c);
)
A.1B.2C.3D.前面三個答案均是錯誤的
8?假設(shè)用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。
A.數(shù)組的首地址B.數(shù)組第一個元素的值
C.數(shù)組中全部元素的值D.數(shù)組元素的個數(shù)
二、填空題
9.下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進制數(shù),所得二進制數(shù)的每一位
放在一維數(shù)組中返回,二進制的最低位放在下標為0的元素中,其他依次類推,
那么①是(2)、②是(2)。
fun(intx,intb[])
{intk=O,r;
do
{r=x%①;
b[k++]=r;
x/=②;
}while(x);
)
10.函數(shù)expand(chars[],chart[])在將字符串s復(fù)制到字符串t時,將其中的換行符
和制表符轉(zhuǎn)換為可見的轉(zhuǎn)義字符,即用“\n”表示換行符,用\”表示制表符。那
么①是(j++)、②是(N)、③是(j++)、④是(N)、⑤是(j++)、⑥是('\0')。
expand(charsfl,chart[l)
{inti,j;
for(i=j=0;s[i]!='\0';i++)
switch(s[i])
{case*\n':t[①]=②;break;
case*\t':t[③]=④;t[j++]=,t,;break;
default:t[⑤]=s[i];break;
)
tfjl=?;
三、讀程序,寫結(jié)果
11.以下程序的運行結(jié)果是(10753-7)。
main()
{inta[5]={5,10,-7,3,7),i,j,t;
sort(a);
for(i=0;i<=4;i++)printf(H%d”,a[i]);
)
sort(inta[])
{int
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]<a[j4-l]){t=a[j];a[j]=a[j4-l];a[j+l]=t;}
)
12.以下程序的運行結(jié)果是(?13689)。
main()
{inta[5]={9,6,8,t,p;
sort(a);
for(i=0;i<=4;i++)printf(H%d",a[i]);
)
sort(inta[])
{inti,j,t,p;
for(j=0;j<4;j++)
{P=j;
for(i=j;i<=4;i++)if(a[i]<a[pj)p=i;
t=a[p];a[p]=a[j];a[j]=t;
)
)
13.以下程序的運行結(jié)果是(sum=6)。
main()
{inta[3][3]={l,3,5,7,9,11,13,15,17};intsum;
sum二func(a);
printf("\nsum=%d\n",sum);
)
func(inta[][3])
{inti,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{a[i][j]=i+j;
if(i==j)sum=sum+a[i][j];
return(sum);
14.下面程序的運行結(jié)果是:
(beforeswapa=5,b=10
inswapx=10,y=5
afterswapa=10,b=5)。
#include<stdio.h>
main()
{inta,b;
a=5;b=10;
printfC^beforesw叩a=%d,b=%d\n",a,b);
swap(&a,&b);
printf(nafterswapa=%d,b=%d\n",a,b);
i
swap(int*px,int*py)
{inttemp;
temp=*px;
*px=*py;
*py=temp;
printf(ninswapx=%d,y=%d\n'\*px,*py);
)
15.下面程序的運行結(jié)果是(0123)。
#include<stdio.h>
func(intb[J)
{intj;
for(j=0;j<4;j++)b[jj=j;
)
main()
{inta[4],i;
func(a);
for(i=0;i<4;i++)printf("%d",a[i]);
)
16.運行下面程序,如果從鍵盤上輸入字符串"qwerty”和字符串”abed",那么程序的
運行結(jié)果是(10)。
#include<stdio.h>
strle(chara[],charb[])
{intnum=0,n=0;
while(a[num]!-\0')num++;
while(b[n])
{a[num]=b[n];num++;n++;}
return(num);
main()
{charstrl[81],st⑵81];
gets(strl);
gets(str2);
printf(,,%d\nn,strle(strl,str2));
)
17.下面程序的運行結(jié)果是(AGAAGAG)。
#include<stdio.h>
#include〈stringJ,.h>
voidfun(char*w,intm)
{chars,*pl,^p2;
pl=w;
p2=w+m-l;
while(pl<p2)
{s=*pl++;*pl=*p2—;*p2=s;}
)
main()
{staticchara[]="ABCDEFGH;
fun(a,strlen(a));
puts(a);
}
第8章
練習(xí)8答案
選擇題
1.在程序中要使用語句:primf("%s\n”,STRING);輸出一個長度為5個字符的提示信
息“OK!”,那么應(yīng)使用宏定義語句(D)。
A.#defineSTRINGnOK!"B.#defineSTRING
C.#defineSTRING\nOK!\nD.#defineSTRING”\"OK!\"”
2.以下正確的描述為(C)。
A.每個C語言程序必須在開頭用預(yù)處理命令#include<stdio.h>
B.預(yù)處理命令必須位于C源程序的首部
C.在C語言中預(yù)處理命令都以“科開頭
D.C語言的預(yù)處理命令只能實現(xiàn)宏定義和條件編譯的功能
3.C語言的編譯系統(tǒng)中宏命令是(D)。
A.在程序運行時進展代換處理的
B.在程序連接時進展處理的
C.和源程序中其他C語句同時進展編譯的
D.在對源程序中其他成分正式編譯之前進展處理的
4.從以下選項中選擇不會引起二義性的宏定義是(D)。
A.#definePOWER(x)x*xB.#definePOWER(x)(x)*(x)
C.#definePOWER(x)(x*x)D.#definePOWER(x)((x)*(x))
5.假設(shè)有宏定義如下:
#defineX5
#defineYX+1
#defineZY*X/2
那么執(zhí)行以下printf語句后,輸出結(jié)果是(D)。
inta;a=Y;
printf("%d;',Z);
printf("%d\nn,-a);
A.7,6B.12,6C.12,5D,7,5
6?假設(shè)a、b、c、d、t均為int型變量,那么執(zhí)行以下程序段后結(jié)果為(C)。
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf("Y=%d\n”,Y)
a=l;b=2;c=3;d=4;
t=MAX(a+b,c+d);
PRINT(t);
A.Y=3B.存在語法錯誤C.Y=7D.Y=0
第9章
練習(xí)9-1答案
一、選擇題
1.typedefunsignedlongLONG的作用是(D)。
A.建設(shè)了一種新的數(shù)據(jù)類型B.定義了一個整形變量
C.定義了一個長整型變量D.定義了一個新的數(shù)據(jù)類型標識符
2.下面的4個運算符中,優(yōu)先級最低的是(D)。
A.()B..C.->D.++
3.:
struct
{inti;
charc;
floata;
}test;
那么sizeof(test)的值是(D)。
A.4B.5C.6D.7
4.當聲明一個構(gòu)造變量時系統(tǒng)分配給它的內(nèi)存是(A)。
A.各成員所需內(nèi)存量的總和B.構(gòu)造中第一個成員所需內(nèi)存量
C.成員中占內(nèi)存量最大者所需的容量D.構(gòu)造中最后一個成員所需內(nèi)存量
5.以下對構(gòu)造類型變量的定義中錯誤的選項是(D)。
A.typedefstructstudentB.structstudent
{intnum;{intnum;
floatage;floatage;
}STUDENTstdl;}stdl;
C.structD.struct
{intnum;{intnum;
floatage;floatage;
}stdl;}student;
structstudentstdl;
6.根據(jù)下面的定義,能打印出字母M的語句是(D)。
structperson
{charname[9];
intage;
);
structpersonclass[10]={nJohnM,17,'Taul'^lQ,"Mary",18,"adamH,16};
A.printf("%c\n",class[3].name);B.pnntf(n%c\nH,class[3].name[1]);
C.printf("%c\n",class[2].name[1]);D.printf(n%c\nn,class[2].name[0]);
7.以下scanf函數(shù)調(diào)用語句中對構(gòu)造變量成員的錯誤引用是(D)。
structpupil
{charnam[20];
intage;
intsex
}pup[5],*p;
p=pup;
A.scanf("%sn,pup[l].name);B.scanf(n%d'\&pupLOJ.age);
C.scanf("%dM,&(p->sex));D.scanf(M%dn,p->age);
8.假設(shè)有以下程序段:
structdent
{intn;
int*m;
);
inta=l,b=2,c=3;
structdents[3]={{101,&a},{102,&b},{103,&c));
structdent*p=s;
那么以下表達式中值為2的是(D)o
A.(p++)->mB.*(p++)->mC.(*p).mD.*(++p)->m
二、填空題
9.:
struct
{intx,y;
}s[2]={{l,2},{3,4}},*P=s;
那么表達式++p->x的值(①2),表達式(++p)->x的值是(②3)o
10.下面的程序從終端上輸入n個人的年齡、性別和姓名,然后輸出。那么①是(p+n)、
②是(gets(p->name)或scanf(,'%s,',p->name))>③是(p+n)。
includeHstdio.hM
structman
{charname[20J;
unsignedage;
charsex[7J;
);
main()
{structmanperson[51;
data_in(person,5);
data_out(person,5);
)
data_in(structman*p,intn)
{structman*q=①;
for(;p<q;p++)
{printf(,'age:sex:nameH);
scanf(n%u%sn,&p->age.p->sex);
②;
)
)
data_out(structman*p,intn)
{structman*q=③;
for(;p<q;p++)
printf(u%s;%u%s\nu,p->name,p->age,p->sex);
}
三、讀程序,寫結(jié)果。
11.下面程序的運行結(jié)果是(Zhao)。
#include<stdio.h>
structstu
{intnum;
charnameflO];
intage
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手外傷護理中的溝通技巧
- 個案護理中的傷口護理與造口護理
- 2025年辦公吊頂改造合同協(xié)議
- 城市微氣候調(diào)控研究
- 2025年人臉識別智能門鎖行業(yè)媒體宣傳方案
- 城鎮(zhèn)化與生態(tài)環(huán)境耦合機制
- 一輪復(fù)習(xí):第2課 諸侯紛爭與變法運動 課件
- 基于模型的重建
- 藥學(xué)專業(yè)知識試題及答案
- 2026 年中職酒店管理(酒店禮儀)試題及答案
- 2025云南省人民檢察院招聘22人筆試考試備考題庫及答案解析
- 銀行行業(yè)公司銀行客戶經(jīng)理崗位招聘考試試卷及答案
- 2026年安全生產(chǎn)管理培訓(xùn)課件與事故預(yù)防與應(yīng)急處理方案
- 2026天津市靜海區(qū)北師大實驗學(xué)校合同制教師招聘81人(僅限應(yīng)屆畢業(yè)生)考試筆試備考題庫及答案解析
- 2025陜西陜煤澄合礦業(yè)有限公司招聘570人參考筆試題庫及答案解析
- 2025年倉儲服務(wù)外包合同協(xié)議
- 2025遼寧沈陽金融商貿(mào)經(jīng)濟技術(shù)開發(fā)區(qū)管理委員會運營公司招聘60人考試歷年真題匯編帶答案解析
- 2025年刑法學(xué)考試試題及答案
- 廣東省汕頭市金平區(qū)2024-2025學(xué)年七年級上學(xué)期期末地理試題
- 前列腺癌根治術(shù)護理查房
- 數(shù)理統(tǒng)計(第三版)課后習(xí)題答案
評論
0/150
提交評論