一起答

计算机基础与程序设计2005年4月真题试题与答案解析(02275)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘上输入10个整数,用冒泡法将它们按从小到大的次序排列出来,并把排列的结果以ASCII码的形式写到c盘根目录下的文件zml. dat中。

  2. 从键盘上输入10个整数,并将其存放在一数组中,求出该数组中所有大干零且为偶数的数的平均值。

  3. 请阅读分析下面程序,然后写出运行结果。

     main( )

        }

              int i,j,*p[4],a[12]={l,2,3,4,5,6,7,8,9,10,11,12};

               p[0[=&a[0];

               p[1]=&a[3];

               p[2]=&a[6];

               p[3]=&a[9];

               for(i=0;i<4;i++)

               {  

                   for(j=0;j<3;j++)

                       printf(”%4d”,p[i][j]);

                   printf(”\n”);   ’

               }

        }

  4. 请阅读分析下面程序,然后写出运行结果。

     #include”stdio.h”   

        #include”string.h”

        struct stu

        {

             char name[20];

             int chinese;

        int math;

             struct stu*next;

        };

        void main(void)

        {   

              char*str[]={”Zhang”,”Wang””Liu”};

              int aver,x[3][3]= {{80,75,85},{60,56,73},{90,83,76}};

              struct stu s;

              strcpy(s.name,str[1]);

              s.chinese=x[1][0];

              s.math=x[1][1];

              aver=s.chinese+s.math;

              printf(”%s\t%d\t%d\t%6.2f\n”,s.name,s.chinese,s.math,aver/2.0);

    }

  5. 请阅读分析下面程序,然后写出运行结果。

    main()

        {

        int k=4,i:

        for(i=0;i<4;i++)

        {

        switch(k)

        {

        case 4:

           printf(”#”);

        case 3:

           printf(”*”);

        default:

           printf(”\n”);

           break;

        case 2:

           printf(”$”);

        case 1:

           printf(”@”);

        }

        k--:

        }

    }

  6. 请阅读分析下面程序,然后写出运行结果。

    f() 

        {

        int a=3:

        static int b=4:

       a=a+1:

        b=b+1:

        printf(”a=%d,b=%d\n”,a,b);

        }

        main()

        {

        f( );

        f( );

        f( );

    }

  7. 设从ASCII码文件”DATA2.TXT”中读取100个整型数据存放在数组array_y中。其说明语句为:

    intarray_y[100],j;   

    FILE *fp;

    请写出打开文件;用100次每次读一个整型数据的方法,将100个整型数据读入存放在数组array_y中;以及关闭文件的有关语句。

  8. 请阅读分析下面程序,然后写出运行结果。

    main()

        {

        int x=8,y=-5;

        printf(“x=%d,y=%d\n”,x,y);

        x=x+y;y=x-y;x=x-y;

        printf(”x=%d,y=%d\n”,x,y);

    }

  9. 请阅读分析下面程序,然后写出运行结果。

     main()

        {

        int x=156,a,b,c;

        if(x>100)

        {

        a=x/100;

        x=x%100;

        }

        if(x>10)

        {

        b=x/l0;

        c=x%10;

      }

        printf(”%3d%3d%3d%3d”,a,b,c,a*b*c);

    }

  10. 什么是变量的作用域?什么是局部变量?什么是全局变量?

  11. 设有程序如下:

    maim()

    {  

     char ch=’A’:

     while(ch<=’E’)

     {

     printf(”%c”,ch);

     ch++:

     }

     printf(”\n”);

    }

    (1)该程序的运行结果是什么?(2分)

    (2)如果要将给定程序的运行结果按相反的顺序输出,请写出相对应的程序。(2分)

  12. 在C语言的switch语句中,switch后面的“表达式”可以是哪些类型的表达式?

  13. 设有关于结构体类型的定义: ( )

     struct food

        {

        char name[20];

        int kind;

        }myfood,*p;

    下面各个选项中语句都正确的是

    • A.p=&myfood;P->kind=5;
    • B.p=&myfood;strcpy(p->name,”rice”);
    • C.p=&myfood; p.kind=7; 
    • D.strcpy(myfood.name,”pie”); p=&myfood;
    • E.p=&myfood,p->kind=6;strcpy(myfood.name,”apple pie");
  14. 若有定义int a[5];,则对a数组元素或地址的引用错误的有 ( )

    • A.&a[5]
    • B.a[2]
    • C.a++
    • D.*a
    • E.a[0]
  15. 若有定义及赋值:int *p,a[4],i;p=a;,则可以表示数组元素值的形式是 ( )

    • A.*(a+i)
    • B.a+i
    • C.&a[i]
    • D.a[i]
    • E.*(p+i)
  16. 设有说明:int u=1,v=3;下面表达式的值为3的是 ( )

    • A.v︱ u
    • B.u&v
    • C.u^v︱1
    • D.v ︱u>>1
    • E.v&~u
  17. 设有说明:FILE  *fp;char  *filename=”paper";对于fp=fopen(filename,”rb+”);语句,下面说法正确的是 ( )

    • A.打开名为filename的文件读写
    • B.打开名为paper的文件读写
    • C.打开名为filename的文件只读
    • D.打开名为paper的文件只读
  18. 设有int a=3,b=-5;下面表达式值不等于1的有 ( )

    • A.a<0&&b<0
    • B.a=fabs(b)一(a+1)
    • C.a
    • D.(a,2,-5)= =(b,2,a)
    • E.!(a>0&&b<0)
  19. 设有说明:int x=0x03,y=3;表达式x&~y的值是 ( )

    • A.0
    • B.1
    • C.2
    • D.3
  20. 设有说明:int u=1,v=3,w=2;表达式(v>>1︱ u<<2)&w的值是 ( )

    • A.0
    • B.1
    • C.3
    • D.5
  21. 下面列出的位运算符中,表示按位与操作的是 ( )

    • A.~
    • B.&
    • C.∧
    • D.︱
  22. 变量的指针,其含义是指该变量的 ( )

    • A.值
    • B.地址
    • C.名
    • D.一个标志
  23. 结构体是C提供的一种专门处理彼此相互有联系,数据类型 ( )

    • A.不一致的多个数据的数据结构
    • B.不一致的单个数据的数据结构
    • C.一致的多个数据的数据结构
    • D.一致的单个数据的数据结构
  24. 若有说明:int *p,m=5,n;以下正确的程序段是 ( )

    • A.p=&n;
    • B.p=&n;scanf(“%d”,n); scanf(”%d”,*p); ’
    • C.seanf(“%d”,&n);
    • D.p=&n;p=n; *p=m;
  25. 若有定义int a[3][5];则数组a在内存中占用的字节数是 ( )

    • A.8
    • B.15
    • C.6
    • D.30
  26. 在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是 ( )

    • A.char
    • B.float
    • C.1ong
    • D.int
  27. 结束while(表达式)循环的条件是 ( )

    • A.当表达式的值为0时
    • B.当表达式的值不为O时
    • C.当表达式的值为1时
    • D.当表达式的值为非1时
  28. 下面合法的if语句是 ( )

    • A.if(a=b) c++;
    • B.if(a=
    • C.if(a<>b) c++;
    • D.if(a=>b)c++;
  29. 在Turbo C 2.0中,若定义unsigned int a;则变量a在内存中分配的字节数是 ( )

    • A.1个
    • B.2个
    • C.4个
    • D.8个
  30. 设有int x=2,y,z;执行z=y=x――;后,变量z的值是 ( )

    • A.0
    • B.1
    • C.2
    • D.3
  31. 以十六进制形式输出整数的格式说明符是 ( )

    • A.%u
    • B.%ld
    • C.%x
    • D.%o
  32. 一个二进制数位也称为一个 ( )

    • A.word
    • B.byte
    • C.KB
    • D.bit
  33. 下面转义字符中,表示字符串结束的是 ( )

    • A.\r
    • B.\n
    • C.\0
    • D.\f
  34. 断电后会使存储器失去信息的是 ( )

    • A.CD-ROM
    • B.RAM
    • C.ROM
    • D.硬盘
  35. Unix是 ( )

    • A.单用户、单任务的操作系统
    • B.单用户、多任务的操作系统
    • C.多用户、单任务的操作系统
    • D.多用户、多任务的操作系统
  36. 下面数据中最大的数是 ( )

    • A.(1010001.101)2
    • B.(121.3)8
    • C.(97.6)10
    • D.(51.5)16
  37. 与二进制数1011.01等值的十进制数是 ( )

    • A.7.25
    • B.11.05
    • C.11.25
    • D.19.25