c语言期中测试.docx

上传人:b****8 文档编号:9127397 上传时间:2023-02-03 格式:DOCX 页数:18 大小:27.98KB
下载 相关 举报
c语言期中测试.docx_第1页
第1页 / 共18页
c语言期中测试.docx_第2页
第2页 / 共18页
c语言期中测试.docx_第3页
第3页 / 共18页
c语言期中测试.docx_第4页
第4页 / 共18页
c语言期中测试.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言期中测试.docx

《c语言期中测试.docx》由会员分享,可在线阅读,更多相关《c语言期中测试.docx(18页珍藏版)》请在冰豆网上搜索。

c语言期中测试.docx

c语言期中测试

2006-2007第二学期《C语言》期中考试卷

 

一、单项选择题

1、C语言是在()的基础上发展起来的【】

A.C++B.C#

C.B语言D.pascal

2、以下属于C的预定义关键字的是:

【】

A.CharB.Bool

C.intD.If

3、在c语言中,当do-while语句中的条件为()时,结束该循环【】

A.0B.trueCfalseD非0

4、已知变量定义i=4,j=7,表达式k=(i++)*(++j)的值是【】

A.28B35C.32D40

5、以下不正确的描述是【】

Abreak语句不能用于循环语句和switch语句外的任何其他语句

B在switch语句中使用break语句或continue语句的作用相同

C在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环

D在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。

6、为了避免嵌套的条件语句if–else的二义性,c语言规定:

else与()配对【】

A.缩排位置相同的if.B其之前的最近的if

C.其之后的最近的ifD同一行上的if

7、以下选项中合法的C语言赋值语句是:

【】

Aa=b=58Ba=58,b=58

C--i;Dk=int(a+b);

8、设a为整型变量,不能正确表示数学关系:

 10

A10

Ca>10&&a<15D!

(a<=10)&&!

(a>=15)

9、在C语言中逻辑值“真”用什么表示:

【】

A非零的数B非零的整数C1D0

10、C语言提供的基本的数据类型有:

【】

A整型,字符型,实型B数组,整型,实型

C指针,数组,实型D空类型,实型,字符型

11、以上说法不正确的是:

【】

AC程序由一个或多个函数组成;

BC程序有且必须有一个主函数;

C可在程序的任何位置加注释;

DC语言不区分大小写;

12、以下是合法的标识符的是:

【】

Asignedb30BmaxmainC#abcabcDsalarysly

13、以下说法不正确的是:

【】

A变量必须先定义再使用;

B变量的定义和说明没有区别;

C转换字符’\n’代表回车-换行;

D一个字符常量在计算机的存储中占据一个字节;

14、在c语言中,当函数调用时【】

A实参和形参各占一个独立的存储单元

B实参和形参共用存储单元

C可以由用户指定实参和形参是否共用存储单元

D由系统自动确定实参和形参是否共用存储单元

15、以下函数调用语句中,含有的实参个数是【】

fun(x+y,(e1,e2),fun(x,y,d,(a,b)));

A3B4C6D8

16、在c语言中,逻辑值“真”用()表示【】

AtrueB.大与0的数C非零整数D非0的数

17、下列程序的输出是:

【】

main()

{

intx=5,y=3;

printf(“%d\n”,y=x/y);

}

A0B1C3D不确定的值

18、C语言的if语句中用作判断的表达式为:

【】

A关系表达式B逻辑表达式

C算术表达式D任意表达式

19、设有语句“chara=’\72’;”,则变量a【】

A包含1个字符B包含2个字符

C包含3个字符D说明不合法

20、在以下一组运算符中,优先级最高的是:

【】

A<=B=C%D&&

21、C语言提供的合法的关键字是【】

AswicthBCharCCaseDshort

22、若有以下定义和语句:

charc1=‘b’,c2=‘e’;

printf(“%d,%c\n”,c1-c2,c2-‘a’+’A’);

则输出的结果是【】

A2,MB3,EC2,E

23、合法的数组定义是【】

Ainta[]=”abcdef”;Binta[3]={0,1,2,3};

Cchara=”abcdef”;Dinta[]={0,1,2,3};

24、以下函数的类型是【】

f(floatx)

{printf(“%d\n”,x);}

Avoid类型Bint类型

C无法确定D与参数x的类型相同

25、以下说法中正确的是:

【】

Ac语言程序总是从第一个定义的函数开始执行

B在c语言程序中,要调用的函数必须在main()函数中定义

Cc`语言程序总是从main()函数开始执行

Dc语言程序中的main()函数必须放在程序的开始部分

26、设x和y均为int型变量,则以下语句:

x+=y;y=x-y;x-=y的功能是【】

A把x和y按从大到小排序B把x和y按从小到大排序

C无确定结果D交换x和y中的值

27、设有如下定义:

inta=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式:

(m=a

A1B2C3D0

28、若t为double类型,表达式t=1,t+5,t++的值是【】

A1B6.0C2.0D1.0

29、若i,j已定义为int类型,则以下程序段中,内循环体的总的执行次数是【】

for(i=5;i;i――)

for(j=0;j<4;j++){...}

A20B24C25D30

30、设有如下定义:

intx=10,y=3,z;

则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是:

【】

A1B0C4D3

二、判断题

1、C语言不能进行位(bit)操作。

()

2、C语言注释中的内容只能用英文书写。

()

3、scanf和printf都是C系统提供的标准输入输出函数。

()

4、一个C程序总是从main函数开始执行。

()

5、表达式3++的值为4,而表达式++3的值为3。

()

6、逻辑非“!

”为双目运算符。

()

7、系统对字符串常量进行处理时,自动在其结尾处加’\0’作结束符;()

8、赋值运算符是按“自左至右”结合顺序的;()

9、使用宏定义,用户可以用一简单的名字代替一很长的字符串;()

10、用C语言写的程序可移植性比较差。

()

11、C语言中的注释,对编译和运行也起一定的作用。

()

12、C程序都是由函数构成的。

()

13、C程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。

()

14、运算符、常量及变量构成了表达式;()

15、表达式3++的值为4,而表达式++3的值为3。

()

16、数组中的各元素的数据类型可以不一致;()

17、C语言的循环结构程序设计中不允许循环的嵌套。

()

18、使用宏定义,用户可以用一简单的名字代替一很长的字符串;()

19、赋值运算符是按“自左至右”结合顺序的;()

三、填空题

1、一个函数由两部分组成:

和______________________。

2、一个用C编写的源程序的源文件名为source.c,则进行编译后,所形成的目标程序文件名为:

3、表示一个良好算法的三种基本结构有:

顺序结构、和________________。

4、设x=2.5,a=7,y=4.7,则表达式(int)(x+a)%3*(int)(x+y)%2/4的值为:

5、存储类别修饰符共有四种分别是:

__________、extern、static、register;

6、已知chara;intb;floatc;doubled;则表达式a*b+c-d的结果为__________类型。

7、当a=1,b=2,c=3时,执行下面语句后,a、b、c的值分别是_______,______,______。

if(a>c)

b=a;a=c;c=b;

8、C语言中的数组的下标都是从_______开始的。

9、计算机的内存以字节为单位,每一字节有一个编号,被称为____________。

10、所有的关系及逻辑运算符所产生的结果只有两个,分别是:

_______、_______。

11、C语言的数据结构以数据类型形式出现,基本的类型包括:

___________、___________、字符型和枚举类型。

12、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y的值为:

___________。

13、C语言中的标识符只能由三种字符组成:

___________、___________、__________;

14、C语言中的数组的下标都是从_______开始的。

15、已知chara;intb;floatc;doubled;则表达式a*b+c-d的结果为__________类型。

16、从函数的形式看,函数分为两类:

无参函数和_____________________。

17、在表示函数“不带回值”时,可以用_____________来定义函数的返回值类型。

18、按函数在程序中出现的位置来分,可以有以下三种函数调用方式:

函数语句、___________________、函数参数。

19、在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为_____________________。

20、当a=1,b=2,c=3时,执行下面语句后,a、b、c的值分别是_______,______,______。

if(a>c)

b=a;a=c;c=b;

 

四、程序填空题

1、

main()

{

_________________

scanf("%d,%d",&a,&b);

c=max(a,b);

printf("max=%d",c);

}

intmax(intx,inty)

{

intz;

if(x>y)z=x;

elsez=y;

___________________;

}

2、从键盘输入一个大写字母,要求改用小写字母输出。

#include

main()

{

charc1,c2;

c1=getchar();

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

_________________;

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

}

3、求100~200间的全部素数

#include

#include

main()

{

intm,k,i,n=0;

for(_______________________)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(______________)break;

if(i>=k+1)

{

printf("%6d",m);

n=n+1;

}

if(n%5==0)

printf("\n");

}

}

 

4、输入8个整数,然后按输入的相反的顺序显示这些数据:

#include

voidmain()

{

intdata[8],i;

printf("pleaseinputeightnumber:

\n");

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

scanf("%d",&data[i]);

printf("\n");

for(___________________________)

printf("%3d",data[i]);

}

5、

#include

voidmain()

{inta,b;

intfun1(intx,inty);

_______________________;

printf("aºÍbµÄƽ·½ºÍÊÇ£º%d",fun1(a,b));

}

intfun1(intx,inty)

{

intfun2(intm);

return(fun2(x)+fun2(y));

}

intfun2(intm)

{

________________________;}

6、在程序中提示输入整数n,编写函数用递归的方法求1+2+3+…+n的值。

#include

longfun(intn)

{

if(n==0||n==1)

return1;

else

_________________________;

}

voidmain()

{

intm,s;

printf("pleaseinputaintergernumber:

\n");

scanf("%d",&m);

______________________;

printf("thetotalnumberis%d",s);

}

五、程序结果题

1、

main()

{

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

40、

main()

{

inti,a[10];

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

a[i]=i;

for(i=9;i>=0;i--)

printf("%3d",a[i]);

}

2、

#include

main()

{

charc[10]={'c','','p','r','o','g','r','a','m'};

inti;

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

printf("%c",c[i]);

printf("\n");

}

3、设输入的内容为:

23,请写出输出结果。

 

#include

voidmain()

{intx,y;

printf("Enterxandy:

\n");

scanf("%d%d",&x,&y);

if(x!

=y)

if(x>y)

printf("x>y\n");

else

printf("x

else

printf("x=y\n");}

4、

#include

main()

{

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

intb[3][2],i,j;

printf("arraya:

\n");

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

{

for(j=0;j<=2;j++)

{

printf("%5d",a[i][j]);

b[j][i]=a[i][j];}

printf("\n");

}

printf("arrayb:

\n");

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

{

for(j=0;j<=1;j++)

printf("%5d",b[i][j]);

printf("\n");}

}

5、

#include

voidmain()

{inti,j;

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

{for(j=1;j<=i;j++)

Printf("*");

Printf("\n");}

}

 

6、

#include

inti;

voidmain()

{i=5;

{

inti;

i=7;

printf("i=%d\n",i);

}

printf("i=%d\n",i);

}

 

7、

#include

voidmain()

{inti=1,sum=0;

do{

sum+=i;

i++;

}while(i<=10);

printf("sum=%d",sum);

}

 

8、

main()

{intn[3],i,j,k;

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

n[i]=0;

k=2;

for(i=0;i

for(j=0;j

n[j]=n[i]+1;

printf("%d",n[1]);

}

9、

#include

main()

{

charc[10]={'c','','p','r','o','g','r','a','m'};

inti;

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

printf("%c",c[i]);

printf("\n");

}

 

10、

#include

main()

{

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

intb[3][2],i,j;

printf("arraya:

\n");

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

{

for(j=0;j<=2;j++)

{

printf("%5d",a[i][j]);

b[j][i]=a[i][j];

}

printf("\n");

}

printf("arrayb:

\n");

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

{

for(j=0;j<=1;j++)

printf("%5d",b[i][j]);

printf("\n");

}

}

 

11、

#include

voidmain()

{inti,j;

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

{for(j=1;j<=i;j++)

Printf("*");

Printf("\n");}

}

 

六、程序设计题

1、写出下列流程图所表示的C程序。

2、

求Fibonacci数列前40个数,这个数列有如下特点,第1,2两个数为1,1,从第3个数开始,该数是其前面两个数之和,即:

F1=1

F2=1

Fn=Fn-1+Fn-2(n≥3)

 

3、请写出与下列语句等效的if语句

switch(k){

case1:

case2:

printf(“A”);break;

case3:

case4:

case5:

printf(“A”);break;

default:

printf(“A”);break;

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

当前位置:首页 > 高等教育 > 医学

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

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