大学C语言期末考试题及答案Word格式.docx

上传人:b****5 文档编号:18636202 上传时间:2022-12-30 格式:DOCX 页数:25 大小:29.95KB
下载 相关 举报
大学C语言期末考试题及答案Word格式.docx_第1页
第1页 / 共25页
大学C语言期末考试题及答案Word格式.docx_第2页
第2页 / 共25页
大学C语言期末考试题及答案Word格式.docx_第3页
第3页 / 共25页
大学C语言期末考试题及答案Word格式.docx_第4页
第4页 / 共25页
大学C语言期末考试题及答案Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

大学C语言期末考试题及答案Word格式.docx

《大学C语言期末考试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《大学C语言期末考试题及答案Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

大学C语言期末考试题及答案Word格式.docx

陷入死循环 

8、设x=10,y=5;

z=15,执行下面一段程序后z的结果是__C___。

If(x>

y)if(y>

z)x=y;

elsez=y;

9、如果一个函数被说明为static,那么__B___。

该函数只能被main函数调用 

该函数能被当前文件的函数调用,但不能被其他文件的函数调用 

该函数不能被当前文件的函数调用,可以被其他文件的函数调用 

任何文件的函数都可以调用该函数 

10、下面关于局部变量的描述中,错误的是__D___。

函数的局部变量的有效范围只能在本函数 

函数的形式参数也是局部变量 

局部变量的名称不能和函数同名称 

不同的函数中不能定义相同名称的局部变量 

11、下列初始化字符数组的语句中,错误的是__A___。

charstr[5]="

;

charstr[]={'

h'

'

e'

l'

o'

\0'

};

charstr[5]={"

hi"

charstr[100]="

"

12、引用数组元素时,数组下标可以是__D___。

整型常量 

整型变量 

整型表达式 

以上均可 

13、已知:

charstr[10],*p=str;

下面的语句中正确的是__B___。

str="

ABC"

p="

*str="

*p="

14、下面语句中,错误的是___D__。

inti;

int*p;

p=&

i;

inti,*p;

a;

inti,*p=&

*p=i;

15、下面对于结构体类型的描述正确的是__A___。

结构体类型的大小为各成员变量所占内存的总和 

结构体类型变量与简单数据类型变量的引用规则一致。

结构体类型的大小为其成员中所占内存空间最大的变量的大小 

结构体类型的大小为其最后一个成员中所占内存空间的大小 

16、C语言规定:

在一个源程序中,main函数的位置____C____。

必须在最开始 

必须在系统调用的库函数的后面 

可以任意 

必须在最后 

17、表达式18/4*sqrt(4.0)/8值的数据类型是___C____。

int 

float 

double 

不确定 

18、在c语言中,char型数据在内存中的存储形式是___D___。

补码 

反码 

原码 

ASCII码 

19、阅读以下程序,当输入的数据形式为:

25,13,10<

CR>

时,正确的输出结果为___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);

}该程序的输出结果是(C)。

0.000000 

0.250000 

0.500000 

1.000000 

21、判断char型变量s是否为小写字母的正确表达式是__C____。

'

a'

<

=s<

='

z'

(s>

)&

(s<

) 

('

=s)and('

>

=s) 

22、执行以下语句后,y的值为___A___。

intx,y,z;

x=y=z=0;

++x||++y&

++z;

不确定值 

23、有如下程序段:

intnumber=0;

while(number++<

=3)printf(“%d\n”,number++);

则正确的执行结果是___C___。

234 

012 

13 

24 

24、有如下程序voidmain(){intn=9;

while(n>

6){n--;

printf(“%d”,n);

}}该程序段的输出结果是__B___。

987 

876 

8765 

9876 

25、要使以下程序段输出10个整数,请在空格中填入一个整数。

for(i=0;

i<

=___B___;

%d\n"

i+=2));

15 

18 

20 

26、设函数fun的定义形式为:

fun(charch,floatx){…}则以下对函数fun的调用语句中正确的是___B___。

fun(“abc”,3) 

t=fun(‘D’,5) 

fun(‘ab’,3) 

fun(‘78’,1) 

27、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。

Main(){printf("

Thesum=%d\n"

sum(10));

}intsum(intn){ints=0,i;

=n;

i++)_____B_____}请从备选答案中选择一答案,补全程序。

s=s+n;

returns;

s=s+i;

returns+=I;

28、设函数fun的定义形式为intfun(inta[],intn){ints=0,i=0;

n;

i++)s+=a[i];

returns;

}main(){inta[10]={1,2,3,4,5};

sum=%d"

fun(&

a[2],2));

}则程序的运行结果为___C___。

29、若有说明:

inta[10];

则对数组元素的正确引用是___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、下面程序的运行结果是___B____。

#include"

stdio.h"

main(){charstr[]="

SWLIA"

c;

intk;

for(k=0;

(c=str[k])!

k++){switch(c){case'

I'

:

++k;

break;

c

SWA 

SW* 

SW*A 

SW 

32、以下能正确进行字符串赋值操作的是___D___。

chars[5]={"

12345"

chars[5]={'

‘6’};

char*s;

*s="

char*s="

33、以下程序段的运行结果是___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]代表的是字符串"

的首地址 

*pc[0]代表的是字符'

pc[0]代表的是字符串"

pc[0]代表的是字符'

35、下列程序的运行结果是___B___。

#include<

stdio.h>

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、定义如下的结构体描述同学信息structStudent{unsignedlongid;

charname[30];

charclass[30];

}s;

假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。

id=1002;

name=黎明;

class=冶金3班;

name=”黎明”;

class=”冶金3班”;

s.id=1002;

s.name=”黎明”;

s.class=”冶金3班”;

s.name=黎明;

s.class=冶金3班;

37、用来描述C程序中注释的是__C___。

// 

** 

38、下列变量中合法的定义是__A___。

short_a=2-1 

longif=0xabcL 

double1_d=1.5e2 

floata=1.5e2.7 

39、当c的值不为0时,能够将c的值赋给变量a和b的是__C___

c=b=a 

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

(a=c)&

(b=c) 

a=c=b 

40、设有以下程序段,执行后的输出结果是___B__intx=100,y=200;

%d"

,(x,y));

100 

200 

100,200 

编译出错

东北大学C语言期末考试题及答案

(2)

1、若执行下面的程序时从键盘输入10,则输出是__B__main(){inta;

scanf(“%d”,&

a);

if(a++>

10)printf(“%d\n”,++a);

elseprintf("

a--);

12 

11 

2、执行下面程序段的结果是__D___intx=0;

3、执行与句:

for(n=0;

n++<

4;

);

后,变量n的值是__C__。

不定 

4、以下关于循环的描述中,错误的是__D___。

可以用for语句实现的循环一定可以用while语句实现 

可以用while语句实现的循环一定可以用for语句实现 

可以用do…while语句实现的循环一定可以用while语句实现 

do…while语句与while语句的区别仅仅是关键字while的位置不同 

5、下面的描述错误的是__C__。

函数可以有多个形式参数 

函数可以没有返回值 

函数内可以嵌套定义函数 

函数可以被其他函数调用 

6、函数返回值的类型是由__A__决定的。

定义函数时指定的返回类型 

函数中return语句的表达式类型 

主调函数的实际参数类型 

主调函数的返回值类型 

7、定义了一维int型数组a[10]后,下面错误的引用是__B__。

a[0]=1;

a[10]=2;

a[0]=5*2;

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

8、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B__。

24 

25 

17 

9、下面语句中,错误的是__D__。

int*p;

p=&

*p=i;

10、已知int型二维数组a[3][4],数组元素a[1][2]的地址不能表达为__C__。

a[1][2] 

a[1]+2 

*a[1]+2 

*(a+1)+2 

11、C语言中,5种基本数据类型的存储空间长度的排列顺序为___A___。

char

char=int

char=int=longint<

=float

12、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是___B___。

13、若有说明语句:

charc='

\72'

则变量c___A___。

包含1个字符 

包含2个字符 

包含3个字符 

说明不合法,c的值不确定 

14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是___C___。

scanf("

%d%lx,%le"

%2d*%d%lf"

%x%*d%o"

%x%o%6.2f"

15、若输入字符串:

abcde<

回车>

,则以下while循环体将执行___A___次。

while((ch=getchar())=='

)printf("

*"

);

1次 

死循环 

0次 

5次 

16、执行下面的程序段后,k的值是___C___。

k=1;

n=263;

do{k*=n%10;

n/=10;

}while(n);

63 

36 

17、下面程序段中循环的执行次数是___B___。

a=10;

b=0;

do{b+=2;

a-=2+b;

}while(a>

=0);

18、下面程序段的运行结果是__D____。

x=2;

do{printf("

x--;

}while(!

x==0);

*** 

没有输出 

19、下面程序段的运行结果是___B___。

i=1;

s=1;

a=0;

do{a=a+s*i;

s=-s;

i++;

}while(i<

=10);

a);

-2 

20、有如下程序voidmain(){inta=2,b=-1,c=2;

if(a)if(b<

0)c=0;

elsec++;

c);

}该程序的输出结果是___A___。

21、程序中对fun函数有如下说明voidfun();

下面说明是错误的是___B___。

fun函数无返回值 

fun函数的返回值可以是任意的数据类型 

fun函数没有形式参数 

void可以省略 

22、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。

main(){printf("

returns+=i;

23、有以下程序intf1(intx,inty){returnx>

y?

x:

y;

}intf2(intx,inty){returnx>

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};

则数组a第一维的大小是___B___。

无确定值 

25、判断字符串s1是否大于字符串s2,应当使用___D____。

if(s1>

s2) 

if(strcmp(s1,s2)) 

if(strcmp(s2,s1)>

0) 

if(strcmp(s1,s2)>

26、当运行以下程序时,从键盘输入:

AhaMAAha<

<

表示回车,则下面程序的运行结果是___A____。

main(){chars[80],c='

inti=0;

%s"

s);

while(s[i]!

){if(s[i]==c)

ahAMa 

AhAMa 

AhAMaahA 

ahAMaahA 

27、以下程序执行后a的值为___C____。

  main()  {inta,m=2,k=1,*p=&

k;

  a=p!

=&

m;

  printf("

  }

-1 

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

char*p;

p);

charstr[10];

&

str);

charstr[10],*p;

p=str;

charstr[10],*p=str;

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、下面程序的运行结果是____A___。

#include<

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___

13 

33、已知:

intx=10;

执行语句x-=x+x;

后x的值是__A___

-10 

-20 

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

所有的输入/输出都是通过调用库函数处理的 

所有的输入/输出都是通过输入/输出语句实现的 

getchar和putchar可以省略#include 

在输入/输出格式中的*表示跳过数据的含义 

35、设x=10,y=5;

z=15,执行下面一段程序后z的结果是__C___if(x>

36、执行下面程序段的结果是__D___intx=0;

37、以下关于switch语句和break语句的描述正确的是__D___

在switch语句中必须使用break语句 

break语句只能用于switch语句体中 

break语句只能用于循环语句中 

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

38、与语句while(!

x)等价的语句是__A___

while(x==0) 

while(x!

=0) 

=1) 

while(~x) 

39、下面的描述错误的是__C___

40、下面关于局部变量的描述中,错误的是__D___

不同的函数中不能定义相同名称的局部变量

东北大学C语言期末考试题及答案(3)

1、定义了一维int型数组a[10]后,下面错误的引用是_____

正确答案是:

B

2、设有定义:

inta=1,*p=&

floatb=2.0;

charc='

A'

,以下不合法的运算是()

C

*p++;

  

a--;

   

c--;

3、若有定义:

intx[10],*p=x;

,则*(p+5)表示()

数组元素x[5]的地址 

数组元素x[5]的值 

数组元素x[6]的地址 

数组元素x[6]的值 

4、执行以下程序段后,y的值是()。

inta[]={1,3,5,7,9}intx=0,y=1,*ptr;

ptr=&

a[1];

while(!

x){y+=*(ptr+x);

x++;

1  

2  

4  

5、下面程序的运行结果是()。

voidselect(char*s){inti,j;

char*t;

t=s;

for(i=0,j=0;

*(t+i)!

i++)if(*(t+i)>

0'

*(t+i)<

9'

){*(s+j)=*(t+i);

j++;

}*(s+j)='

\0 

D

HPw19&

HPw 

19&

1917 

6、对于下面语句描述不正确的为_____structStudent

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1