一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘输入10个整数,编程求其中大于3且小于100的数的平均值并输出结果。

  2. 从键盘上输入10个字符串(每个串不超过8个字符),将这些字符串按从小到大的次序排列出来并输出排序后的结果。

  3. 分析下列两个程序的区别,并写出它们的运行结果。

    void main(void)           void main(void)

    {                       {

    int y=0,s,k;             int y=0,s,k;

    for(k=0;k﹤6;k++)         for(k=0;k﹤6;k++){

    s=k*k;                     s=k*k;

    y+=s;                     y+=s;

    }                         } 

    printf(″y=%d\n″,y);     printf(″y=%d\n″,y);

    }                      }

  4. 写出下面程序的功能以及程序的运行结果

    void main(void)           void main(void)

    {                       {

    int y=0,s,k;                         int y=0,s,k;

    for(k=0;k﹤6;k++)         for(k=0;k﹤6;k++){

    s=k*k;                   s=k*k;

    y+=s;                    y+=s;

    }                         }           

    printf(″y=%d\n″,y);     printf(″y=%d\n″,y);

    }                      }

  5. 阅读下面的程序并回答问题

    main( ){

    char a[20]=″1234567890″;

    int i;i=8;

    printf(″%s\n″,&a[i-3]);} 

    (1)数组中a[10]号元素中存储的是什么字符?

    (2)请写出程序的运行结果。

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

    main( )

    { int x=1987,a,b,c,y;

    a=x/100;

    b=x%100/10;

    c=x%100%10;

    y=100*c+l0*b+a;

    printf(″c=%d,b=%o,a=%x,y=%d″,c,b,a,y);

    }

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

    main( )

    { fun( );

    fun( );}

    fun( )

    { 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);

    }

    }

  8. 写出以下程序的功能。如果输入14,写出程序的输出结果。

    void main(void)

    { int x;

    scanf(″%d″,&x);

    if(x%5==0&&x%7==0)

    printf(″yes″);

    else

    printf(″no″);

    }

  9. 将下面的各种运算符按优先级从高到低排列出来。(要同优先级的用“、”号分隔,不同优先级的由高向低用“→”号分隔),、﹤=、﹥=、[ ]、++、%、+、&&、/

  10. 简述break语句和continue语句在循环体中的功能。

  11. 简述机器语言、汇编语言和高级语言各自的特点。

  12. 设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有( )

    • A.Vo5==&inV
    • B.Vo5==* inV
    • C.inV==* Vo5
    • D.inV==&Vo5
    • E.Vo5==inV
  13. 设有说明:int u=0,v=l,z=2;

    则下列表达式中结果为-l的有( )

    • A.v=~u
    • B.u=u|~(v&z)
    • C.v=(u|z)﹤﹤1
    • D.u=~(u|z)
    • E.v&=(~u)
  14. 函数fclose()的功能是什么?

  15. 以下关于函数和变量的说法中正确的有( )

    • A.不同函数中可以使用相同名字的变量
    • B.形式参数是局部变量
    • C.一个函数内部定义的变量只能在本函数范围内有效
    • D.在一个函数内部的复合语句中定义的变量可在本函数范围内有效
    • E.如果全局变量与函数内定义的局部变量同名,则在函数内局部变量无效
  16. 下面合法的C语言转义字符有( )

    • A.\123
    • B.\xab
    • C.\\
    • D.\88
    • E.\n
  17. 设有说明:int u=1,v=3,w=5;

    表达式:u﹤﹤=(v|w)的值是( )

    • A.1
    • B.5
    • C.13
    • D.128
  18. 设有下面程序:

    # include"stdio.h"

    void main(void)

    {

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

    printf("%d\n",z^x&y);

    }

    该程序的运行结果是( )

    • A.0
    • B.3
    • C.4
    • D.5
  19. 下面能执行循环结构的语句有( )

    • A.if语句
    • B.while语句
    • C.do—while语句
    • D.for语句
    • E.switch语句
  20. 下面关于结构体类型变量定义正确的是( )

    • A.    
    • B.    
    • C.    
    • D.    
  21. 下面程序段的运行结果是( )

    chars *s="abcde";

    s+=2 printf("%d",s);

    • A.cde
    • B.字符′c′
    • C.字符′c′的地址
    • D.无确定的输出结果
  22. 下面能正确进行字符串赋值操作的是( )

    • A.char s[5]={"ABCDE"};
    • B.char s[5]={′A′,′B′,′C′,′D′,′E′};
    • C.char *s;s="ABCDE";
    • D.char *s;scanf("%s",s);
  23. 设有下列程序:

    ff( )

    {int c=9;

    static int a=1,b=4;

    if(b==4){a+=c;b++;}

    else {a+=c;b——;}

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

    main( )

    {ff( );ff( );}

    则该程序执行后,显示的结果为( )

    • A.a=10,b=5
    • a=19,b=5
    • B.a=10,b=4
    • a=19,b=5
    • C.a=10,b=4
    • a=19,b=4
    • D.a=10,b=5
    • a=19,b=4
  24. 定义如下变量和数组

    int k;

    int x[3][3]={9,8,7,6,5,4,3,2,l};

    则执行下面语句

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

    if(k%2) printf("%5d",x[k][k]);

    后输出结果是( )

    • A.3
    • B.5
    • C.7
    • D.9
  25. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是( )

    void main(void)

    {int x;scanf("%d",&x);

    if(x + + ﹥5)printf("%d",x);

    else printf("%d\n",x——);

    }

    • A.7和5
    • B.6和3
    • C.7和4
    • D.6和4
  26. 在下列选项中,没有构成死循环的程序段是( )

    • A.int i=100;
    • B.for(;;);while(1){ i=i%100+1;if(i﹥100) break;}
    • C.int k=1000;
    • D.int s=36;do{++k;}while(k﹥10000); while(s);一一s;
  27. 计算机对解释型高级语言的执行方式是( )

    • A.逐条语句边解释边执行,即解释一条就执行一条
    • B.将整个程序编译完成后再执行,不生成目标程序
    • C.将源程序编译成目标程序,生成并保留目标程序然后执行
    • D.将源程序解释完毕后再执行
  28. 设有int x=2,y,z;执行z=y=x——;后变量y的值是( )

    • A.0
    • B.1
    • C.2
    • D.3
  29. 指向与文件参数有关的结构体类型的指针变量称为( )

    • A.函数指针
    • B.整型指针
    • C.字符型指针
    • D.文件指针
  30. 下列关于函数的说法中,不正确的是( )

    • A.函数名后面一定要一对圆括号
    • B.空函数被调用时不做任何工作
    • C.函数形参个数可以是一个、多个或没有
    • D.函数参数类型可不作说明
  31. 设有条件表达式(exp)? a++:b--,则下列表达式中能够与该表达式完全等价的表达式是( )

    • A.(exp!=0)? a++∶b--
    • B.(exp==0)? a++∶b--
    • C.(exp==1)? a++∶b--
    • D.(exp!=1)? a++:b--
  32. 设有下列程序:( )

    void main(void) 

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

    i=0;

    printf("%d",x[i++]);}

    其输出结果是

    • A.1
    • B.3
    • C.5
    • D.7
  33. 对于for(表达式l;表达式2;表达式3)语句;控制循环结束的表达式是( )

    • A.表达式1
    • B.表达式2
    • C.表达式3
    • D.表达式l和表达式3
  34. 若有下列程序段,欲使x=5,y=6,对应正确的输入方法是(其中﹤CR﹥表示回车)( )

    int x,y;

    scanf(″%d%d″,&x,&y);

    • A.x=5 y=6﹤CR﹥
    • B.x=5,y=6﹤CR﹥
    • C.5﹤CR﹥
    • D.5,6﹤CR﹥6﹤CR﹥
  35. 下面程序段的输出结果是( )

    main()

    {int a=2,b=5;

    printf(″a=%d%%,b=%d%%″,a,b);}

    • A.a=2,b=5
    • B.a=2%,b=5%
    • C.a=%2,b=%5
    • D.a=%d,b=%d
  36. 在Turbo C 2.0中,若定义char ch;则变量ch在内存中分配的字节数是( )

    • A.1个
    • B.2个
    • C.4个
    • D.8个
  37. 在Turbo C 2.0中,可激活主菜单的键是( )

    • A.F1
    • B.F5
    • C.F9
    • D.F10