精心打造東北大學(xué)近四年C語言理論考試試題及答案_第1頁
精心打造東北大學(xué)近四年C語言理論考試試題及答案_第2頁
精心打造東北大學(xué)近四年C語言理論考試試題及答案_第3頁
精心打造東北大學(xué)近四年C語言理論考試試題及答案_第4頁
精心打造東北大學(xué)近四年C語言理論考試試題及答案_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

精心打造東北大學(xué)近四年C語言理論考試試題及答案?。?!會有用的。。。東北大學(xué)C語言期末考試題及答案(1)1、構(gòu)成C語言的基本單位是___B____。

過程

函數(shù)

語句

命令

2、設(shè)x為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:5<x<10的c語言表達(dá)式是__B___。

5

x>5&&x<10

x==6||x==7||x==8||x==9

!(x<=5)&&(x<10)

3、在C語言中,邏輯運(yùn)算符的優(yōu)先級從高到低的排列順序?yàn)開_D___。

&&、||、!

||、&&、!

&&、!、||

!、&&、||

4、下面語句中,正確的是__D___。

printf("%c\n","student");

printf("%c\n","c");

printf("%s\n",&a);

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

5、對于for(表達(dá)式1;;表達(dá)式3)可以理解為__B___。

for(表達(dá)式1;0;表達(dá)式3)

for(表達(dá)式1;1;表達(dá)式3)

for(表達(dá)式1;表達(dá)式1;表達(dá)式3)

for(表達(dá)式1;表達(dá)式3;表達(dá)式3)

6、執(zhí)行下面程序段的結(jié)果是__B___。main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d",a,b);}

a=1,b=1

a=2,b=1

a=1,b=0

a=2,b=2

7、執(zhí)行下面程序段的結(jié)果是__D___。intx=0;do{printf(“-”,x--);}while(x);

打印出321

打印出23

不打印任何結(jié)果

陷入死循環(huán)

8、設(shè)x=10,y=5;z=15,執(zhí)行下面一段程序后z的結(jié)果是__C___。If(x>y)if(y>z)x=y;elsez=y;

7

6

5

4

9、如果一個函數(shù)被說明為static,那么__B___。

該函數(shù)只能被main函數(shù)調(diào)用

該函數(shù)能被當(dāng)前文件的函數(shù)調(diào)用,但不能被其他文件的函數(shù)調(diào)用

該函數(shù)不能被當(dāng)前文件的函數(shù)調(diào)用,可以被其他文件的函數(shù)調(diào)用

任何文件的函數(shù)都可以調(diào)用該函數(shù)

10、下面關(guān)于局部變量的描述中,錯誤的是__D___。

函數(shù)的局部變量的有效范圍只能在本函數(shù)

函數(shù)的形式參數(shù)也是局部變量

局部變量的名稱不能和函數(shù)同名稱

不同的函數(shù)中不能定義相同名稱的局部變量

11、下列初始化字符數(shù)組的語句中,錯誤的是__A___。

charstr[5]="hello";

charstr[]={'h','e','l','l','o','\0'};

charstr[5]={"hi"};

charstr[100]="";

12、引用數(shù)組元素時,數(shù)組下標(biāo)可以是__D___。

整型常量

整型變量

整型表達(dá)式

以上均可

13、已知:charstr[10],*p=str;下面的語句中正確的是__B___。

str="ABC";

p="ABC";

*str="ABC";

*p="ABC";

14、下面語句中,錯誤的是___D__。

inti;int*p;p=&i;

inti,*p;p=&a;

inti,*p=&a;

inti,*p;*p=i;

15、下面對于結(jié)構(gòu)體類型的描述正確的是__A___。

結(jié)構(gòu)體類型的大小為各成員變量所占內(nèi)存的總和

結(jié)構(gòu)體類型變量與簡單數(shù)據(jù)類型變量的引用規(guī)則一致。

結(jié)構(gòu)體類型的大小為其成員中所占內(nèi)存空間最大的變量的大小

結(jié)構(gòu)體類型的大小為其最后一個成員中所占內(nèi)存空間的大小

16、C語言規(guī)定:在一個源程序中,main函數(shù)的位置____C____。

必須在最開始

必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

可以任意

必須在最后

17、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是___C____。

int

float

double

不確定

18、在c語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是___D___。

補(bǔ)碼

反碼

原碼

ASCII碼

19、閱讀以下程序,當(dāng)輸入的數(shù)據(jù)形式為:25,13,10<CR>時,正確的輸出結(jié)果為___D___。main(){intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}

x+y+z=48

x+y+z=35

x+z=35

不能確定

20、有如下程序voidmain(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}該程序的輸出結(jié)果是(C)。

0.000000

0.250000

0.500000

1.000000

21、判斷char型變量s是否為小寫字母的正確表達(dá)式是__C____。

'a'<=s<='z'

(s>='a')&(s<='z')

(s>='a')&&(s<='z')

('a'<=s)and('z'>=s)

22、執(zhí)行以下語句后,y的值為___A___。intx,y,z;x=y=z=0;++x||++y&&++z;

0

1

2

不確定值

23、有如下程序段:intnumber=0;while(number++<=3)printf(“%d\n”,number++);則正確的執(zhí)行結(jié)果是___C___。

234

012

13

24

24、有如下程序voidmain(){intn=9;while(n>6){n--;printf(“%d”,n);}}該程序段的輸出結(jié)果是__B___。

987

876

8765

9876

25、要使以下程序段輸出10個整數(shù),請在空格中填入一個整數(shù)。for(i=0;i<=___B___;printf("%d\n",i+=2));

15

18

20

10

26、設(shè)函數(shù)fun的定義形式為:fun(charch,floatx){…}則以下對函數(shù)fun的調(diào)用語句中正確的是___B___。

fun(“abc”,3)

t=fun(‘D’,5)

fun(‘a(chǎn)b’,3)

fun(‘78’,1)

27、函數(shù)求sum(intn)的功能是計算自然數(shù)1到n的和,即1+2+…+n。Main(){printf("Thesum=%d\n",sum(10));}intsum(intn){ints=0,i;for(i=0;i<=n;i++)_____B_____}請從備選答案中選擇一答案,補(bǔ)全程序。

s=s+n;returns;

s=s+i;returns;

returns;

returns+=I;

28、設(shè)函數(shù)fun的定義形式為intfun(inta[],intn){ints=0,i=0;for(i=0;i<n;i++)s+=a[i];returns;}main(){inta[10]={1,2,3,4,5};printf("sum=%d",fun(&a[2],2));}則程序的運(yùn)行結(jié)果為___C___。

3

5

7

9

29、若有說明:inta[10];則對數(shù)組元素的正確引用是___D____。

a[10]

a[3,5]

a(5)

a[10-10]

30、以下不正確的定義語句是___B___。

doublex[5]={2.0,4,0,6,0,8,0,10.0};

inty[5]={0,1,3,5,7,9};

charc1[]={'1','2','3','4','5'};

charc2[]={'\x10','\xa','\x8'};

31、下面程序的運(yùn)行結(jié)果是___B____。#include"stdio.h"main(){charstr[]="SWLIA",c;intk;for(k=0;(c=str[k])!='\0';k++){switch(c){case'I':++k;break;c

SWA

SW*

SW*A

SW

32、以下能正確進(jìn)行字符串賦值操作的是___D___。

chars[5]={"12345"};

chars[5]={'1','2','3','4','5',‘6’};

char*s;*s="12345";

char*s="12345";

33、以下程序段的運(yùn)行結(jié)果是___C___。Chara[]="program",*p;p=a;while(*p!='g'){printf("%c",*p-32);p++;}

PROgram

PROGRAM

PRO

proGRAM

34、若有說明:char*pc[]={"aaa","bbb","ccc","ddd"};,則以下敘述正確的是__C____。

*pc[0]代表的是字符串"aaa"的首地址

*pc[0]代表的是字符'a'的首地址

pc[0]代表的是字符串"aaa"的首地址

pc[0]代表的是字符'a'的首地址

35、下列程序的運(yùn)行結(jié)果是___B___。#include<stdio.h>#include<string.h>voidf(char*s,intn){chara,*q1,*q2;q1=s;q2=s+n-1;while(q1<q2){a=*q1++;*q1=*q2--;*q2=a;}}main(){charb[]="ABCDEFG";f(b,s

GAGGAGA

AGAAGAG

GFEDCBA

AGADAGA

36、定義如下的結(jié)構(gòu)體描述同學(xué)信息structStudent{unsignedlongid;charname[30];charclass[30];}s;假設(shè)此同學(xué)的序號為1002,姓名為黎明,班級為冶金3班,則描述正確的為___C__。

id=1002;name=黎明;class=冶金3班;

id=1002;name=”黎明”;class=”冶金3班”;

s.id=1002;=”黎明”;s.class=”冶金3班”;

s.id=1002;=黎明;s.class=冶金3班;

37、用來描述C程序中注釋的是__C___。

//

**

38、下列變量中合法的定義是__A___。

short_a=2-1

longif=0xabcL

double1_d=1.5e2

floata=1.5e2.7

39、當(dāng)c的值不為0時,能夠?qū)的值賦給變量a和b的是__C___

c=b=a

(a=c)||(b=c)

(a=c)&&(b=c)

a=c=b

40、設(shè)有以下程序段,執(zhí)行后的輸出結(jié)果是___B__intx=100,y=200;printf("%d",(x,y));

100

200

100,200

編譯出錯

東北大學(xué)C語言期末考試題及答案(2)1、若執(zhí)行下面的程序時從鍵盤輸入10,則輸出是__B__main(){inta;scanf(“%d”,&a);if(a++>10)printf(“%d\n”,++a);elseprintf("%d\n",a--);}

12

11

10

9

2、執(zhí)行下面程序段的結(jié)果是__D___intx=0;do{printf(“%2d”,x--);}while(x);

打印出321

打印出23

不打印任何結(jié)果

陷入死循環(huán)

3、執(zhí)行與句:for(n=0;n++<4;);后,變量n的值是__C__。

3

4

5

不定

4、以下關(guān)于循環(huán)的描述中,錯誤的是__D___。

可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)

可以用do…while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

do…while語句與while語句的區(qū)別僅僅是關(guān)鍵字while的位置不同

5、下面的描述錯誤的是__C__。

函數(shù)可以有多個形式參數(shù)

函數(shù)可以沒有返回值

函數(shù)內(nèi)可以嵌套定義函數(shù)

函數(shù)可以被其他函數(shù)調(diào)用

6、函數(shù)返回值的類型是由__A__決定的。

定義函數(shù)時指定的返回類型

函數(shù)中return語句的表達(dá)式類型

主調(diào)函數(shù)的實(shí)際參數(shù)類型

主調(diào)函數(shù)的返回值類型

7、定義了一維int型數(shù)組a[10]后,下面錯誤的引用是__B__。

a[0]=1;

a[10]=2;

a[0]=5*2;

a[1]=a[2]*a[0];

8、定義了int型二維數(shù)組a[6][7]后,數(shù)組元素a[3][4]前的數(shù)組元素個數(shù)為__B__。

24

25

18

17

9、下面語句中,錯誤的是__D__。

inti;int*p;p=&i;

inti,*p;p=&a;

inti,*p=&a;

inti,*p;*p=i;

10、已知int型二維數(shù)組a[3][4],數(shù)組元素a[1][2]的地址不能表達(dá)為__C__。

&a[1][2]

a[1]+2

*a[1]+2

*(a+1)+2

11、C語言中,5種基本數(shù)據(jù)類型的存儲空間長度的排列順序?yàn)開__A___。

char

char=int

char

char=int=longint<=float12、假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是___B___。

7

8

6

2

13、若有說明語句:charc='\72';則變量c___A___。

包含1個字符

包含2個字符

包含3個字符

說明不合法,c的值不確定

14、若x,y均定義為整型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是___C___。

scanf("%d%lx,%le",&x,&y,&z);

scanf("%2d*%d%lf",&x,&y,&z);

scanf("%x%*d%o",&x,&y,&z);

scanf("%x%o%6.2f",&x,&y,&z);

15、若輸入字符串:abcde<回車>,則以下while循環(huán)體將執(zhí)行___A___次。while((ch=getchar())=='e')printf("*");

1次

死循環(huán)

0次

5次

16、執(zhí)行下面的程序段后,k的值是___C___。k=1;n=263;do{k*=n%10;n/=10;}while(n);

3

63

36

2

17、下面程序段中循環(huán)的執(zhí)行次數(shù)是___B___。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);

10

3

5

4

18、下面程序段的運(yùn)行結(jié)果是__D____。x=2;do{printf("*");x--;}while(!x==0);

*

***

沒有輸出

**

19、下面程序段的運(yùn)行結(jié)果是___B___。i=1;s=1;a=0;do{a=a+s*i;s=-s;i++;}while(i<=10);printf("%d",a);

2

-2

3

0

20、有如下程序voidmain(){inta=2,b=-1,c=2;if(a)if(b<0)c=0;elsec++;printf("%d\n",c);}該程序的輸出結(jié)果是___A___。

0

1

2

3

21、程序中對fun函數(shù)有如下說明voidfun();下面說明是錯誤的是___B___。

fun函數(shù)無返回值

fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型

fun函數(shù)沒有形式參數(shù)

void可以省略

22、函數(shù)求sum(intn)的功能是計算自然數(shù)1到n的和,即1+2+…+n。main(){printf("Thesum=%d\n",sum(10));}intsum(intn){ints=0,i;for(i=0;i<=n;i++)_____B_____}請從備選答案中選擇一答案,補(bǔ)全程序。

s=s+n;returns;

s=s+i;returns;

returns;

returns+=i;

23、有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf()__A___

4,3,7

3,4,7

5,2,7

2,5,7

24、若有說明:inta[][3]={1,2,3,4,5,6,7};則數(shù)組a第一維的大小是___B___。

2

3

4

無確定值

25、判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用___D____。

if(s1>s2)

if(strcmp(s1,s2))

if(strcmp(s2,s1)>0)

if(strcmp(s1,s2)>0)

26、當(dāng)運(yùn)行以下程序時,從鍵盤輸入:AhaMAAha<CR><CR>表示回車,則下面程序的運(yùn)行結(jié)果是___A____。#include"stdio.h"main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\0'){if(s[i]==c)

ahAMa

AhAMa

AhAMaahA

ahAMaahA

27、以下程序執(zhí)行后a的值為___C____。main(){inta,m=2,k=1,*p=&k;a=p!=&m;printf("%d\n",a);}

-1

0

1

2

28、以下能正確讀入字符串的程序段是____C___。

char*p;scanf("%s",p);

charstr[10];scanf("%s",&str);

charstr[10],*p;p=str;scanf("%s",p);

charstr[10],*p=str;scanf("%s",p[1]);

29、若有定義:inti,x[3][4];,則不能將x[1][1]的值賦給變量i的語句是___B___。

i=x[1][1]

i=*(*(x+1))

i=*(*(x+1)+1)

i=*(x[1]+1)

30、下面程序的運(yùn)行結(jié)果是____A___。#include<stdio.h>#include<string.h>fun(char*s){chart,*a,*z;a=s;z=s+strlen(s)-1;while(a++<z--){t=*a++;*a=*z--;*z=t;}}main(){char*p;p="a

abdddfg

afcdebg

gbedcfa

gfedcba

31、用來描述C程序中注釋的是__C___

//

**

32、對于"xy\n\102\\\'"字符串的長度是__B___

7

6

12

13

33、已知:intx=10;執(zhí)行語句x-=x+x;后x的值是__A___

-10

10

-20

20

34、下列描述中,正確的是__A___

所有的輸入/輸出都是通過調(diào)用庫函數(shù)處理的

所有的輸入/輸出都是通過輸入/輸出語句實(shí)現(xiàn)的

getchar和putchar可以省略#include

在輸入/輸出格式中的*表示跳過數(shù)據(jù)的含義

35、設(shè)x=10,y=5;z=15,執(zhí)行下面一段程序后z的結(jié)果是__C___if(x>y)if(y>z)x=y;elsez=y;

7

6

5

4

36、執(zhí)行下面程序段的結(jié)果是__D___intx=0;do{printf(“%2d”,x--);}while(x);

打印出321

打印出23

不打印任何結(jié)果

陷入死循環(huán)

37、以下關(guān)于switch語句和break語句的描述正確的是__D___

在switch語句中必須使用break語句

break語句只能用于switch語句體中

break語句只能用于循環(huán)語句中

在switch語句中可以使用break語句

38、與語句while(!x)等價的語句是__A___

while(x==0)

while(x!=0)

while(x!=1)

while(~x)

39、下面的描述錯誤的是__C___

函數(shù)可以有多個形式參數(shù)

函數(shù)可以沒有返回值

函數(shù)內(nèi)可以嵌套定義函數(shù)

函數(shù)可以被其他函數(shù)調(diào)用

40、下面關(guān)于局部變量的描述中,錯誤的是__D___

函數(shù)的局部變量的有效范圍只能在本函數(shù)

函數(shù)的形式參數(shù)也是局部變量

局部變量的名稱不能和函數(shù)同名稱

不同的函數(shù)中不能定義相同名稱的局部變量

東北大學(xué)C語言期末考試題及答案(3)1、定義了一維int型數(shù)組a[10]后,下面錯誤的引用是_____正確答案是:Ba[0]=1;

a[10]=2;

a[0]=5*2;

a[1]=a[2]*a[0];

2、設(shè)有定義:inta=1,*p=&a;floatb=2.0;charc='A';,以下不合法的運(yùn)算是()正確答案是:C*p++;

a--;

b++;

c--;

3、若有定義:intx[10],*p=x;,則*(p+5)表示()正確答案是:B數(shù)組元素x[5]的地址

數(shù)組元素x[5]的值

數(shù)組元素x[6]的地址

數(shù)組元素x[6]的值

4、執(zhí)行以下程序段后,y的值是()。inta[]={1,3,5,7,9}intx=0,y=1,*ptr;ptr=&a[1];while(!x){y+=*(ptr+x);x++;}

正確答案是:C1

2

4

24

5、下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidselect(char*s){inti,j;char*t;t=s;for(i=0,j=0;*(t+i)!='\0';i++)if(*(t+i)>='0'&&*(t+i)<='9'){*(s+j)=*(t+i);j++;}*(s+j)='\0

正確答案是:DHPw19&17

HPw

19&17

1917

6、對于下面語句描述不正確的為_____structStudent{unsignedlongid;charname[30];charclass[30];}oStu1;

正確答案是:BstructStudent為用戶自定義類型

Student為用戶自定義類型

name為結(jié)構(gòu)體成員變量

oStu1為結(jié)構(gòu)體變量名稱

7、已知:char*pstr[]={"abcd","efgh"},**p=&pstr;那么*(*(p+1)+1)的值為_____正確答案是:Cb

c

f

g

8、已知:inta[5]={0,1,2,3,4};int*p=a;下面的表達(dá)式不可以用來表示a[3]的是_____正確答案是:C*(a+3)

*(p+3)

*p+3

p[3]

9、strlen("A\0B\0C")的結(jié)果為_____正確答案是:B0

1

2

3

10、定義了int型二維數(shù)組a[6][7]后,數(shù)組元素a[3][4]前的數(shù)組元素個數(shù)為_____正確答案是:B24

25

28

17

11、下面的描述錯誤的是_____正確答案是:C函數(shù)可以有多個形式參數(shù)

函數(shù)可以沒有返回值

函數(shù)內(nèi)可以嵌套定義函數(shù)

函數(shù)可以被其他函數(shù)調(diào)用

12、下面關(guān)于全局變量的描述中,錯誤的是_____正確答案是:C所有在函數(shù)體外定義的變量都是全局變量

全局變量可以和局部變量同名稱

全局變量第一次被引用時,系統(tǒng)為其分配內(nèi)存

全局變量直到程序結(jié)束時才被釋放

13、以下關(guān)于循環(huán)的描述中,錯誤的是_____正確答案是:D可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)

可以用do…while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

do…while語句與while語句的區(qū)別僅僅是關(guān)鍵字while的位置不同

14、引用數(shù)組元素時,數(shù)組下標(biāo)可以是_____

正確答案是:D整型常量

整型變量

整型表達(dá)式

以上均可

15、已知:inta[5]={0,1,2,3,4};int*p=a;下面的表達(dá)式不能用來表示a[3]的是_____

正確答案是:C*(a+3)

*(p+3)

*p+3

p[3]

16、已知:charstr[10],*p=str;下面的語句中正確的是_____

正確答案是:Bstr="ABC";

p="ABC";

*str="ABC";

*p="ABC";

17、對于下面語句描述不正確的為_____structStudent{unsignedlongid;charname[30];charcalss[30];}oStu1;正確答案是:BstructStudent為用戶自定義類型

Student為用戶自定義類型

name為結(jié)構(gòu)體成員變量

oStu1為結(jié)構(gòu)體變量名稱

18、一個c程序的執(zhí)行是從________

正確答案是:A本程序的main函數(shù)開始,到main函數(shù)結(jié)束

本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束

19、若x、i、j和k都是int型變量,則計算下面表達(dá)式后,x的值為________x=(i=4,j=16,k=32)

正確答案是:C4

16

32

52

20、若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是________

正確答案是:A2.500000

2.750000

3.500000

0.000000

21、以下敘述中正確的是()

正確答案是:D輸入項可以是一個實(shí)型常量,如scanf(“%f”,3.5);

只有格式控制,沒有輸入項也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf(“a=%d,b=%d”);

當(dāng)輸入實(shí)型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)位數(shù),例如:scanf(“%4.2f”,&f);

當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf(“%f”,&f);

22、以下程序輸出結(jié)果是()。voidmain(){intm=5;if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}正確答案是:B7

6

5

4

23、當(dāng)執(zhí)行以下程序段時()。x=-1;do{x=x*x;}while(!x);正確答案是:A循環(huán)體將執(zhí)行一次

循環(huán)體將執(zhí)行兩次

循環(huán)體將執(zhí)行無限次

系統(tǒng)將提示有語法錯誤

24、執(zhí)行以下程序后,輸出的結(jié)果是()。voidmain(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}

正確答案是:D-1

1

8

0

25、有如下程序voidmain(){intx=23;do{printf(“%d”,x--);}while(!x);}該程序的執(zhí)行結(jié)果是()

正確答案是:B321

23

不輸出任何內(nèi)容

陷入死循環(huán)

26、有如下程序voidmain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是()

正確答案是:D34

42

43

33

27、有如下程序voidmain(){intx=1,a=0,b=0;switch(x){case0:a++;case1:b++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}該程序的輸出結(jié)果是()正確答案是:Aa=1,b=2

a=1,b=1

a=1,b=0

a=2,b=2

28、若程序中定義了以下函數(shù)doublemyadd(doublea,doubleb){return(a+b);}并將其放在調(diào)用語句之后,則在調(diào)用之前應(yīng)該對該函數(shù)進(jìn)行說明,以下選項中錯誤的說明是

正確答案是:Adoublemyadd(doublea,b);

doublemyadd(double,double);

doublemyadd(doubleb,doublea);

doublemyadd(doublex,doubley);

29、有以下程序intfun(intx,inty){if(x<y)returnx;returny;}main(){inta=9,b=8,c=7;printf(“%d\n”,fun(a,b));}程序的執(zhí)行結(jié)果是

正確答案是:B函數(shù)調(diào)用出錯

8

9

7

30、有以下程序voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf(“%d,%d,%d\n”,x,y,z);}執(zhí)行后輸出結(jié)果是

正確答案是:A1,2,3

3,1,2

1,33,1

2,3,1

31、以下列一維整型數(shù)組a的正確說明是________

正確答案是:Dinta(10);

intn=10,a[n];

intn;scanf("%d",&n);inta[n];

#defineSIZE10inta[SIZE];

32、若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中位置的公式為________。(假設(shè)a[0][0]位于數(shù)組的第1個位置上)正確答案是:Di*m+j

j*m+i

i*m+j-1

i*m+j+1

33、下面程序的運(yùn)行結(jié)果是________。#include"stdio.h"main(){chara[]="morning",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[i])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);}

正確答案是:Bmogninr

mo

morning

mornin

34、執(zhí)行下面程序段的結(jié)果是_____main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++}printf("a=%d,b=%d",a,b);}

正確答案是:Ba=1,b=1

a=2,b=1

a=1,b=0

a=2,b=2

35、若有以下程序段:for(m=1;m<=100;m++){scanf(“%d”,&y);if(y<0)continue;printf(“%3d”,m);}正確的描述是_____

正確答案是:D當(dāng)y<0時整個循環(huán)結(jié)束

當(dāng)y>=0時什么也不輸出

printf函數(shù)永遠(yuǎn)也不執(zhí)行

最多允許輸出100個非負(fù)整數(shù)

36、.以下關(guān)于switch語句和break語句的描述正確的是_____

正確答案是:D在switch語句中必須使用break語句

break語句只能用于switch語句體中

break語句只能用于循環(huán)語句中

在switch語句中可以使用break語句

37、下列描述中,正確的是_____

正確答案是:A所有的輸入/輸出都是通過調(diào)用庫函數(shù)處理的

所有的輸入/輸出都是通過輸入/輸出語句實(shí)現(xiàn)的

getchar和putchar可以省略#include

在輸入/輸出格式中的*表示跳過數(shù)據(jù)的含義

38、若給定表達(dá)式(x)?(a++):(a--),則表達(dá)式x_____正確答案是:C和(x==0)等價

和(x!=1)等價

和(x!=0)等價

和(x==1)等價

39、對于"xy\n\102\\\'"字符串的長度是_____正確答案是:B7

6

12

13

40、下面說法不正確的是_____正確答案是:DC語言能編寫操作系統(tǒng)

C語言是函數(shù)式的語言

數(shù)據(jù)類型多樣化

書寫格式自由、不規(guī)范

東北大學(xué)C語言期末考試題及答案(4)1、定義了一維int型數(shù)組a[10]后,下面錯誤的引用是_____正確答案是:B

a[0]=1;

a[10]=2;

a[0]=5*2;

a[1]=a[2]*a[0];

2、設(shè)有定義:inta=1,*p=&a;floatb=2.0;charc='A';,以下不合法的運(yùn)算是()正確答案是:C*p++;

a--;

b++;

c--;

3、若有定義:intx[10],*p=x;,則*(p+5)表示()

正確答案是:B數(shù)組元素x[5]的地址

數(shù)組元素x[5]的值

數(shù)組元素x[6]的地址

數(shù)組元素x[6]的值

4、執(zhí)行以下程序段后,y的值是()。inta[]={1,3,5,7,9}intx=0,y=1,*ptr;ptr=&a[1];while(!x){y+=*(ptr+x);x++;}

正確答案是:C1

2

4

24

5、下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidselect(char*s){inti,j;char*t;t=s;for(i=0,j=0;*(t+i)!='\0';i++)if(*(t+i)>='0'&&*(t+i)<='9'){*(s+j)=*(t+i);j++;}*(s+j)='\0

正確答案是:DHPw19&17

HPw

19&17

1917

6、對于下面語句描述不正確的為_____structStudent{unsignedlongid;charname[30];charclass[30];}oStu1;正確答案是:BstructStudent為用戶自定義類型

Student為用戶自定義類型

name為結(jié)構(gòu)體成員變量

oStu1為結(jié)構(gòu)體變量名稱

7、已知:char*pstr[]={"abcd","efgh"},**p=&pstr;那么*(*(p+1)+1)的值為_____正確答案是:Cb

c

f

g

8、已知:inta[5]={0,1,2,3,4};int*p=a;下面的表達(dá)式不可以用來表示a[3]的是_____正確答案是:C

*(a+3)

*(p+3)

*p+3

p[3]

9、strlen("A\0B\0C")的結(jié)果為_____

正確答案是:B0

1

2

3

10、定義了int型二維數(shù)組a[6][7]后,數(shù)組元素a[3][4]前的數(shù)組元素個數(shù)為_____

正確答案是:B24

25

28

17

11、下面的描述錯誤的是_____

正確答案是:C

函數(shù)可以有多個形式參數(shù)

函數(shù)可以沒有返回值

函數(shù)內(nèi)可以嵌套定義函數(shù)

函數(shù)可以被其他函數(shù)調(diào)用

12、下面關(guān)于全局變量的描述中,錯誤的是_____

正確答案是:C

所有在函數(shù)體外定義的變量都是全局變量

全局變量可以和局部變量同名稱

全局變量第一次被引用時,系統(tǒng)為其分配內(nèi)存

全局變量直到程序結(jié)束時才被釋放

13、以下關(guān)于循環(huán)的描述中,錯誤的是_____正確答案是:D可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)

可以用do…while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)

do…while語句與while語句的區(qū)別僅僅是關(guān)鍵字while的位置不同

14、引用數(shù)組元素時,數(shù)組下標(biāo)可以是_____正確答案是:D

整型常量

整型變量

整型表達(dá)式

以上均可

15、已知:inta[5]={0,1,2,3,4};int*p=a;下面的表達(dá)式不能用來表示a[3]的是_____

正確答案是:C

*(a+3)

*(p+3)

*p+3

p[3]

16、已知:charstr[10],*p=str;下面的語句中正確的是_____

正確答案是:B

str="ABC";

p="ABC";

*str="ABC";

*p="ABC";

17、對于下面語句描述不正確的為_____structStudent{unsignedlongid;charname[30];charcalss[30];}oStu1;

正確答案是:BstructStudent為用戶自定義類型

Student為用戶自定義類型

name為結(jié)構(gòu)體成員變量

oStu1為結(jié)構(gòu)體變量名稱

18、一個c程序的執(zhí)行是從________

正確答案是:A本程序的main函數(shù)開始,到main函數(shù)結(jié)束

本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束

19、若x、i、j和k都是int型變量,則計算下面表達(dá)式后,x的值為________x=(i=4,j=16,k=32)

正確答案是:C4

16

32

52

20、若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是________

正確答案是:A2.500000

2.750000

3.500000

0.000000

21、以下敘述中正確的是()

正確答案是:D

輸入項可以是一個實(shí)型常量,如scanf(“%f”,3.5);

只有格式控制,沒有輸入項也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf(“a=%d,b=%d”);

當(dāng)輸入實(shí)型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)位數(shù),例如:scanf(“%4.2f”,&f);

當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf(“%f”,&f);

22、以下程序輸出結(jié)果是()。voidmain(){intm=5;if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}正確答案是:B7

6

5

4

23、當(dāng)執(zhí)行以下程序段時()。x=-1;do{x=x*x;}while(!x);

正確答案是:A循環(huán)體將執(zhí)行一次

循環(huán)體將執(zhí)行兩次

循環(huán)體將執(zhí)行無限次

系統(tǒng)將提示有語法錯誤

24、執(zhí)行以下程序后,輸出的結(jié)果是()。voidmain(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}正確答案是:D-1

1

8

0

25、有如下程序voidmain(){intx=23;do{printf(“%d”,x--);}while(!x);}該程序的執(zhí)行結(jié)果是()

正確答案是:B321

23

不輸出任何內(nèi)容

陷入死循環(huán)

26、有如下程序voidmain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是()

正確答案是:D

34

42

43

33

27、有如下程序voidmain(){intx=1,a=0,b=0;switch(x){case0:a++;case1:b++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);

溫馨提示

  • 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

提交評論