2025年C語言編程技巧與實戰上海計算機二級考試復習攻略_第1頁
2025年C語言編程技巧與實戰上海計算機二級考試復習攻略_第2頁
2025年C語言編程技巧與實戰上海計算機二級考試復習攻略_第3頁
2025年C語言編程技巧與實戰上海計算機二級考試復習攻略_第4頁
2025年C語言編程技巧與實戰上海計算機二級考試復習攻略_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

上海理工大學

上海市計算機二級考試(C語言)復習資料題目

c語言是一種面向過程的程序設計語言,函數、指針、地址和遞歸概念是它的難點。本

復習資料以教學大綱為根據,提供各類題型和練習,重在“基本概念”、“常用算法”、“閱讀

分析程序”、“編程技能”等諸方面的強化訓練,按照上海市計算機二級考試(C語言)的框

架,提供“基礎知識、讀程序寫成果、改錯、編程序和程序指令填空”幾部份,供學生學習

參照,文末附習題參照解答。

1.B2.C3.C4.B5.D6.A7.A8.C9.C10.A

11.C12.A13.B14.B15.C16.B17.D18.B19.A20.C

21.C22.B23.B24.C25.D26.B27.B28.D29.C30.C

31.D32.C33.C34.B35.C36.D37.C38.B39.C40.B

41.C42.B43.C44.B45.B46.A47.D48.D49.D50.D

51.A52.C

第一部份:基礎知識

I.下述循環的循環次數是(B)—?入彳?1、

intk=2;

while(k=0)printf("%d",k);

k-;printf("\n");

A、無限次B、()次C、1次D、2次

2.在下列選項中,沒有構成死循環的程序段是(C)

A、inti=100;B、for(;:)

while(1)

{i=i%IOO+l;

if(i>IOO)break;

)

C、intk=10(X):D、ints=36;

do{++k;}while(k>=10000);while(s);--s;

3.若有如下定義和語句,且0<=i<10,則對數組元素的錯誤引用是(C)

inta[]=<0,1,2,3,4,5,6,7,8,9},*p,i;

p=a;

A、*(a+i)B、a[p-a]C、p+i_______D、*(&a[i])

4.下面能對的將字符串“Boy”進行完整賦值操作的語句是'B'有國■符包括結束符

A、chars[3J={'B\'o','y'};B、chars[]=uBoyH;

C、chars[31={"Boy"l;D、chars[3];

slOJ=B';s[l]='o';s[2]=y;

5.如下程序段的輸出成果是(D)

chararr[]="ABCDn;

char*ptr;

for(ptr=arr;ptr<arr-i-4;ptr++)

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

A、ABCDB、AC、DD、ABCD

BCD

CD

D

6.C語言的aulo型變量是(A)

A、存儲在動態存儲區中。

B、存儲在靜態存儲區中。

C、存儲在計算機CPU的寄存器中。

D、存儲在外存儲器中。

7.測試文獻與否結束函數的函數名是(A)

A、fcofB、EOFC、cofD、FEOF

8.下面程序段的輸出成果是(C)

inta[][4]={1,23,4,5,6,7,8,9,10J1,12),(*p)[4];

p=a;

printf(u%d\n,,,*(*(p)+2));

A、IB、5C、3D、7

9.C語言規定;在一種源程存中,main函數的位置是(C)

A、必須在最開始B、必須在系統調用的函數的背面

C、可以任意D、必須在最終

10.一種C程序的執行是從(A)

A^本程序的main函數開始,到main函數結束

B、本程序的笫一種函數開始,到本程序文獻的最終一種函數結束

C、本程序的main函數開始,到本程序文獻的最終一種函數結束

D、本程序文獻的第一種函數開始,到本程序main函數結束

11.下面的四個選項中,均是不合法的顧客標識符的選項是(C)

A、AB、floatC、b-aD、_123

P_0laOgototemp

do_AintINT

12.下面四個選項中,均是合法■義字■的選項是(A)

A、B、C、,018,D、,\\(r

4\V'\017'4\ior

”,、,,,‘xab'4xlf

13.sizeof(float)是(B)

A、一種雙精度型的體現式B、一種整型體現式

C、一種函數調用D、一種不合法的體現式

14.下述循環的循環次數是(B)

intk=2;

while(k=0)printf("%d",k);

k-;printf("\nu);

A、無限次B、0次C、1次D、2次

15.若有如下定義和語句,且0<=i<10,則對數組元素的錯誤引用是()

inta[]=<0,1,2,3,4,5,6,7,8,9},*p,i;

p=a;

A、*(a+i)B、a[p-ajC、p+iD、*(&a[i])

16.若二維數組a有m列,則在前的元素個數為(B)

A、j*m+iB、i*m+jC>D、i*m+j+l

17.對兩個數組a和b進行如下初始化

chara[尸,ABCDEF”;

charb口={‘A','B','C','D','E',F};

則如下論述對的的是(D)

A、a與b數組完全相似B、a與b長度相似

C、a和b中都寄存字符串D、a數蛆比b數組長度長

18.C語言中有關全局變,的說法,對的的是(B)

A、在使用到它的所有文獻中均需定義

B、在函數體外定義一次

C、在main函數中定義

E、在main函數外定義

19.若有數組名作為函數調用時的實參,則傳遞給該函數形參的是(A)

A、數組的首地址B、數組的第一種元素的值

C、數組中所有元素的值D、數組元素的個數

20.下面程序段的輸出成果是()

inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[3J;

p=a;

printfC%d\n,,,*(*(p+I)-2));

A、3B、4C、6D、7

21.不屬于C語言程序基本構造的是()

A)次序構造B)選擇構造C)函數杓造D)循環構造

22.若有定義及賦值:

inta[6][6]>*p;p=*a;

則卜處各式中能表達兀素列地址的體現式是____________o

A)&a[0]+lB)a[0]+lC)*(p+l)D)p+1

23.十進制數123轉換成十六進制數是—___O

A)7AHB)7BHC)7CHD)7DH

24.C語言中合法的字符常量是_______。

A)'\058'B)'ab'C)'\xab'D)“\0"

25.下列字符中,ASCH碼管最小的是________o

A)AB)aC)0D)空格

26.下面程序輸出成果是____________

main()

{intk=0;charc=,A';

do

{switch(C++)

{case*A*:k++;break;

case'B':k--;

case1C*:k+=2;break;

case,D*:k=k%2;continue;

case*E*:k=k*10;break;

default:k=k/3;

k++;

}while(c<*G1);

printf("k=%d\n'*zk);

}

A)k=3B)k=4C)k=2D)k=0

27.設有如下定義:inix=l,y=-l;,則語句:printf("%d'<n",(x-&++y)):的輸出成果是()

A)1B)OC)-lD)2

28.C語言規定,函數返回值的類型是由。

A)return語句中的體現式類型所決定

B)調用函數時的主調函數類型所決定

C)調用函數時系統臨時決定

D)在定義該函數時所指定的函數類型所決定

29.下列定義中,不是指針數組定義的是。

A)int*p[5];B)float*q[4]:C)int(*r)[6];D)char*w[7];

30.如下程序運行成果為

#definePT3.5

#defineS(x)PT*x*x

main()

{inta=l,b=2;

printf(H%4.If\nn,S(a+b));

)

A)14.0B)31.5C)7.5D)10.5

31.下面程序輸出成果是i)

main()

u

{chara[]=ABCDEFG"zk,*p;

fun(a,0,2);fun(a,4,6);

printf(n%s\nn,a);

)

fun(char*s,intpl,intp2)

{charc;

while(pl<p2)

{c=s[pl];s[pl]=s[p2];

s[p2]=c;pl++;p2―;

}

)

A)ABCDEFGB)DEFGABCC)GFEDCBAD)CBADGFE

32.如下程序的輸出成果是()

main()

{inta=l,i;

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

printf(“'d”,func(a));

}

func(a)

inta;

{intb=0;staticintc=l;

b++;c++;

return(a+b+c);

)

A)4444B)445504567D)5678

33.執行下面的程序后,y的值是

main()

{inta[]={2,4,6,8,10};

inty=l,xz*p=a+l;

for(x=0;x<3;x++)y+=*(p+x);

HH

printf(%d\nzy);

}

A)17B)18C)19D)20

34.若使用下述程序段將整數30和浮點數5.5分別賦給變量a和b,那么輸入應當是()

inta;

floatb;

scanf("a=%d,b=%f",&b);

A)305.0B)d=30,b=5.5C)30,5.5D)a=30b=5.5

35.設有如下定義:

int(*ptr)();

則如下論述中對的的是()

A)ptr是指向一維數組的指針變量

B)ptr是指向int型數據的指針變量

C)ptr是指向函數的指針,該函數返回一種int型數據

D)ptr是-種函數名,該函數的返回值是指向int型數據的指針

36.設有如下定義:

inta[4][3]={1,2,3/4/5,6,7,8,9,10,11,12);

int(*ptr)[3]=a,*p=a[0];

則如下.可以對的表達數組元素a[1][2]的體現式的是()

A)*(*ptr+1)[2]B)*(*(p+5))

C)(*ptr+l)+2D)*(*(a+l)+2)

37.若有如下定義和語句,且0v=i<10,則對數組元素的錯誤引用是()

inta[]={0,1,2,3,4,5,6,7,8,9},*p,i;p=a;

A)*(a+i)B)a[p-alC)p+iD)

38.執行下面的程序后,a的值是()

#defineSQR(X)X*X

main()

{inta=10,k=2,m=l;

a/=SQR(k+m)/SQR(k+m);

printf(n%d\nn,a);

)

A)10B)1C)9D)0

39.體現式1S/4*sqil(4.0)陽的值的數據類型為()

A)intB)float

C)doubleD)不確定

40.當a=l,b=3,c=5,d=4時,執行完下面一段程序后x的值是()

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex—3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

41.判斷char型變量ch與否為大寫字母的對的體現式()

A),A,<=ch<=,Z,B)(ch>='A')and(ch<=,z,)

C)(ch>=,A')&&(ch<='Z')D)('A'<=ch)||('Z'>=ch)

42.如下程序的輸出成果是()

main()

{inti,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)];

fbr(i=0;i<3;i++)k+=p[i]*2;

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

)

A)20B)21C)22D)23

43.下面程序的運行成果是()

main()

{charch[7J={"65ab21");

inti,s=0;

for(i=0;ch[i]>='0,&&ch[i]<=,9,;i+=2)s=10*s+ch[i]-'0,;

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

A)12ba56B)6521C)6D)62

44.如下程序運行后的成果是()o

main()

{chars[]=u12345678**;intv[4]={0J,l,0},k.i;

for(k=0;s[k];k++)

{switch(s[k])

{case'l':i=0;case'2':i=l;

case'3*:i=2;case'4':i=3;}

v[i]++;

1

for(k=0;k<4;k++)printf(u%dn,v[kJ);

)

A)0123B)0118C)5678D)0246

45.下面程序輸出成果是()

main()

{intk=0;charc=*A';

do

{switch(c++j

{case'A':k++;break;

case'B*:k--;

case'C,;k+-2;break;

case1D*:k=k%2;continue;

case1E*:k=k*10;break;

default:k=k/3;

k++;

}while(c<'G,);

n

printf("k=%d\nzk);

}

A)k=3B)k=4C)k=2D)k=0

46.二進制數111011IB轉換成十六進制數是()

A)77HB)37HC)73HD)E7H

47.能對的表達a和b同步為正或同步為負的邏輯體現式是()

A)(a>=0IIb>=0)&&(a<0IIb<0)B)(a>=0&&b>=0)&&(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>0

48.要把高級語言編寫的源程序轉換為目的程序,需要使用()

A)編輯程序B)驅動程序C)診斷程序D)編譯程序

49.英文小寫字母d的ASCII碼為100(十進制),英文大寫字母D的ASCII碼為()

A)50B)66C)52D)68

50.下面程序輸出成果是()

voidprtv(int*x)

n

{printf("%d\nz++*x);

}

main()

{inta=25;prtv(&a);

)

A)23B)24C)25D)26

51.下面程序的輸出是()

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

main()

{inti,*p=&aa[0][0];

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

{if(i==0)

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

else

++P;

printf(n%dn,*p);}

)

A)23B)26C)33D)36

52.該程序的執行成果是()

#include<stdio.h>

#include〈string.h>

main()

{intfun(char*,int);

char*p;

p="1234567”;

fun(p,strlen(p));

puts(p);

}

intfun(char*w,intn)

{chart,*sl,*s2;

sl=w;s2=w+n-l;

while(sl<s2)

{t=*sl++;

*sl=*s2—;

*s2=t;

)

}

A)1234567B)765432101711717D)7177171

53.試寫出下列數學體現式的C語言體現式

Vx+J~y

2(x+y)

54.下面程序的輸出成果是()

#includc<stdio.h>

main()

{char*a=',1234";fun(a);printf("\n");}

fun(char*s)

{chart;

if(*s){t=*++s;putchar(t);fun(s);}

}

55.若有定義及賦值:

inta[6][6],*p:p=*a;

則下列各式中能表達元素列地址的體現式是()

A)&af01+lB)a[01+lC)*(p+l)D)p+1

56.假如用八位二進制補碼表達帶符號的定點整數,則能表達的十進制數的范圍是()

A)-127到+127B)-128到+128C)-127到+128D)-128到+127

57.若有定義及賦值:

inly,*p,*pl;

p=&y;pl=p;*pl=4;

則可以輸出變量y的地址的語句是()

A)printf("%u\n",y);B)printf("%u\n",*pl);

C)prinif("%u\n",*p);D)printf("%u\n",&y);

58.設有inty,u=0,x=15,下列各項中不能使y值為0的是()

A)y=xAx;B、y=xIu;C、y=x?4;D、y=x&u;

59.二進制數11數111.101B轉換成十六進制數是()

A)FF.AHB)FF.5HC)7F.AHD)7F.5H

60.字符串“123”在計算機內所占用的字節數是()個。

A)1B)2C)3D)4

61.C語言中最基本的數據類型包括()

A)整型、實型、邏輯型B)整型、實型、字符型

C)整型、字符型、邏輯型D)整型、實型、邏輯型、字符型

62.C語言中有關do—while循環的說法,對的的是()

A)在if語句內不能再使用do-while語句構成的循環

B)do-while語句構成的循環必須用break語句才能退出

C)do-while語句構成的循環,當while語句中的體現式值為非零時結束循環

D)do-while語句構成的循環,當while語句中的體現式值為零時結束循環

63.在C語言中,不對的的int類型的常數是()

A)32768B)0C)037D)Xaf

64.設有如下定義:

inta=2,b=1,c=3,d=4,m=2,n=2;

則執行體現式:(m=a>b)&&(n=c>d)后,n的值為()

A)1B)2C)3D)0

65.設a,b類型對的,語句:printf("%d",(a=2)&&(b=-2));的執行成果是()

A)2B)-2C)1D)0

66.設有如下定義:intx=Ly=-l;,則語句:printf("%d\n”,(x--&++y)):的輸出成果是()

A)1B)0C)-lD)2

67.若有如下定義和語句,且0<=i<10,則對數組元素的錯誤引用是()

inta[]={0,1,2,3,4,5,6,7,8,9},*p,i;p=a;

A)*(a+i)B)a[p-a]C)p+iD)*(&a[i])

68.如下程序段的輸出成果是()

chararr[]="ABCD";

char*ptr;

fbr(ptr=arr;ptr<arr+4;ptr++)

printf("%s\nH?ptr);

A)ABCDB)AC)DD)ABCD

BCD

CD

D

69.下列定義中,不是指針數組定義的是()

A)int*p[51;B)float*q[4];C)int(立)[6];D)char*w[7];

70.不能進行++和一運算的數據類型是()

A)指針變量B)整型變量C)整型常量D)字符變量

71.已知:inta,b;用語句scanf(”卷d%d”,&a,&b);輸入a、b的值時,不能作為

輸入數據分隔符的是()

A),B)空格C)回車D)[Tab]鍵

72.為表達關系x>=y>=z,應使用C語言體現式()

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

73.如下不能對二維數組a進行對的初始化的語句是()

A)inta[2][3]={0};

B)inta[][3]={{1,2},{0}};

C)inta[2][3]={{1,2},{3,4},{5,6}};

D)inta[][3]={1,2z3Z4,5,6};

74.如下不對的的描述是()

A)break.語句不能用于循環語句和switch語句外的任何其他語句

B)在switch語句中使用break語句或continue語句的作用相似

C)在循環語句中使用continue語句結束本次循環,但不會終止整個循環

D)在循環語句中使用break語句是,會跳出循環體,提前結束循環

75.若有如下定義和語句

chars[12]=,,abook!H;

printfstrlen(s));

則輸出成果是()

A)12B)8C)7D)6

76.如下程序的輸出成果是()

main()

{inta=2,i;

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

printf('^d'\func(a));

func(a)

inta;

{intb=0;staticintc=3;

b++;C++;

return(a+b+c);

)

A)777B)777C)789D)789

77.執行下面的程序后,y的值是()

main()

(inta[]={2,4,6,8,10};

inty=l,x,*p=a+l;

for(x=0;x<3;x++)y+=*(p+x);

printf("%d\n"zy);

)

A)17B)18C)19D)20

78.下面程序的輸出是()

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

main()

{inti,*p=&aa[0][0];

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

{if(i==0)

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

else

++P;

printf*p);}

}

A)23D)26C)33D)36

79.設有如下定義:

inta[4H3]={l,2,3,4,5,6,7,8,9,10,11,12);

int(*ptr)[3]=a,*p=a[0];

則如下可以對的表達數組元素a[1][2]值的體現式的是()

A)*(*ptr+l)[2]B)*(*(P+5))

C)(*ptr+l)+2D)*(*(a+1)+2)

80.設有如下的程序段:

charstr[]=,,Hello,';

char*ptr;

ptr=str;

執行完上面的程序段后,*(ptr+5)的值為()

A)fo'B)?\0'C)不確定的值D),o,的地址

81.假設已定義chara[10]和char*p=a,下面的賦值語句中,對的的是()

A)a[10]=HTurboCnB)a=nTurboC”

C)*p=nTurboCnD)p=nTurboC"

82.下面程序輸出成果是()

main()

{chara(]=,,ABCDEFG,\k,*p;

fun(a,0,2);fun(a,4,6);

,,,,

printf(%s\nza);

}

fun(char*s,intpl,intp2)

{charc;

while(pl<p2)

{c=s[pl];s[pl]=s[p2];

s[p2]=c;pl++;p2―;

)

)

A)ABCDEFGB)DEFGABCC)GFEDCBAD)CBADGFE

83.下列程序的輸出成果是()

main()

{inta[5]={2,4z6z8/10}/*p,**k;

p=a;k=&p;

printf(n%ci”,*(p++));

printf(n%d\nn,**k);

)

A)44B)22C)24D)46

84.如有structstudent

{intno;

charname[20];

charsex;

struct

{intyear;

intmonth;

intday;

}birth;

);

structstudents;

對變量s賦值”1984年11月11日”對的方式是()

A)year=1984;month=ll;day=ll;

B)birth.year=l984;birth.month=ll;birth.day=ll;

C)s.year=1984;s.month=ll;s.day=ll;

D)s.birth.year=1984;s.birth.month=ll;s.birth.day=ll;

85.如下程序的輸出成果是()

main()

{union

{chari(2];

intk;

Ir;

r.i[O]=O;r.i[l]=2;

printf(n%d\n”,r.k);

}

A)2B)512C)0D)不確定

86.C語言中,文獻由

A)記錄構成B)由數據行構成

C)由數據塊構成D)由字符(字節)序列構成

87.要判斷char型變量m與否是數字字符,可以使用體現式()

A)0<=m&&m<=9B)101<c=m&&

C)HOfl<=m&&m<="9"D)0<=m&m<=9

88.如下對的的語句是()

A)inta[l][4]={1,2,3,4,5);

B)floatx[3][]=

C)longb[2][3]={{1},{1,2},{1,2,3}}:

D)doubley[][3]={0};

89.執行下面的程序后,a的值為()

main()

{inta,b;

for(a=l,b=l;a<=100;a++)

{if(b>=20)break;

if(b%3==l)

{b+=3;continue;}

b-=5;

}

)

A)7B)8C)9D)10

90.下面程序的運行成果是()

main()

{charch[7]={'*65ab21M};

inti,s=0;

for(i=0;ch[i]>='0*&&ch[i]<='91;i+=2)

s=10*s+ch[i]-101;

printf(M%d\nu,s);

)

A)12ba56B)6521C)6D)62

91.若已定義:inta[9],*p=a;并在后來的語句中未變化p的值,不能表達a[l]地址

的體現式為()

A)p+1B)a+1C)a++D)++p

92.structstudent

{intage;

intnum;

}studl,*p;

p=studl;

對構造體變量studl中組員age的不對的引用方式為()

A)studl.ageB)student.age

C)(*p).ageD)p->age

93.若有如下的闡明,見輸出成果為()

unionun

{inta;

charc[2];

}w;

w.c[0]=0x49;w.c[1]=0x48;

printf(M%x\n",w.a);

A)4948B)48490480049D)490048

94.C語言中的文獻類型只有(

A)索引文獻和文本文獻兩種B)ASCII文獻和二進制文獻兩種

C)文本文獻一種D)二進制文獻一種

95.請寫出將整數n(0<n<9)轉化為數字字符(ASCH字符)的體現式。

96.寫出體現式(0xl234&0xDF)vv8的16進制成果,

97.分別寫出下面兩式的計算成果(括號內是二進制數):

(11010101)&(01001011)和(11010101)&&(01001011)

98.試計算如下體現式的值

(int)(((float)32/5+(int)(6.8)*2.5)*4)

99.體現式(HA5)的成果為:

100.設有如下定義intx=6;

執行語句X+=X-=X*X;后請寫出X的值

第二部分族程序,寫成果

I.設有數組a的定義:

int叫={1,2,3,4};

語句:

a[3]=-a[0]?a[l]++:a[2]++;

執行后,數組a的各元素,衣次為

2.下面的程序段執行后,

#defineROUND3(x)(int)(x*l000+0.5)/1000.0

printfT%F',ROUND3(3.1416));

輸出的成果是0

3.設有函數段如下:

intefg(inta,intb)

{if(a%b==O)

returnb;

else

returnefg(b,a%b);

}

???

c=efg(48,8);

則c的值是o

4.假設m是一種三位數,從左到右用a,b,c表達各位上的數字,現將該三位數上的百位

數與十位數互換,則從左到右各位數字是bac的三位數其體現式

是o

5.執行下面的程序后,

#include<stdio.h>

main()

{char*pl,*p2;

p1="How_arc_you?";

p2=pl+strlen(pl)-l;

while(p2>=pl)

printf(H%c",*p2-);

for(p2=pl;*p2!='\0';p2=p2+2)

printf(',%c,,,*p2);

printf("\n");

}

輸出的成果是。

6.如下程序運行后,

structks

{inta;

ini*b;

}s[4],*p;

main()

{intn=lJ;

printf("\n");

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

{s[i].a=n;

s[i].b=&sli].a;

n=n+2;

}

P=&s[0];

P++;

printf("%d,%d\n'\(++p)->a,(p++)->a);

}

則成果是。

7.從鍵盤上輸入123<回車),該程序的輸出成果是

#include<stdio.h>

main()

{intc;

whi1e((c=getchar())!=>\n,)

{switch(c-JI,)

{case0:

case1:putchar(c+4);

case2:putchar(c+3);break;

case3:putchar(c+2);

case4:putchar(c+1);break;})

printf("\n");

}

8.如下程序運行時,輸入10個整型數,輸出成果是

inta,b;

voidfound_value(intarray[],intn)

{int*p,*array_end;

arrayend=array+n;

a=b=*array;

for(p=array+l;p<arrayend;p++)

if(*p>a)a=*p;

elseif(*p<b)b=*p;

return;

)

main()

{inti,number[10];

printfCenter10integernumbers:\n");

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

scanf&number[i]);

foundvaluc(number,ID);

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

)

9.執行該程序時,輸出成果是o

main()

{inty=10;

do{y-;}while(-y);

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

}

10.運行如下程序,從鍵盤上輸入china#,則輸出成果是

#include<stdio.h>

main()

{intvl=0,v2=0;

charch;

while((ch=getchar())!='#')

switch(ch)

{case'a':

caseh:

default:vl++;

case'o':v2++;

)

printf(”%d,%d\n”,vl,v2);

)

11.#include<stdio.h>

voidprintletter()

{staticintc=57;

if(c>=48)

{pulchar(c);

c-;

printletter();

}

)

main()

{printlctter();

)

12.main()

{inta[5]={1,3,57,9};

int*num[5];

ini

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

num[i]=&ali);

p=num;

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

{prinlf("%3d”,**p);p++;}

}

13.main()

{intfun(intx,int);

intj=1,n=4,k;

k=fun(&j,m);

printf("j=%dm=%d\n”,j,m);

printf(wThefirstk:%d\n”,k);

k=fun(&j,m;;

printf("j=%dm=%d\n”,j,m);

printf("Thesecondk:%d\n”,k);

}

intfun(int*x,inty)

{staticintk=2;

k+=*x+1;

*x二k-y;

returnk;

14.^include<stdio.h>

intcount,position,data;

voidsearch(int*□,intn,intst)

(if(*p==data)

{count++;

position=st;

)

if(n>1)

search(p+1,n-1,st+1);

}

mainO

{inta[5]={ID,30,50,30,20);

count-0;

data=25;

search(a,15,1);

printf(,,count=%d,position=%d\n,?,count,position);

)

15.intsumadd(intfunc,intdata)

{staticintsum;

switch(func)

{case0:sum=data;break;

case1:sum+=data;break;

case2:sum-=data;break;

)

returnsum;

)

main()

{sumadd(1,10);

printf(fd”,sumadd(2,10));

sumadd(2,20);

printf(t4%d,\sumadd(2,10));

}

16.voids(inta[],intn)

{inti,j,t;

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

{for(t=a[i],j=i-1;j>=0&&t<a[j];j")

a[j+l]=a[j];

a[j+l]=t;

)

)

main()

{inti,b[6]={24,12,14,32,22,34);

s(b,6);

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

printf(w%4dv,b[i]);

printf(w\nw);

)

17.voidp(intk)

{intm,i;

for(m=2;rn<=k;m++)

{for(i=2;i<=ni;i++)

if(!(m%i))break;

if(i==m)printf("%4d",m);

}

printf(“\n”);

)

mainO

{P(13);}

18.#include<stdio.h>

main()

{inta[]={0,10,20,30,};

intn=0.*p;

p=a+1;

n+=*(p++):

n+=(*p)++;

n+=*(++p);

n+=++(*p);

printf(44n=%d,a[]=%d,%d,%d,%d\n”,n,a[0],a[l],a[2],a[3]);

)

19.^include<stdio.h>

voidstrselect(char*strs[],intn,char*dest)

{inti;

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

*(dest+i)=*(strs[i]+i);

*(dost+i)=>\0';

}

main()

{char*strs□={"First","Second",“Third”,"Forth","Fifth"};

charrst[81];

strselect(strs,5,rst);

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

)

20.^include<stdio.h>

structnode

(intn;

structnode*next;

};

voidinsert(structnode*head,intnewn)

{structnode*p,*q;

for(p=hcad

溫馨提示

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

評論

0/150

提交評論