计算机基础与程序设计2012年4月真题试题与答案解析(02275)
-
从键盘上输入10个浮点型数,求出10个数的总和与平均值,并将总和与平均值写到d盘根目录下的文本文件array.dat中。
-
从键盘输入10个整数并存放到一维数组中,计算下标为奇数的元素的累加和并输出运行结果。
-
写出下面程序的运行结果
void main(void)
{
int x;
for(x=1;x﹤=5;x++)
printf(″%d,%d\n″,x,fun(x));
}
int fun(int x)
{
static int fac=1;
fac*=x;
return fac;
}
-
?
写出下面程序的运行结果
void f2(char*t,char*s)
{
while(*t!=′\0′)t++;
while(*s!= ′\0′)
{
*t=*s:
s++;t++;
}
*t=*s;
}
void main(void)
{
char s[80]= ″ ″,*ps[3]={ ″there″,″is a″,″car″};
int i;
for(i=0; i﹤3;i++)
f2(s,ps[i]);
printf(″%s\n″,s);
}
-
写出下面程序的运行结果
void main(void)
{
int x;
for(x=1;x﹤10;x+=2)
printf(″%d\t%d\n″,x,x*x);
}
-
写出下面程序的运行结果
main(){char ch;ch=′a′;
switch(ch)
{
case′a′:printf(″*\n″);
case′b′:printf(″**\n″);
case′c′:printf(″***\n″);}
ch=′b′;
switch(ch)
{
case ′b′:printf(″**\n″);
case ′a′:printf(″*\n″);break;
case ′c′:printf(″***\n″);
}
}
-
写出下面程序的运行结果
#include﹤string.h﹥
main()
{
char a[5][8]={ ″java″,″fortran″,″basic″,″cobol″,″pascal″},b[8],c[8];
int i;
strcpy(b,a[0]);
strcpy(c,a[0]);
for(i=1;i﹤5;i++)
{
if(strcmp(b,a[i])﹤0)strcpy(b,a[i]);
if(strcmp(c,a[i])﹥0)strcpy(c,a[i]);
}
printf(″%s\n″,b);
printf(″%s\n″,c);
}
-
设有声明:
struct cjd{
long bh;
long int xq;
char xm[9];
float score[3];
}x={201101,2,″张大力″,76,85.0,90);
简单回答
(1)结构体名;
(2)结构体类型变量;
(3)结构体类型变量所占字节数;
(4)结构体成员x.score[2]的值。
-
写出下面程序的运行结果
main(){
int a=1,b=2,c=3;
++a;
b=b+a;
c=c/2;
printf(″%d,%d,%d\n″,a,b,c);
}
-
将下面for循环的程序段,用含while循环的程序段实现。
for(s=0,i=1;i﹤=10;i++)
s+=i;
-
简述声明语句:char *p[4];的含义。
-
写出将x,y,z,w分别声明为整型变量、短整型变量、长整型变量和无符号整型变量的语句。
-
若有如下定义及赋值:
int x=5,*p,*pl;
p=&x;
pl=p;
则可以输出变量x的值的语句有 ( )
- A.printf(″%d\n″,x);
- B.printf(″%d\n″,*p);
- C.printf(″%d\n″,p1);
- D.printf(″%d\n″,&x);
- E.printf(″%d\n″,*p1);
-
设有关于结构体类型的定义:
struct boat{
char name[10];
int weight;
}myboat,*ps;
下面各项中语句都正确的有 ( )
- A.myboat.name=″Li″。Myboat.weight=1600;
- B.ps=&myboat;strcpy(ps-﹥name,″Wuhan″);
- C.ps=&myboat; Ps-﹥weight=2700;
- D.strcpy(myboat.name,″Wine″);ps=&myboat;
- E.ps=&myboat,strcpy(myboat.name,″Shanghai″);Ps-﹥weight=5512;
-
下面循环语句中,没有“无限循环”错误的循环语句有 ( )
- A.for(;;);
- B.for(i=1;i﹤10;i++);
- C.while(1);
- D.while(0);
- E.do{循环体)while(1);
-
设有声明:int a[5]={1,3,5,7,9);下面表达式的结果为10的有 ( )
- A.a[l]+a[3]
- B.a[2]-2*a[1]
- C.2*a[2]
- D.a[0]+a[4]
- E.a[1]+[-a[2]+a[3]
-
若要在C盘TC目录下,建立一个a1.dat的文本文件,正确使用打开文件的函数是( )
- A.fopen(″C:\\ TC \\ a1.dat″,″r″)
- B.fopen(″C:\ TC \ a1.dat″,″r″)
- C.fopen(″C:\\ TC \\ a1.dat″,″w″)
- D.fopen(″C:\ TC \ a1.dat″,″w″)
-
下面属于合法的C语句的有 ( )
- A.表达式语句
- B.函数调用语句
- C.子程序调用语句
- D.空语句
- E.循环语句
-
如果将文件指针fp指向文件末尾,正确的语句是 ( )
- A.feof(fp);
- B.rewind(fp);
- C.fseek(fp,0L,0);
- D.fseek(fp,0L,2);
-
设有说明:int u=1,v=3;表达式:u﹤﹤=v的值是( )
- A.0
- B.1
- C.3
- D.8
-
下面各个位运算符优先级从左到右依次升高的是 ( )
- A.﹥ ﹥ | & ~
- B.| ﹥ ﹥ & ~
- C.| & ﹥ ﹥ ~
- D.~ | & ﹥ ﹥
-
若有说明long int x[5];下面能正确表示数组元素地址的是( )
- A.&x[3]
- B.&x
- C.&x+1
- D.*x
-
下面列出的位运算符中,表示按位与操作的是 ( )
- A.~
- B.!
- C.&
- D.^
-
下面关于结构体类型的定义正确的是( )
- A.
- B.
- C.
- D.
-
关于main函数,以下说法中正确的是 ( )
- A.C语言程序总是从有定义的函数起顺序执行,在main函数中结束
- B.在C语言程序中,被调用的函数必须在main()函数中定义
- C.C语言程序中的main()函数必须放在程序开始部分
- D.C语言程序总是从main()函数开始执行
-
若要定义一个长整型的变量a和一个指向变量a的指针变量q,下面正确的定义语句是( )
- A.long a,*q=a;
- B.long a,*q=&a;
- C.long*q=&a,a;
- D.long a,q=&a;
-
若有定义int a[4]={1,2,3,4};则表达式a[a[2]- 3*a[0]+1]的值是( )
- A.1
- B.2
- C.3
- D.4
-
在C语言程序中,关于函数的定义和调用,以下描述正确的是( )
- A.函数的定义可以嵌套,但函数的调用不可以嵌套
- B.函数的定义不可以嵌套,但函数的调用可以嵌套
- C.函数的定义和函数的调用均不可以嵌套
- D.函数的定义和函数的调用均可以嵌套
-
设有程序段
int x=1,y=-1;
if(y﹤0)x-=y;
else x+=y;
执行完该程序段后,x的值为 ( )
- A.-1
- B.0
- C.1
- D.2
-
下面程序段的循环次数是( )
int k=2;
while(k= =0) printf (″%d″,k);
k--;
printf (″\n″);
- A.0次
- B.1次
- C.2次
- D.无限次
-
下面程序段的输出结果是( )
for(i=1;i﹤3;i++)
for(j=1;j﹤3;j++)
printf(″%d”,i+j);
- A.2 3 3 4
- B.2 3 4
- C.2 3
- D.23 4 3 4
-
以十六进制形式输出整型数的格式说明符是 ( )
- A.%x
- B.%u
- C.%o
- D.%d
-
下列语句中,有语法错误的是 ( )
- A.if(x﹥y);
- B.if(x= =y)x+y;
- C.if(x!=y) scanf(″%d″,&x)else scanf (″%d″,&y);
- D.if(x﹤y){x++;y++;}
-
设有int x,y;表达式y=(x=1,++x,x+2)的值是 ( )
- A.1
- B.2
- C.3
- D.4
-
设有int a=3,b=—4,c=5;表达式++a-c+b++的值是 ( )
- A.-6
- B.-5
- C.-4
- D.-3
-
下面哪种设备是输出设备? ( )
- A.扫描仪
- B.键盘
- C.鼠标
- D.显示器
-
存储容量1KB等于 ( )
- A.23字节
- B.210字节
- C.220字节
- D.230字节