一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘上输入10个浮点型数,求出10个数的总和与平均值,并将总和与平均值写到d盘根目录下的文本文件array.dat中。

  2. 从键盘输入10个整数并存放到一维数组中,计算下标为奇数的元素的累加和并输出运行结果。

  3. 写出下面程序的运行结果

    void main(void)

     { 

       int x;

       for(x=1;x﹤=5;x++)

         printf(″%d,%d\n″,x,fun(x));

     }

     int fun(int x)

     {

       static int fac=1;

       fac*=x;

       return fac;

     }

  4. ?

    写出下面程序的运行结果

    void f2(char*t,char*s)

     {

       while(*t!=′\0′)t++;

       while(*s!= ′\0′)

       {

         *t=*s:

         s++;t++;

       }

       *t=*s;

     }

     void main(void)

     {

       char s[80]= ″ ″,*ps[3]={ ″there″,″is a″,″car″};

       int i;

       for(i=0; i﹤3;i++)

         f2(s,ps[i]);

       printf(″%s\n″,s);

     }

  5. 写出下面程序的运行结果

    void main(void)

    {

    int x;

    for(x=1;x﹤10;x+=2)

    printf(″%d\t%d\n″,x,x*x);

    }

  6. 写出下面程序的运行结果

    main(){char ch;ch=′a′;

    switch(ch)

    {

    case′a′:printf(″*\n″);

    case′b′:printf(″**\n″);

    case′c′:printf(″***\n″);}

    ch=′b′;

    switch(ch)

    {

    case ′b′:printf(″**\n″);

    case ′a′:printf(″*\n″);break;

    case ′c′:printf(″***\n″);

    }

    }

  7. 写出下面程序的运行结果

    #include﹤string.h﹥

      main()

      {

        char a[5][8]={ ″java″,″fortran″,″basic″,″cobol″,″pascal″},b[8],c[8];

        int i;

        strcpy(b,a[0]);

        strcpy(c,a[0]);

        for(i=1;i﹤5;i++)

        {

        if(strcmp(b,a[i])﹤0)strcpy(b,a[i]);

        if(strcmp(c,a[i])﹥0)strcpy(c,a[i]);

        }

        printf(″%s\n″,b);

        printf(″%s\n″,c);

      }  

  8. 设有声明:

    struct cjd{

    long bh;

    long int xq;

    char xm[9];

    float score[3];

    }x={201101,2,″张大力″,76,85.0,90);

    简单回答

    (1)结构体名;

    (2)结构体类型变量;

    (3)结构体类型变量所占字节数;

    (4)结构体成员x.score[2]的值。

  9. 写出下面程序的运行结果

    main(){

    int a=1,b=2,c=3;

    ++a;

    b=b+a;

    c=c/2; 

    printf(″%d,%d,%d\n″,a,b,c);

    }

  10. 将下面for循环的程序段,用含while循环的程序段实现。

    for(s=0,i=1;i﹤=10;i++)

    s+=i;

  11. 简述声明语句:char *p[4];的含义。

  12. 写出将x,y,z,w分别声明为整型变量、短整型变量、长整型变量和无符号整型变量的语句。

  13. 若有如下定义及赋值:

    int x=5,*p,*pl;

    p=&x;

    pl=p;

    则可以输出变量x的值的语句有 ( )

    • A.printf(″%d\n″,x);
    • B.printf(″%d\n″,*p);
    • C.printf(″%d\n″,p1);
    • D.printf(″%d\n″,&x);
    • E.printf(″%d\n″,*p1);
  14. 设有关于结构体类型的定义:

    struct boat{

    char name[10];

    int weight;

    }myboat,*ps;

    下面各项中语句都正确的有 ( )

    • A.myboat.name=″Li″。Myboat.weight=1600;
    • B.ps=&myboat;strcpy(ps-﹥name,″Wuhan″);
    • C.ps=&myboat; Ps-﹥weight=2700;
    • D.strcpy(myboat.name,″Wine″);ps=&myboat;
    • E.ps=&myboat,strcpy(myboat.name,″Shanghai″);Ps-﹥weight=5512;
  15. 下面循环语句中,没有“无限循环”错误的循环语句有 ( )

    • A.for(;;);
    • B.for(i=1;i﹤10;i++);
    • C.while(1);
    • D.while(0);
    • E.do{循环体)while(1);
  16. 设有声明:int a[5]={1,3,5,7,9);下面表达式的结果为10的有 ( )

    • A.a[l]+a[3]
    • B.a[2]-2*a[1]
    • C.2*a[2]
    • D.a[0]+a[4]
    • E.a[1]+[-a[2]+a[3]
  17. 若要在C盘TC目录下,建立一个a1.dat的文本文件,正确使用打开文件的函数是( )

    • A.fopen(″C:\\ TC \\ a1.dat″,″r″)
    • B.fopen(″C:\ TC \ a1.dat″,″r″)
    • C.fopen(″C:\\ TC \\ a1.dat″,″w″)
    • D.fopen(″C:\ TC \ a1.dat″,″w″)
  18. 下面属于合法的C语句的有 ( )

    • A.表达式语句
    • B.函数调用语句
    • C.子程序调用语句
    • D.空语句
    • E.循环语句
  19. 如果将文件指针fp指向文件末尾,正确的语句是 ( )

    • A.feof(fp);
    • B.rewind(fp);
    • C.fseek(fp,0L,0);
    • D.fseek(fp,0L,2);
  20. 设有说明:int u=1,v=3;表达式:u﹤﹤=v的值是( )

    • A.0
    • B.1
    • C.3
    • D.8
  21. 下面各个位运算符优先级从左到右依次升高的是 ( )

    • A.﹥ ﹥ | & ~
    • B.| ﹥ ﹥ & ~
    • C.| & ﹥ ﹥ ~
    • D.~ | & ﹥ ﹥
  22. 若有说明long int x[5];下面能正确表示数组元素地址的是( )

    • A.&x[3]
    • B.&x
    • C.&x+1
    • D.*x
  23. 下面列出的位运算符中,表示按位与操作的是 ( )

    • A.~
    • B.!
    • C.&
    • D.^
  24. 下面关于结构体类型的定义正确的是( )

    • A.    
    • B.    
    • C.    
    • D.    
  25. 关于main函数,以下说法中正确的是 ( )

    • A.C语言程序总是从有定义的函数起顺序执行,在main函数中结束
    • B.在C语言程序中,被调用的函数必须在main()函数中定义
    • C.C语言程序中的main()函数必须放在程序开始部分
    • D.C语言程序总是从main()函数开始执行
  26. 若要定义一个长整型的变量a和一个指向变量a的指针变量q,下面正确的定义语句是( )

    • A.long a,*q=a;
    • B.long a,*q=&a;
    • C.long*q=&a,a;
    • D.long a,q=&a;
  27. 若有定义int a[4]={1,2,3,4};则表达式a[a[2]- 3*a[0]+1]的值是( )

    • A.1
    • B.2
    • C.3
    • D.4
  28. 在C语言程序中,关于函数的定义和调用,以下描述正确的是( )

    • A.函数的定义可以嵌套,但函数的调用不可以嵌套
    • B.函数的定义不可以嵌套,但函数的调用可以嵌套
    • C.函数的定义和函数的调用均不可以嵌套
    • D.函数的定义和函数的调用均可以嵌套
  29. 设有程序段

    int x=1,y=-1;

    if(y﹤0)x-=y;

    else x+=y;

    执行完该程序段后,x的值为 ( )

    • A.-1
    • B.0
    • C.1
    • D.2
  30. 下面程序段的循环次数是( )

    int k=2;

    while(k= =0) printf (″%d″,k);

    k--;

    printf (″\n″);

    • A.0次
    • B.1次
    • C.2次
    • D.无限次
  31. 下面程序段的输出结果是( )

    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.23 4 3 4
  32. 以十六进制形式输出整型数的格式说明符是 ( )

    • A.%x
    • B.%u
    • C.%o
    • D.%d
  33. 下列语句中,有语法错误的是 ( )

    • 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++;}
  34. 设有int x,y;表达式y=(x=1,++x,x+2)的值是 ( )

    • A.1
    • B.2
    • C.3
    • D.4
  35. 设有int a=3,b=—4,c=5;表达式++a-c+b++的值是 ( )

    • A.-6
    • B.-5
    • C.-4
    • D.-3
  36. 下面哪种设备是输出设备? ( )

    • A.扫描仪
    • B.键盘
    • C.鼠标
    • D.显示器
  37. 存储容量1KB等于 ( )

    • A.23字节
    • B.210字节
    • C.220字节
    • D.230字节