最新《c语言程序设计基础》期末考试试卷‘b’及答案

更新时间:2023-04-10 19:40:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

__________________________________________________

一、单项选择题(每小题2分,共30分)答案填入下表

1. 在C语言中,下面字符串能用作变量名的是( )。

A、a+b

B、auto

C、2-and

D、a2

2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。

A、3.500000 B. 3.000000 C. 2.000000 D. 3

3. 下列关于C语言中字符常量与字符串常量的叙述中,错误的是

( )。

A、字符常量是用单撇号括起来的一个字符

B、空格字符也可用作字符常量

C、字符串常量是用单撇号括起来的一个字符序列

D、字符串常量是用双撇号括起来的一个字符序列

4. 若有以下变量说明和数据的输入方式,则正确的输入语句为

( )。

变量说明:float x1,x2;

数据的输入方式:4.52<回车>

3.5<回车>

A、scanf(“%f,%f”,&x1,&x2);

B、scanf(“%f%f”,&x1,&x2);

C、scanf(“%3.2f,%2.1f”,&x1,&x2);

D、scanf(“%3.2f%2.1f”,&x1,&x2);

5. 下列程序段的执行结果是( )。

char s[10];

s=″abcd″;

printf(″%s\n″,s);

A、输出abcd

B、输出a

C、输出abcduuuuu

D、编译不通过

6. 在一个源文件中定义的全局变量的作用域为()。

A. 本文件的全部范围

B. 从定义该变量开始至本文件结束

C. 本函数的全部范围

D. 本程序的全部范围

7.当调用函数时,实参是一个数组名,则向函数传送的是( )。

A、数组的长度

B、数组的首地址

C、数组每一个元素的地址

D、数组每个元素中的值

8.若j为整型变量,则下面while循环( )。

j=10;

while(j!=0) j=j-1;

收集于网络,如有侵权请联系管理员删除

__________________________________________________

A、执行0次

B、执行1次

C、执行10次

D、执行无限次

9. 在while(x)语句中的x与下面条件表达式等价的是:( )。

A、x!=0

B、x==1

C、x!=1

D、x==0

10. 以下对C语言函数的描述中,正确的是( )。

A、调用函数时,参数可以是表达式

B、函数的定义可以是嵌套

C、函数必须有返回值

D、所有函数必须在同一个程序文件中定义

12. C语言中函数返回值的类型由( )决定的。

A、return语句中的表达式类型

B、调用该函数的主调函数的类型

C、调用函数时临时决定

D、定义函数时所指定的函数类型

13. 以下定义语句中,错误的是( )。

A、int a[ ]={1,2};

B、int a[ ][3]={1,2,3,4,5};

C、char s[10]=“test”;

D、int n=5,a[n];

14. 若变量c为char类型,能正确判断出c为大写字母的表达式是

( )。

A、'A'<=c<= 'Z'

B、(c>= 'A')||(c<= 'Z')

C、(c>= 'A')&&(c<= 'Z')

D、('A'<=c)and ('Z'>=c)

15. 若有以下说明和语句,且已知char型占1个字节,int型占两个

字节,float 型占4个字节。

struct st

{ int num;

char name[10];

int age;

float score;

}student;

则结构体变量student占用内存的字节数是( )。

A. 10

B. 18

C. 9

D. 2

二、填空题(每空2分,共20分)

收集于网络,如有侵权请联系管理员删除

__________________________________________________

16.以下if语句执行后,a、b、c中的值分别为________。

int a=1,b=2,c=3;

if(a>c) b=a; a=c; c=b;

17.若程序中用到strlen()函数,就在程序开头写上包含命令#include________。

18. 设有以下变量定义,并已赋确定的值

char w; int x; float y; double z;

则表达式:w*x +z-y所求值的数据类型为。

19. 字符串"Chinese"的占内存长度是单元。

20. 若int i=10,j=2;则执行i*=j+8;后i的值为。

21. 若有定义float x,y;则从键盘给x、y输入数据的语句应写为

22. 若int a[2][2]={{1},{2,3}};则a[0][1]的值为___________。

23. 条件“y能被4整除但不能被100整除”的C语言表达式是___

_____ ___;

表达式“0≤a≤10”在C语言中应表示为。

24. 有如下程序段

int *p,a=10,b=1; p=&a; a=*p+b;

执行该程序段后,a的值为。

三、程序分析题(每小题5分,共10分)

25. 阅读程序,写出下列程序的运行结果。

#include

int main()

{

int i,j,a[][3]={1,2,3,4,5,6,7,8,9};

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

收集于网络,如有侵权请联系管理员删除

__________________________________________________

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

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

printf("\n");}

}

26. 阅读程序,写出下列程序的运行结果。

# include

main()

{

int m=1, n=2, *p=&m, *q=&n, *r;

r=p;

p=q;

q=r;

printf("%d,%d,%d,%d\n",m,n,*p,*q);

}

四、程序填空题(每小题10分,共20分)

27. 该程序的功能为:向数组中录入十个数,然后求这十个数的平

均值。

#include

main()

{

float a[10],x;

int i;

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

scanf(“%f”, (1));

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

(2);

x=x/10.0;

printf(“平均值=%f\n”,x);

}

(1)

(2)

28.程序完成的功能为:将三个整数按从小到大的顺序排列,并打

印出来。

#include

收集于网络,如有侵权请联系管理员删除

__________________________________________________

收集于网络,如有侵权请联系管理员删除 int main()

{

int x,y,z,t;

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

if(x>y)

{t=x;x=y;y=t;}

if( (1) )

{ (2) }

if( y>z )

{t=y;y=z;z=t;}

printf("这三个数从小到大为:%d,%d,%d",x,y,z);

return 0;

}

(1)

(2)

五、程序设计题(每小题10分,共20分)

29. 编写程序:计算任一输入的整数的各位数字之和。

要求:使用自定义函数求解;主函数包括输入、输出和函数调用语句。

30. 编写程序:实现下面的分段函数,输入x 的值,求y 的值。

y=21311x x x ??-??-?

101011≥<≤

__________________________________________________

【本套试卷共有五大题,计30小题】

一、单项选择题(每小题2分,共30分)

1-5 DBCBD

6-10 BBCAA

11-15 CDDCB

二、填空题(每空2分,共20分)

16. 3,2,2 。

17. #include

18. double 。

19. 8 。

20. 100 。

21. scanf(“%f %f”,&x,&y) ; 。

22. 0 。

23. y%4= =0&&y%100!=0_

. a>=0&&a<=10 。

24. 11

三、程序分析题(每小题5分,共10分)

25. 运行结果:1 2 3 5 6 9

26. 运行结果:1,2,2,1

四、程序填空题(每小题10分,共20分)

27.(1 ) &a[i]

(2 ) x=x+a[i];

28.(1 ) x>z

(2 ) t=x;x=z;z=t;

五、程序设计题(每小题10分,共20分)

收集于网络,如有侵权请联系管理员删除

__________________________________________________ 29. #include

int shuzihe(int n);

int main()

{

int n,sum;

printf("请输入任一正整数:");

scanf("%d",&n);

sum=shuzihe(n);

printf("这个整数的各位数字之和为:%ld\n",sum);

return 0;

}

int shuzihe(int n)

{

int sum=0;

while(n!=0)

{ sum+=n%10;

n=n/10;

}

return sum;

}

30. #include

int main()

{

float x,y;

scanf("%f",&x);

if(x<1)

y=x;

else if(x>=1&&x<10)

y=2*x-1;

else

y=3*x-11;

printf("y=%f\n",y);

return 0;

}

1 观察物体(三)

收集于网络,如有侵权请联系管理员删除

本文来源:https://www.bwwdw.com/article/8u8l.html

Top