C语言期末考试试题及详细答案Word格式文档下载.docx

上传人:b****3 文档编号:6406194 上传时间:2023-05-06 格式:DOCX 页数:39 大小:30.90KB
下载 相关 举报
C语言期末考试试题及详细答案Word格式文档下载.docx_第1页
第1页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第2页
第2页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第3页
第3页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第4页
第4页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第5页
第5页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第6页
第6页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第7页
第7页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第8页
第8页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第9页
第9页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第10页
第10页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第11页
第11页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第12页
第12页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第13页
第13页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第14页
第14页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第15页
第15页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第16页
第16页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第17页
第17页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第18页
第18页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第19页
第19页 / 共39页
C语言期末考试试题及详细答案Word格式文档下载.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言期末考试试题及详细答案Word格式文档下载.docx

《C语言期末考试试题及详细答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试题及详细答案Word格式文档下载.docx(39页珍藏版)》请在冰点文库上搜索。

C语言期末考试试题及详细答案Word格式文档下载.docx

A、ch>='

A'

ch<='

z'

B、A<=ch<=Z

C、'

<=ch<='

D、ch>=A&

ch<=z

14、在C语言中,能表示无符号长整型常数的是(D)。

A、OLB、4962710UC、912374uD、2UL

15、能正确表示C语言的字符常量的是(C)。

\0x41'

B、'

C、'

\0'

16、C语言中逻辑表达式的值为(A)。

A、0或1B、非零值或零值C、true或falseD、'

true'

或'

false'

17、C语言提供的基本数据类型关键字是(C)。

A、integerB、FLOATC、unsignedD、Double

18、若定义语句:

intb[]={1,2,3,4,5},*P=b;

则表达式*p++的值是(A)。

A、1B、2C、b[0]的地址D、b[1]的地址

19、在下列选项中,不正确的表达式是(C)。

A、a>bB、c--,++b,a+=1C、a=c+b>n-m=kD、p++

20、若有以下定义:

inta[]={1,2,3,4,5,6,7};

charcl='

b'

,c2='

2'

则数值不为2的表达式是(D)。

A、a[1]B、'

d'

-clC、a['

3'

-c2]D、c2-0

25、下述对C语言字符数组的描述中错误的是(C)。

A、字符数组可以存放字符串

B、字符数组中的字符串可以整体输入、输出

C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D、不可以用关系运算符对字符组中的字符串进行比较

27、以下程序的输出结果是(A)。

main()

{inti=010,j=10,k=ox10;

printf('

%d,%d,%d\n'

i,j,k);

A、8,10,16B、8,10,10C、10,10,10D、10,10,16

28、以下程序的输出结果是(B)。

#include<stdio.h>

main()

{printf('

%d\n'

,NULL);

A、不确定的值(因变量无定义)B、0C、-1D、1

29、以下程序的输出结果是(B)。

{charc1='

6'

0'

printf('

%d,%d,%d\n'

,c1,c2,c1-c2);

A、因输出格式不合法,输出出错信息B、54,48,6

C、6.0,7D、6,0,6

32、下述对C语言字符数组的描述中错误的是(C)。

C、可以在赋值语句中通过赋值运算符'

='

对字符数组整体赋值

33、TurboC中,对于以下程序(A)。

{intx,y;

y=creat(&

x);

%d\n'

y);

creat(inta)

{returna++;

A、编译时会给出错信息

B、顺利进行编译、连接、执行;

不报任何错误

C、顺利通过编译、连接、但不能执行

D、顺利通过编译,但连接出错

34、设有如下定义:

intx=10,y=4,z;

则语句:

printf('

z=(x%y,x/y));

的输出结果是(C)。

A、1B、0C、2D、3

35、下述程序段的输出结果是(D)。

{intx=10,y=10;

%d,%d\n'

x++,++y);

A、10,10B、11,11C、11,10D、10,11

36、定义如下变量和数组:

intj;

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是(C)。

for(i=0;

i<3;

i++﹚

%d'

x[i][2-i]);

A、159B、147C、357D、369

37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为(C)。

A、a<>0B、!

aC、a=0D、a

38、若m,y,z均为int型变量,则执行下面语句后m值是(A)。

m=1;

x=2;

y=3;

z=4;

m=(m<x)?

m:

x;

m=(m<y)?

y;

m=(m<z)?

z;

A、1B、2C、3D、4

39、若有定义:

inta=7;

floatx=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

A、2.500000B、2.750000C、3.500000D、0.000000

40、如下说法不正确的是(C)。

A、c>a+b等效于c>(a+b)

B、若a,b均为真,则a||b为真

C、表达式'

c'

的值为0

D、逻辑运算符!

比逻辑运算符||的优先级高

41、putchar()函数可以向终端输出一个(B)。

A、整型变量表达式值B、字符

C、字符串D、实型变量值

42、表达式18/4*sqrt(4.0)/8值的数据类型为(C)。

A、intB、floatC、doubleD、不确定

43、若已定义a为整型变量:

a=-2L;

,a);

则以上语句(B)。

A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为2

45、若int类型数据占两个字节,则以下语句的输出为(D)。

intk=-1;

%d,%u\n'

k,k);

A、-1,-1B、-1,32767C、-1,32768D、-1,65535

46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为(C)。

yhg

chara='

a'

;

a--;

%d,%c\n'

a+'

-'

);

A、b,cB、a—运算不合法,故有语法错

C、98,cD、格式描述和输出项不匹配,输出无定值

47、下面语句中(B)是C语言的正确赋值语句。

A、a=1,b=2B、I++;

C、a=b=5D、y=int(x);

A中声明变量并初始化时:

inta=1,b=5;

但是,只赋值时是不能这样写的,应该写成a=1;

b=2;

C无分号,不是完整的语句,D中x没有定义,如果是intx=3;

inty;

y=int(x);

这样是对的

48、设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是(C)。

A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型

C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名

49、能正确表示:

当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是(C)。

A、(x>=1)&

(x<=10)&

(x>=100)&

(x<=110)

B、(x>=1)||(x<=10)||(x>=100)||(x<=110)

C、(x>=1)&

(x<=10)||(x>=100)&

D、(x>=1)||(x<=10)&

50、设n为整型变量,则循环语句for(n=10;

n>0;

n--)的循环次数为(A)。

A、10B、9C、11D、12

51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是(D)。

A、fopen()B、fseek()C、fclose()D、rewind()

52、下列哪个数组定义是正确的(D)。

A、inta[5.5];

B、INTa[10];

C、inta[n];

D、inta[3+2];

53、一个变量的指针就是(A)。

A、变量的地址B、变量的值C、变量的名称D、变量的类型

55、下列正确的说法是(C)。

A、宏替换是在程序运行时进行的

B、函数调用是在程序编译时进行的

C、宏替换时,如果实参是表达式,应先求表达式的值,再替换

D、函数调用时,如果实参是表达式,应先求表达式的值,再替换

56、对于数学式

/2a,下面正确的C语言表达式是(D)。

A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a

57、若int类型数据占2字节,则以下语句的输出为(D)。

intk=32768;

A、-1,65535B、-1,32767C、-1,-1,D、-32768,32768

59、下面程序中(B)有错误。

1)#include<stdio.h>

2)main()

3){

4)inta[3]={0,0,0};

5)inti;

6)for(i=0;

i++﹚scanf('

%D'

&

a[i]);

7)for(i=1;

i++﹚a[0]=a[0]+a[i];

8)printf('

a[0];

}

A、第4行B、第6行C、第7行D、第8行

60、下面程序的运行结果(C)。

{unsigneda=3,b=10;

5

a<<2|b>>1=;

}

A、3B、10C、13D、14

%m.nd表示最大场宽m,小数位为n位,整数位则为m-n-1位,够m位右对齐。

%-m.nf可以控制输出左对齐

61、已定义x为float型变量。

x=213.82631;

Printf('

%-4.2f\n'

x);

则以上程序(A)。

A、输出格式描述符的域宽不够,不能输出B、输出为213.83

C、输出为213.82D、输出为-213.82

62、设已定义整型变量K,则下面的程序输出为(D)。

k=017;

s=111;

,++k);

%x\n'

,s++);

A、156fB、1670C、1571D、166f

63、不能正确表示a*b/c*d的C语言表达式是(C)。

A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)

64、下列(C)表达式不满足;

当x的值为偶数时值为“真”,为奇数时值为“假”。

A、x%2==0B、!

x%2!

=0C、x/2*2-x==0D、!

(x%2)

65、设已定义k为int型变量,则下面while循环执行(C)次。

k=10;

while(k=0)k=-1;

A、执行10次B、无限循环C、一次也不执行D、执行一次

67、用高级语言编写的程序称之为(A)。

A、源程序B、目标程序C、汇编程序D、命令程序

69、有以下程序的输出结果为(B)。

{chara=0x95,b,c;

b=(a&

0xf)<<4;

c=(a&

0xf0)>>4;

a=b|c;

a);

A、24B、59C、34D、56

70、下述程序段的输出结果是(A)。

inta=3;

b=4;

intc=a^b>>3;

c)

A、3B、4C、5D、6

73、设int型变量在内存中占用两个字节存储单元,定义如下结构体:

structstudent

{charname[10];

charsex;

intage;

struct

{intyear;

intmonth;

intday;

}birth;

}stul;

则表达式sizeof(stul)的值是()。

A、5B、8C、2D、26

75、下述程序段的运行结果是(B)。

#include<

stdio.h>

{intm=7,n=4;

floata=38.4,b=0.4,x;

x=m/2+n*a/b+1/2;

%f\n'

A、22B、387.000000C、27D、26

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

main()

{intcl=2,c2=0;

while(!

c2--)

%d%d'

cl--,c2);

A、陷入死循环B、不输出任何内容

C、输出2-1D、输出20

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

intm=4,n=6;

max(intx,inty)

{intmax;

max=x>

y?

x:

return(max);

{intm=10;

max(m,n));

A、4B、10C、6D、5

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

fun(intp)

{intk=1;

statict=2;

k=k+1;

t=t+1;

return(p*k*t);

{intx=4;

fun(x);

fun(x));

A、4B、32C、30D、16

79、阅读下面的程序:

{charch;

scanf('

%c'

ch);

if(ch>

ch<

ch=ch-32;

ch);

若输入字符为:

e,则程序运行结果为(A)。

A、EB、AC、eD、z

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

{staticinta[3][3]={{3,2,1},(4,5,6),{-2,9,1}};

inti,j,sum=0;

i<

3;

i++)

for(j=0;

j<

j++)

{if(i==j)

sum=sum+a[iJ[j]];

sum=%d'

sum);

A、sum=10B、sum=9C、9D、10

84、下述程序的运行结果是(A)。

#include<

voidfun(intx)

{

putchar('

+(x%10));

fun(x/10);

\n'

fun(1234);

A、4321B、321C、21D、1

86、设已定义i和k为int类型变量,则以下for循环语句(B)。

for(i=0,k=-1;

i++,k++)

****\n'

A、判断循环结束的条件不合法B、是无限循环

C、循环一次也不执行D、循环只执行一次

87、下列程序段选择项中,使i的运行结果为4的程序段是(D)。

A、inti=0,j=0;

B、inti=1,j=70;

(i=3,(j++)+i);

j=i=((i=3)*2);

C、inti=0,j=1;

D、inti=1,j=1;

(j==1)?

(i=1):

(i=3);

i+=j+=2;

89、阅读以下程序(最左边是附加的行号)。

1)#include<

2)main()

3){floats[5];

4)inti,k=0;

5)for(i=0;

5;

6)scanf('

s+i);

7)for(i=0;

8)k=s[i];

9)printf('

\n%f'

(float)k);

10)}

此段程序(A)。

A、没有错误B、第4行错误C、第6行错误D、第9行错误

90、下列程序中有三个是完全相同的功能,只有(B)所完成的功能与其他程序不同。

A、s=0;

B、s=0;

i=0;

i=1;

while(i<

=100)while(i++<

100)

s+=i++;

s+=i;

C、s=0;

D、s=0;

i=0;

while(i<

=100)while(++i<

=100)

s+=++i;

s+=i;

92、执行下面的程序后,a的值为(D)。

{inta,b;

for(a=1,b=1;

a<

=100;

a++)

{if(b>

=20)break;

if(b%3==1)

b+3;

continue;

b-=5;

A、7B、8C、D、10

93、下面的程序中(C)有错误。

4)floata[3]={0.0};

5)inti;

6)for(i=0;

7)scanf('

8)for(i=1;

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

9)printf('

a[0]);

}

A、第4行B、第6行C、第7行D、第8行

94、以下程序的输出结果是(C)。

{inti;

for(i=1;

{if(i%2)

+'

else

continue;

$\n'

A、+-+-+-$B、-+-+-+$C、+-+-$D、-+-+$

95、下述程序段的输出结果是(C)。

intx=3;

do

{printf('

x-=2);

}while(!

(--x));

A、1B、30C、1-2D、死循环

96、定义如下变量:

intn=10;

则下列循环的输出结果是(A)。

while(n>

7)

{n--;

n);

A、1098B、987C、10987D、9876

100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是(A)。

{intx;

scanf('

int(x++>

5)

x--);

A、7和5B、6和3C、7和4D、6和4

101、运行下段程序的结果是(D)。

#include<

for(x=1;

x<

x++)

if(++x%==0)

if(++x%3==0)

if(++x%5==0)

printf('

A、31,61,91B、30,60,90

C、不输出任何内容D、29,59,89

102、运行下述程序段后,i值为4的是(B)。

A、inti=1,j=0;

B、inti=1,j=1;

i=j=((i=3)++);

i+=i+=2;

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2