26.若运行时给变量x输入12,则以下程序的运行结果是
main()
{ int x,y;
scanf("%d",&x);
y=x>12?x+10:x-12;
printf("%d\n",y);
}
A)0
B)22
C)12
D)10
27.以下说法正确的是
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
28.有以下程序
#define F(X,Y)(X)*(Y)
main()
{ int a=3, b=4;
printf("%d\n", F(a++, b++));
}
程序运行后的输出结果是
A)12
B)15
C)16
D)20
29.下列程序执行后的输出结果是
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5]={0};
a=0; b[0]=3;
func(&a,b); printf("%d\n",b[0]);
}
A)6
B)7
C)8
D)9
30.若有下面的程序段
char s[]="china";char *p; p=s;
则下列叙述正确的是
A)s和p完全相同
B)数组s中的内容和指针变量p中的内容相等
C)s数组长度和p所指向的字符串长度相等
D)*p与s[0]相等
31.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;ifor(j=i+1;jif(a[i]}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,10,
B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,8,7,6,5,4,9,10,
D)1,2,10,9,8,7,6,5,4,3,
32.以下程序的运行结果是
#include "stdio.h"
main()
{ struct date
{ int year,month,day;}today;
printf("%d\n",sizeof(struct date));
}
A)6
B)8
C)10
D)12
33.若执行下述程序时,若从键盘输入6和8时,结果为
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(as=b;
s*=s;
printf("%d",s);
}
A)36
B)64
C)48
D)以上都不对
34.下列关于C语言数据文件的叙述中正确的是
A)文件由ASCII码字符序列组成,C语言只能读写文本文件
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
35.有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-′a′+′A′;
s++;
}
}
main()
{ char str1[100]="abcddfefdbd",c=′d′;
ss(str1,c); printf("%s\n",str1);
}
程序运行后的输出结果是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
二、填空题(每空2分,共计30分)
1.算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。
2.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【2】 。
3.在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】 。
4.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。
5.数据库管理系统常见的数据模型有层次模型、网状模型和 【5】 3种。
6.下列程序的输出结果是 【6】 。
maim ()
{ char b[]="Hello you";
b[5]=0;
printf ("%s\n",b);
}
7.以下程序的输出结果是 【7】 。
main()
{ int a=0;
a+=(a=8);
printf("%d\n",a);
}
8.函数 void fun(float *sn, int n)的功能是根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。
void fun( float *sn, int n)
{ float s=0.0, w, f=-1.0;
int i=0;
for(i=0; i<=n; i++)
{ f= 【8】 * f;
w=f/(2*i+1);
s+=w;
}
【9】=s;
}
9.函数fun的功能是根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>n。
例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。
#include
#include
float fun (int m, int n)
{ int i;
double p=1.0;
for(i=1;i<=m;i++) 【10】 ;
for(i=1;i<=n;i++) 【11】 ;
for(i=1;i<=m-n;i++)p=p/i;
return p;
}
main ()
{ clrscr();
printf ("p=%f\n",fun (12,8));
}
10.该程序运行的结果是 【12】 。
#include
#include
#define M 100
void fun(int m, int *a, int *n)
{ int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i==0)
a[j++]=i;
*n=j;
}
main()
{ int aa[M],n,k;
clrscr();
fun(10,aa,&n);
for(k=0;k if((k+1) ==0)printf("\n");
else printf("M",aa[k]);
printf("\n");
}
11.下列程序的功能是求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符1,则输出3,请填空。
#include
#include
#define M 81
int fun(char *ss, char c)
{ int i=0;
for(; 【13】 ;ss++)
if(*ss==c)i++;
return i;
}
main()
{ char a[M], ch;
clrscr();
printf("\nPlease enter a string: "); gets(a);
printf("\nPlease enter a char: "); ch=getchar();
printf("\nThe number of the char is: %d\n", fun(a,ch));
}
12.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。
#include "stdio.h"
FILE *fp;
{ char ch;
if((fp=fopen( 【14】 ))==NULL)exit(0);
while((ch=getchar( ))!=′@′)fputc (ch,fp);
fclose(fp);
}
13.设有如下宏定义
#define MYSWAP(z,x,y)
{z=x;x=y;y=z;}
以下程序段通过宏调用实现变量a,b内容交换,请填空。
float a=5,b=16,c;
MYSWAP( 【15】 ,a,b);