C语言程序设计期末考试试卷.doc
《C语言程序设计期末考试试卷.doc》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试试卷.doc(6页珍藏版)》请在冰豆网上搜索。
![C语言程序设计期末考试试卷.doc](https://file1.bdocx.com/fileroot1/2022-10/7/d3a31a82-9ade-4dc6-b6a3-af27d4977c54/d3a31a82-9ade-4dc6-b6a3-af27d4977c541.gif)
《C语言程序设计》期末考试试卷.txt机会就像秃子头上一根毛,你抓住就抓住了,抓不住就没了。
我和你说了10分钟的话,但却没有和你产生任何争论。
那么,我们之间一定有个人变得虚伪无比!
过错是短暂的遗憾,错过是永远的遗憾。
相遇是缘,相知是份,相爱是约定,相守才是真爱。
《C语言程序设计》期末考试试卷(A卷)(附有答案)
一、单项选择题(每小题2分,共30分)
1、下列数据中,为字符串常量的是()
A、‘M’B、‘$you’C、”hello”D、basic
2、若y为int型变量,则执行以下语句后,y的值是()
y=8;y+=y-=y*y;
A、64B、-56C、-112D、-48
3、下面是一个初始化指针的语句:
int*px=&a;其中指针变量的名字应该是()
A、*pxB、aC、&aD、px
4、共用体成员的数据类型()
A、可相同也可不相同B、相同C、长度一样D、是结构体变量
5、若定义有:
structstudent
{longnum;
charname[20];
floatscore;
charch;
}stu;
则函数sizeof(stu)的值是()
A、20B、29C、24D、21
6、若用数组名作为函数调用的实参,传递给形参的是()
A、数组第一个元素的值B、数组中全部元素的值
C、数组的首地址D、数组元素个数
7、下面定义语句中,错误的是()
A、inta[]={1,2};B、char*a[];
C、chars[10]=”BASI”;D、intn=5,a[n];
8、下面程序
main()
{
intx,y,z;
x=2;
y=x++;
z=++x;
printf(“%d\t%d\t%d\n”,x,y,z);
}
运行后输出的数据是()
A、424B、422
C、244C、444
9、下列程序
main()
{intx;
int*p1,*p2;
x=10;
p1=&x;
p2=p1;
printf(“%d\t%d\n”,*p1,*p2);
}
运行后输出的数据是()
A、1010B、100
C、1020D、010
10、下列程序:
#include”stdio.h”
structentry
{intdatd;
int*ip;
};
main()
{
inti;
structentryv;
v.ip=&i;
v.data=100;
*v.ip=50;
printf(“%d%d%d\n”,v.data,*v.ip,i));
}
运行后输出的数据是()
A、1005050B、100500
C、505050D、50500
11、下列程序
main()
{union{inti;intj;intf;}a;
a.i=10;a.j=50;a.f=5;
printf(“%d%d\n”,a.i,a.j+a.f);}
运行后输出的数据是()
A、1055B、1010
C、05D、510
12、下列程序
fat(inta)
{intb=0;staticintc=5;
b++;c++;retrun(a+b+c);
}
main()
{inta=10,i;
for(i=7;i<=9;i++)
printf(“%d“,fat(a));
}
运行后输出的数据是()
A、789B、171717
C、141516D、171819
13、下列程序
#definePI3
#defineS(r)PI*r*r
main()
{intmz;
mz=S(2+1);
prinrf(“MZ=%d\n”,mz);
}
运行后输出的数据是()
A、27B、9C、7D、29
14、下列程序
main()
{inta=3,b=5,c;
c=a&b;
printf(“C=%d\n”,c);
}
运行后输出的数据是()
A、C=8B、C=2C、C=1D、C=10
15、下列程序:
voidcp_str(char*fr,char*to)
{while(*fr!
=’\0’)
*to++=*fr++;
*to=’\0’;}
main()
{char*a=”Happynewyear!
”;
char*b=”GoodBye!
”;
cp_str(b,a);
printf(“%s,%s\n”,a,b);
}
运行后输出的数据是()
A、Happynewyear!
,GoodBye!
B、GoodBye!
,GoodBye!
C、Happynewyear!
,Happynewyear!
D、GoodBye!
,Happynewyear!
二、阅读下列程序,在横线上填上适当的字符或语句,使程序完整。
(共22分)
1、下列程序的作用是从键盘输入一些字符,逐个把它们写入磁盘文件file3.txt中,直到输入一个“#”为止。
#include”stdio.h”
main()
{FILE*fp;charch;
if(()==NULL)
{printf(“Cannotopenthisfile.”);exit(0);}
ch=getchar();
while(ch!
=’#’)
{
ch=getchar();
}
}
2、下列程序的作用是将若干个字符串按字母从小到大顺序输出(起泡排序法)。
main()
{voidsort(char*name[],intn);
intk;
char*name[]={“Basic”,”Design”,”FoxPro”,”Follow”};
intn=4;
for(k=0;kprintf(“%s\n”,name[k]);
}
voidsort(char*name[],intn)
{char*t;
inti,j;
for()
for()
if()
{t=name[j];name[j]=name[j+1];name[j+1]=t;}
}
3、下面程序作用是函数count()是统计一字符串的字母、数字、空格和其它字符的个数,在主函数main()中输入字符串和输出统计结果。
Intle,di,sp,ot;
main()
{intcount(charstr[]);
chartext[80];
printf(“\nEnterstring:
”);
le=0;di=0;sp=0;ot=0;
printf(“letter=%d,digit=%d,space=%d,other=%d”,le,di,sp,ot);
}
intcount(charstr[])
{inti;
for(I=0;str[I]!
=’\0’;I++)
if((>=’a’&&str[I]<=’z’)||(str[I]>=’A’&&str[I]<=’Z’))
le++;
elseif(str[I]>=’0’&&str[I]<=’9’)
di++;
elseif(str[I]==’‘)
sp++;
else
三、按要求编写程序(每小题8分,共48分)
1、键盘输入X的值,计算分段函数Y=?
?
?
?
的值,并显示出来。
2、满足a^2+b^2=c^2的一组正整数a、b、c,称为勾股数组。
试用输出100以内的所有勾股数组。
3、从键盘给3×4的二维数组输入12个整数,求该数组各元素之和与最小的元素值。
4、编写判断一个正整数是否为素数的函数price(),在main()中调用该函数输出100至1000之间的所有素数。
5、输入3个整数,按小到大的顺序输出。
(要求用指针方法处理,不按要求做的不给分)
6、有一个结构体变量stu,内含有学生学号、姓名、性别和2门课的成绩。
在main()函数中赋以值{200301,“Huang_fa“,’W’,89.5,67.5},在另一个函数prt_stu()中将数据输出。
(要求用指向结构体变量的指针作为函数参数,不按要求做的不给分)
答案或提示
一、选择题:
1C、2C、3D、4A、5B、6C、7B、8A、9A、10A、11D、12D、13B、14C、15B、
二、填空题:
1、
fp