计算机基础与程序设计2011年4月真题试题与答案解析(02275)
-
从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。
-
阅读下列程序并写出运行结果。
void f1(char*t,char*s);
void main(void)
{
char s1[20]="abcdl2345",t1[20]="xyz";
printf("%s\n%s\n",s1,t1);
f1(t1,s1);
printf("%s\n",t1);
}
void f1(char*t,char*s)
{
while((*t=*s)!=′\0′){
t++;
s++;
}
}
-
从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。
-
阅读下列程序序并写出运行结果。
int fun(int y);
void main(void)
{
int x[4]={3,5,7,0},s=0,i=0;
while(x[i]){
s+=fun(x[i]);
i++;
printf("s=%d\n",s);
}
}
int fun(int y)
{
static int a=0;
a=a+y;
return a;
}
-
阅读下列程序并写出运行结果。
void main(void)
{
int x=3,y[7]={1,3,5,8,9,11,12};
int t=O,b=7,f=O,m;
m=(b+t)/2;
while(b-t﹥=O)
if(y[m]==x){f=1;
printf("\ny[%d]=%d\n",m,y[m]);
break;
}
else if(y[m]﹥x)
{
b=m-1;printf("%d\t",y[m]);
m=(b+t)/2;}
else{
t=m+1;printf("%d\t",y[m]);
m=(b+t)/2;}
if(! f)
printf("\n not find!\n");
-
阅读下列程序,当依次输入11,12,13,14,16这5个数时,请写出程序的运行结果。
void main(void)
{
int x,i,s=0;
for(i=0;i﹤5;i++){
scanf("%d",&x);
if(x%2)continue;
printf("%d\t",x);
s+=x;
}
printf("\n");
printf("s=%d\n",s);
}
-
阅读下列程序并写出运行结果。
void main(void)
{
int x=1,y=2;
char ch=′a′;
x++;y-=2;++ch;
printf("%c,%d,%d\n",ch,x,y);
}
-
阅读下列程序并写出运行结果
void main(void)
{
int x=11;
switch(x-1){
case 0:
printf("x=%d\n",x++);
break;
case 10:
printf("x=%d\n",x*2);
case 20:
printf("x=%d\n",x*4);
default:
printf("x=%d\n",x);
}
}
-
设有说明:
struct node{
int num;
char name[12];
char sex;
float income;
}a,*ptr=&a;
写出对ptr所指成员num,name,sex,income分别赋值123,"zhang",′m′,654.25的赋值语句。
-
设有说明:unsigned x=10;试写出通过仅对x进行移位操作的表达式,使表达式的值为 16。
-
设有下面程序:
void main(void)
{
int x;
x=1;
while(x﹤20){
printf("x=%d\n",x);
x+=2;
}
}
请把程序改写为for结构。
-
声明语句char s[20]="computer";
能用下面的语句替代吗?为什么?
char s[20];s="computer";
-
下面属于Turbo C 提供的数学函数有 ( )
- A.acos
- B.tan
- C.puts
- D.sqrt
- E.exp
-
设有关于结构体类型的定义:
struct mankind
{
char name[20];
int age;
float weight:
}person,*p;
下面各个供选项中语句都正确的有
- A.person.name="Li";Person.age=15;
- B.strcpy(person.name,"Wang");Person-﹥age=15;
- C.p=&person;p-﹥age=25;
- D.strcpy(person.name,"Tom");p=&person;
- E.strcpy(person.name,"Tom"),p=&person;p-﹥weight=97.2;
-
自定义函数有n1,n2,n3三个形式参数且为整型,函数正确的定义形式有( )
- A.int fun(int nl,n2,n3) {…}
- B.int fun(int nl,int n2,int n3){…}
- C.int fun(nl,n2,n3)int nl,n2,n3;{…}
- D.int fun(n1,n2,n3){int nl,n2,n3;…}
- E.int fun(nl,n2,n3){int n1,int n2,int n3;…}
-
与十进制10.625等值的数有 ( )
- A.(10.101)2
- B.(1010.101)2
- C.(12.101)8
- D.(12.5)8
- E.(A.A)16
-
下面合法的C语言用户定义的标识符有 ( )
- A.auto
- B._123
- C.ABC
- D.Turbo_c
- E.int
-
设有下面程序: ( )
#include"stdio.h"
void main(void)
{unsigned x=1,y=3,z=5;
printf("%d\n",x ,y);}
该程序的运行结果是
- A.1
- B.3
- C.5
- D.7
-
设有声明和语句: ( )
unsigned int x=1,y=2;x﹤﹤=y+1;
则x的值是
- A.1
- B.4
- C.5
- D.8
-
C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 ( )
- A.地址传递
- B.单向值传递
- C.由实参传给形参,再由形参传回给实参
- D.由用户指定方式
-
设有下面的结构体和结构变量定义: ( )
struct car{long id;char*name;};
struct car carl;
关于结构体类型变量赋值不正确的是
- A.carl.id=10101;
- B.carl.name="BlueSky";
- C.carl.* name="BlueSky";
- D.carl.id=123456L;
-
设有声明语句int a[2][3],(*p)[3]=a;则对a数组元素正确引用的是 ( )
- A.(p+1)[O]
- B.*(*(p+2)+1)
- C.*(p[1]+1)
- D.p[1]+2
-
下列函数中向文件一次读一串字符的函数是 ( )
- A.fgetc
- B.fgets
- C.fputc
- D.fputs
-
在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 ( )
- A.extern
- B.register
- C.auto
- D.static
-
设有声明int x=-1;执行if(x﹤0)x=-x-1;后变量x的值是 ( )
- A.-1
- B.0
- C.1
- D.2
-
下面能正确将字符串"Boy"进行完整赋值操作的语句是( )
- A.char s[3]={′B′,′o′,′y′};
- B.char s[]="Boy";
- C.char s[3]={"Boy"};
- D.char s[3];s[O]=′B′;s[1]=′o′;s[2]=′y′;
-
关于break语句,以下说法不正确的是 ( )
- A.它可以用于循环语句中
- B.它可以用于switch语句中
- C.可以从最内层循环结构中直接跳出最外层循环结构
- D.可以从当前switch结构中跳出
-
下面程序段的输出结果是 ( )
main()
{ int a=3,b=5,c;
c=a+b;a=b;b=c;
printf("%d,%d",a,b);}
- A.3,5
- B.5,3
- C.5,8
- D.8,13
-
设有int b=-1;则执行printf("%u\n”,b);后的输出是 ( )
- A.-1
- B.ffff
- C.177777
- D.65535
-
下面不正确的关系表达式是 ( )
- A.a=3
- B.a<3
- C.a>=b>c
- D.a>b>c
-
设有声明int x=1,y=2,z;执行z=x﹥y?x+2:y-2后变量z的值是 ( )
- A.0
- B.1
- C.2
- D.3
-
设有int x=2,y,z;执行z=y=x++;后变量z的值是 ( )
- A.0
- B.1
- C.2
- D.3
-
在Turbo C 2.O中,保存源程序在主菜单File项中可选择( )
- A.Load
- B.New
- C.Save
- D.Quit
-
下面表达式结果为3的是 ( )
- A.(-7)%4
- B.(-7.0)%4.0
- C.7%(-4)
- D.7.0%4.0
-
下列不属于计算机硬件系统的是 ( )
- A.操作系统
- B.控制器
- C.存储器
- D.运算器
-
下面转义字符中,表示换页的是 ( )
- A.\0
- B.\n
- C.\r
- D.\f
-
计算机处理信息时,CPU一般是以一组二进制数码为单位进行处理的,这组二进制数码称为( )
- A.word
- B.MB
- C.KB
- D.bit