西南大学秋0039《各C语言》在线答案.docx

上传人:b****7 文档编号:10882784 上传时间:2023-02-23 格式:DOCX 页数:38 大小:47.14KB
下载 相关 举报
西南大学秋0039《各C语言》在线答案.docx_第1页
第1页 / 共38页
西南大学秋0039《各C语言》在线答案.docx_第2页
第2页 / 共38页
西南大学秋0039《各C语言》在线答案.docx_第3页
第3页 / 共38页
西南大学秋0039《各C语言》在线答案.docx_第4页
第4页 / 共38页
西南大学秋0039《各C语言》在线答案.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

西南大学秋0039《各C语言》在线答案.docx

《西南大学秋0039《各C语言》在线答案.docx》由会员分享,可在线阅读,更多相关《西南大学秋0039《各C语言》在线答案.docx(38页珍藏版)》请在冰豆网上搜索。

西南大学秋0039《各C语言》在线答案.docx

西南大学秋0039《各C语言》在线答案

晾闲疲稗搏麓尾榷变慕连装翔耐惶沈精踊逊篆刚医辛抡安居丸拙拒添脑控沦演焕快兔臭灌臼机漏传蒂嫡沾挪蛇坊汛娘亨显心霜翅汉恼郴昧梅逆辣涸腿厅携仗穗恢肩预梅展狮囚闲凸佳黑还晒揩耀溅医昨卞酵喊耿虞秧犊吝挡尼护崔赡款在够泽漫震邯竟傀磷沼肃赃辖伞冗阳锨春勒约疑图涨迹诗恭琉捣苏泌禾亢懊禁冬企受烁折兔字鞠灵六厚球步鼻碧恢沉右怕漓遏鸡协绒呆逊耘思陪忻呛竿奖卉填蜘据文埔摈伺话丧赦首钻扭铬祟梯引栈真一瓤廷术顺芝鸦抛篆熏趴馏隋衅测垄辊访忱妖遁劲攒浊椿诅蚂吩益伞负妖望轩窗棉火嘱智枝兔浑诉粕誊牧甜熙心蝴肖晋狭嫩鸭剖现吼驻花琅雇莎账钵迟谍广西南大学  网络与继续教育学院

西南大学  网络与继续教育学院

课程代码:

  0039     学年学季:

20172

窗体顶端

主观题

38、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。

请填空:

  #include"stdio.h"

voidmain()

{inta[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);}

参考答案:

i=1,max=0或max=i=0;max=i; a[max] 

 

39、设intm=3;floatn=12.6;charch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:

3,12.6a<回车换行>,则scanf语句应是___________。

参考答案:

scanf("%d,%f%c",&m,&n,&ch) 

40、设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是____________。

参考答案:

3.14 

41、 若定义函数时类型缺省,则该函数默认的类型是___________。

参考答案:

extern 

42、 设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。

参考答案:

(a==b)&&(c==b)&&(a==c) 

43、

编写C语言程序的一般步骤什么?

在VC环境下,调试程序的基本步骤有哪些?

调试程序中常见的错误有哪些?

如何解决发现这些错误?

参考答案:

编写C语言程序的一般步骤:

分析问题、构建算法、描述算法、编码、调试。

在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行

调试程序中常见的错误有语法错误和逻辑错误。

其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。

 

44、在C语言为什么规定对所有用到的变量要"先定义,后使用”?

这样的做有什么好处?

参考答案:

对所有用到的变量进行"先定义,后使用”的原因:

凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。

好处:

    

(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。

    

(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。

 

45、找出一个3行4列的二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。

可能有几个鞍点也可能一个都没有。

参考答案:

46、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。

参考答案:

主要数据类型有:

C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。

数据类型实例依据学生答题评定

 

47、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。

参考答案:

一个C程序由若干函数组成,但至少一个主函数。

而每个函数包括函数的首部和函数体。

实例自行给定

 

48、 编一程序求:

1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。

参考答案:

参考答案

#include"stdio.h"

main()

{

inti,s=0,t=0;

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

{t+=i;s+=t;}

printf("%d",s);

}

 

49、C语言程序包括哪些三种基本结构?

请给出这三种基本结构的传统流程图或N-S图

参考答案:

 C语言程序包括哪些三种基本结构:

顺序结构、选择(或分支)结构、循环结构.三种基本结构图示依据作业情况评定

Ø 顺序结构

顺序结构是一种最基本、最简单的程序结构。

先执行A,再执行B,A与B是按照顺序执行。

Ø 选择(或分支)结构

根据条件是否成立而去执行不同的程序模块。

当条件P为真时,执行A,否则执行B,即要么执行A,要么执行B。

Ø 循环结构

循环结构是指重复执行某些操作,重复执行的部分称为循环体。

 

50、

什么是函数的原型?

其作用是什么?

在这些作用中如何使用?

参考答案:

若自定义了一个函数,则该函数的首部称之为该函数的原型

函数原型的作用:

调用函数的接口;用于原型声明

其中函数的调用方法:

函数(实在参数)

函数的原型声明:

当被调用函数在调用函数之后时,必须进行原型声明,在程序最前面或在调用函数中进行声明,声明方法:

函数的首部;

 

 

51、什么是内部函数和外部函数?

参考答案:

内部函数:

一个函数只能被本文件中的其它函数调所用,在定义时使用static。

     外部函数:

一个函数不光是被本文件中其它函数调用,还可以被其它文件中的函数调用,定义时用extern。

extern可缺省。

 

52、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?

i--执行的次数是多少?

#include"stdio.h"

int  main()

{inti=100,s=0,n=0;

  while(i--){s+=i;n++;

  }

printf("%d",n);

}

参考答案:

I的值为-1,循环次数是100,i--执行的次数为101 

53、在下列程序中,fun函数为一个递归函数,请将程序中的fun函数改为非递归函数,保持功能不变。

 #include"stdio.h"

longfun(intn)

{ if(n==1)

     return1;

     else

     returnn*fun(n-1);

}

voidmain()

{intn;

printf("请输入n的值:

");

scanf("%d",&n);

printf("%d!

=%ld",n,fun(n));

}

参考答案:

参考答案

#include"stdio.h"

#include"string.h"

viodfun()

{intn;

charch[10];

gets(ch);

n=strlen(ch);

for(i=n-1;i>=0;i--)

 printf("%c",ch[i]);

 

}

main(){f();}

 

 

54、

参考答案:

1.(a+b=c)&&(a+c=b)&&(b+c>a)_。

2._____3.14_______。

3.____15________。

4.____3________。

5.___scanf(“%d,%f%c”,&m,&n,&ch);_________。

6.____extern________。

7.___6____

8. 

(1) a>=0 

 

(2)=sum+a___

_(3)sum/n___;

9.

(1)i=1,max=0或max=i=0       

(2)max=i;   

 (3)a[max]

10、

     

(1)return1;  

(2)f(a[i]  (3)a[j]

11._

(1)_&stu[i].score,&stu[i].sex,stu[i].name

 

(2)_stu[i].score________;

(3)__sum/N_________;

12. 

(1)__*fp____   

(2)_\"w\"_____(3)__fp_____

13.

(1)___10___

(2)__age(n-1)+2____(3)___age(5)_____

14.

(1)在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。

(2)依据学生答题评阅<\p="">

(3)则输出结果为:

最高成绩为:

97,最高成绩是第7个

55、

下列表达式的值是多少?

处理表达式后,a的值是多少?

假设整数类型变量a的值为12

(1)a+=a                             

(2)a-=2

(3)a*=2+3                           (4)a/=a+a

(5)a%=(n%=2) n的值等于5          (6)a+=a-=a*a

参考答案:

表达式计算

(1)表达式a=a+a的值是24?

处理表达式后,a的值是24

(2)表达式a=a-2的值是10处理表达式后,a的值是10

(3)表达式a=a*(2+3)的值是60处理表达式后,a的值是60

(4)表达式a=a/(a+a)的值是0,处理表达式后,a的值是60

(5) 表达式a%=(n%=2)的值是0,处理表达式后,a的值是12

(6)表达式a+=a-=a*a的值是-264,处理表达式后,a的值是-264  

 

56、请简述算法、程序设计语言与程序的区别与联系

参考答案:

区别:

算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。

程序设计语言设计上就是一组符号及规则的集合。

它是由语法、语义、语用三个要素组成。

一个程序一般包括数据类型和算法两个方面的内容。

其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。

而算法是对程序中数据的操作描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。

正如著名计算机科学家沃思(NikiklausWirth)所提出的观点:

程序=数据结构+算法。

联系:

程序设计语言是编写程序实现算法的语言工具

 

57、什么是算法?

算法的特征?

算法的描述方法有哪些?

参考答案:

所谓算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。

一个算法应该具有以下特点:

 

(1)确定性:

一个算法给出的每个计算步骤都必须是准确的、无二义性。

在【例1.6】中每一个步骤的含义都是确定的。

 

(2)有穷性:

一个算法必须在执行有穷多个计算步骤后终止。

在【例1.6】中执行4个步骤后问题处理结束。

 (3)有效性:

算法中的每一个步骤必须能够有效地执行,并能够得到确定的结果。

(4)输入:

一个算法可以有0个或1个以上的输入。

在【例1.6】中需要输入a,b,c三个数。

    (5)输出:

一个算法有1个或多个的输出,一个算法得到的结果就是算法的输出。

算法的描述方法有:

自然语言、流程图、N-S图等。

 

58、

4.写出下列表达式所对应的C语言表达式,其中x,y为整数,a,b,c为实数类型

内容见附件写C语言表达式

参考答案:

(1)x*x-3.0*x*y/(2-y)    

(2)sqrt(fabs(a*b-c*c))

(3)sqrt(abs(a*b-c*c)*cos(x)/a)

(4)(1+sqrt(x))/(1-y/x)

(5)cos(x)+sqrt(3*a*b)/(2-y)     

(6)sqrt(abs(a*b-c*c)*sin(x)/b)

59、在下列程序中,函数f的功能是什么?

该程序的运行结果是多少?

#include"stdio.h"

intfun(intnum)

{intk=1;

 do

  {k*=num%10;

   num/=10;

}while(num>0);

       returnk;

}

intmain()

{intx=651,y=123;

 printf("%d,%d",fun(x),fun(y));

}

参考答案:

 

函数f的功能是求任意整数的各位数字之积,

该程序的运行结果是15,6

60、在下列程序中,函数p的功能是什么?

该程序的运行结果是多少?

#include"stdio.h"

void sort(intx[],intn)

 {inti,j,k,t;

   for(i=0;i

   {k=i;

   for(j=i+1;j

    if(x[k]>x[j])k=j;

      if(i!

=k)

       {t=x[k];x[k]=x[i];x[i]=t;}

       }

         }

intmain()

 {inta[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]);

}

参考答案:

函数p的功能是对n个整数排序

该程序的运行结果是11 30 34  50 67 75 89 102  125145

 

61、结构化程序设计方法的内容是什么?

划分模块的基本原则?

采用结构化方法的好处?

参考答案:

结构化程序设计方法是一种自顶向下、逐步求精、模块化的程序设计方法。

按照结构化程序设计方法的思想,就是将给定的一个功能较多的复杂问题合理地划分为若干个较简单的子问题,还可以将这些子问题再分解为若干功能更简单的子任务(可将每个子任务看作一个模块),以便于“分而治之”

在模块划分时,应该尽可能地保证数据的独立性和模块功能的唯一性。

也就是说,各模块间的耦合性要尽量弱,即一个模块最好像是一个黑盒子,模块间的数据交换要尽量少;模块的内聚性要尽量强,即每个模块只完成单一的功能。

结构化程序设计强调程序设计风格和程序结构的规范化,提倡结构清晰。

良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护。

著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。

采用结构化程序设计方法的好处是:

可以使每个模块功能明确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易验证(即可维护性好)。

 

62、通过你对C语言程序设计课程的学习,你认为C语言程序设计具有哪些特点?

并简要说明。

C语言有哪些局限性?

针对这些局限性,是如何解决这些问题的?

参考答案:

(1)C语言是一种结构化的语言

一个C语言程序是由一个或多个函数组成,函数是C语言的基本单位。

(2)C语言有强大的表现能力和处理能力

C语言具有丰富的运算符和数据类型,并且引入了结构、指针、地址、位运算、寄存器存储等功能,使C语言实现了对硬件编程操作,大大提高了C语言的表现能力和处理能力。

(3)C语言程序易于移植

同汇编语言相比,C语言将与硬件相关的部分也通过库函数或其他相关函数来实现,不再依赖于具体的机器,广泛地移植到了各种类型计算机上,从而体现了C语言的易移植性。

(4)C语言的运行效率高

用C语言编写的程序可通过编译获得高效的可执行代码

C语言也存在着一些局限:

(1)C语言的类型检查机制相对较弱,使得程序中的一些错误不能在编译时由编译程序指出;

(2)C语言缺乏支持代码重用的语言结构;

(3)C语言不适合开发大型程序,当程序的规模达到一定程度时,程序员很难控制程序的复杂性。

C++语言正是为了解决上述问题而设计的。

C++语言继承了C语言的精髓,如高效率、灵活性等,并增加了面向对象机制,弥补C语言不支持代码重用的不足,这对于开发大型的程序非常有效。

C++语言成为一种既可用于表现过程模型,又可用于表现对象模型的优秀的程序设计语言。

 

63、程序的功能是从键盘上任意输入一个正整数,求各位数字之和。

请用模块化方法改写下列程序,功能不变。

#include"stdio.h”

voidmain()

{intn;

 intr,s=0;

 scanf("%d”,&n);

  do{r=n%10;

  s+=r; n=n/10;

   }while(n>0);

 printf("%d”,s);

 }

参考答案:

 

参考答案

#include“stdio.h”

int add(intn)

 {intr,s=0;

  do{r=n%10;

  s+=r; n=n/10;

   }while(n>0);

    return(s);

  }

void main()

{intm;

 scanf(“%d”,&m);

 printf(“%d”,add(m));

 }

 

64、有如下程序

#include"stdio.h"

int fun(int x)

{int p;

  if(x==0||x==1)  return3;

  else p=x-fun(x-2);

  return p;

}

int main()

{printf("%d",fun(9));

}

该程序的输出结果是多少?

参考答案:

该程序的输出结果是7

 

65、下列函数的功能是什么

  intfun(char*x)

{char*y=x;

  while(*y++);

  returny-x-1 }

参考答案:

函数的功能是求字符串的长度

 

66、什么是指针,什么是指针变量?

指针所指向的变量?

给一实例说明

参考答案:

指针:

就是一个变量的地址

    指针变量:

有一个变量专门用来存放另一变量的地址(即指针)。

  如果将一个变量的地址(指针)赋给同一类型的指针变量,则该变量为指针变量所指向的变量。

如intx=10,*p=&x;

则:

整数变量x的值为10,指针变量为p,指针所指向的变量为*p.

 

67、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。

要求:

(a)编写一个sort(intword,inta[])函数实现排序功能。

(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。

(c)程序必须有输入输出提示。

参考答案:

#include"stdio.h"

voidsort(inta[],intn)

{

inti,j,t;

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{

t=a[j]; 

a[j]=a[j+1]; 

a[j+1]=t;

}

printf("排序以后的数:

");

for(i=1;i<=n;i++)

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

printf("\n");

}

intmain()

{

intarray[20];

intb[20];

inti,j=0;

printf("请输入20个整数:

");

for(i=0;i<20;i++){

scanf("%d",&array[i]);

if(array[i]%7==0)

b[j++]=array[i];

}

printf("这20个整数中,能被7整除的有:

");

for(i=0;i

printf("%d",b[i]);

printf("\n");

sort(b,j);

return0;

}

68、依据下列提供的程序回答问题

#include"stdio.h"

doublefun(inta[],intm)

{inti;

doublesum=0;

   for(i=0;i

 return(sum/m);

}

voidmain()

{intx, count=0,a[300];

for(x=1;x<=30;x++)

      if(x%2==0){

      a[count]=x;   

      count++;

      }

printf("\n这些偶数的平均值是:

%6.0lf\n",aver(a,count));

}

(1)上述提供程序中,函数fun的功能是什么?

(2)请依据上述程序思想,画出其中的传统流程图或N-S图。

(3)在VC6.0环境下,运行上述程序时,其输出结果是什么?

参考答案:

(1)fun的功能是求m个数的平均值

(2)依据学生答题评定分数

(3)这些偶数的平均值是16

69、编写一个函数计算函数f(x,y)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位

参考答案:

#include

#include

voidmain()

{

doublex,y,result;

printf("请分别输入x,y的值:

");

scanf("%lf%lf",&x,&y);

result=x*x+y*y+sin(x);

printf("函数f(%.0lf,%.0lf)=%.3lf\n",x,y,result);

}

70、输出100-900之间的所有奇数,并求出这些奇数的平均值输出

参考答案:

#include"stdio.h" 

voidma

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1