2013年C语言知识程序设计学习基础-期末考试-试卷‘B’及其答案解析.doc
+-一、单项选择题1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a22. 若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.5A、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);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=010. 以下对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 s10=“test”; D、int n=5,an;14. 若变量c为char类型,能正确判断出c为大写字母的表达式是( )。A、A=c= A)|(c= A)&(c= Z)D、(A=c)2、 填空题(每空2分,共20分)16.以下if语句执行后,a、b、c中的值分别为_。int a=1,b=2,c=3;if(ac) b=a; a=c; c=b;17.若程序中用到strlen()函数,就在程序开头写上包含命令#include_。18. 设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x +z-y所求值的数据类型为 。20. 若int i=10,j=2;则执行i*=j+8;后i的值为 。21. 若有定义float x,y;则从键盘给x、y输入数据的语句应写为 。22. 若int a22=1,2,3;则a01的值为_。23. 条件“y能被4整除但不能被100整除”的C语言表达式是_ _ _;表达式“0a10”在C语言中应表示为 。24. 有如下程序段 int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后,a的值为 。三、程序分析题(每小题5分,共10分)11-15 BDBCA单项选择题(每小题2分,共30分)1-5 DDCAB6-10 ACDCA二、填空题(每空2分,共20分)16. 2 17. 5 18. 局部 19. 40 20. 9 21. 4 和 216 22. lf 23. 7 24. 25 三、程序分析题(每小题5分,共10分)25. 10 26. 7,8,7 四、程序填空题(每小题10分,共20分)27. (1) f0=f1=1; (2) i=0 28. (1) n%i= =0 (2) i=n 五、程序设计题(每小题10分,共20分)29. #include long fun(int n);int main() int n; long f; scanf(%d,&n); f=fun(n); printf(%d!=%ldn,n,f); return 0;long fun(int n) int i; long f=1; for(i=1;i=n;i+) f*=i; return f;30. #include int main() int i,x10,max,min; for(i=0;i10;i+) scanf(%d,&xi); max=x0; min=x0; for(i=1;imax) max=xi; if(ximin) min=xi; printf(最高分为:%d,最低分为:%d,max,min); return 0;26. 阅读程序,写出下列程序的运行结果 。# include main() int m=1, n=2, *p=&m, *q=&n, *r; r=p; p=q;q=r; printf(%d,%d,%d,%dn,m,n,*p,*q); 四、程序填空题(每小题10分,共20分)27. 该程序的功能为:向数组中录入十个数,然后求这十个数的平均值。#include main()float a10,x;int i;for(i=0;i10;i+) scanf(“%f”, (1) );for(i=0,x=0;i10;i+) (2) ;x=x/10.0;printf(“平均值=%fn”,x);(1) (2) 28. 程序完成的功能为:将三个整数按从小到大的顺序排列,并打印出来。 #include int main()int x,y,z,t; scanf(%d%d%d,&x,&y,&z);if(xy) t=x;x=y;y=t;if( (1) ) (2) if( yz )t=y;y=z;z=t; printf(这三个数从小到大为:%d,%d,%d,x,y,z);return 0;(1) (2) 五、程序设计题(每小题10分,共20分)29. 编写程序:计算任一输入的整数的各位数字之和。要求:使用自定义函数求解;主函数包括输入、输出和函数调用语句。30. 编写程序:实现下面的分段函数,输入x的值,求y的值。y= 题 号一二三四五六七八九十成绩满 分3020102020100得 分【本套试卷共有五大题,计30小题】一、 单项选择题(每小题2分,共30分)1-5 DBCBD6-10 BBCAA11-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&az (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(这个整数的各位数字之和为:%ldn,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&x10)y=2*x-1;elsey=3*x-11;printf(y=%fn,y);return 0;
收藏
- 资源描述:
-
+-
一、单项选择题
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);
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)
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所求值的数据类型为 。
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分)
11-15 BDBCA单项选择题(每小题2分,共30分)
1-5 DDCAB
6-10 ACDCA
二、填空题(每空2分,共20分)
16. 2
17. 5
18. 局部
19. 40
20. 9
21. 4 和 216
22. lf
23. 7
24. 25
三、程序分析题(每小题5分,共10分)
25. 10
26. 7,8,7
四、程序填空题(每小题10分,共20分)
27. (1) f[0]=f[1]=1;
(2) i=0
28. (1) n%i= =0
(2) i>=n
五、程序设计题(每小题10分,共20分)
29.
#include
long fun(int n);
int main()
{
int n;
long f;
scanf("%d",&n);
f=fun(n);
printf("%d!=%ld\n",n,f);
return 0;
}
long fun(int n)
{
int i;
long f=1;
for(i=1;i<=n;i++)
{
f*=i;
}
return f;
}
30.
#include
int main()
{
int i,x[10],max,min;
for(i=0;i<10;i++)
scanf("%d",&x[i]);
max=x[0];
min=x[0];
for(i=1;i<10;i++)
{
if(x[i]>max)
max=x[i];
if(x[i]
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=
题 号
一
二
三
四
五
六
七
八
九
十
成绩
满 分
30
20
10
20
20
100
得 分
【本套试卷共有五大题,计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;
}
展开阅读全文