计算机基础与程序设计2005年4月真题试题与答案解析(02275)
-
从键盘上输入10个整数,用冒泡法将它们按从小到大的次序排列出来,并把排列的结果以ASCII码的形式写到c盘根目录下的文件zml. dat中。
-
从键盘上输入10个整数,并将其存放在一数组中,求出该数组中所有大干零且为偶数的数的平均值。
-
请阅读分析下面程序,然后写出运行结果。
main( )
}
int i,j,*p[4],a[12]={l,2,3,4,5,6,7,8,9,10,11,12};
p[0[=&a[0];
p[1]=&a[3];
p[2]=&a[6];
p[3]=&a[9];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf(”%4d”,p[i][j]);
printf(”\n”); ’
}
}
-
请阅读分析下面程序,然后写出运行结果。
#include”stdio.h”
#include”string.h”
struct stu
{
char name[20];
int chinese;
int math;
struct stu*next;
};
void main(void)
{
char*str[]={”Zhang”,”Wang””Liu”};
int aver,x[3][3]= {{80,75,85},{60,56,73},{90,83,76}};
struct stu s;
strcpy(s.name,str[1]);
s.chinese=x[1][0];
s.math=x[1][1];
aver=s.chinese+s.math;
printf(”%s\t%d\t%d\t%6.2f\n”,s.name,s.chinese,s.math,aver/2.0);
}
-
请阅读分析下面程序,然后写出运行结果。
main()
{
int k=4,i:
for(i=0;i<4;i++)
{
switch(k)
{
case 4:
printf(”#”);
case 3:
printf(”*”);
default:
printf(”\n”);
break;
case 2:
printf(”$”);
case 1:
printf(”@”);
}
k--:
}
}
-
请阅读分析下面程序,然后写出运行结果。
f()
{
int a=3:
static int b=4:
a=a+1:
b=b+1:
printf(”a=%d,b=%d\n”,a,b);
}
main()
{
f( );
f( );
f( );
}
-
设从ASCII码文件”DATA2.TXT”中读取100个整型数据存放在数组array_y中。其说明语句为:
intarray_y[100],j;
FILE *fp;
请写出打开文件;用100次每次读一个整型数据的方法,将100个整型数据读入存放在数组array_y中;以及关闭文件的有关语句。
-
请阅读分析下面程序,然后写出运行结果。
main()
{
int x=8,y=-5;
printf(“x=%d,y=%d\n”,x,y);
x=x+y;y=x-y;x=x-y;
printf(”x=%d,y=%d\n”,x,y);
}
-
请阅读分析下面程序,然后写出运行结果。
main()
{
int x=156,a,b,c;
if(x>100)
{
a=x/100;
x=x%100;
}
if(x>10)
{
b=x/l0;
c=x%10;
}
printf(”%3d%3d%3d%3d”,a,b,c,a*b*c);
}
-
什么是变量的作用域?什么是局部变量?什么是全局变量?
-
设有程序如下:
maim()
{
char ch=’A’:
while(ch<=’E’)
{
printf(”%c”,ch);
ch++:
}
printf(”\n”);
}
(1)该程序的运行结果是什么?(2分)
(2)如果要将给定程序的运行结果按相反的顺序输出,请写出相对应的程序。(2分)
-
在C语言的switch语句中,switch后面的“表达式”可以是哪些类型的表达式?
-
设有关于结构体类型的定义: ( )
struct food
{
char name[20];
int kind;
}myfood,*p;
下面各个选项中语句都正确的是
- A.p=&myfood;P->kind=5;
- B.p=&myfood;strcpy(p->name,”rice”);
- C.p=&myfood; p.kind=7;
- D.strcpy(myfood.name,”pie”); p=&myfood;
- E.p=&myfood,p->kind=6;strcpy(myfood.name,”apple pie");
-
若有定义int a[5];,则对a数组元素或地址的引用错误的有 ( )
- A.&a[5]
- B.a[2]
- C.a++
- D.*a
- E.a[0]
-
若有定义及赋值:int *p,a[4],i;p=a;,则可以表示数组元素值的形式是 ( )
- A.*(a+i)
- B.a+i
- C.&a[i]
- D.a[i]
- E.*(p+i)
-
设有说明:int u=1,v=3;下面表达式的值为3的是 ( )
- A.v︱ u
- B.u&v
- C.u^v︱1
- D.v ︱u>>1
- E.v&~u
-
设有说明:FILE *fp;char *filename=”paper";对于fp=fopen(filename,”rb+”);语句,下面说法正确的是 ( )
- A.打开名为filename的文件读写
- B.打开名为paper的文件读写
- C.打开名为filename的文件只读
- D.打开名为paper的文件只读
-
设有int a=3,b=-5;下面表达式值不等于1的有 ( )
- A.a<0&&b<0
- B.a=fabs(b)一(a+1)
- C.a
- D.(a,2,-5)= =(b,2,a)
- E.!(a>0&&b<0)
-
设有说明:int x=0x03,y=3;表达式x&~y的值是 ( )
- A.0
- B.1
- C.2
- D.3
-
设有说明:int u=1,v=3,w=2;表达式(v>>1︱ u<<2)&w的值是 ( )
- A.0
- B.1
- C.3
- D.5
-
下面列出的位运算符中,表示按位与操作的是 ( )
- A.~
- B.&
- C.∧
- D.︱
-
变量的指针,其含义是指该变量的 ( )
- A.值
- B.地址
- C.名
- D.一个标志
-
结构体是C提供的一种专门处理彼此相互有联系,数据类型 ( )
- A.不一致的多个数据的数据结构
- B.不一致的单个数据的数据结构
- C.一致的多个数据的数据结构
- D.一致的单个数据的数据结构
-
若有说明:int *p,m=5,n;以下正确的程序段是 ( )
- A.p=&n;
- B.p=&n;scanf(“%d”,n); scanf(”%d”,*p); ’
- C.seanf(“%d”,&n);
- D.p=&n;p=n; *p=m;
-
若有定义int a[3][5];则数组a在内存中占用的字节数是 ( )
- A.8
- B.15
- C.6
- D.30
-
在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是 ( )
- A.char
- B.float
- C.1ong
- D.int
-
结束while(表达式)循环的条件是 ( )
- A.当表达式的值为0时
- B.当表达式的值不为O时
- C.当表达式的值为1时
- D.当表达式的值为非1时
-
下面合法的if语句是 ( )
- A.if(a=b) c++;
- B.if(a=
- C.if(a<>b) c++;
- D.if(a=>b)c++;
-
在Turbo C 2.0中,若定义unsigned int a;则变量a在内存中分配的字节数是 ( )
- A.1个
- B.2个
- C.4个
- D.8个
-
设有int x=2,y,z;执行z=y=x――;后,变量z的值是 ( )
- A.0
- B.1
- C.2
- D.3
-
以十六进制形式输出整数的格式说明符是 ( )
- A.%u
- B.%ld
- C.%x
- D.%o
-
一个二进制数位也称为一个 ( )
- A.word
- B.byte
- C.KB
- D.bit
-
下面转义字符中,表示字符串结束的是 ( )
- A.\r
- B.\n
- C.\0
- D.\f
-
断电后会使存储器失去信息的是 ( )
- A.CD-ROM
- B.RAM
- C.ROM
- D.硬盘
-
Unix是 ( )
- A.单用户、单任务的操作系统
- B.单用户、多任务的操作系统
- C.多用户、单任务的操作系统
- D.多用户、多任务的操作系统
-
下面数据中最大的数是 ( )
- A.(1010001.101)2
- B.(121.3)8
- C.(97.6)10
- D.(51.5)16
-
与二进制数1011.01等值的十进制数是 ( )
- A.7.25
- B.11.05
- C.11.25
- D.19.25