全国2012年7月高等教育自学考试计算机基础与程序设计试题
温馨提示
亲爱的学员,您好!
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下面哪种设备是输入设备?( )
A.键盘 B.打印机
C.显示器 D.投影仪
2.与十进制39等值的二进制数是( )
A.00100111 B.01001001
C.10100111 D.01011000
3.设有 int a=3,b=-4;表达式(a<b)? a b:(a-b,b 4,a-=b 4)的值是( )
A.-1 B.0
C.3 D.7
4.设有int a=3,b=-4,c=5;表达式a=b=c=6 3/5的值是( )
A.3 B.4
C.6 D.6.6
5.以十进制无符号形式输出整数的格式说明符是( )
A. %u B.% x
C.%o D.%d
6.下列程序段执行后的输出结果为
int i =-1;
if(i<=0) printf("* * * * \n");
else printf ("%%%%\n"); ( )
A. * * * * c B.% % % %
C. % % % % c D.** * *
7.执行下面程序段后的y值是
int y=l, x=5;
if(x<0)y=-1;
if(x>=0)y=0; ( )
A.-1 B.0
C.1 D.5
8.执行while(表达式)结构循环的条件是( )
A.当表达式的值为0时 B.仅当表达式的值为l时
C.当表达式的值为非0时 D.当表达式的值不为1时
9.下面程序段的输出结果是
a=100;
while (a>120)
a= a l;
printf ("%d", a); ( )
A.100 B.101
C.120 D.121
10.下面程序执行后,i的值是
main()
{ int a[5]={1,2,3,4,5),i =2;
printf ("%d",a[ i ]);
} ( )
A.1 B.2
C.3 D.4
11.关于函数调用以下错误的描述是( )
A.函数调用可以出现在执行语句中
B.函数调用可以出现在一个表达式中
C.函数调用可以作为一个函数的实参
D.函数调用可以作为一个函数的形参
12.C语言关于递归调用的规则是( )
A.既允许直接递归调用,也允许间接递归调用
B.不允许直接递归调用,也不允许间接递归调用
C.允许直接递归调用,不允许间接递归调用
D.不允许直接递归调用,允许间接递归调用
13.设有语句int a[4][10],* p= * a;则下列表达式中属于地址表达式的是( )
A.a[1][2] B.a[1]
C. * (p 1 * 10 2) D.*(a[1] 2)
14.下面声明语句正确的是( )
A. int a, * p=a; B.inta, * p = & a;
C. int * p= a,a; D.int* p = & a, a;
15.下面定义不正确的是( )
A. struct star B.structstar
{ {
int id; int id;
char * name; char * name;
}starl = {1001,"Moon"}; }; starl = {1001,"Moon"};
C. struct D.struct star
{ {
int id ; int id ;
char * name ; char* name ;
} starl = {123,"Sun"} ; } starl ;
16.下面列出的位运算符中,表示按位异或操作的是( )
A.~ B.!
C.^ D.&
17.下面各个位运算符的优先级从左到右依次升高的是( )
A. | ^ & > > B.^ > > & ~
C. > > | ^ ~ D.~ | & > >
18.设有说明:int u=l,v=14;
表达式u -v > >2的值是 ( )
A.0 B.3
C.4 D.7
19.如果文件存储的是数据在内存中时存放的字节形式,则该文件是( )
A.ASCII码文件 B.文本文件
C.二进制文件 D.设备文件
20.正确使用fopen函数打开C盘根目录下abc . dat文件进行读写的语句是( )
A. fopen ("c:\abc.dat","w "); B.fopen("c:\adc.dat","r ");
C. fopen("c:\\abc.dat","w"); D.fopen("c:\\abc.dat","r "):
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.下面属于合法的C标识符有( )
A._123 B.abc
C.123_ D.abc.c
E.ab_123
22.若所用变量已正确定义,以下各程序段执行后,变量x值相等的有( )
A.x=0; B.x=0;i=0;
for (i=0;i<=3;i ) while(i<3)
x=i x; { x=i x;
i ;
}
C.for(i=0;i<5;i ) D.x=0;i=0;
x=i x; lop: x=i x;
i ;
if( i < =3) goto lop;
E.i=0;x=0;
do{ x=x i;i=i 1;
}while(i<=3);
23.设有声明int x[5]={2,4,6,8,10);下面表达式的结果为2的有( )
A.a[o] B.a[3]-a[2]
C.(a[4]-a[2])/2 D.a[3]-a[0]
E.a[0]/2 a[l]/4
24.设有如下定义及赋值:
int a[5]={1,2,3,4,5), * p;
p=a;
则可以输出元素值为3的语句有( )
A. printf ("%d\n",a 2); B.printf ("%d\n",p 2);
S. printf ("%d\n",p[2]); D.printf ("%d\n",* (p 2));
E. printf ("%d\n",a[3]);
25.下面关于结构体类型的定义正确的有( )
A. struct ABC B.struct tree
{ {
int a, int branch;
char b, char name[20];
char * p, char * relation;
}; };
C. struct ABC D.struct tree
{ {
int a; intbranch,
char b; charname[20],
char *p ; char*relation,
}; };
E. struct
{
char name[20];
int weight;
int sex;
};
三、简答题(本大题共4小题,每小题4分,共16分)
26.简述'c'与"c"两者是否相同?若不同则指出其差别。
27.请用for循环实现下面程序段的功能。
char ch='Z';
while(ch<='A')
{ printf("%c",ch);
ch――;
}
28.简述声明语句int ( * p)[3];中变量p的含义。
29.设有声明
struct student
{ long xh;
char name[10];
short int age;
};
struct student a= {1234,"Wang",18);
简单回答结构体名,结构体类型变量,结构体类型变量所占的字节数,以及结构体成员age的值是什么?
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.写出下面程序的运行结果。
void main ( void)
{
int x,y,z;
x=l;
y=12 * x;
z= x y/2;
printf ("x= %d\ny = %d\nz = %d\n",x,y,z);
}
31.写出下面程序的运行结果。
main()
{ int x = 2,a = 0, b = 0;
switch (x)
{ case 1: a ; b ;
case 2: a ; b;
default: a =1;b-=1;
case 3: a = b; b =a;
}
printf("a=%d\nb=%d\n",a,b);
}
32.写出下面程序的运行结果。
void main ( void)
{ int a = l , y ;
while(a<10){
y=a l;
printf("%d,%d\n", a , y);
a = 2;}
}
33.写出下面程序的运行结果。
int fl ( int x)
{ static int s = l;
s = x;
return s;
}
void main ( void)
{ int u = l;
while (u<6)
{
printf ("%d ,%d\n", u, fl(u));
u ;
}
}
34.写出下面程序的运行结果
main()
{
char a[6][8] = {"c", "pascal" , "java" , "fortran" , "basic" , "ada"},ch='a';
int i, j;
for( i=0 ; i<6;i )
{
j = 0;
while(a[i][j]!='\0')
{
if(a[i][j] = = ch)
{
printf("%s\n",a[i]);
break;
}
j ;
}
}
}
35.void f3(char * s,char ch)
{
char * p = s ;
while( * s! = '\0' ){
if( * s! = ch)
{ * p = * s ; p ;}
s ;
}
* p = '\0';
}
void main(void)
{
char ch = ' a ', s[80] = "lab2c3,b4c5a6,c7a8b9";
int i;
for(i = 0;i<3;i )
{
f3(s,ch i);
printf("%s\n",s);
}
}
五、编程题(本大题共2小题,每小题12分,共24分)
36.从键盘输入10个浮点数并存放到一维数组x中,找出其中为最大数的元素,输出
该元素的下标和值。
37.若C盘根目录下有一个名为a.txt的文本文件,文件中有一个不超过50个字符的字符串,读入该字符串,并将该字符串中的字符按从小到大的次序排列出来,再输出排序后的结果。
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com