(精)最新c语言程序设计习题.doc
文本预览下载声明
习题一
一、单选择题
1.C程序是由( )构成的。A.一个main函数 B.一个main函数和一个其它函数
C.一个main函数和若干个其它函数 D.多个main函数和若干个其它函数
C
2.C程序的执行总是从( )开始的。
A.main函数 B.程序的第一个函数
C.程序的第一行 D.程序的第一个语句
A
3.以下不是算法特性的是( )。
A.有穷性 B.确定性
C.可行性 D.可读性
D
二、填空题
1.算法的基本结构有_______________、_______________和_______________三种。
顺序结构 选择结构 循环结构
2.C语言程序实际上也是一种_______________的表示方法。
算法
3.C语言的特点有_______________、_______________和_______________等。
语言简洁、运算符丰富、结构化语言
4.C语言的优点有_______________、_______________和_______________等。
可移植性强、代码效率高、书写格式自由
5.C语言的缺点有_______________、_______________和_______________等。
错误隐蔽、有时会难以理解、有时会难以修改
6.常用的算法有_______________、_______________和_______________等。
群举法(枚举法)、递推法(迭代法)、递归法
7.用计算机语言编写程序解决实际问题过程,通常分为若干步骤来完成。其中,分析问题的目的是明确_______________;设计算法的目的是考虑_______________。
做什么 怎么做
三、应用题
1.参考例1-1,编写一个C语言程序,输出以下内容:
******************************
C language program
******************************
includestdio.h
void main()
{
printf(“*************************\n”);
printf(“ C language program\n”);
printf(“*************************\n”);
}
2.参考例1-2,编写一个C语言程序,输入3个整数,输出它们的最大值。
includestdio.h
void main()
{
int a,b,c,max;
scanf(“%d%d%d”,a,b,c);
if(ab) max=a;
else max=b;
if(maxc) max=c;
printf(“Max=%d\n”,max);
}
3.用传统流程图或N—S流程图表示下列各题的算法:
(1)交换两个存储单元a和b的内容。
(2)判断一个数n能否同时被3和7整除。
If (n%3==0 n%7==0)
(3)鸡兔同笼,已知鸡兔共有头50个,有脚80只,问鸡兔各有多少只。(用枚举法)
includestdio.h
void main()
{
int n = 50;
int chick, rab;
chick = 1;
for(chick=1; chick51; chick++)
{
rab = n-chick;
if (chick*2 + rab*4 ==80)
{
printf(rab=%d, chick=%d\n, rab,chick);
break;
}
}
if (chick==51)
{
printf(no answer);
}
}
4.菲波那契数列的前2项是1,从第3项开始,每项的值是前2项的和,即该数列为1,1,2,3,5,…,求该数列的第20项。(用递推法)。
#includestdio.h
void main()
{
int fab1, fab2, t1, t2;
fab1 = 1; fab2 = 1;
printf(%d, %d\n, fab1,fab2);
for(int i=2; i20/2; i++)
{
t1 = fab1 + fab2;
t2= fab2 + t1;
printf(%
显示全部