C语言程序设计试题附答案3篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题附答案3篇
C语言程序设计试题附答案1
1. 用C语言编写的代码程序( B )
A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行
2. C语言中用于结构化程序设计的三种基本结构是( A )
A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue
3. 以下定义语句中正确的是( C )
A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=
4.下列选项中,不能用作标识符的是( D )
A)_1234_ B)_1_2 C) int_2_ D)2_int_
5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
A)局部变量说明为static存储类,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同
7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)
A)for(i=1,p=1;i=0_______;i--)
{if(____i%17==0____④________) break;}
printf("%d\n",__⑤_i____);
}
3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
main()
{ int i,a[20],sum,count;
sum=count=0;
for(i=0;i0)
?? { count++;
?? sum+= _a[i]__③___ ;
?? }
? }
printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);
}
4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。
int fun( int n)
{ int m=0,i;
for(i=__1_①___; i0)s=a+b;
if(a0)
if(c0)w=a-b;
else t=c;
printf("%d,%d,%d\n",s,w,t);
}
5阅读下面程序:
main()
{ int s, t, a, b;
scanf("%d%d",
s=1;
t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=2s;
printf("s=%d, t=%d", s, t);
}
6为了使输出结果t=4, 输入量a和b应满足的条件是【】
7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。
#include main()
{ int a,max=0;
scanf("%d",
}
printf("%d",max);
}
8执行下面的程序段后,k值是【】。
k=1; n=263;
do { k=n%10; n/=10; } while(n);
9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。
#include
main()
{ int a,d,sum;
a=2;d=3;sum=0;
do
{ sum+=a;
a+=d;
if (【】) printf("%d\n",sum);
} while(sumb) a-=b;
while (a=0;i--) t=i;
printf("%d\n",t);
}
5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。
6.下面程序段将字符数组b连接到数组a的后面。
main()
{
char a[20]= ."I am ";
char b[]= ."a student.";
int i, j;
i = strlen(a);
for(j =__(8)___; b[j]!='\0'; j++)
{
a[__(9)__] = b[__(10)__];
}
a[___(11)__] = ___(12)___ ;
}
7.for(表达式1;表达式2;表达式3)
语句组
的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。
三、写出程序的运行结果(30分,每题10分)
1.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));
}
2.写出程序运行后的输出结果
#include
main()
{
float x=2,y;
if(x2)
i=3-j;
s+=b[i][j];