C語言 數(shù)組和指針練習(xí)題_第1頁
C語言 數(shù)組和指針練習(xí)題_第2頁
C語言 數(shù)組和指針練習(xí)題_第3頁
C語言 數(shù)組和指針練習(xí)題_第4頁
C語言 數(shù)組和指針練習(xí)題_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、若當(dāng)堂沒做完,下周四之前上交也可。至53/用戶名和密碼:stu語言程序設(shè)計練習(xí)題數(shù)組一、選擇題77、以下對一維數(shù)組a的正確說明是dA、char a(10);B、int a ;C、int k=5,ak; D、char a =a , b , c;78、若有說明語句:int a24;,則對a數(shù)組元素的正確引用是aA、a03B、a04C、a22D、a22+179、以下能對二維數(shù)組y進(jìn)行初始化的語句是bA、static int y2 =1,0,1, 5,2,3;B、static int y 3=1,2,3, 4,5,6;C、static int y24=1,2,3, 4,

2、5 , 6;D、static int y 3=1,0,1,0, , 1,1;80、若有說明語句:int y 4=0,0; 則下面敘述不正確的是dA、數(shù)組y的每個元素都可得初值0B、二維數(shù)組y的行數(shù)為1C、該說明等價于int y 4=0;D、只有元素y00和y01可得到初值0,其余元素均得不到初值081、以下各組選項(xiàng)中,均能正確定義二維實(shí)型數(shù)組s的選項(xiàng)是cA、float s34;B、float s(3,4); float s 4; float s =0;0; float s3 =1,0; float s34;C、 float s34; D、float s34; static float s 4=

3、0,0; float s3 ;auto float s 4=0,0,0; float s 4;82、若有說明語句:int a 3=1,2,3,4,5,6,7,8; ,則a數(shù)組的行數(shù)為aA、3B、2C、無確定值D、183、若二維數(shù)組y有m列,則在yij前的元素個數(shù)為BA、j*m+iB、i*m+jC、i*m+j-1 D、i*m+j+184、下面程序中有錯誤的行是D1、 main( )2、 3、 int x3=1;4、 int k;5、 scanf(%d, &x);6、 for (k=1; kstr2)B、if (strcmp(str1, str2)C、if (strcmp(str2, str1)0

4、)D、if (strcmp(str1, str2)0)89、下面程序段的運(yùn)行結(jié)果是cchar x5=a, b, 0, c, 0;printf(%s, x);A、abB、abC、abcD、abc90、有兩個字符數(shù)組a,b,則以下能正確為a,b進(jìn)行賦值的語句是dA、gets(a, b);B、scanf(%s%s, &a, &b);C、getchar(a); getchar(b); D、gets(a); gets(b);91、有字符數(shù)組s180和s280,則以下能正確對s1, s2進(jìn)行輸出的語句是bA、puts(s1, s2)B、printf(%s, %s, s1, s2);C、putchar(s1

5、, s2); D、puts(s1), puts(s2);92、以下程序段的運(yùn)行結(jié)果是cchar a7=abcdef;char b4=ABC;strcpy(a, b);printf(%c, a5);A、B、0C、eD、f93、以下描述正確的是dA、兩個字符串所包含的字符個數(shù)相同時,才能比較字符串B、字符個數(shù)多的字符串比字符個數(shù)少的字符串大C、字符串STOP與STOP相等D、字符串That小于字符串The94、以下對字符數(shù)組的描述中錯誤的是cA、字符數(shù)組中可以存放字符串B、字符數(shù)組中的字符串可以整體輸入、輸出C、可以在賦值語句中通過賦值運(yùn)算符=對字符數(shù)組整體賦值D、不可以用關(guān)系運(yùn)算符對字符數(shù)組中的

6、字符串進(jìn)行比較95、若有語句:char s110, s210=books,則能將字符串books賦給數(shù)組s1的正確語句是bA、s1=books;B、strcpy(s1, s2);C、s1=s2; D、strcpy(s2, s1);96、以下printf語句的輸出結(jié)果是Aprintf(%dn, strlen(school);A、7 B、6C、存在語法錯誤D、不定值97、下面程序的功能是將字符串s中所有的字符c刪除。請選擇填空。#include main( ) char s80; int i, j; gets(s); for (i=j=0; si!=0; i+) if (si!=c) a sj=0

7、; puts(s);A、sj+=siB、s+j=siC、sj=si;D、sj=si;98、當(dāng)運(yùn)行以下程序時候,從鍵盤輸入:abcdef則下面程序的運(yùn)行結(jié)果是d#include #define N 6main( ) char ch1N; int k=0; for ( ; kN; ch1k=getchar( ), k+) ; for (k=0; kN; k+) putchar(ch1k); A、abcdefB、aC、bD、abbcccdddef99、下面程序的運(yùn)行結(jié)果是b#include #include main( ) char x80=AB, y80=LMNP;(98題答案:) int n=0

8、; strcat(x, y); while (xn+!=0) yn=xn; puts(y); A、LBB、ABLMNPC、ABD、LBLMNP二、填空題50、在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是按行儲存。51、若有定義:double x35;,則x數(shù)組中行下標(biāo)的下限為2,列下標(biāo)的上限為4。52、若二維數(shù)組a有m列,則計算任一元素aij在數(shù)組中相對位置的公式為i*m+j+1。(設(shè)a00是數(shù)組的第一個元素)53、若有定義:int a34=1, 2, 0, 4, 6, 8, 10;, 則初始化后,a12得到的初值是0,a21得到的初值是6。54、若有說明:char s20;,如果想從鍵盤上把

9、字符串:This is a book. 輸入到數(shù)組s中,應(yīng)當(dāng)調(diào)用的函數(shù)是gets(),函數(shù)調(diào)用語句的形式是gets(s)。55、請寫出下面各printf語句的結(jié)果。、printf(%sn, strcat(school, student);schoolstudent、printf(%dn, strlen(CHINA)+strlen(C);6、printf(%dn, strcmp(The, The);056、根據(jù)下面說明和要求,完成對應(yīng)的填空。、若有:char str110,str2 =student; 能把str2中的字符串賦給str1的串函數(shù)調(diào)用語句是strncpy(str1,str2)、若有

10、:char str120=a good, str2 =student; 能把str2中的字符串接到str1中的字符串后面的串函數(shù)調(diào)用語句是strncat57、下面程序?qū)⒍S數(shù)組a的行和列元素互換后存到另一個二維數(shù)組b中。請?zhí)羁?。main( ) int a23=1, 2, 3, 4, 5, 6; int b32, i, j;printf(array a:n);for (i=0; i=1; i+) for (j=0; j=2; j+) printf(%5d, aij); bji=aij; printf(n); printf(array b:n);for (i=0; i=2; i+) for (j=

11、0; j=1; j+) printf(%5d, bij); printf(n); 58、下面程序可求出矩陣a的兩條對角線上的元素之和。請?zhí)羁铡ain( ) static int a33=1, 3, 6, 7, 9, 11, 14, 15, 17;int sum1=0, sum2=0, i, j;for (i=0; i3; i+) for (j=0; j3; j+) if (i= =j) sum1+=aij;for (i=0; i=0; j-) if (i+j= =2) sum2+=aij;printf(sum1=%d, sum2=%dn, sum1, sum2);59、下面程序的功能是將二維

12、數(shù)組a中每個元素向右移一列,最右一列換到最左一列,移后的數(shù)組存到另一個二維數(shù)組b中,并按矩陣形式輸出a和b。請?zhí)羁?。例如?main( ) static int a23=4, 5, 6, 1, 2, 3;int b23, i, j; printf(array a:n);for (i=0; i=1; i+) for (j=0; j3; j+) printf(%5d, aij); If(j=1)bij+1=aij; printf(n); for (i=0; i=2; i+) bi0=ai2;printf(array b:n);for (i=0; i2; i+) for (j=0; j3; j+)p

13、rintf(%5d, bij); if(j=3)printf(“n”); 60、下面程序的功能是檢查一個二維數(shù)組是否對稱(即對所有的aij=aji)。請?zhí)羁铡ain( ) static int a44=1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4;int i, j, found=0;for (j=0; j4; j+)for (i=0; i4; i+)if (aij!=aji) found=1; break; if (found) printf(No); else printf(Yes);61、下面程序段將輸出computer,請?zhí)羁?。char c =Its a comput

14、er;for (i=0; ci!=0; i+) if(i=8)continue; printf(%c, cj); 62、以下程序的功能是對從鍵盤輸入的兩個字符串進(jìn)行比較,并輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如:輸入的兩個字符串分別為these和there,則輸出是1。請?zhí)羁铡?include main() char s1100, s2100;int x, y;printf(nInput string1:n);gets(s1);printf(nInput string2:n);gets(s2);x=0;while (s1x= =s2x)&(s1x!=n )x+;y=s1x-s

15、2x;printf(%dn, y);63、以下程序的輸出結(jié)果是1110main( ) int x6, a=0, b, c=14;do xa=c%2; a+;c=c/2;while(c=1);for (b=a-1; b=0; b-) printf(%d, xb);printf(n);64、下面程序的功能是在一個字符數(shù)組中查找一個指定的字符,若數(shù)組中含有該字符則輸出該字符在數(shù)組中第一次出現(xiàn)的位置(下標(biāo)值);否則輸出-1。#include #include main( ) char c=a, t50;int n, k, j;gets(t);n=strlen(t);for (k=0; kn; k+)i

16、f (tk=) j=k; break; else j=-1;printf(%d, j);65、下面程序的功能是把以下給定的字符按其矩陣格式讀入數(shù)組str1中,并輸出行列號之和是3的數(shù)組元素。請?zhí)羁?。main( ) char str143=A, b, C, d, E, f, G, h, I, j, K, l;int x, y, z;for (x=0; x4; x+)for (y=0; y3; y+) z=x+y;if (z=3)printf(%cn, strxy);66、下面程序的功能是輸出兩個字符串中較短串的長度。請?zhí)羁铡?include main( ) char str120, str220

17、;int i, k, num;gets(str1); gets(str2);i=strlen(str1); k=strlen(str2);num=i=k?k: i;printf(%dn, num);67、下面程序的功能是在三個字符串中找出最小的串。#include #include main( ) char s20, str320;int i;for (i=0; i3; i+)gets(stri);strcpy(s, strcmp(str1,str0)0?str1:str0);if (strcmp(str2, s)0)strcpy(s, str2);printf(%sn, s);68、當(dāng)運(yùn)行以

18、下程序時,從鍵盤輸入:GOODTEACHSETROOM則程序的運(yùn)行結(jié)果是SETCHter#include #include main( ) int i; char str10, temp10=Computer; for (i=0; i4; i+) gets(str);if (strcmp(temp, str)0)strcpy(temp, str);puts(temp);語言程序設(shè)計練習(xí)題指針一、選擇題133、設(shè)有定義:int a=1, *p=&a; float b=2.0; char c=A; ,以下不合法的運(yùn)算是aA、p+;B、a-;C、b+;D、c-;134、以下程序執(zhí)行后a的值為main

19、( ) int a, m=2, k=1, *p=&k; a=p=&m; printf(%dn,a);A、-1 B、0 C、1 D、2135、以下對指針變量的操作中,不正確的是dA、int p, *q; q=&p;B、int *p, *q; q=p=NULL;C、int a=5, *p; *p=a;D、int a=5, *p, *q=&a; *p=*q;136、以下對指針變量的操作中,不正確的是dA、int a, *p, *q; p=q=&a;B、int a=6, *p, *q=&a; p=q;C、int a=b=6, *p; p=&a; b=*p;D、int a, *p, *q; q=&a;

20、p=*q;137、設(shè)有語句:int k=1, *p1=&k, *p2=&k;,以下不能正確執(zhí)行的賦值語句是aA、p1=k B、p1=p2C、*p1=*p2 D、k=*p1+*p2138、若有語句:int a=4, *p=&a;,下面均代表地址的一組選項(xiàng)是cA、a, p, &*aB、*&a, &a, *pC、&a, p, &*p D、*&p, *p, &a139、設(shè)已有說明語句:int i=5, *q;,若要建立如圖所示的存儲結(jié)構(gòu),以下正確的賦值語句是(無圖)A、q=i; B、*q=i; C、q=&i; D、*q=&i;140、若有說明語句:char c=9, *sp1, *sp2;,以下均正確

21、的一組賦值語句是aA、sp1=&c; sp2=sp1; B、sp1=&c; sp2=&sp1; C、sp1=&c; sp2=*sp1; D、sp1=&c; *sp2=*sp1;141、以下判斷正確的是cA、char *s=string; 等價于char *s; *s=string;B、char str10=string; 等價于:char str10; str=string;C、char *s=string; 等價于char *s; s=string;D、char str10=string; 等價:char str10; *str=string;142、以下能正確進(jìn)行字符串賦值操作的是dA、c

22、har s5=ABCDE;B、char s5=A, B, C, D, E;C、char *s; *s=ABCDE;D、char *s=ABCDE; 143、下面程序段的運(yùn)行結(jié)果是dchar *s=abcde;s+=1; printf(%d, s);A、bcdeB、字符b的地址C、字符c的地址 D、字符b的ASCII值144、以下能正確讀入字符串的程序段是cA、char *p; scanf(%s, p);B、char str10; scanf(%s, &str);C、char str10, *p; p=str; scanf(%s, p);D、char str10, *p=str; scanf(%

23、s, p1);145、設(shè)有說明語句:char *str=tcLanguagen;,則指針str所指字符串的長度為aA、13 B、15 C、17 D、說明語句不合法146、以下運(yùn)算正確的程序段是cA、char str1 =12345, str2 =abcdef; strcpy(str1, str2);B、char str10, *st=abcde; strcat(str, st);C、char *st1=12345, *st2=abcde; strcat(st1,st2);D、char str10=, *st=abcde; strcat(str, st);147、下面程序段的運(yùn)行結(jié)果是cchar

24、 str =xyz, *p=str;printf(%dn, *(p+3) );A、字符z的地址B、0 C、字符z的ASCII碼D、字符z148、以下程序段的運(yùn)行結(jié)果是cchar a =program, *p;p=a;while (*p!=g) printf(%c, *p-32); p+; A、PROgram B、PROGRAM C、PROD、proGRAM149、下面程序段的運(yùn)行結(jié)果是bmain( ) char c1, c2; c1=A+5-3; c2=A+6-3; printf(%d, %cn, c1, c2);A、C,DB、67,D C、無確定值D、B,C150、以下程序段的運(yùn)行結(jié)果是ac

25、har b =Basic, *p;for (p=b; pb+5; p+)printf(%sn, p);ABasicBBCCDBasicasicaIcsicssiciciasicccBasic151、若有語句:char s1 =Beijing, s28,*s3, *s4=Shanghai;則對庫函數(shù)strcpy調(diào)用正確的是A、strcpy(s1, s4);B、strcpy(s2, s4);C、strcpy(s3, s1);D、strcpy(s4, s1);152、以下與庫函數(shù)strcpy(char *s1, char *s2)功能不相等的程序段是cA、strcpy1(char *s1, char

26、 *s2) while (*s1+=*s2+)!=0) ; B、strcpy2(char *s1, char *s2) while (*s2) *s1+=*s2+; C、strcpy3(char *s1, char *s2) while (*s1+=*s2+) ; D、strcpy4(char *s1, char *s2) while (*s1=*s2)!=0) s1+; s2+; 153、以下程序段的輸出結(jié)果是bchar a =Program, *ptr;ptr=a;for ( ; ptra+7; ptr+=2) putchar(*ptr);A、Program B、PormC、有語法錯D、P

27、or154、以下語句不正確的是dA、char a6=test;B、char a6, *p=a; p=test;C、char *a; a=test;D、char a6, *p; p=a=test;155、下面程序段的運(yùn)行結(jié)果是bchar st8=output;printf(%sn, st);A、outputB、outputC、outputD、編譯出錯156、以下程序段的輸出結(jié)果是bchar a =language, *ptr=a;while (*ptr) printf(%c, *ptr-32); ptr+; A、LANGUAGEB、陷入死循環(huán)C、有語法錯D、language157、若有定義:in

28、t b5;,則以下對b數(shù)組元素的正確引用是aA、*&b5 B、b+2 C、*(*(b+2) D、*(b+2)158、若有以下語句,則對x數(shù)組元素引用不正確的是cint x =1, 2, 3, 4, 5, 6, *ptr;ptr=x;A、*(-ptr) B、*(ptr-)C、*(ptr+) D、*(+ptr)159、若有定義:int c5, *p=c;,則以下對c數(shù)組元素地址的正確引用是dA、p+5 B、c+C、&c+1D、&c0160、若有說明語句:int a23, m, n; 且0m1,0n2,則以下對數(shù)組元素的正確引用形式是dA、am+nB、(a+m)nC、*(a+m)+nD、*(*(a+

29、m)+m)161、若有定義:int a23;,則以下對a數(shù)組元素地址的正確表示為dA、*(a+1)B、*(a1+2)C、a1+3D、a00162、若有定義:int (*p)3;,則以下敘述正確的是cA、p是一個指針數(shù)組名B、p是一個指針,它可以指向一個一維數(shù)組中的任意元素C、p是一個指針,它可以指向一個含有3個整型元素的一維數(shù)組D、(*p)3等價于*p3163、若有以下定義和語句,則對m數(shù)組元素地址的正確引用是dint m23, (*p)3;p=m;A、p2B、p0+1C、*(p+2)D、(p+1)+2164、若有定義:int x5, *p=x;,則不能代表x數(shù)組首地址的是cA、xB、&x0C

30、、&xD、p165、若有以下定義和語句,則對a數(shù)組元素的正確引用是aint a23, (*p)3;p=a;A、(p+1)0B、*(*(p+2)+1)C、*(p1+1)D、p1+2166、若有定義:int i, x34;,則不能將x11的值賦給變量i的語句是dA、i=x11B、i=*(*(x+1)C、i=*(*(x+1)+1)D、i=*(x1+1)167、若有以下定義和賦值語句,且0i1,0j2,則以下對s數(shù)組元素地址的正確引用形式是cint s23=0, (*p)3, i, j;p=s;A、(*(p+i)jB、*(pi+j)C、*(p+i)+j D、(p+i)+j168、設(shè)用以下程序段建立了s

31、p與str的關(guān)系,則以下對字符串的引用不正確的是achar str48=str1,str2,str3,str4, *sp4;int n;for (n=0; n max (a, b) D、 ( *p ) (a, b )184、若有定義:int (*p)( );,則指針pA、代表函數(shù)的返回值B、指向函數(shù)的入口地址C、表示函數(shù)的類型D、表示函數(shù)返回值的類型185、下面程序的運(yùn)行結(jié)果是main( ) int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; int *q=b; printf(%dn, *(q+2) );A、1B、2C、3D、4187、下面程序的運(yùn)行結(jié)果是#inclu

32、de #include main() int a33=2,4,6; int k,*q=&a00;for(k=0;k2;k+) if(k= =0) akk+1=*q+1; else +q; printf(“%d”,*q);A、26 B、23 C、36 D、33188、下面程序的運(yùn)行結(jié)果是void prt(int *a)printf(“%dn”,+*a);main() int b=25; prt(&b);A、26 B、24 C、25 D、23189、下面程序的運(yùn)行結(jié)果是main( ) int a34=1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23; int (*

33、q)4=a, i, j, n=0; for (i=0; i3; i+) for (j=0; j2; j+) n=n+*(*(q+1)+j); printf(%dn, n);A、68B、99C、60D、108190、下面程序的運(yùn)行結(jié)果是#include #include main() char a=AbCdEf, *b=aB; a+; b+; printf(%dn, strcmp(a,b) );A、零 B、正數(shù) C、負(fù)數(shù) D、無確定值191、若運(yùn)行以下程序時,從鍵盤上輸入OPEN THE DOOR,則程序的運(yùn)行結(jié)果是#include char f(char *ch) if(*ch=A) *ch-

34、=A-a;return *ch; main() char s181,*q=s1; gets(s1); while(*q) *q=f(q); putchar(*q); q+; putchar(n);A、oPEN tHE dOOR B、OPEN THE DOORC、open the door D、Open The Door192、下列程序的運(yùn)行結(jié)果是#include void f (float *q1, float *q2, float *a) a=(float *)calloc(1, sizeof(float); *a=*q1+*(q2+);main() float a2=1.1, 2.2, b

35、2=10.0, 20.0, *s=a; f(a, b, s); printf(%fn, *s);A、1. B、11. C、12. D、21.193、下列程序的運(yùn)行結(jié)果是#include #include void f (char *s, int n) char a,*q1,*q2;q1=s; q2=s+n-1;while (q1q2) a=*q1+; *q1=*q2-; *q2=a; main() char b =”ABCDEFG”; f(b, strlen(b) ); puts(b);A、GAGGAGA B、AGAAGAG C、GFEDCBA D、AGADAGA194、以下程序的運(yùn)行結(jié)果是main ( ) char *q =Is it; printf (%3s, %0.4sn, q , 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

提交評論