C语言考卷9
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江林学院信息工程学院考试试卷课程名称:高级语言程序设计课程类别:必修考试形式:闭卷
班级学号姓名得分
一、填空题(每空2分,共30分)
1、若有定义:int a=0; 执行x=(x=3+5,x*5);后,变量x为⑴。
2、A不等于B在C语言中应使用表达式⑵来表示。
3、表达式’a’||’b’&&!’c’的值为⑶。
4、设i,j,k均为int类型变量,则执行完下面的for循环后,k的值为⑷。
for (i=0,j=10;i<=j;i++,j--) k=i+j;
5、已知char a[6]=”BOOK”; 则printf(“%c”,a[4]);的结果为⑸。
6、已知#define PI 3.14
#define AREA(r) PI*r*r
则printf(“%f\n”,AREA(2+3))输出结果为⑹。
7、函数strcpy(char *to,char *from)将字符串from复制到字符串to.
void strcpy(char *to,char *from)
{while (____⑺____);}
8、递归函数sum(int a[],int n)的返回值是数组a[]的前n个元素之和
int sum(int a[],int n)
{ if (n>0) return ____⑻____ ;
else ____⑼_____;
}
9、设有以下变量定义,并已赋确定的值char w; int x; float y; double z;
则表达式:w*x+z-y所求得的数据类型为____⑽_____。
10、若有如下图所示五个连续的int类型的存储单元并赋值如下图,a[0]的地址小于a[4]的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]
┌──┬──┬──┬──┬──┐
│22│ 33 │ 44 │55│ 66│
└──┴──┴──┴──┴──┘
a、若p已指向存储单元a[1]。通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是____⑾_____。
b、若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是___⑿___。
11、下列程序的输出结果是16.00,请填空。
main()
{ int a=9, b=2;
float x=__ _⒀__ _, y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n", z );
}
12、若变量n中的值为24,则prnt函数共输出__ _⒁__ _行,最后一行有__ _⒂__ _
void prnt(int n, int aa[ ])
{ int i;
for(i=1; i<=n;i++)
{ printf("%6d", aa[i]);
if( !(i%5) ) printf("\n");
}
printf("\n");
}
二、程序阅读题(每题4分,共20分)
1、写出输入12 24时程序运行的结果。
main()
{
int a=0,b=0,c=0,d=0;
scanf(”%d%d”,&a,&b);
c=a/b;d=a%b;
printf(“%d%d\n%d%d”,a,b,c,d);
}
2、f(int m)
{
int i, j;
for(i = 0; i for(j = m-1; j >= 0; j--) printf("%1d%c", i+j, j ? '*' : '#'); } 调用f(3)后程序的输出结果。 3、写出输入“abc!ABC!123”后程序运行的结果。 #include “stdio.h” int str_counter( ) { char c; int cnt=0; printf(“Input characters on a line:\n”); while((c=getchar())!=’\n’) if((c>=’A’&&c<=’Z’)||(c>=’a’&&c<=’z’)) cnt++; return cnt; } main( ) { printf(“%d”,str_counter()); } 4、写出程序运行结果。 { static char a[ ]=”Language”,b[ ]=”Programe”; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if(*(p1+k)= =*(p2+k)) printf(“%3d”,k); } 5、写出程序运行结果 int fac(int n) { static int f=1; f=f*n; return(f); } main() { int i; for(i=1;i<=5;i++) printf("%d!=%d\n",i,fac(i)); } 三、程序填空题(每空3分,共30分) 1、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩到文件中(用输入负数结束输入)。 main( ) { float x[1000],sum=0.0,ave,a; int n=0; FILE *fp; char ch,fname[32];int count=0; printf("Enter mark:\n");scanf("%f",&a); while(a>=0.0&& n<1000) { sum____⑴____;x[n]=_____⑵_ ___; n++;scanf("%f",&a); } ave=____⑶____; printf("Input the filename :");scanf("%s",fname);