模擬題8-一維數(shù)組和指針_第1頁
模擬題8-一維數(shù)組和指針_第2頁
模擬題8-一維數(shù)組和指針_第3頁
模擬題8-一維數(shù)組和指針_第4頁
模擬題8-一維數(shù)組和指針_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第九部分:一維數(shù)組與指針一、選擇題(1)有以下程序main( int a10=123,4,5,678,9,10, *p=&a3, *q=p+2;printf("%dn", *p + *q;程序運(yùn)行后的輸出結(jié)果是A) 16B) 10C) 8D) 6(2)有以下程序main( int a尸2,4,6,8,10, y=0, x, *p;p=&a1;for(x= 1; x<3; x+ y += px;printf("%dn",y;程序運(yùn)行后的輸出結(jié)果是A) 10B) 11C) 14D) 15(3)有以下程序void sort(int a,

2、int n int i, j ,t;for (i=0; ifor (j=i+1; jif (aimain(int aa10=12345,6,7,8,9,10, i;sort(aa+2, 5;for (i=0; i<10; i+ printf("%d,",aai;printf("n"程序運(yùn)行后的輸出結(jié)果是A) 1,2,3,4,5,6,7,8,9,10, B) 1,2,7,6,3,4,5,8,9,10,C) 1,2,7,6,5,4,3,8,9,10, D) 1,2,9,8,7,6,5,4,3,10,(4)有以下程序void sum(int a口 a0

3、= a-1+a1; main( int a10=1,2,3,4,5,6,7,8,9,10;sum(&a2;printf("%dn", a2;程序運(yùn)行后的輸出結(jié)果是A) 6B) 7C) 5D) 8(5)有以下程序void swap1(int c0, int cl 口 int t ;t=c00; c00=c10; c10=t;void swap2(int *c0, int *c1 int t;t=*c0; *c0=*c1; *c1=t;main( int a2=3,5, b2=3,5;swap1(a, a+1; swap2(&b0, &b1;printf

4、("%d %d %d %dn",a0,a1,b0,b1;程序運(yùn)行后的輸出結(jié)果是A) 3 5 53B) 5 3 3 5C) 35 35D) 5 3 5 3(6有以下程序main(int p8=11,12,13,14,15,16,17,18, i=0,j=0;while(i+<7 if(pi%2 j+=pi;printf("%dn",j;程序運(yùn)行后的輸出結(jié)果是A) 42B) 45C) 56D) 60(7)有以下程序void f(int *x,int *y int t; t=*x;*x=*y;*y=t;main( int a8=123,4,5,6,7,8

5、,i,*p,*q;p=a;q=&a7;while(pf(p,q;p+;q-; for(i=0;i<8;i+printf("%d,",ai;程序運(yùn)行后的輸出結(jié)果是A) 8,2,3,4,5,6, 7, 1 ,B) 5,6,7,8,1,2, 3, 4,C) 1, 2, 3, 4, 5, 6, 7, 8,D) 8, 7, 6, 5, 4, 3, 2, 1 ,(8以下敘述中錯誤的是A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變C)當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出

6、“下標(biāo)越界” 的出錯信息D)可以通過賦初值的方式確定數(shù)組元素的個數(shù)(9)有以下程序#define N 20fun(int a,int n,int m int i,j;for(i=m;i>=n;i-ai+1=ai;main(int i,aN=123,4,5,6,7,8,9,10;fun(a,2,9;for(i=0;i<5;i+printf("%d",ai;程序運(yùn)行后的輸出結(jié)果是A) 10234B) 12344C) 12334D) 12234(10有以下程序prt(int *m,int n int i;for(i=0;i mi+; main( int a尸1,2,3

7、,4,5,i;prt(a,5;for(i=0;i<5;i+ printf("%d,",ai;(12有以下程序程序運(yùn)行后的輸出結(jié)果B.A)1,2,3,4,5,B)2,3,4,5,6,C)3,4,5,6,7,D)2,3,4,5,1,(11)有以下程序 main( int a尸1,2,3,4,5,6,7,8,9,0,*p;for(p=a;p printf("%d,",*p;程序運(yùn)行后的輸出結(jié)果是A)1,2,3,4,5,6,7,8,9, 0,B)2,3,4,5,6,7,8,9,10, 1,C)0,1,2,3,4,5,6,7,8, 9,D)1,1,1,1,1

8、,1,1,1,1, , 1,int f(int a return a%2; main( int s8=1,3,5,2,4,6,i,d=0;for (i=0;f(si;i+ d+=si;printf("%dn",d;程序運(yùn)行后的輸出結(jié)果是A 9B 11C 19D 21(13設(shè)有定義語句int x6=2,4,6,8,5,7,*p=x,i;要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是A for(i=0;i<6;i+ printf("%2d",*(p+;B for(i=0;i<6;i+ printf("%2d",*(p

9、+i;C for(i=0;i<6;i+ printf("%2d",*p+;D for(i=0;i<6;i+ printf("%2d",(*p+;(14有以下程序#includemain(int a尸123,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5;printf("%d %dn",*p,*q;程序運(yùn)行后的輸出結(jié)果是A運(yùn)行后報錯B 6 6C 6 11D 5 10(15已有定義:int i,a10,*p;,則合法的賦值語句是A p=100;B p=a5;C p=a2+2;D p=a

10、+2;(16有以下程序main( int x=1,3,5,7,2,4,6,0),i,j,k;for(i=0;i<3;i+for (j=2;j>=i;j-if(xj+1>xj k=xj;xj=xj+1;xj+1=k;for(i=0;i<3;i+for(j=4;j<7-i;j+if(xj+1>xj k=xj;xj=xj+1;xj+1=k;for (i=0;i<3;i+for(j=4;j<7-i;j+if(xj>xj+1 k=xj;xj=xj+1;xj+1=k;for (i=0;i<8;i+ printf("%d",xi

11、;printf("n"程序運(yùn)行后的輸出結(jié)果是:A 75310246B 01234567C 76310462D13570246(17有以下程序段int a10=12345,6,7,8,9,10,*p=&a3,b;b=P5;b中的值是A 5B 6C 8D 9(18有以下程序void swap1(int c口 int t;t=c0;c0=c1;c1=t;void swap2(int c0,int c1 int t;t=c0;c0=c1;c1=t;main( int a2=3,5,b2=3,5;swap1(A ; swap2(b0,b1;printf( "%d %

12、d %d %d n",a0,a1,b0,b1;其輸出結(jié)果是A 5 3 5 3C 3 5 3 5D 3 5 5 3(19有以下程序void sum(int *Aa0=a1;main( int aa10=1,2,3,4,5,6,7,8,9,10,i;for(i=2;i>=0;i- &nbsp; sum(&aai;printf( "%d n” ,aa0;執(zhí)行后的輸出結(jié)果是A 4B 3C 2D 1(20有以下程序void sort(int a,int n int i,j,t;for(i=0;ifor(j=i+2;jif(aimain( int aa10=1,2

13、,3,4,5,6,7,8,9,10,i;sort(aa,10;s=x+3for(i=0;i<10;i+ printf("%d ,aai;printf( " n"其輸出結(jié)果是A 123,4,5,6,7,8,9,10,B 10,9,8,7,6,5,4,3,2,1,C 9,2,7,4,5,6,3,8,1,10,D 1,10,3,8,5,6,7,4,9,2,(21以下能正確定義一維數(shù)組的選項(xiàng)是A int num ;B #define N 100Int num N;C int num0.100;D int N=100;int numN;(22有以下程序main( in

14、t p7=11,13,14,15,16,17,18,i=0,k=0;while(i<7&&pi%2k=k+pi;i+;printf("%d'n",k;執(zhí)行后輸出結(jié)果是A 58B 56C 45D 24(23有以下程序main( int x8=8,7,6,5,0,0,*s;printf("%dn",s2;執(zhí)行后輸出結(jié)果是A隨機(jī)值B 0C 5D 6(24以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#define N 10void arrin(int xN int i=0;while(iscanf("%d&

15、quot;,;在下劃線處應(yīng)填入的是A x+iB) &xi+1C) x+(i+D) &x+i(25以下程序中函數(shù)sort的功能是對a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序void sort(int a,int n int i,j,t;for(i=0;ifor(j=i+1,jif(ai main(int aa10=12345,6,7,8,9,10,i;sort(&aa3,5;for(i=o;i<10;i+ print( "%d,” ,aai;printf( ' n "程序運(yùn)行后的輸出結(jié)果是A) 1,2,3,4,5,6,7,8,9,10B 10,

16、9,8,7,6,5,4,3,2,1,C 1,2,3,8,7.6.5.4.9,10D 1,2,10,9,8,7,6,5,4,3(26以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置。void reverse(int a ,int n int i,t;for(i=0;i t=ai; ai=an-1-i;an-1-i=t;main( int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0;reverse(b,8;for(i=6;i<10;i+ s+=bi;printf( "%d n" ,s;程序運(yùn)行后的輸出結(jié)果是A 22B 10C 3

17、4D 30(27以下程序調(diào)用findmax函數(shù)返回數(shù)組中的最大值findmax(int *a,int n int *p,*s;for(p=a,s=a; p-aif ( s=P;return(*s;main( int x5=12,21,13,6,18;printf("%d'n",findmax(x,5;在下劃線處應(yīng)填入的是A p>sB *p>*sC ap>asD p-a>p-s(28若有定義:int aa 8;。則以下表達(dá)式中不能代表數(shù)組元aa1的地址的是A &aa0+1B &aa1C &aa0+D aa+1(29以下程

18、序的輸出結(jié)果是f(int b口,int m,int n int i,s=0;for(i=m;ireturn s;main(int x,a尸1,2,345,6,7,8,9;x=f(a,3,7;printf("%d'n",x;A 10B 18C 8D 15(30假定int類型變量占用兩個字節(jié),其有定義:int x10=0,2,4;,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是A 3B 6C 10D 20(31以下程序的輸出結(jié)果是main( int i, a10;for(i=9;i>=0;i- ai=10-i;printf("%d%d% d,a2,a5,a8;A 258B

19、 741C 852D 369(32下列程序的輸出結(jié)果是A非法B) a4的地址C) 5D) 3main( char a10=9,876,5,4,321,0,*p=a+5;printf("%d ,* -p;(33下面程序的輸出結(jié)果是A 0B 1C 10D 9main( int a =1,2,3,4,5,6,7,8,9,0,*p;p=a;printf("%d n” ,*p+9;(34當(dāng)調(diào)用函數(shù)時,實(shí)參是一個數(shù)組名,則向函數(shù)傳送的是A數(shù)組的長度B數(shù)組的首地址C數(shù)組每一個元素的地址D數(shù)組每個元素中的值(35以下程序的輸出結(jié)果是A 20B 21C 22main( int i, k, a

20、10, p3;k=5;for (i=0;i<10;i+ ai =i;for (i=0;i<3;i+ pi =ai *(i+1;for (i=0;i<3;i+ k+=pi *2;printf( "d n”,k;(36以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值fun(int *a, int n int i,j=O,P;P=j;for(i=j;iif(aireturn(p;在下劃線處應(yīng)填入的是A i=pB ap=aiC p=jD p=i(37有如下說明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則數(shù)值為9的表達(dá)式是A *P+9B *(P+8C*P

21、+=9D P+8(38有如下程序main。 int n5=0,0,0,i,k=2;for(i=0;iprintf( "d n",nk;該程序的輸出結(jié)果是A不確定的值B 2C 1D 0(39執(zhí)行下面的程序段后,變量k中的值為A不定值B 33C 30D 10int k=3, s2;s0=k; k=s1*10;(40若已定義:int a尸0,123,4,5,6,7,8,9, *p=a,i;其中0WiW9,則對a數(shù)組元素不正確的引用上A ap-aB *(&aiC piD a10(41下列程序執(zhí)行后的輸出結(jié)果是A 6B 7C 8D 9void func(int *a,int

22、b口 b0=*a+6; main( int a,b5;a=0; b0=3;func(&a,b; printf("%d n,b0;(42若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是A void fun(int m, int x口 B void fun(int s, int h41C void fun(int p, int *s D void fun(int n, int amain(int a50,n; fun(n, &a9; (43以下程序的輸出結(jié)果是A6B 6789C '6'D 789 main( char a10=T,2 , '3'

23、; , '4' ,5 , '6' , '7' , '8' , '9' , 0, *p ;int i ;i=8 ;p=a+I;printf("%sn" , p-3 ;(44以下程序的運(yùn)行結(jié)果是A運(yùn)行后報錯B 6 6C 6 12D 5 5#include "stdio.h"main(int a =1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ;int *p=a+5 , *q=NULL;* q=*(p+5 ;printf("%d %d n&

24、quot;, *p , *q ;(45下面程序把數(shù)組元素中的最大值放入a0中。則在if語句中的條件表達(dá)式應(yīng)該是A p>aB *p>aC *p>*a0D *p0> *a0main( int a10=6, 7, 2, 9, 1, 10, 5, 8, 4, 3, *p=a, I;if(*a=*p;printf("%d" , *a ;(46以下程序運(yùn)行后,輸出結(jié)果是A 10000B10010C 00110D10100main( int y=18,i=0,j,a8;do ai=y%2; i+y=y while(y>=1for(j=i-1;j>=0;

25、j- printf("%d",aj;printf("n"(47設(shè)有如下定義:int arr=6,7,8,9,10;int * ptr;則下列程序段的輸出結(jié)果為ptr=arr;* (ptr+2+=2;printf ("%d,%dn",*ptr,*(ptr+2;A 8,10B 6,8C 7,9D 6,10(48以下程序的輸出結(jié)果是main( int i,k,a10,p3:K=5;for (i=0;i<10;i+ ai=i;for (i=0;i<3;i+ pi=ai*(i+1;for (i=0;i<3;i+ k+=pi*2

26、;printf("%d'n",k;A 20B 21C 22D23(49若有以下定義和語句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則不能表示a數(shù)組元素的表達(dá)式是A *pB a10C *aD ap-a(50若有以下的定義:int a尸123,4,5,6,7,88,9,10, *p=a;則值為3的表式是A p+=2, *(p+B p+=2,*+pD p+=2,+*p(51若有以下說明:int a10=12345,6,7,8,9,10,*p=a;則數(shù)值為6的表達(dá)式是A *p+6B *(p+6C *p+=5D p+5(52下面程序輸出數(shù)組中的最大

27、值,由s指針指向該元素.main( int a10=6,7,2,9,1,10,5,8,4,3,*p,*s;flr(p=a, s=a; p-a<10; p+if(?s=p;printf("The max:%d”,*s:則在if語句中的判斷表達(dá)式應(yīng)該是A p>sB *p>*sC ap>asD p-a>p-s(53要求函數(shù)的功能是在一維數(shù)組中查找值;若找到則返回所在的下標(biāo)值,否則返回0;數(shù)列放在到中。不能正確執(zhí)行的函數(shù)是A) funa(int *a,int n,int x Bfunb(int *a,int n,int x *a=x;int k;while(an

28、!=xn-;for(k=1;k<=n;k+return n;if(ak=xreturn k;return 0; Cfunc(int a,int n,int x D fund(int a,int n,int x int *k; int k=0;a0=x;k=a+n;dowhile(*k!=x k-;k+;return k-n;while(kif(ak=xreturn k; else return 0; (54下列程序的輸出結(jié)果是main( int a5=2,4,6,8,10,*P,* *k;p=a; k=&p;printf("%d”,*(p+; printf("

29、%dn",* *k; A 4 4B 2 2C 2 4D 4 6(55閱讀下列程序:main( int n3,i,j,k;for(i=0;i 3;i+ > ni=0;k=2;for (i=0;i k;i+ >for (j=0;jk;j+ > nj=ni+1;printf("%dn",n1;下述程序運(yùn)行后輸出結(jié)果是A 2B 1C 0D 3(56執(zhí)行以下程序后,y的值是main ( int a尸2,4,6,8,10;int y=1,x,*p;p=&a1;for(x=0;x<3;x+ y + = * (p + x;printf("

30、%dn",y; A 17B 18C 19D 20(57下面程序的輸出是A 3B 4C 1D 2main( int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf("%dn",*(p+2;(58請讀程序:#includef(in b, int n int i, r;r=1;for(i=0; i<=n; i+ r=r*bi;return r;main( int x, a= 2,3,4,5,6,7,8,9;x=f(a, 3;printf("%d'n",x;上面程序的輸出結(jié)果是A 720B 120C 24D 6(

31、59請選出以下程序的輸出結(jié)果#includefun(s, n1, n2int *s, n1, n2; int i, j, t;i=n1; j=n2;while(i t= *(s+i; *(s+i= *(s+j; *(s+j=t;i+; j-;main( int a10=1,2,3,4,5,6,7,8,9,0,i, *p=a;fun(p,0,3; fun(p,4,9; fun(p,0,9;for(i=0; i<10; i+ printf("%d", *(a+i;printf("n"A 0 9 87 6 543 21B 4 3 21 0 987 65C

32、 5 6 78 9 012 34D 0 9 87 6 512 34(60以下程序調(diào)用findmax函數(shù)求數(shù)組中值最大的元素在數(shù)組中的下標(biāo),請選擇填空。# includefindmax ( s , t , kint *s , t , *k; int p; for(p=0,*k=p;pif ( sp > s*k; main( int a10 , i , k ;for ( i=0 ; i<10 ; i + + scanf("%d",&ai;findmax ( a,10,&k ;printf ( "%d,%dn" , k , ak ;

33、 A k=pB *k=p-sC k=p-sD *k=p二、填空題:(1以下程序運(yùn)行后的輸出結(jié)果是1】。main( int p7=11,13,14,15,16,17,18;int i=0,j=0;while(i<7 && pi%2=1 j+=pi+;printf("%dn",j;(2以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們之和。請?zhí)羁?。main( int i,a20,sum,count;sum=count=0;for(i=0;i<20;i+ scanf("%d",2;fro(i=0;i<20;i+ i

34、f(a>0 count+;sum+=【3;printf("sum=%d,count=%dn",sum,count;(3以下程序運(yùn)行后的輸出結(jié)果是 4】main( int i, n尸0,0,0。;for(i=1;i<=4;i+ ni=ni-1*2+1;printf("%d ,ni;(4若已定義:int a10, i; ,以下fun函數(shù)的功能是:在第一個循環(huán)中給前 10個數(shù)組元素 依次賦1、2、3、4、5、6、7、8、9、10;在第二個循環(huán)中使a數(shù)組前10個元素中的值對稱折疊,變成 1、2、3、4、5、5、4、3、2、1。請?zhí)羁?。fun( int a in

35、t i;for(i=1; i<=10; i+【5】=i;for(i=0; i<5; i+6=ai;(5以下程序的輸出結(jié)果是7】。main(int arr =30,25,20,15,10,5, *p=arr;P+;printf( "%d n”,*(p+3;(6若有以下定義,則不移動指針p,且通過指針p引用值為 98的數(shù)組元素的表達(dá)式是8。int w10=23,54,10,33,47,98,72,80,61, *p=w;(7以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計計算出平均成績,并輸出低于 平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。請?zhí)羁铡ain( float x1

36、000, sum=0.0 , ave , a ;int n=0 , i ;printf("Enter mark : n" ; scanf("%f" , &a;while(a>=0.0&& n<1000 sum+ 9; xn=10;n+; scanf("%f" , &a;ave= 【11】;printf("Output : n"printf("ave=%fn" , ave ;for (I=0;Iif 【12】 printf ("f n"

37、;,xI;(8下面程序輸出的結(jié)果是【13】#define MAX 3int a MAX;main(fun1(; fun2( a ; printf("n"fun1( int k, t=0;for (k=0; k< MAX ; K+,t+ ak尸t+t;fun2(int b口 int k;for(k=0; k< NAX ; k+ printf("%d”, *(b+K;(9以下程序輸出的是 【14】main( int a10=19,23,44,17,37,28,49,36, *p;p=a;printf("%dn",(p+=33;(10以下

38、fun函數(shù)的功能是:累加數(shù)組元數(shù)中的值.n為數(shù)組中元素的個數(shù),累加的和彳1放入x所指的存儲單元中,請?zhí)羁?fun(int b ,int n, int *x int k, r=0;for(k=0;k 15 16 =r;(11若有以下定義和語句,則使指針p指向值為36的數(shù)組元素的表達(dá)式是【17】。int a10=19,23,44,17,37,28,49,36,*p;p=a;(12下面fun函數(shù)的功能是將形參x的值轉(zhuǎn)換成二進(jìn)制數(shù),所得二進(jìn)制數(shù)的每一位數(shù)放在一維數(shù)組中返回,二進(jìn)制數(shù)的最低位放在下標(biāo)為0的元素中,其它依此類推。請?zhí)羁铡un(int x,int b口 int k=0,r;do r=x%

39、18;bk+=r;x/=【19; while(x; (13下面程序通過函數(shù)average計算數(shù)組中各元素的平均值,請?zhí)羁?float average(int * pa,int n int i;float avg=0.0;for(i=0;i 【20 】;avg= 121;return avg; main( int i,a5=2,4,6,8,10;float mean;mean=average(a,5; printf("mean=%fn",mean;(14下面程序的輸出是【22】。main( int a= 2,4,6, *prt=&a0, x=8,y,z;for(y=0; y<3; y+z=(*(prt+yprintf("%dn", z;(15下面程序的輸出是【23】。main(int arr10,i,k=0;for( i=0; i<10; i+arri=i;for( i=1; i<4; i+k+=arri=i;printf( '%dn&q

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論