C期末考試復(fù)習(xí)題2Word版_第1頁
C期末考試復(fù)習(xí)題2Word版_第2頁
C期末考試復(fù)習(xí)題2Word版_第3頁
C期末考試復(fù)習(xí)題2Word版_第4頁
C期末考試復(fù)習(xí)題2Word版_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

整理為word格式整理為word格式整理為word格式(1)

int

a[4]={5,3,8,9};其中

a[3]的值為(

D

)。

A.

5

B.

3

C.

8

D.

9(2)

以下

4

個(gè)數(shù)組定義中,(D

)是錯(cuò)誤的。

A.

int

a[7];

B.intn=5;

long

b[n];

C.

char

c[5];

D.

int

n,d[7];(3)

對(duì)字符數(shù)組進(jìn)行初始化,(

B

)形式是錯(cuò)誤。

A.

char

c1[

]={'1',

'2',

'3'};

B.

char

c2[

]=123;

C.

char

c3[10

]={

'1',

'2',

'3',

'\0'};

D.

char

c4[

]="123";(5)

在數(shù)組中,數(shù)組名表示(

A.

)。

A.

數(shù)組第

1

個(gè)元素的首地址

B.數(shù)組第

2

個(gè)元素的首地址

C.

數(shù)組所有元素的首地址

D.數(shù)組最后

1

個(gè)元素的首地址(6)

若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標(biāo)分別是(B

)。

int

a[12]

={1,2,3,4,5,6,7,8,9,10,11,12};

A.

1,12

B.

0,11

C.

1,11

D.

0,12

(7)

若有以下說明,則數(shù)值為

4

的表達(dá)式是(

D

)。

int

a[12]

={1,2,3,4,5,6,7,8,9,10,11,12};

char

c=’a’,

d=4,

g=3

A.

a[g-c]

B.

a[4]

C.

a['d'-'c']

D.

a['d'-c]

(8)

設(shè)有定義:char

s[12]

=

"string"

;

則printf(

"%d\n",strlen(s));

的輸出是(

A

)。

A.

6

B.

7

C.

11

D.

12(9)

設(shè)有定義:char

s[12]

=

"string";

則printf("%d\n

",

sizeof(s));

的輸出是(

D)。

A.

6

B.

7

C.

11

D.

12(10)

合法的數(shù)組定義是(

A)。

A.

char

a[

]=

"string

"

;

B.

int

a[5]

={0,1,2,3,4,5};

C.

char

a=

"string

"

;

D.

char

a[

]={0,1,2,3,4,5}(11)

下面的程序中哪一行有錯(cuò)誤(

D

)。

#include

<stdio.h>

main()

{

float

array[5]={0.0};

//第A行

int

i;

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

scanf("%f",&array[i]);

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

array[0]=array[0]+array[i];//第B行

printf("%f\n",array[0]);

//第C行

}

}

A.

第A行

B.

第B行

C.

第C行

D.

沒有(12)

下面哪一項(xiàng)是不正確的字符串賦值或賦初值的方式(

C

)。

C

A.

char

*str;

str="string";

B.

char

str[7]={'s','t','r','i','n','g'};

C.

char

str1[10];str1="string";

整理為word格式整理為word格式整理為word格式

D.

char

str1[]="string",str2[]="12345678";(13)

若有以下說明和語句,則輸出結(jié)果是哪一項(xiàng)(

C

)。

(strlen(s)為求字符串s的長度的函數(shù))

char

s[12]="a

book!";

printf("%d",strlen(s));

A.

12

B.

8

C.

7

D.

11(14)

若有以下說明和語句,則輸出結(jié)果是(

C

)。char

str[]="\"c:\\abc.dat\"";

printf("%s",str);

A.

字符串中有非法字符

B.

\"c:\\abc.dat\"

C.

"c:\abc.dat"

D.

"c:\\abc.dat"

(15)若有以下語句,則下面

是正確的描述。char

x[]="123456";

char

y[]={'1',

'2','3','4','5','6'};

(B)A.

x數(shù)組與y數(shù)組長度相同。

B.

x數(shù)組長度大于y數(shù)組長度。

C.

x數(shù)組長度小于y數(shù)組長度。

D.

x數(shù)組和y數(shù)組的賦值是非法的。(16)在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是。CA)整型常量 B)整型表達(dá)式C)整型常量或整型表達(dá)式 D)任何類型的表達(dá)式(17)以下對(duì)一維整型數(shù)組a的正確說明是。DA)inta(10); B)intn=10,a[n];C) intn; D) #defineSIZE10scanf(“%d”,&n); inta[SIZE];inta[n];(18)若有說明:inta[10];則對(duì)a數(shù)組元素的正確引用是。CA)a[10] B)a[3.5] C)a(5) D)a[10-10](19)在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名;(C)A)[整型常量表達(dá)式] B)[整型表達(dá)式]C)[整型常量]或[整型表達(dá)式] D)[常量](20)以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語句是。(C)A)inta[10]=(0,0,0,0,0); B)inta[10]={};C)inta[]={0}; D)inta[10]=”10*1”;(21)下面程序如果只有一個(gè)錯(cuò)誤,那么是(每行程序前面的數(shù)字表示行號(hào))。(A)1main()2{3 floata[3]={3*0};4 inti;5 for(i=0;i<3;i++)scanf(“%d”,&a[i]);6 for(i=1;i<3;i++)a[0]=a[0]+a[i];7 printf(“%d\n”,a[0]);8}整理為word格式整理為word格式整理為word格式A)第3行有錯(cuò)誤 B)第7行有錯(cuò)誤C)第5行有錯(cuò)誤 D)沒有錯(cuò)誤(22)下面程序中有錯(cuò)誤9*/的行是(每行程序前面的數(shù)字表示行號(hào))。(D)1main()2{3 floata[3]={1};4 inti;5 scanf(“%d”,&a);6 for(i=1;i<3;i++)a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8}A)3 B)6 C)7 D)5(23)下面程序(每行程序前面的數(shù)字表示行號(hào))。(D)1main()2{3 floata[3]={0};4 inti;5 for(i=0;i<3;i++)scanf(“%f”,&a[i]);6 for(i=1;i<4;i++)a[0]=a[0]+a[i];7 printf(“%f\n”,a[0]);8}A)沒有錯(cuò)誤 B)第3行有錯(cuò)誤C)第5行有錯(cuò)誤 D)第6行有錯(cuò)誤(24)對(duì)以下說明語句的正確理解是。(B)inta[10]={6,7,8,9,10};A)將5個(gè)初值依次賦給a[1]至a[5]B)將5個(gè)初值依次賦給a[0]至a[4]C)將5個(gè)初值依次賦給a[6]至a[10]D)因?yàn)閿?shù)組長度與初值的個(gè)數(shù)不相同,所以此語句不正確整理為word格式整理為word格式整理為word格式1.變量的指針,其含義是指該變量的____B_____.a)值b)地址c)名d)一個(gè)標(biāo)志2.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是___D__.a)a,point,*&ab)&*a,&a,*pointc)*&point,*point,&ad)&a,&*point,point3.若有說明;int*p,m=5,n;以下正確的程序段的是_____D___.a)p=&n;b)p=&n;scanf("%d",&p);scanf("%d",*p);c)scanf("%d",&n);d)p=&n;*p=n;*p=m;4.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是____B____.main(){ int*p,*q,a,b;p=&a;printf(“inputa:”);scanf(“%d”,*p);……}a)*p表示的是指針變量p的地址b)*p表示的是變量a的值,而不是變量a的地址c)*p表示的是指針變量p的值d)*p只能用來說明p是一個(gè)指針變量5.已有變量定義和函數(shù)調(diào)用語句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是_____D___.voidprint_value(int*x){printf(“%d\n”,++*x);}a)23b)24c)25d)6.若有說明:long*p,a;則不能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是AA)*p=&a;scanf("%ld",p);B)p=(long*)malloc(8);scanf("%ld",p);C)scanf("%ld",p=&a);D)scanf("%ld",&a);7.有以下程序B#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運(yùn)行后的輸出結(jié)果是A)1,2,1,2 B)1,2,2,1整理為word格式整理為word格式整理為word格式C)2,1,2,1 D)2,1,1,28.有以下程序C main() {inta=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); }執(zhí)行后的輸出結(jié)果是A)1 B)2 C)3 D)49.有以下程序main(){inta,k=4,m=4,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是(C)A)4 B)1 C)0 10.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;,當(dāng)執(zhí)行p++;后,下列說法錯(cuò)誤的是(A)A)p向高地址移了一個(gè)字節(jié) B)p向高地址移了一個(gè)存儲(chǔ)單元C)p向高地址移了兩個(gè)字節(jié) D)p與a+1等價(jià)11.有以下程序段

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

b=p[5];

b中的值是(C)

A)5B)6C)812.若有以下定義,則對(duì)a數(shù)組元素的正確引用是___d______.inta[5],*p=a;a)*&a[5]b)a+2c)*(p+5)d)*(a+2)13.若有以下定義,則p+5表示____A___.inta[10],*p=a;a)元素a[5]的地址b)元素a[5]的值c)元素a[6]的地址d)元素a[6]的值14.設(shè)已有定義:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列語句中正確的是(B)A)for(p=a;a<(p+10);a++);B)for(p=a;p<(a+10);p++);C)for(p=a,a=a+10;p<a;p++);D)for(p=a;a<p+10;++a);整理為word格式整理為word格式整理為word格式15.有以下程序段

#include<stdio.h>intmain(){intx[]={10,20,30};int*px=x;printf("%d,",++*px);printf("%d,",*px);px=x;printf("%d,",(*px)++);printf("%d,",*px);px=x;printf("%d,",*px++);printf("%d,",*px);px=x;printf("%d,",*++px);printf("%d\n",*px);return0;}程序運(yùn)行后的輸出結(jié)果是(A)A)11,11,11,12,12,20,20,20 B)20,10,11,10,11,10,11,10C)11,11,11,12,12,13,20,20D)20,10,11,20,11,12,20,2016.設(shè)有如下定義:intarr[]={6,7,8,9,10};int*ptr;ptr=arr;*(ptr+2)+=2;printf("%d,%d\n",*ptr,*(ptr+2));則程序段的輸出結(jié)果為

DA)8,10B)6,8C)7,9D)6,1017.若有定義:inta[]={2,4,6,8,10,12},*p=a;則*(p+1)的值是______.*(a+5)的值是_____A____.A)412B)410C)28D)51721.有以下定義

chara[10],*b=a;

不能給數(shù)組a輸入字符串的語句是(B)

A)gets(a)B)gets(a[0])C)gets(&a[0]);D)gets(b);22.下面程序段的運(yùn)行結(jié)果是__C_______.char*s="abcde";s+=2;printf("%d",s);a)cdeb)字符'c'c)字符'c'的地址d)無確定的輸出結(jié)果23.以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是(C)

A)chars[10]="abcdefg";B)chart[]="abcdefg",*s=t;

C)chars[10];s="abcdefg";D)chars[10];strcpy(s,"abcdefg");整理為word格式整理為word格式整理為word格式24.設(shè)已有定義:char*st="howareyou";下列程序段中正確的是(A)A)chara[11],*p;strcpy(p=a+1,&st[4]);B)chara[11];strcpy(++a,st);C)chara[11];strcpy(a,st);D)chara[],*p;strcpy(p=&a[1],st+2);25.有以下程序

main(){chara[]="programming",b[]="language";char*p1,*p2;inti;p1=a;p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}輸出結(jié)果是(D)

A)gmB)rgC)orD)ga26.設(shè)p1和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語句是___B_____.a)c=*p1+*p2;b)p2=cc)p1=p2d)c=*p1*(*p2);27.以下正確的程序段是__C_______.a)charstr[20];b)char*p;scanf("%s",&str);scanf("%s",p);c)charstr[20];d)charstr[20],*p=str;scanf("%s",&str[2]);scanf("%s",p[2]);28.若有說明語句chara[]="Itismine";char*p="Itismine";則以下不正確的敘述是____D____.a)a+1表示的是字符t的地址b)p指向另外的字符串時(shí),字符串的長度不受限制c)p變量中存放的地址值可以改變d)a中只能存放10個(gè)字符29.下面程序的運(yùn)行結(jié)果是____B___.#include<stdio.h>整理為word格式整理為word格式整理為word格式#include<string.h>main(){char*s1="AbDeG";char*s2="AbdEg";s1+=2;s2+=2;printf("%d\n",strcmp(s1,s2));}a)正數(shù)b)負(fù)數(shù)c)零d)不確定的值30.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(*p!=*q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是__C____。

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,31.已定義以下函數(shù)C

fun(int

*p)

{

return

*p;}

該函數(shù)的返回值是

A)不確定的值

B)形參p中存放的值

C)形參p所指存儲(chǔ)單元中的值

D)形參p的地址值33.若有以下函數(shù)首部 intfun(doublex[10],int*n)則下面針對(duì)此函數(shù)的函數(shù)聲明語句中正確的是DA)intfun(doublex,int*n); B)intfun(double,int);C)intfun(double*x,intn); D)intfun(double*,int*);34.有以下程序Avoidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;整理為word格式整理為word格式整理為word格式for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是()A)4B)3C)2D)135.下段代碼的運(yùn)行結(jié)果是:Dintmain()

{

chara;

char*str=&a;

strcpy(str,"hello");

printf(str);

return0;

}A)helloB)nullC)hD)發(fā)生異常36.下段程序的運(yùn)行結(jié)果是:Bvoidmain(){char*p,*q;charstr[]="Hello,World\n";q=p=str;p++;print(q);print(p);}voidprint(char*s){printf(“%s”,s);}A)HeB)Hello,Worldello,WorldC)Hello,WorldHello,WorldD)ello,Worldell,World37.有以下程序

voidfun(char*c,intd)

{*c=*c+1;d=d+1;printf("%c,%c,",*c,d);

}

voidmain()

{chara='A',b='a';整理為word格式整理為word格式整理為word格式fun(&b,a);printf("%c,%c\n",a,b);

}

程序運(yùn)行后的輸出結(jié)果是____D__。

A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b38、下面選項(xiàng)屬于函數(shù)指針的是:DA、(int*)p(int,int)B、int*p(int,int)C、兩者都是D、兩者都不是39、若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的調(diào)用方法是___C____.A)(*p)max(a,b);B)*pmax(a,b);C)(*p)(a,b);D)*p(a,b);41、下列選項(xiàng)中聲明了一個(gè)指針數(shù)組的是:EA)int*p[2];B)int(*p)[2];C)typedefint*intPtr;intPtrp[2];D)A和BE)A和CF)B和C42、下面代碼能通過編譯的是:AA)intmain(){ inta[3]={1,2,3}; int*b[3]={&a[1],&a[2],&a[3]}; int**p=b; return0;}B)intmain(){ inta[3]={1,2,3}; int*b[3]={a[1],a[2],a[3]}; int**p=b; return0;}C)intmain(){ inta[3]={1,2,3}; int*b[3]={&a[1],&a[2],&a[3]}; int*p=b; return0;}D)intmain(){ inta[3]={1,2,3};整理為word格式整理為word格式整理為word格式 int*b[3]={&a[1],&a[2],&a[3]}; int*p=&b; return0;}整理為word格式整理為word格式整理為word格式2.當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)為它分配的內(nèi)存空間是【】 A)結(jié)構(gòu)中一個(gè)成員所需的內(nèi)存容量 B)結(jié)構(gòu)中第一個(gè)成員所需的內(nèi)存容量 C)結(jié)構(gòu)體中占內(nèi)存容量最大者所需的容量 D)結(jié)構(gòu)中各成員所需內(nèi)存容量之和4.定義以下結(jié)構(gòu)體數(shù)組cstructc{intx;inty;}s[2]={1,3,2,7};語句printf("%d",s[0].x*s[1].x)的輸出結(jié)果為【】 A)14 B)6 C)2 D)215.運(yùn)行下列程序段,輸出結(jié)果是【a】structcountry{intnum;charname[10];}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};structcountry*p;p=x+2;printf("%d,%c",p->num,(*p).name[2]); A)3,a B)4,g C)2,U D)5,S6.下面程序的運(yùn)行結(jié)果是【c】。structKeyWord{ charKey[20]; intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};main(){ printf("%c,%d\n",kw[3].Key[0],kw[3].ID);}A)i,3 B)n,3 C)f,4 D)l,48.如果有下面的定義和賦值,則使用【】不可以輸出n中data的值。astructSNode{ unsignedid; intdata;}n,*p;整理為word格式整理為word格式整理為word格式p=&n;A)p.data B)n.data C)p->data D)(*p).data9.根據(jù)下面的定義,能輸出Mary的語句是B【】。 structperson { charname[9]; intage; };structpersonclass[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};A)printf("%s\n",class[1].name);B)printf("%s\n",class[2].name);C)printf("%s\n",class[3].name);D)printf("%s\n",class[0].name);10.定義以下結(jié)構(gòu)體數(shù)組Astructdate{intyear;intmonth;intday;};structs{structdatebirthday;charname[20];}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};語句printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year);的輸出結(jié)果為【】。A)guangzhou,2009B)guangzhou,2008C)Tianjin,2008D)Tianjin,200911.運(yùn)行下列程序段,輸出結(jié)果是【D】。structcountry{intnum;charname[20];}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};structcountry*p;p=x+2;printf("%d,%s",p->num,x[0].name);A)2,FranceB)3,FranceC)4,EnglandD)3,China12.定義以下結(jié)構(gòu)體數(shù)組Dstruct{intnum;charname[10];}x[3]={1,"china",2,"USA",3,"England"};整理為word格式整理為word格式整理為word格式語句printf("\n%d,%s",x[1].num,x[2].name)的輸出結(jié)果為【】DA)2,USA B)3,EnglandC)1,china D)2,England13.定義以下結(jié)構(gòu)體數(shù)組structdate{intyear;intmonth;};structs{structdatebirth;charname[20];}x[4]={{2008,8,"hangzhou"},{2009,3,"Tianjin"}};語句printf("%c,%d",x[1].

溫馨提示

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