计算机基础与程序设计2006年4月真题试题与答案解析(02275)
-
若在c:\tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c:\ tclt路径下名为zzz.dat的文本文件中。
-
阅读下面程序段,写出输出结果。
struct num
{ float f1;
int j;
}u={5.6,8},*p=&u;
printf(″%.2f,%d\\n″,u.f1, u.j);
printf(″%.2f,%d\\n″, (*p).f1,p-﹥j);
-
若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n≤20)
-
阅读下面程序,并回答问题:
main( )
{ int m, n;
m=65;
n=14;
while(m!=n)
{ while(m﹥n)m-=n;
while(n﹥m)n-=m;
}
printf(″m=%d\\n″, m);
}
(1)程序输出结果是多少?
(2)外循环执行完一次时,m和n的值分别是多少?
(3)将while(n﹥m)n-=m;语句删除后,程序运行情况如何?
-
阅读下面程序,并回答问题:
gcd(int x, int y)
{ int temp;
while (y){temp=x%y; x=y; y=temp;}
return x;
}
main()
{ int a, b, y;
scanf(″%d, %d″, &a, &b);
y=gcd(a,b);
printf(″最大公约数是:%d″, y);
}
(1)gcd函数的返回值类型是什么?
(2)若将return x写成return y会得到什么样的结果?
-
阅读下面程序,写出运行结果。
mian( )
{ char * str[ ]={″Pascal″, ″C Language″, ″Dbase″, ″Cobol″};
int k;
for(k=0; k﹤4;k++)
printf(″%s\\n″, str[k]);
}
-
阅读下面程序,并回答问题:
main()
{ int x, y, z, c;
scanf(″%d%d%d″,&x, &y, &z);
if(x﹤z){c=y; y=z; z=c;}
if(x﹤z){c=x; x=z; z=c;}
if(x﹤y){c=x; x=y; y=c;}
printf(″%d, %d, %d″, x, y, z);
}
(1)若程序运行时,输入3、2和5,则输出结果是什么?
(2)写出程序所实现的功能。
-
阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。
#include ″stdio.h″
main( ){
int k=100;
char m;
m=k;
putchar(m);
printf(″,%d,%c,%o, ″k,m-32,m);
}
-
什么是"直接递归调用"?什么是"间接递归调用"?
-
设有说明:
struct language {long spearer; char country[20];} chinese;
试写出对chinese的成员spearer和country分别赋值1250000000和"China"的C语句。
-
判断下面两程序段正确与否,并说明原因。
(1)char str[12];
str=″program″;
(2)char *str;
str=″program″;
-
在C语言中,关于符号FILE下面说法正确的有 ( )
- A.FILE是C的关键字
- B.FILE表示一种关于文件参数的结构体类型
- C.FILE表示一种关于文件参数的结构体变量
- D.FILE*可以用来说明文件指针
- E.文件指针指向的变量的数据类型是FILE
-
C语言中如何表示"真"和"假"?系统如何判断一个量的"真"和"假"?
-
设有说明:int x=1, y=3; 下面表达式的值为2的有 ( )
- A.y&~x
- B.x^y
- C.x|y
- D.y|x﹥﹥1
- E.x﹤﹤1|y﹥﹥2
-
若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( )
int a[10], *p;
p=a;
- A.a[0]
- B.a
- C.p+1
- D.p
- E.*p
-
若定义 char c[11]; 可将字符串″I am a boy″ 赋给数组c,下面正确的选项有( )
- A.c=″I am a boy″;
- B.getchar(c);
- C.gets(c);
- D.scanf(″%s″,c);
- E.for(i=0;i﹤10;i++) scanf(″%c″,&c[i]);c[10])=\'\\0\';
-
下面程序段中,不能完成的功能是 ( )
FILE *fp;
char ch =′v′;
fp=fopen(″boy″, ″rb+″);
fputc(ch,fp);
- A.建立文件指针fp与文件boy的联系
- B.从boy文件中读取一个字符
- C.向boy文件中写一个字符
- D.打开名为boy的二进制文件
-
总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有( )
- A.电源线
- B.数据线
- C.地址线
- D.控制线
- E.网络线
-
如果将文件指针fp指向文件末尾,正确的语句是 ( )
- A.feof(fp);
- B.rewind(fp);
- C.fseek(fp,0L,0);
- D.fseek(fp,0L,2);
-
下面各个位运算符的优先级从左到右依次升高的是 ( )
- A.| ^ & ﹥﹥
- B.^ ﹥﹥ & ~
- C.﹤﹤ | ^ ~
- D.~ | & ﹥﹥
-
设有说明:int u=1, v=14;表达式u+v﹥﹥2的值是 ( )
- A.0
- B.3
- C.5
- D.7
-
设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是 ( )
- A.a[1][2]
- B.a[1]
- C.*(p+1*10+2)
- D.*(a[1]+2)
-
下面定义不正确的是 ( )
- A.
- B.
- C.
- D.
-
下面叙述中不正确的是 ( )
- A.不同函数中可以使用相同名字的变量
- B.形式参数是局部变量
- C.在一个函数内部定义的变量只能在本函数范围内有效
- D.在一个函数内部的复合语句中定义的变量在本函数范围内有效
-
在C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是 ( )
- A.由系统自动指定对应实参和形参是否共用存储单元
- B.对应实参和形参各占一个独立的存储单元
- C.对应实参和形参共用一个存储单元
- D.可以由用户指定对应实参和形参是否共用存储单元
-
下面程序段的输出结果是 ( )
- a=100; while(a﹥120);
- a=a+1; printf(″%d″,a);
- A.100
- B.101
- C.120
- D.121
-
下面程序执行后,i的值是 ( )
main( )
{
int a [5]={1,2,3,4,5},i=2;
printf(″%d″,a[i++]);
}
- A.1
- B.2
- C.3
- D.4
-
下面程序的输出结果是 ( )
main( )
{
int i, x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i﹤4;i+=2)
printf(″%d″, x[i][1]);
}
- A.5 1
- B.5 2
- C.8 2
- D.9 3
-
下面程序段的循环次数是 ( )
int k=2;
while(k==0) printf(″%d″,k);
k--; printf(″\\n″);
- A.0次
- B.1次
- C.2次
- D.无限次
-
下面程序段执行后的输出结果是 ( )
int i=1;
if(i﹤=0) printf(″* * * * \\n″);
else printf(″%%%%\\n″);
- A.****
- B.%%%%
- C.%%%%c
- D.****c
-
若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是(其中﹤CR﹥表示换行)
int a, b;
scanf(″a=%d b=%d″,&a, &b);( )
- A.2﹤CR﹥
- B.a=2 b=3﹤CR﹥3﹤CR﹥
- C.a=2, b=3﹤CR﹥
- D.2,3﹤CR﹥
-
下面程序段的输出结果是 ( )
main()
{ int s, p;
s=p=5;
p=++s;
p++; ++p;
printf(″%d\\n″,p);
}
- A.5
- B.6
- C.7
- D.8
-
下列if语句中,有语法错误的是 ( )
- 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++;}
-
退出Turbo C 2.0返回系统,在主菜单File项中可选择 ( )
- A.Load
- B.New
- C.Save
- D.Quit
-
设有int a=3, b=-4, c=5;表达式(a﹤b)? a+b:(a-b,b+4,a-=b+4)的值是( )
- A.-1
- B.0
- C.3
- D.7
-
CPU处理数据和指令的基本单位是字(Word),一个字的字长是 ( )
- A.8bits
- B.16bits
- C.32bits
- D.与CPU数据总线有关的bit位数
-
与十进制1100等值的十六进制数是 ( )
- A.44A
- B.44C
- C.54A
- D.54C