欢迎您访问上海自考网!  今天是
当前位置: 主页 > 历年真题 >

全国2012年7月自学考试真题02275《计算机基础与程序设计》试题

2017-06-20 15:14来源:山东自考网
全国2012年7月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共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.int a, * p = & a;
C. int * p= a,a;                D.int * p = & a, a;
15.下面定义不正确的是(      )
A. struct star                  B.struct star
{                                   {
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;                          int branch,
char b;                         char name[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个字符的字符串,读入该字符串,并将该字符串中的字符按从小到大的次序排列出来,再输出排序后的结果。
 
 
本自学考试真题下载:
全国2012年7月自学考试真题02275《计算机基础与程序设计》试题

上一篇:全国2012年7月自学考试真题03007《急救护理学》试题

下一篇:全国2012年7月自学考试真题02365《计算机软件基础(二)》试题