吉林大學(xué)C語言習(xí)題Word版_第1頁
吉林大學(xué)C語言習(xí)題Word版_第2頁
吉林大學(xué)C語言習(xí)題Word版_第3頁
吉林大學(xué)C語言習(xí)題Word版_第4頁
吉林大學(xué)C語言習(xí)題Word版_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!C語言程序設(shè)計(jì)習(xí) 題李玲 張海蓉 黃玉蘭 孫大洋 趙曉京 溫泉 厲茜吉林大學(xué)通信工程學(xué)院第6章練習(xí)6-1答案一、選擇題1已知函數(shù)abc的定義為:void abc()則函數(shù)定義中void的含義是( A )。A執(zhí)行函數(shù)abc后,函數(shù)沒有返回值B執(zhí)行函數(shù)abc后,函數(shù)不再返回C執(zhí)行函數(shù)abc后,可以返回任意類型D以上三個(gè)答案全是錯(cuò)誤的2已知:int p();,p是( C )。Aint型變量B函數(shù)p的調(diào)用C一個(gè)函數(shù)聲明,該函數(shù)的返回值是int型的值D強(qiáng)制類型轉(zhuǎn)換表達(dá)式中的變量3以下正確的函數(shù)形式是( D )。Adouble fun(int x, i

2、nt y)Bfun(int x, y) z=x+y; return z; int z; return z; Cfun(x, y)Ddouble fun(int x, int y) int x, y; double z; z=x+y; return z; double z; z=x+y; return z; 4以下說法正確的是( C )。A定義函數(shù)時(shí),形參的類型說明可以放在函數(shù)體內(nèi)Breturn后邊的值不能為表達(dá)式C如果函數(shù)值的類型與返回值表達(dá)式的類型不一致,以函數(shù)值類型為準(zhǔn)D如果形參與實(shí)參的類型不一致,以實(shí)參類型為準(zhǔn)5C語言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是( B )。Afloa

3、t 型Bint型Clong型Ddouble型6下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為( B )。func(exp1, exp2), (exp3, exp4, exp5);A1B2C4D57以下程序的功能是計(jì)算函數(shù)F(x, y, z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請(qǐng)選擇填空。#include #include float f(float, float);main()float x, y, z, sum;scanf(%f%f%f, &x, &y, &z);sum=f( B )+f( C ); (注:或者選擇sum=f( C )+f( B )printf(sum=%fn, sum)

4、;float f(float a, float b)float value;value=a/b;return(value); Ax-y, x+yBx+y, x-yCz+y, z-yDz-y, z+y Ax-y, x+yBx+y, x-yCz+y, z-yDz-y, z+y二、填空題8以下程序的功能是根據(jù)輸入的y(Y)與n(N),在屏幕上分別顯示出This is YES.與This is NO.。請(qǐng)?zhí)羁?,? break; )、是( getchar() 或 getch() 或 getche() )。#include void YesNo(char ch)switch (ch)case y:cas

5、eY: printf(nThis is YES.n); ;case n:case N: printf(nThis is NO.n);main()char ch;printf(nEnter a char y, Y or n, N:);ch= ;printf(ch:%c, ch);YesNo(ch);9下面函數(shù)pi的功能是:根據(jù)以下公式,返回滿足精度(0.0005)要求的的值,請(qǐng)?zhí)羁?,? t=n=1, s=0 )、是( 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 #include #

6、include double pi(double eps)double s, t; int n;for ( ; teps; n+)s+=t;t=n*t/(2*n+1);return( );main()double x;printf(nPlease enter a precision:);scanf(%1f, &x);printf(neps=%1f, =%1f, x, pi(x);三、讀程序,寫結(jié)果10下列程序的運(yùn)行結(jié)果是( 5 )。#include fun(int p)int a=10;p=a;+p;main()int a=5;fun(a);printf(%dn, a);11下列程序的運(yùn)行結(jié)果

7、是( 8 )。#include int abc(int u, int v);main()int a=24, b=16, c;c=abc(a, b);printf(%dn, c);int abc(int u, int v)int w;while (v)w=u%v;u=v;v=w;return u;12下列程序的運(yùn)行結(jié)果是:( before swap a=5,b=10 in swap x=10,y=5 after swap a=5,b=10 )。#include main()int a, b;a=5; b=10;printf(before swap a=%d,b=%dn, a, b);swap(a

8、, b);printf(after swap a=%d,b=%dn,a, b);swap(int x, int y)int temp;temp=x; x=y; y=temp;printf(in swap x=%d,y=%dn, x, y);13以下程序的運(yùn)行結(jié)果是:( i=5 i=2 i=2 i=0 i=2 )。int i=0;main()int i=5;reset(i/2);printf(i=%dn, i);reset(i=i/2);printf(i=%dn, i);reset(i/2);printf(i=%dn, i);workover(i);printf(i=%dn, i);workov

9、er(int i)i=(i%i)*(i*i)/(2*i)+4);printf(i=%dn, i);return(i);reset(int i)i=i=2?5:0;return(i);練習(xí)6-2答案一、選擇題1將一個(gè)函數(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如果在一個(gè)函數(shù)中的復(fù)合語句中定義了一個(gè)變量,則該變量( A )。A只在該復(fù)合語句中有效B在該函

10、數(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以下程序的正確運(yùn)行結(jié)果是( D )。#define MAX 10int aMAX, i;main()printf(n); sub1(); sub3(); sub2(); sub3();sub2()int aMAX, i, max;max=5;for (i=0; imax; i+) ai=i;sub1()for (i=0; iMAX; i+) ai=i+i;sub3()int

11、i;for (i=0; iMAX; i+) printf(%d, ai);printf(n);A0 2 4 6 8 10 12 14 16 18B0 1 2 3 4 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18C0 1 2 3 4 5 6 7 8 9D0 2 4 6 8 10 12 14 16 18 0 1 2 3 4 0 2 4 6 8 10 12 14 16 185凡是函數(shù)中未指定存儲(chǔ)類別的局部變量,其隱含的存儲(chǔ)類別為( A )。A自動(dòng)(auto)B靜態(tài)(static)C外部(extern)D寄存器(register)6以下程序的正確運(yùn)行結(jié)果是( D )。main(

12、)int a=2, i;for (i=0; i3; i+) printf(%4d, f(a);f(int a)int b=0; static int c=3;b+; c+;return(a+b+c);A7 7 7B7 10 13C7 9 11D7 8 9二、讀程序,寫結(jié)果7寫出下面程序的運(yùn)行結(jié)果,是( 8 )、是( 17 )。#include main()int k=4, m=1, p;p=fun(k, m); printf(%d, p);/* */p=fun(k, m); printf(%d, p);/* */fun(int a, int b)static int m=0, i=2;i+=m

13、+1;m=i+a+b;return(m);8下面程序的運(yùn)行結(jié)果是( 8 4 )。#include int d=1;fun(int p)int d=5;d+=p+;printf(%d, d);main()int a=3;fun(a);d+=a+;printf(%d, d);第7章練習(xí)7-1答案選擇題1已知:int *p, a;,則語句“p=&a;”中的運(yùn)算符“&”的含義是( D )。A位與運(yùn)算B邏輯與運(yùn)算C取指針內(nèi)容D取變量地址2已知:int a, x;,則正確的賦值語句是( C )。Aa=(a1+a2)/2;Ba*=*a+1;Ca=(x=1, x+, x+2);Da=good;3已知:int

14、a, *p=&a;,則下列函數(shù)調(diào)用中錯(cuò)誤的是( D )。Ascanf(%d, &a);Bscanf(%d, p);Cprintf(%d, a);Dscanf(%d, *p);4已知:char *p, *q;,選擇正確的語句( C )。Ap*=3;Bp/=q;Cp+=3;Dp+=q;5已知:int x;,則下面的說明指針變量pb的語句( C )是正確的。Aint pb=&x;Bint *pb=x;Cint *pb=&x;D*pb=*x;練習(xí)7-2答案一、選擇題1設(shè)有說明int (*ptr)M;,其中的標(biāo)識(shí)符ptr是( C )。AM個(gè)指向整型變量的指針B指向M個(gè)整型變量的函數(shù)指針C一個(gè)指向具有M列

15、的二維數(shù)組的一行的指針D具有M個(gè)指針元素的一維數(shù)組的指針2已知:double *p6;,它的含義是( C )。Ap是指向double型變量的指針Bp是double型數(shù)組Cp是指針數(shù)組Dp是數(shù)組指針3已知:char s10, *p=s,則在下列語句中,錯(cuò)誤的語句是( B )。Ap=s+5;Bs=p+s;Cs2=p4;D*p=s0;4已知:char s100; int i;,則在下列引用數(shù)組元素的語句中,錯(cuò)誤的表示形式是( D )。Asi+10B*(s+i)C*(i+s)D*(s+)+i)5已知:char b5, *p=b;,則正確的賦值語句是( C )。Ab=abcd;B*b=abcd;Cp=a

16、bcd;D*p=abcd;6下列對(duì)字符串的定義中,錯(cuò)誤的是( A )。Achar str7=FORTRAN;Bchar str=FORTRAN;Cchar *str=FORTRAN;Dchar str=F, O, R, T, R,A,N,0;7已知:char s20=programming, *ps=s;,則不能引用字母o的表達(dá)式是( A )。Aps+2Bs2Cps2Dps+=2,*ps8已知:char *s;,正確的語句是( B )。As=computer;B*s=computer;C*s=computer;D*s=A;9已知:char c8=beijing, *s=c; int i;,則下

17、面的輸出語句中,錯(cuò)誤的是( B )。Aprintf(%sn, s);Bprintf(%sn, *s);Cfor (i=0; i7; i+)Dfor(i=0; i7; i+) printf(%c, ci); printf(%c, si);10已知:char *aa2=abcd, ABCD;,則以下說法正確的是( D )。Aaa數(shù)組元素的值分別是abcd序列和ABCD序列Baa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組Caa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址Daa數(shù)組的兩個(gè)元素中各自存放了字符a和A的地址11已知:int a34, *p=&a00; p+=6;,那

18、么*p和( D )的值相同。A*(a+6)B*(&a0+6)C*a1+2Da1212已知:int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, *p=a;,則值為3的表達(dá)式是( A )。Ap+=2, *(p+)Bp+=2, *+pCp+=3, *p+D*(&a00+6)13已知:int *p;,則變量p是( B )。A指向int的指針B指向指針的指針Cint型變量D以上三種說法均是錯(cuò)誤的14已知:int a=1, 2, 3, 4, y, *p=&a1;,則執(zhí)行語句y=(*-p)+;之后,變量y的值為( A )。A1B2C3D415已知:int b=1, 2,

19、 3, 4, y, *p=b;,則執(zhí)行語句y=*p+;之后,變量y的值為( A )。A1B2C3D416已知:int x=1, 3, 5, 7, 9, 11, *ptr=x;,則能夠正確引用數(shù)組元素的表達(dá)式是( B )。AxB*(ptr-)Cx6D*(-ptr)17已知:int x=1, 3, 5, 7, 9, 11, *ptr=x;,則不能夠正確引用數(shù)組元素的表達(dá)式是( B )。A*(ptr-)B*(-ptr)C*(ptr+)D*(+ptr)18若有以下語句且0=k6,則正確表示數(shù)組元素地址的表達(dá)式是( C )。static int x=1, 3, 5, 7, 9, 11, *ptr=x,

20、k;Ax+B&ptrC&ptrkD&(x+1)19已知:int i, x34;,則不能將x11的值賦給變量i的語句是( C )。Ai=*(*(x+1)+1);Bi=x11;Ci=*(*(x+1);Di=*(x1+1);20已知:int a23=2, 4, 6, 8, 10, 12;,正確表示數(shù)組元素的地址是( A )。A*(a+1)B*(a1+2)Ca1+3Da0021已知:int *p;,使用如下語句動(dòng)態(tài)申請(qǐng)一個(gè)int型的存儲(chǔ)單元,應(yīng)當(dāng)使用( D )。p=( )malloc(sizeof(int);AintBint *C(* int)D(int *)二、填空題22閱讀程序,下面程序的輸出結(jié)果

21、是( 15 )。#include main()static int a23=1, 2, 3, 4, 5, 6;int m, *ptr;ptr=&a00;m=(*ptr)*(*(ptr+2)*(*(ptr+4);printf(%dn, m);23下面程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串則是( 0 或 0 )、是( + )。main()char str81, *sptr;int i;for (i=0; i80; i+)stri=getchar();if (stri=n) break;stri= ;sptr=str;while (*sptr) putchar(*s

22、ptr );24在下面的程序中若第一個(gè)printf語句的輸出為ffe2,則其余語句的輸出結(jié)果分別為:是( fff4 )、是( a )、是( 0 )、是( b )。main()static short a=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *p=a;printf(%xn, p);/*輸出結(jié)果為ffe2*/printf(%xn, p+9);/*輸出 */printf(%xn, *p+9);/*輸出 */printf(%xn, *(p+9);/*輸出 */printf(%xn, *+p+9);/*輸出 */25下面程序的輸出結(jié)果,是( m )、是( a )、是( w )、是

23、( z )、是( mnopqr )。#include char *pp23=abc, defgh, ijkl, mnopqr, stuvw, xyz;main()printf(%cn, *(pp+1);/*輸出 */printf(%cn, *pp0);/*輸出 */printf(%cn, (*(*(pp+1)+1)4);/*輸出 */printf(%cn, *(pp12+2);/*輸出 */printf(%sn, *(pp+1);/*輸出 */三、讀程序,寫結(jié)果26下面程序的運(yùn)行結(jié)果是:( 1357 9111315 17192123 )。(注:表示空格。)#include main()int

24、a34=1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23;int *p, i;for (p=a, i=0; p&a00+12; p+, i+)if (i%4=0) printf(n);printf(%4d, *p);27下面程序的運(yùn)行結(jié)果是( 3,3,3 )。#include main()int a=2, *p, *pp;pp=&p; p=&a;a+;printf(%d,%d,%dn, a, *p, *pp); 練習(xí)7-3答案一、選擇題1main(argc, argv)中形式參數(shù)argv的正確說明形式應(yīng)當(dāng)為( A ).Achar *argvBchar argv

25、Cchar argvDchar *argv2說明語句int (*p)();的含義是( C )。Ap是一個(gè)指向一維數(shù)組的指針變量Bp是指針變量,指向一個(gè)整型數(shù)據(jù)Cp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型D以上都不對(duì)3說明語句int *(*p)();的含義是( D )。Ap是一個(gè)指向int型數(shù)據(jù)的指針Bp是指針變量,它構(gòu)成了指針數(shù)組Cp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型Dp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)指向整型的指針4已知函數(shù)說明語句void *f();,則它的含義是( A )。A函數(shù)f的返回值是一個(gè)通用型指針B函數(shù)f的返回值可以是任意的數(shù)據(jù)類型C函數(shù)f無返回值D指

26、針f指向一個(gè)函數(shù),該函數(shù)無返回值5函數(shù)的功能是交換變量x和y中的值,并且通過正確調(diào)用返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)是( D )。Afuna(int *x, int *y)Bfunb(int x, int y) int *p; int t; *p=x; *x=*y; *y=*p; t=x; x=y; y=t; Cfunc(int *x, int *y)Dfund(int *x, int *y) *x=*y; *y=*x; *x=*x+*y; *y=*x-*y; *x=*x-*y; 6閱讀程序,下面程序的輸出結(jié)果是( B )。假設(shè)可執(zhí)行文件的文件名為:PROG.EXE運(yùn)行時(shí)鍵入的命令行為:

27、PROG -386 NET3#include main(int argc, char *argv)int i;for (i=0; iargc; i+) printf(%sn, argvi);A-386BPROG.EXECPROG.EXEDPROG NET3 -386 - -386 NET3 386 NET3 NET37下面程序的運(yùn)行結(jié)果是( A )。#include f(int x, int y)return(y-x);main()int a=5, b=6, c=2;int f();int (*g)()=f;c=(*g)(a, b);printf(%dn, c);A1B2C3D前面三個(gè)答案均是

28、錯(cuò)誤的8若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( A )。A數(shù)組的首地址B數(shù)組第一個(gè)元素的值C數(shù)組中全部元素的值D數(shù)組元素的個(gè)數(shù)二、填空題9下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進(jìn)制數(shù),所得二進(jìn)制數(shù)的每一位放在一維數(shù)組中返回,二進(jìn)制的最低位放在下標(biāo)為0的元素中,其他依次類推,則是( 2 )、是( 2 )。fun(int x, int b)int k=0, r;dor=x% ;bk+=r;x/= ; while(x);10函數(shù)expand(char s, char t)在將字符串s復(fù)制到字符串t時(shí),將其中的換行符和制表符轉(zhuǎn)換為可見的轉(zhuǎn)義字符,即用n表示換行符,用t表示制表符。則是(

29、j+ )、是( )、是( j+ )、是( )、是( j+ )、是( 0 )。expand(char s, char t)int i, j;for (i=j=0; si!=0; i+)switch (si)case n: t = ; tj+=n; break;case t: t = ; tj+=t; break;default: t =si; break;tj= ;三、讀程序,寫結(jié)果11以下程序的運(yùn)行結(jié)果是( 10 7 5 3 -7 )。main()int a5=5, 10, -7, 3, 7, i, j, t;sort(a);for (i=0; i=4; i+) printf(%d , ai)

30、;sort(int a)int i, j, t;for (i=0; i4; i+)for (j=0; j4-i; j+)if (ajaj+1) t=aj; aj=aj+1; aj+1=t; 12以下程序的運(yùn)行結(jié)果是( -1 3 6 8 9 )。main()int a5=9, 6, 8, 3, -1, i, j, t, p;sort(a);for (i=0; i=4; i+) printf(%d , ai);sort(int a)int i, j, t, p;for (j=0; j4; j+)p=j;for (i=j; i=4; i+) if (aiap) p=i;t=ap; ap=aj; aj

31、=t;13以下程序的運(yùn)行結(jié)果是( sum=6 )。main()int a33=1, 3, 5, 7, 9, 11, 13, 15, 17; int sum;sum=func(a);printf(nsum=%dn, sum);func(int a3)int i, j, sum=0;for (i=0; i3; i+)for (j=0; j3; j+)aij=i+j;if (i=j) sum=sum+aij;return(sum);14下面程序的運(yùn)行結(jié)果是:( before swap a=5,b=10 in swap x=10,y=5 after swap a=10,b=5 )。#include m

32、ain()int a, b;a=5; b=10;printf(before swap a=%d,b=%dn, a, b);swap(&a, &b);printf(after swap a=%d,b=%dn, a, b);swap(int *px, int *py)int temp;temp=*px;*px=*py;*py=temp;printf(in swap x=%d,y=%dn, *px, *py);15下面程序的運(yùn)行結(jié)果是( 0 1 2 3 )。#include func(int b)int j;for (j=0; j4; j+) bj=j;main()int a4, i;func(a)

33、;for (i=0; i4; i+) printf(%d , ai);16運(yùn)行下面程序,如果從鍵盤上輸入字符串qwerty和字符串a(chǎn)bcd,則程序的運(yùn)行結(jié)果是( 10 )。#include strle(char a, char b)int num=0, n=0;while (anum!=0) num+;while (bn) anum=bn; num+; n+; return(num);main()char str181, str281;gets(str1);gets(str2);printf(%dn, strle(str1, str2);17下面程序的運(yùn)行結(jié)果是( AGAAGAG )。#inc

34、lude #include void fun(char *w, int m)char s, *p1, *p2;p1=w;p2=w+m-1;while (p1p2) s=*p1+; *p1=*p2-; *p2=s; main()static char a=ABCDEFG;fun(a, strlen(a);puts(a);第8章練習(xí)8答案選擇題1在程序中要使用語句:printf(%sn, STRING);輸出一個(gè)長度為5個(gè)字符的提示信息OK!,則應(yīng)使用宏定義語句( D )。A#define STRING OK!B#define STRING OK!C#define STRING OK!D#defi

35、ne STRING OK!2以下正確的描述為( C )。A每個(gè)C語言程序必須在開頭用預(yù)處理命令#include B預(yù)處理命令必須位于C源程序的首部C在C語言中預(yù)處理命令都以#開頭DC語言的預(yù)處理命令只能實(shí)現(xiàn)宏定義和條件編譯的功能3C語言的編譯系統(tǒng)中宏命令是( D )。A在程序運(yùn)行時(shí)進(jìn)行代換處理的B在程序連接時(shí)進(jìn)行處理的C和源程序中其他C語句同時(shí)進(jìn)行編譯的D在對(duì)源程序中其他成分正式編譯之前進(jìn)行處理的4從下列選項(xiàng)中選擇不會(huì)引起二義性的宏定義是( D )。A#define POWER(x) x*xB#define POWER(x) (x)*(x)C#define POWER(x) (x*x)D#de

36、fine POWER(x) (x)*(x)5若有宏定義如下:#define X 5#define Y X+1#define Z Y*X/2則執(zhí)行以下printf語句后,輸出結(jié)果是( D )。int a; a=Y;printf(%d, Z);printf(%dn, -a);A7,6B12,6C12,5D7,56若a、b、c、d、t均為int型變量,則執(zhí)行以下程序段后結(jié)果為( C )。#define MAX(A, B)(A)(B)?(A):(B)#define PRINT(Y) printf(Y=%dn, Y)a=1; b=2; c=3; d=4;t=MAX(a+b, c+d);PRINT(t);

37、AY=3B存在語法錯(cuò)誤CY=7DY=0第9章練習(xí)9-1答案一、選擇題1typedef unsigned long LONG的作用是( D )。A建立了一種新的數(shù)據(jù)類型B定義了一個(gè)整形變量C定義了一個(gè)長整型變量D定義了一個(gè)新的數(shù)據(jù)類型標(biāo)識(shí)符2下面的4個(gè)運(yùn)算符中,優(yōu)先級(jí)最低的是( D )。A( )B.C-D+3已知:structint i;char c;float a; test;則sizeof(test)的值是( D )。A4B5C6D74當(dāng)聲明一個(gè)結(jié)構(gòu)變量時(shí)系統(tǒng)分配給它的內(nèi)存是( A )。A各成員所需內(nèi)存量的總和B結(jié)構(gòu)中第一個(gè)成員所需內(nèi)存量C成員中占內(nèi)存量最大者所需的容量D結(jié)構(gòu)中最后一個(gè)成員所

38、需內(nèi)存量5以下對(duì)結(jié)構(gòu)類型變量的定義中錯(cuò)誤的是( D )。Atypedef struct student Bstruct student int num; int num; float age; float age; STUDENT std1; std1;CstructDstruct int num; int num; float age; float age; std1; student; struct student std1;6根據(jù)下面的定義,能打印出字母M的語句是( D )。struct personchar name9;int age;struct person class10=Joh

39、n, 17, Paul, 19, Mary, 18, adam, 16;Aprintf(%cn, );Bprintf(%cn, 1);Cprintf(%cn, 1);Dprintf(%cn, 0);7以下scanf函數(shù)調(diào)用語句中對(duì)結(jié)構(gòu)變量成員的錯(cuò)誤引用是( D )。struct pupilchar nam20;int age;int sex pup5, *p;p=pup;Ascanf(%s, );Bscanf(%d, &pup0.age);Cscanf(%d, &(p-sex);Dscan

40、f(%d, p-age);8若有以下程序段:struct dentint n;int *m;int a=1, b=2, c=3;struct dent s3=101, &a, 102, &b, 103, &c;struct dent *p=s;則以下表達(dá)式中值為2的是( D )。A(p+)-mB*(p+)-mC(*p).mD*(+p)-m二、填空題9已知:structint x, y; s2=1, 2, 3, 4, *p=s;則表達(dá)式+p-x的值( 2 ),表達(dá)式(+p)-x的值是( 3 )。10下面的程序從終端上輸入n個(gè)人的年齡、性別和姓名,然后輸出。則是( p+n )、是( gets(p-

41、name) 或 scanf(%s, p-name) )、是( p+n )。#include stdio.hstruct manchar name20;unsigned age;char sex7;main()struct man person5;data_in(person, 5);data_out(person, 5);data_in(struct man *p, int n)struct man *q= ;for (; page, p-sex); ;data_out(struct man *p, int n)struct man *q= ;for (; pname, p-age, p-sex);三、讀程序,寫結(jié)果。11下面程序的運(yùn)行結(jié)果是( Zhao )。#include struct stuint num;char name10;int age;void fun(struct stu *p)printf(%sn, (*p).name);main() struct stu students3=9801,Zhang,20,9802,Wang,19,9803,Zhao,18;fun(students+2);12下列程序輸出結(jié)果是( 1, ninicomputer )。#i

溫馨提示

  • 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)論