C语言考卷9

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档