级信息学院《C语言程序设计》考试试题.docx

上传人:b****8 文档编号:9897544 上传时间:2023-02-07 格式:DOCX 页数:9 大小:16.44KB
下载 相关 举报
级信息学院《C语言程序设计》考试试题.docx_第1页
第1页 / 共9页
级信息学院《C语言程序设计》考试试题.docx_第2页
第2页 / 共9页
级信息学院《C语言程序设计》考试试题.docx_第3页
第3页 / 共9页
级信息学院《C语言程序设计》考试试题.docx_第4页
第4页 / 共9页
级信息学院《C语言程序设计》考试试题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

级信息学院《C语言程序设计》考试试题.docx

《级信息学院《C语言程序设计》考试试题.docx》由会员分享,可在线阅读,更多相关《级信息学院《C语言程序设计》考试试题.docx(9页珍藏版)》请在冰豆网上搜索。

级信息学院《C语言程序设计》考试试题.docx

级信息学院《C语言程序设计》考试试题

2003级信息学院《C语言程序设计》考试试题

系班级

姓名学号成绩一.判断下列语句或程序的对错。

(“×”表示错,“√”表示对)(10分)

1intx=y=z=20;()

2#defineM50;()

3printf(“%\t”,(40,50,60));()

4floata[100],*p;

p=a++;()

5charstr[20];

str[20]=0;()

6intdata[4]={0,1,2,3,4};()

7intx=’\014’;()

8intxyz.1=2;()

9char*p=”c:

\test\prg.c”;()

10int*p;

*p=20;()

二.计算下列表达式的值(10分)

设unsignedinta=15,b=21,c=5;

floatf;

(1)f=b/c()

(2)!

(a+b)+c-1&&b+c/2()

(3)a^b+b&0x55+c<<3|015()

(4)d*=c--%b++()

(5)a%=(c%=2)()

三.程序改错(10分)

1从键盘上输入三个字符串,然后按字典(从小到大)顺序进行输出

#include

#include

voidswap(char*,char*)

main()

{

chara[80],b[80],c[80];

 scanf(“%s%s%s”,&a,&b,&c);

if(a>b)swap(a,b);

if(b>c)swap(b,c);

printf(“%s\n%s\n%s\n”,a,b,c);

}

voidswap(char*pstr1,char*pstr2)

{

char*p;

p=pstr1;

pstr1=pstr2;

pstr2=p;

}

(2)求某班30个学生数学成绩的最高分和平均分.

#include

main()

{

floata[30],aver;

intm;

for(m=0;m<30;m++)

scanf(“%f”,&a[m]);

max=process(a,30,&aver);

printf(“max=%f,ave=%f\n),max,aver);

}

process(float*p1,intn,int*p2)

{

charx;

inttemp;

for(x=0;x<=n;x++)

{

if(p1[x]>temp)

temp=p1[x];

*p2+=p1[x];

}

p2=p2/n;

returntemp;

}

四.程序填空

(1)有一分数系列:

2/1,3/2/5/3,8/5,13/8,21/13……求出这数列的前50项和

#include

main()

{

intm;

float___________;

for(m=1;__________;m++)

{

s=s+a/b;

t=a;

a=______;

b=____________;

}

printf(“sum=%f\n:

s);

}

(2)按如图所示格式打印杨辉三角形的前10行

1

11

121

1331

14641

………

main()

{

intm,n,a[10][10];

for(m=0;m<10;m++)

{

a[m][0]=1;

___________________;

}

for(_____;m<10;m++)

for(_______;____________;n++)

a[m][n]=__________________;

for(m=0;m<10;m++)

{

for(n=0;_______________;n++)

printf(“%6d”,a[m][n]);

_________________________;

}

}

五.写输出结果

(1)

#include

voidmain()

{

intm,n,p,s;

s=0;

for(m=1;m<=4;m++)

{

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

p=1;

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

p=p*n;

s=s+p;

}

printf(“s=%d\n”,s);

}

(2)

#include

voidauto_static();

intg_val;

main()

{

intm;

for(m=0;m<5;m++)

auto_static();

}

voidauto_static()

{

intau=0;

staticintst=0;

printf(“au=%d,st=%d,g_val=%d\n”,au++,++st,g_val++);

}

(3)

#include

main()

{

intI,j,a[][3]={2,4,6,,2,3};

int*p[2]={a[0],a[1]};

for(i=0;i<2;i++)

for(j=0;j<3;j++)

printf(“%3d\t”,*(p[i]+j));

printf(“\n”);

}

(4)

#include

#include

structperson

{

charname[20];

intcount;

};

voidmain()

{

structpersonleader[3]={{“li”,0},{“zhang”,0},{“wang”,0}};

charname[20],m,n;

for(m=1;m<8;m++)

{

scanf(“%s”,name);

for(n=0;n<3;n++)

if(!

strcmp(name,leader[j].name))

{

leader[j].count++;

break;

}

}

printf(“\n”);

for(m=0;m<3;m++)

{

printf(“%s:

%d\n”,leader[m].name,leader[m].count);

}

}

当程序运行时,键入情况如下:

li

wang

lei

li

wang

zhang

写出程序的输出结果。

(5)

#include

#defineNULL0

voidmain()

{

char**pp;

char*name[]={“fortran”,”basic”,”pascal”,””};

intm;

pp=name;

for(m=0;**pp!

=NULL;m++,pp++)

printf(“%s\n”,*pp+m);

}

六.编写程序(35分)

(1)一个程序实现这样的功能:

商店卖西瓜,10斤以上(包括10斤,以下同)的每斤0.8元,8斤以上10斤以下的每斤6元,8斤以下的每斤0.4元。

输入西瓜的重量和顾客所付的金额,输出应付货款和应找钱数。

(9分)

(2)编写一个函数,求两个在整数的最大公约数;主函数完成两个整数的输入,调用所编函数和输出所求的最大公约数。

(9分)

(3)编写一个函数,删除给定字符串中的指定字符,如给定字符串“abcdfrc”,删除指定的字符‘c’后,字符串变成“abdfr”;主函数完成给定字符串和指定字符的输入,调用所编函数,输出处理后的字符串。

注意:

不得使用全局变量,注意程序结构。

(9分)

(4)编程处理某班30个学生4门课的成绩,它们是数学,物理,英语和计算机,按学号依次输入学生的学号,姓名,性别(用1表示男生,0表示女生)和4门课成绩。

要求以清晰的格式从高分到低分的顺序打印平均分高于全班总平均分的男生的成绩单。

(8分)

要求:

输入.输出,计算和排序分别用程序实现,主函数只是调用这些函数。

不得使用全局变量,注意程序结构。

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

当前位置:首页 > 高等教育 > 文学

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

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