当前位置:文档之家› (完整版)[0039]《C语言》2016秋季作业试题和答案

(完整版)[0039]《C语言》2016秋季作业试题和答案

[0039]《C语言》讲师:邹显春Z的值是3i=1,max=0或max=i=0;max=i; a[max]36、设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。

“%d,%f%c”,&m,&n,&ch37、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。

3.1438、若定义函数时类型缺省,则该函数默认的类型是____ _______。

extern39、设char s[]=”’Name\Address ”;,s的长度是___________。

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

(a+b=c)&&(a+c=b)&&(b+c>a)41、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。

在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行调试程序中常见的错误有语法错误和逻辑错误。

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

42、在C语言为什么规定对所有用到的变量要"先定义,后使用”?这样的做有什么好处?对所有用到的变量进行"先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。

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

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

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

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

整数型int a=2 ;短整型short b=3 ;单精度float c=1 ;字符型char d=abc44、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。

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

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

程序:/* 注释开始** file name : pun.c**** (C) 2013 Rongbing Tang**** This program prints a statement** "To C, or not to C: that's not a problem."注释结束*45、编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。

#include "stdio.h"main(){int i,s=0,t=0;for(i=1;i<=10;i++){t+=i;s+=t;}printf("%d",s);}46、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或N-S图C语言程序包括哪些三种基本结构:顺序结构、选择(或分支)结构、循环结构. 三种基本结构图示依据作业情况评定&Oslash; 顺序结构顺序结构是一种最基本、最简单的程序结构。

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

&Oslash; 选择(或分支)结构根据条件是否成立而去执行不同的程序模块。

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

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

47、什么是函数的原型?其作用是什么?在这些作用中如何使用?答:若自定义了一个函数,则该函数的首部称之为该函数的原型函数原型的作用:调用函数的接口;用于原型声明其中函数的调用方法:函数(实在参数)函数的原型声明:当被调用函数在调用函数之后时,必须进行原型声明,在程序最前面或在调用函数中进行声明,声明方法:函数的首部;48、什么是内部函数和外部函数?内部函数:一个函数只能被本文件中的其它函数调所用,在定义时使用static。

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

extern可缺省。

49、讨论题1. 设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。

2. 设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。

3. 设char s[]=”\t\’Name\\Address\n”;,s的长度是___________。

4.设int x=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是____________。

5. 设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。

6. 若定义函数时类型缺省,则该函数默认的类型是____ _______。

7. 设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_______8.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

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<N< SPAN>;i++) if(x[i]<AVE)&NBSP; printf(%5f.2”,x[i]);}9.下列程序的功能是在数组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#includeint 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]);}11. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。

#define N 10struct student{char name [20];char sex;int score;} stu[N];void main( ){int i;float aver,sum=0;for(i=0;i<N< SPAN>;i++){ scanf(“%d,%c%s”,(1)__ _______);/*第一空*/sum=sum+_(2) ________; /*第二空*/}aver=_(3)_ ________; /*第三空*/printf(“aver=%6. 2f\n”,aver);}12. 从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text. txt中。

#include “stdio.h”void main(){FILE (1)______; /*第一空*/char ch;if( (fp=fopen (“text. txt’’,_(2)_ _____) )==NULL) exit(0); /*第二空*/while( (ch=getchar( ))!=’?’) fputc(ch,_(3)_ ______); /*第三空*/fclose(fp);}13. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。

递归公式如下:age(n)=int age(int n){if (n==1) return (__(1)_ ____); /*第一空*/else return(_(2)_ _______); /*第二空*/}void main(){printf(‘‘%d\n”,_(3)__ ______); /*第三空*/}14.依据下列提供的程序回答问题(1)提供程序的功能是什么?#include "stdio.h"void main(){int score[10],i,max;for(i=0;i<10;i++){printf("请输入第%d个学生的成绩(0-100):\n",i+1);scanf("%d",&score[i]);}for(i=1,max=0;i<10;i++)if(score[i]>score[max]) max=i;printf("最高成绩为:%d ,最高成绩是第%d个:%d",score[max],max+1);}(2)请依据提供的程序画出其中的传统流程图或N-S图。

相关主题