《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、64 B、-56 C、-112 D、-48
3、下面是一个初始化指针的语句: int *px=&a;其中指针变量的名字应该是( )
A、*px B、a C、&a D、px
4、共用体成员的数据类型( )
A、可相同也可不相同 B、相同 C、长度一样 D、是结构体变量
5、若定义有:
struct student c语言中struct
{ long num;
char name[20];
float score;
char ch;
}stu;
则 函数 sizeof(stu) 的值是( )
A、20 B、29 C、24 D、21
6、若用数组名作为函数调用的实参,传递给形参的是( )
A、数组第一个元素的值 B、数组中全部元素的值
C、数组的首地址 D、数组元素个数
7、下面定义语句中,错误的是( )
A、int a[ ]={1,2}; B、 char *a[ ];
C、char s[10]=”BASI”; D、 int n=5,a[n];
8、下面程序
main()
{
int x,y,z;
x=2;
y=x++;
z=++x;
printf(“%d\t%d\t%d\n”,x,y,z);
}
运行后输出的数据是( )
A、4 2 4 B、4 2 2
C、2 4 4 C、4 4 4
9、下列程序
main()
{ int x;
int *p1,*p2;
x=10;
p1=&x;
p2=p1;
printf(“%d\t%d\n”,*p1,*p2);
}
运行后输出的数据是( )
A、10 10 B、10 0
C、10 20 D、0 10
10、下列程序:
#include”stdio.h”
struct entry
{int datd;
int *ip;
};
main()
{
int i;
struct entry v;
v.ip=&i;
v.data=100;
*v.ip=50;
printf(“%d %d %d\n”,v.data,*v.ip,i));
}
运行后输出的数据是( )
A、100 50 50 B、100 50 0
C、50 50 50 D、50 50 0
11、下列程序
main()
{ union { int i;int j; int f;}a;
a.i=10;a.j=50;a.f=5;
printf(“%d %d\n”,a.i,a.j+a.f);}
运行后输出的数据是( )
A、10 55 B、10 10
C、0 5 D、5 10
12、下列程序
fat(int a)
{ int b=0; static int c=5;
b++; c++; retrun(a+b+c);
}
main()
{ int a=10,i;
for(i=7;i<=9;i++)
printf(“%d “,fat(a));
}
运行后输出的数据是( )
A、7 8 9 B、17 17 17
C、14 15 16 D、17 18 19
13、下列程序
#define PI 3
#define S(r) PI*r*r
main()
{ int mz;
mz=S(2+1);
prinrf(“MZ=%d\n”,mz);
}
运行后输出的数据是( )
A、27 B、9 C、7 D、29
14、下列程序
main()
{int a=3,b=5,c;
c=a & b;
printf(“C=%d\n”,c);
}
运行后输出的数据是( )
A、C=8 B、C=2 C、C=1 D、C=10
15、下列程序:
void cp_str( char *fr, char *to)
{ while( *fr!=’\0’)
*to++= *fr++;
* to=’\0’;}
main()
{ char * a=”Happy new year!”;
char * b=”Good Bye!”;
cp_str(b,a);
printf(“%s,%s\n”,a,b);
}
运行后输出的数据是( )
A、Happy new year!,Good Bye! B、Good Bye!,Good Bye!
C、Happy new year!,Happy new year! D、Good Bye!,Happy new year!
二、阅读下列程序,在横线上填上适当的字符或语句,使程序完整。(共22分)
1、下列程序的作用是从键盘输入一些字符,逐个把它们写入磁盘文件中,直到输入一个“#”为止。
#include”stdio.h”
main()
{ FILE *fp; char ch;
if(( )= =NULL )
{printf(“Can not open this file.”); exit(0);}
ch= getchar();
while(ch!=’#’)
{
ch=getchar();
}
}
2、下列程序的作用是将若干个字符串按字母从小到大顺序输出(起泡排序法)。
main()
{ void sort(char *name[], int n);
int k;
char *name[ ]={“Basic”,”Design”,”FoxPro”,”Follow”};
int n=4;
for(k=0;k<n;k++)
printf(“%s\n”,name[k]);
}
void sort( char *name[], int n )
{ char *t;
int i,j;
for( )
for( )
if( )
{t=name[j];name[j]=name[j+1];name[j+1]=t;}
}
3、下面程序作用是函数count()是统计一字符串的字母、数字、空格和其它字符的个数,在主函数main() 中输入字符串和输出统计结果。
Int le,di,sp,ot;
main()
{ int count (char str[]);
char text[80];
printf(“\nEnter string:”);
le=0;di=0;sp=0;ot=0;
printf(“letter=%d,digit=%d,space=%d,other=%d”,le,di,sp,ot);
}
int count( char str[])
{ int i;
for(I=0;str[I]!=’\0’;I++)
if(( >=’a’ && str[I]<=’z’) || (str[I]>=’A’ && str[I]<=’Z’))
le++;
else if(str[I]>=’0’ && str[I]<=’9’)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论