一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。

  2. 阅读下列程序并写出运行结果。

    void f1(char*t,char*s);

    void main(void)

    {

    char s1[20]="abcdl2345",t1[20]="xyz";

    printf("%s\n%s\n",s1,t1);

    f1(t1,s1);

    printf("%s\n",t1);

    }

    void f1(char*t,char*s)

    {

    while((*t=*s)!=′\0′){

    t++;

    s++;

    }

    }

  3. 从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。

  4. 阅读下列程序序并写出运行结果。

    int fun(int y);

    void main(void)

    {

    int x[4]={3,5,7,0},s=0,i=0;

    while(x[i]){

    s+=fun(x[i]);

    i++;

    printf("s=%d\n",s);

    }

    }

    int fun(int y)

    {

    static int a=0;

    a=a+y;

    return a;

    }

  5. 阅读下列程序并写出运行结果。

    void main(void)

    {

    int x=3,y[7]={1,3,5,8,9,11,12};

    int t=O,b=7,f=O,m;

    m=(b+t)/2;

    while(b-t﹥=O)

    if(y[m]==x){f=1;

    printf("\ny[%d]=%d\n",m,y[m]);

    break;

    }

    else if(y[m]﹥x)

    {

    b=m-1;printf("%d\t",y[m]);

    m=(b+t)/2;}

    else{

    t=m+1;printf("%d\t",y[m]);

    m=(b+t)/2;}

    if(! f)

    printf("\n not find!\n");

  6. 阅读下列程序,当依次输入11,12,13,14,16这5个数时,请写出程序的运行结果。

    void main(void)

    {

    int x,i,s=0;

    for(i=0;i﹤5;i++){

    scanf("%d",&x);

    if(x%2)continue;

    printf("%d\t",x);

    s+=x;

    }

    printf("\n");

    printf("s=%d\n",s);

    }

  7. 阅读下列程序并写出运行结果。

    void main(void)

    {

     int x=1,y=2;

     char ch=′a′;

     x++;y-=2;++ch;

     printf("%c,%d,%d\n",ch,x,y);

    }

  8. 阅读下列程序并写出运行结果

    void main(void)

    {

    int x=11;

    switch(x-1){

    case 0:

    printf("x=%d\n",x++);

    break;

    case 10:

    printf("x=%d\n",x*2);

    case 20:

    printf("x=%d\n",x*4);

    default:

    printf("x=%d\n",x);

    }

    }

  9. 设有说明:

    struct node{

    int num;

    char name[12];

    char sex;

    float income;

    }a,*ptr=&a;

    写出对ptr所指成员num,name,sex,income分别赋值123,"zhang",′m′,654.25的赋值语句。

  10. 设有说明:unsigned x=10;试写出通过仅对x进行移位操作的表达式,使表达式的值为 16。

  11. 设有下面程序:

    void main(void)

     {

     int x;

     x=1;

     while(x﹤20){

     printf("x=%d\n",x);

     x+=2;

     }

     }

    请把程序改写为for结构。

  12. 声明语句char s[20]="computer";

    能用下面的语句替代吗?为什么?

    char s[20];s="computer";

  13. 下面属于Turbo C 提供的数学函数有 ( )

    • A.acos
    • B.tan
    • C.puts
    • D.sqrt
    • E.exp
  14. 设有关于结构体类型的定义:

    struct mankind

     {

     char name[20];

     int age;

     float weight:

    }person,*p;

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

    • A.person.name="Li";Person.age=15;
    • B.strcpy(person.name,"Wang");Person-﹥age=15;
    • C.p=&person;p-﹥age=25;
    • D.strcpy(person.name,"Tom");p=&person;
    • E.strcpy(person.name,"Tom"),p=&person;p-﹥weight=97.2;
  15. 自定义函数有n1,n2,n3三个形式参数且为整型,函数正确的定义形式有( )

    • A.int fun(int nl,n2,n3) {…}
    • B.int fun(int nl,int n2,int n3){…}
    • C.int fun(nl,n2,n3)int nl,n2,n3;{…}
    • D.int fun(n1,n2,n3){int nl,n2,n3;…}
    • E.int fun(nl,n2,n3){int n1,int n2,int n3;…}
  16. 与十进制10.625等值的数有 ( )

    • A.(10.101)2
    • B.(1010.101)2
    • C.(12.101)8
    • D.(12.5)8
    • E.(A.A)16
  17. 下面合法的C语言用户定义的标识符有 ( )

    • A.auto
    • B._123
    • C.ABC
    • D.Turbo_c
    • E.int
  18. 设有下面程序: ( )

    #include"stdio.h"

    void main(void)

    {unsigned x=1,y=3,z=5;

    printf("%d\n",x ,y);}

    该程序的运行结果是

    • A.1
    • B.3
    • C.5
    • D.7
  19. 设有声明和语句: ( )

    unsigned int x=1,y=2;x﹤﹤=y+1;

    则x的值是

    • A.1
    • B.4
    • C.5
    • D.8
  20. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 ( )

    • A.地址传递
    • B.单向值传递
    • C.由实参传给形参,再由形参传回给实参
    • D.由用户指定方式
  21. 设有下面的结构体和结构变量定义: ( )

    struct car{long id;char*name;};

    struct car carl;

    关于结构体类型变量赋值不正确的是

    • A.carl.id=10101;
    • B.carl.name="BlueSky";
    • C.carl.* name="BlueSky";
    • D.carl.id=123456L;
  22. 设有声明语句int a[2][3],(*p)[3]=a;则对a数组元素正确引用的是 ( )

    • A.(p+1)[O]
    • B.*(*(p+2)+1)
    • C.*(p[1]+1)
    • D.p[1]+2
  23. 下列函数中向文件一次读一串字符的函数是 ( )

    • A.fgetc
    • B.fgets
    • C.fputc
    • D.fputs
  24. 在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 ( )

    • A.extern
    • B.register
    • C.auto
    • D.static
  25. 设有声明int x=-1;执行if(x﹤0)x=-x-1;后变量x的值是 ( )

    • A.-1
    • B.0
    • C.1
    • D.2
  26. 下面能正确将字符串"Boy"进行完整赋值操作的语句是( )

    • A.char s[3]={′B′,′o′,′y′};
    • B.char s[]="Boy";
    • C.char s[3]={"Boy"};
    • D.char s[3];s[O]=′B′;s[1]=′o′;s[2]=′y′;
  27. 关于break语句,以下说法不正确的是 ( )

    • A.它可以用于循环语句中
    • B.它可以用于switch语句中
    • C.可以从最内层循环结构中直接跳出最外层循环结构
    • D.可以从当前switch结构中跳出
  28. 下面程序段的输出结果是 ( )

     main()

     { int a=3,b=5,c;

     c=a+b;a=b;b=c;

     printf("%d,%d",a,b);}

    • A.3,5
    • B.5,3
    • C.5,8
    • D.8,13
  29. 设有int b=-1;则执行printf("%u\n”,b);后的输出是 ( )

    • A.-1
    • B.ffff
    • C.177777
    • D.65535
  30. 下面不正确的关系表达式是 ( )

    • A.a=3
    • B.a<3
    • C.a>=b>c
    • D.a>b>c
  31. 设有声明int x=1,y=2,z;执行z=x﹥y?x+2:y-2后变量z的值是 ( )

    • A.0
    • B.1
    • C.2
    • D.3
  32. 设有int x=2,y,z;执行z=y=x++;后变量z的值是 ( )

    • A.0
    • B.1
    • C.2
    • D.3
  33. 在Turbo C 2.O中,保存源程序在主菜单File项中可选择( )

    • A.Load
    • B.New
    • C.Save
    • D.Quit
  34. 下面表达式结果为3的是 ( )

    • A.(-7)%4
    • B.(-7.0)%4.0
    • C.7%(-4)
    • D.7.0%4.0
  35. 下列不属于计算机硬件系统的是 ( )

    • A.操作系统
    • B.控制器
    • C.存储器
    • D.运算器
  36. 下面转义字符中,表示换页的是 ( )

    • A.\0
    • B.\n
    • C.\r
    • D.\f
  37. 计算机处理信息时,CPU一般是以一组二进制数码为单位进行处理的,这组二进制数码称为( )

    • A.word
    • B.MB
    • C.KB
    • D.bit