全国2008年4月自学考试计算机基础与程序设计试题

编辑整理:广东自考网   发布于:2019-11-27 11:28:47 点击: 次 

全国2008年4月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.存储容量1KB等于(   )
A. 字节 B. 字节
C. 字节 D. 字节
2.在计算机中,指令通常是由(   )
A.操作码、操作数组成 B.源操作数、目标操作数组成
C.反码、补码组成 D.直接寻址、目的寻址组成
3.与十进制数39等值的二进制数是(   )
A.00100111 B.01001001
C.10100111 D.01011000
4.下列设备中属于输出设备的是(   )
A.扫描仪 B.键盘
C.鼠标 D.显示器
5.整数-2在机器内存中的表示是(   )
A.1000000000000010 B.1111111111111110
C.11111111111111101 D.1111111111111111
6.下列运算符中优先级最低的是(   )
A.> B.!
C.% D.= =
7.设有int a=3,b=-4,c=5;表达式+ +a-c+b+ +的值是(   )
A.-6 B.-5
C.-4 D.-3
8.以十进制无符号形式输出整数的格式说明符是(   )
A.%u B.%x
C.%o D.%d
9.下列程序段的输出结果是(   )
void main(void)
{
     iny y=1,x=5;
     if(x<0)y=-1;
     if(x>=0)y=0;
     printf("%d\n",y);
}
A.-1 B.0
C.1 D.5
10.执行如下程序段后,x的值是(   )
int x=1,y=-1;
     if(y<0)x-=y;
     else x+=y;
A.-1 B.0
C.1 D.2
11.执行while(表达式)循环的条件是(   )
A.当表达式的值为0时 B.仅当表达式的值为1时
C.当表达式的值非0时 D.当表达式的值不为1时
12.下列程序段输出的结果是(   )
    for(i=1;i<3;i+ +)
         for(j=1;j<3;j+ +)
             printf("%d",i+j);
A.2  3  3  4 B.2  3  4
C.2  3 D.2
   3  4   3  4
13.若有定义int s[4]={1,2,3,4};则a[a[2]-3*a[0]+1]的值是(   )
A.1 B.2
C.3 D.4
14.下列关于C语言程序说法正确的是(   )
A.C语言程序总是从有定义的函数起顺序执行
B.在C语言程序中,被调用函数必须在main函数中定义
C.C语言程序中的main函数必须放在程序的开始部分
D.C语言程序总是从main函数起开始执行
15.若有int a[ ]={1,2,3,4,5,6,7,8,9,10},且0≤i<10,则对数组元素地址正确表示的是(   )
A.&a+1 B.&a+ +
C.&a D.&a[i]
16.下列关于结构体类型定义正确的是(   )
A.struct ABC B.struct ABC
   { {
        int a int a;
        char b char b;
        char*p   char * p;
}   }
C.struct ABC D.struct ABC
{ {
       int a;  int a,
       char b; char b,
       char * p; char *p,
   }; };
17.下列位运算符中,表示按位异或操作的是(   )
A.~ B.│
C.^ D.&
18.下列各个位运算符的优先级从左到右依次升高的是(   )
A.>>│& ~ B.│>> & ~
C.│& >> ~ D.~│& >>
19.设有说明:int u=1,v=3;则表达式u<<= v的值是(   )
A.0 B.1
C.3 D.8
20.如果文件存储的是数据在内存中存放的字节形式,则该文件是(   )
A.ASCII文件 B.文本文件
C.二进制文件 D.设备文件
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.存储在下列哪些设备中的信息可以长期保存?(     )
A.RAM B.ROM
C.硬盘 D.软盘
E.光盘
22.下列语句中正确的有(     )
A.if(x>y);
B.if(x=y)&&(x!=0)x+=y;
C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
D.if(x<y){x+ +;y+ +;}
E.if(x<y)x+ +;y+ +;else x――;y――;
23.下列循环将会产生死循环的有(     )
A.while(1); B.do{ }while(0);
C.do{ }while(1); D.for(k=1;k>―10;k+ +);
E.for(k=1;k=10;k+ +,k――);
24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有(     )
A.a[2] B.*a
C.*a+2 D.a[0]+2
E.&a[0][2]
25.设有关于结构体类型的定义:(     )
    struct data
    {
        int num;
        struct data *next;
    } *p,* head=NULL;
    下列语句中正确的有
A.p=(struct data *)malloc(sizeof(struct data));
B.p=(struct data )malloc(sizeof(struct data));
C.p=(struct data *)malloc(sizeof(data));
D.p->next=head;
E.p.next=head;
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中的运算符“=”与数学中的“=”的意义相同吗?为什么?
27.简述C语言标准库函数strcpy 的格式(或函数原型)与功能。
28.请按照下列要求写出相应的C语句。
   假设float类型的变量x1和x2已经定义过,且x1已经初始化为7.3。
   (1)定义指向float类型变量的指针变量fpt;
(2)使fptr指向x1;
 (3)利用fptr,将fptr指向变量的值赋给x2;
(4)利用fptr,输出fptr指向变量的值。
29. fread(stu,size,n,fp);中stu、size、n和fp的含义各是什么?
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.请阅读分析下列程序,然后写出运行结果。
   main( )
{
    int a=0,b=1;
    printf("a=%d,b=%d\n",a,b);
    a+=b;b+=a;
    printf("a=%d,b=%d\n",a,b);
}
31.若分别输入0和5时,请阅读分析下列程序,然后分别写出两种输入情况下程序的运行结
果。
main ( )
{
    int x,y;
    scanf("%d",&x);
    if(x>2&&x<=10)
          y=x *(x+2);
    else if(x>-1&&x<=2)
          y=2*x;
    else if(x<-1)y=x-1;
    if(y!=-1)
          printf("%d,y);
    else
          printf("error");
}
32.请阅读分析下列程序,然后写出程序的循环次数和运行结果。
   main(void)
   {
int i;
for(i=1; i<6; i+ +)
{
     if(i%2)
     {
          printf("@");continue;
     }
printf("*");
}
printf("\n");
   }
33.请阅读分析下列程序,然后写出程序的运行结果。
   void fun( );
   void main(void)
   {
fun( );
fun( );
   } 
   void fun( )  
   {
static int a[3]={0,1,2},b=10;
int i;
if(b= =10)
{    
for(i=0;i<3;i+ +)
           a[i]+=a[i];  
for(i=0;i<3;i+ +)
      printf("%d,",a[i]);
printf("b=%d\n",b);
       b+ +;
}
else
{    
for(i=0;i<3;i+ +)
            a[i]*=a[i];
      for(i=0;i<3;i+ +)
            printf("%d,"a[i]);
      printf("b=%d\n",b);
}
}    
34.请阅读分析下列程序,然后写出程序的运行结果。
   void main(void)
   {
int a[ ]={1,2,3,4,5,6},*p;
p=a;
p+ +;
*(p+3)+=2;
printf("%d\n",*p);
printf("%d\n",*(p+3));
   }
35.设有下列创建单向链表的部分程序:
   #include"malloc.h"
   #include"string.h"
   struct automobile
   {
char type[20];
int load;
struct automobile *next;
}  * head=NULL;
  void main(void)
  {
struct automobile *p;
char * automobile_type[3]={"Red_Rock",Yellow_River","East_Wind"};
int automobile_load[3]={24,18,42},j;
for(j=0;j<3;j+ +)
{
      p=(①______________)malloc(sizeof(struct automobile));
      strcpy(②_____________,automobile_type[j]);
      p->load=automobile_load[j];
      p->next=head;
      head=p;
}
  }
  请阅读分析程序,然后写出①和②下划线处应该填写的内容。
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.若数组a中有十个整数8,2,5-3,7,-9,0,-4,10,15,请编程求出该数组中的最大值和最小值。
37.设在c盘根目录下有一个ASCII码文件zm.dat,且文件中有10个字符。请编程将文件中的字符读出,再按照从大到小的次序排序并将排序结果在屏幕上显示出来。

本文标签:历年真题

转载请注明:文章转载自(http://www.gdszkw.com

本文地址:http://www.gdszkw.com/jsjjcycxsj/28157.html

点击查看全部真题 >>

扫码登录


扫码关注“广东省自考网”微信公众号

即可查看全部内容

二维码以过期,请重新刷新




《广东自考网》免责声明:

1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。

2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com

广东自考-便捷服务