重庆西南大学 C语言.网上作业及答案
玛丽莲梦兔
755次浏览
2020年08月02日 02:31
最佳经验
本文由作者推荐
姊怎么读-有余
1、通过C语言的学习,请认为C语言具有哪些重要特点? 什么时候使用函数的原型?使用函数原型的作用是什么?
2、算法的特性有哪些?
3、传统流程图有哪里缺点?为了提高算法质量,现在有哪三种结构,他科共同特点有哪些?
4、结构化程序设计方法有内容是什么?
5、请将C语方的数据内型和其它高级语言的数据类型做比较,C语言有哪些特点?
6、C语方为什么规定对所有用到的变量要"先定义,后使用”这样的做有什么好处?
7、什么是指针,什么是指针变量?
8、什么是内部函数和外部函数?
1、答:(1)C程序结构简洁、灵活、高效。(2)提供了丰富的数据类型。 (3)是一种很好地体现了结构化思想的程序设计语言。(4)由于提供了位操作,因此,具有高级语言和低级语言的特点。(5)由于提供了预处理命令,位大型系统的开发提供良好的机制。 一般,当被调用的函数在调用函数之后的时候使用函数的原型。其作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。
2、答:(1)有穷性 (2)确定性 (3)有零个或多个输入 (4)有一个或多个输出 (5)有效性
3、答:传统流程图用流程线提出各框的执行顺序,对流程线的使用没有严格的限制,使用者随意性大,阅读者会花费很大的精力去追踪流程,理解逻辑。 现在用的有顺序结构、选择结构、循环结构。共同特点:只有一个入口,一个出口,结构内的每部分都有机会执行到,结构内存在“死循环”。
4、答:自顶向下;逐步细化;模块化设计;结构化编码。
5、答:C语言包括基本类型(整型、字符型、浮点型、枚举类型)、构造类型(数组、结构体、共同体类型)、指针类型、空类型。 C语言的特点就是数据类型较多,如提供了一个构造体的数据结构,FORTRAN都不能提供这种数据结构。处理同一类问题,如果结构不同,就可以采用不同的算法,C语言为用户提供了方便。
6、答:(1)凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。(2)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。(3)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。
7、答:指针:就是一个变量的地址。指针变量:有一个变量专门用来存放另一变量的地址(即指针)。
8、答:内部函数:一个函数只能被本文件中的其他函数所用,在定义时使用static。 外部函数:一个函数不光是被本文件中其他函数调用,还可以被其
他文件中的函数调用,定义时用extends。
第四次作业
1、下列函数的功能是什么
int fun(char *x)
{char *y=x;
while(*y++);
return y-x-1;
}
2、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?i--执行的次数是多少?
#include
void main()
{ int i=100, s=0;
while(i--)s+=i;
printf("%d
”,s)
3、在下列程序中,函数f的功能是什么? 该程序的运行结果是多少?
#include
unsigned f(unsigned num)
{unsigned k=1;
do
{k*=num%10;
num/=10;
}while(num);
return k;
}
void main()
{int x=35,y=550;
printf("%d,%d”,f(x),f(y));
}
4、在下列程序中,函数p的功能是什么? 该程序的运行结果是多少?
#include "stdio.h”
void p(int x[ ],int n)
{int i,j,k,t;
for(i=0;i
{k=i;
for(j=i+1;j
if(x[j]
t=x[k];x[k]=x[i];x[i]=t;
}
}
void main( )
{int a[10]={34,50,89,67,102,11,75,30,125,145},i;
sort(a,10);
for(i=0;i<10;i++)
printf("%10d”,a[i]);
}
5、下述循环的循环次数是多少?程序段执行结束后,k的值是多少?
int k=2;
while (k=0) printf("%d",k),
k--;printf("
");
6、下列程序的运行结果
#include
int fun(int n)
{int m=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;
f=(-1)*f;
}
return m;
}
main()
{printf("m=%d
”,fun(10));
}
7、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
main()
{float x[1000],sum=0.0,ave,a;
int n=0,i;
printf("Enter mark:\n”);scanf("%f”,&a);
while((1))
{sum___(2)____;x[n]=a;n++;
scanf("%f”,&a);}
ave=____(3)___;
printf("Output:\n”);
printf("ave=%f\n”,ave);
for(i=0;i
8、有如下程序
#include
int fun(int x)
{ int p;
if(x= =0 || x= =1) return 3;
else p=x-fun(x-2);
return p;
}
void main()
{ printf("
%d”,fun(9));
}
该程序的输出结果是多少?
9、请根据要求完善下列程序(每空2分,共6分)
下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空:
#include "stdio.h"
void main()
{int a[10],i,max;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for( (1) i<10;i++)
if(a[i]>a[max]) (2)
printf("最大值为:%d ,下标是:%d", (3) ,max);
}
10、下列程序的功能是:从键盘输入10数,找出其中的素数并按降序输出这些素数。请根据给定的程序
和程序的功能完善该程序。(每空2分,共6分)。
#include
#include
int f(int x)
{int i;
for(i=2;i<=sqrt(x);i++)
if(x%i==0) return 0;
(1)
}
void main()
{int a[10],i,n=0,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
if( (2) ) n++;
else a[i]=0;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if( (3) ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("共有%d个素数,它们是:",n);
for(i=0;i<9;i++)
if(a[i]!=0) printf("%d ",a[i]);
}
答:1、函数的功能是求字符串的长度
2、i的值为-1,循环次数是100,i--执行的次数为101
3、函数f的功能是求任意整数的各位数字之积, 该程序的运行结果是15,0
4、函数p的功能是对n个整数排序,该程序的运行结果是11 30 34 50 67 75 89 102 125 145
5、循环次数是0次,k的值是-1
6、m=-5
7、(1)a>=0 (2)sum + a (3)sum / n
8、该程序的输出结果是7
9、(1)i=1,max=0或max=i=0 (2)max=i; (3)a[max]
10、(1)return 1; (2)d(a[i]) (3)a[j]