一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 由键盘输入n*m个数,并把它们存放在一个n行m列的数组中(n、m均不超过20)。

    (1)按n行m列输出该二维数组;

    (2)求出该二维数组全部元素的平均值;

    (3)把该二维数组中大于平均值的元素的值、以及它们行列下标打印出来。

  2. 阅读下面程序并说明语句:x=p-﹥d[0]﹥p-﹥d[1]?p-﹥d[0]:p-﹥d[1];的含义,然后写出程序的运行结果。

    struct number

    {

    int d[2];

    } n={12,8},*p=&n;

    main()

    {

    int x;

    x=p-﹥d[0]﹥p-﹥d[1]?p-﹥d[0]:p—>d[1];

    printf(″%d″,x);

    }

  3. 从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。

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

    check(int n,int k)

    {

    int m;

    do{

    m=n%10;n=n/10;

    }while(k- -);

    return(m);

    }

    main()

    {

    int j,y=2345;

    for(j=1;j﹤4;j++)

    printf(″j=%d,number is %d\n″,j,check(y,j));

    }

  5. 阅读分析下面程序并写出运行结果。

    main()

    {

    char *a[]={″Pascal″,″C Language″,″dBase″,″Cobol″};

    int j;

    for(j=3;j﹥=0;j- -)

    printf(″%s\n″,a[j]);

    }

  6. 阅读下面程序并写出运行结果。

    main()

    {

    static int a[]={5,3,7,2,1,5,4,10};

    int s=0,k;

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

    {

    s+ =a[k];

    printf(″a[%d] =%d,s=%d\n″,k,a[k],s);

    }

    }

  7. 阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。

    main()

    {

    int x;

    scanf(″%d″,&x);

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

    printf(″yes″);

    else

    printf(″no″);

    }

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

    main()

    {

    int a=47,x,y,z,w;

    x=a/2;

    y=a%2;

    z=a++;

    w=++a;

    printf(″%d,%d,%d,%d″,x,y,z,w);

    }

  9. 若定义char *str;然后用gets(str);输入字符串可以吗?为什么?

  10. 单个字符的读函数fgetc(fp),其中fp表示什么?该函数的功能是什么?

  11. 写出语句if(表达式)语句1 else语句2的执行过程。

  12. C语言中整型常量有几种形式,它们是如何表示的?

  13. 设有说明:int u=1,v=3,w=7;下列表达式的值为7的有(     )

    • A.u&v|w
    • B.u|v|w
    • C.u^v|w
    • D.w&v|u
    • E.u^w|v
  14. 以下if语句中没有语法错误的有(     )

    • A.if(x﹥0)printf(″%f″,x);else printf(″%f″,x);
    • B.if(x﹥0){x=x+y;printf(″%f″,x)}else printf(″%f″,x)
    • C.if(x﹥0){x=x+y;printf(″%f″,x);}else printf(″%f″,x);
    • D.if(x﹥0)x=x+y;printf(″%f″,x);else printf(″%f″,x)
    • E.if x﹥y x++;else x--;
  15. 设有程序如下: 

    main()

    { int i,j,a[]={1,3,5,7,9,11,13,15};

    i=5;

    switch(i)

    { default;printf(″%d\n″,a[i]);

    case 1:printf(″%d\n″,a[3]);

    case 2:printf(″%d\n″,a[++i]);break;

    case 3:printf(″%d\n″,a[--i]);

    }

    }

    上述程序的输出结果不包括(     )

    • A.5
    • B.7
    • C.9
    • D.11
    • E.13
  16. 设有定义及赋值:(     )

    int a[10]={0,1,2,3,4,5,6,7,8,9},*p;

    p=a;

    则引用a中值为5的元素的正确形式是

    • A.a[5]
    • B.a[4]
    • C.*(a+5)
    • D.p[5]
    • E.*(p+5)
  17. ASCII码文件的结束可以用符号常量EOF表示。EOF的值是(   )

    • A.0
    • B.1
    • C.-1
    • D.不能确定的值
  18. 下列数据数值相等的有(     )

    • A.(11111111)2
    • B.(377)8
    • C.(255)10
    • D.(FF)16
    • E.(256)10
  19. 下列为指针数组定义的是(   )

    • A.float(*)[6];
    • B.float p[6];
    • C.float(*)();
    • D.float *p[6];
  20. 设有说明:FILE*fp;对于fp=fopen(″c:\\abc.dat″, ″rb″);语句,下列说法中不正确的是(   )

    • A.fp将指向abc.dat文件
    • B.以只读方式打开二进制文件
    • C.打开文件的文件名是abc.dat
    • D.以读写方式打开ASCII码文件
  21. 设有下列程序,则(   )

    int d=10;

    main()

    {

    int a=3;

    printf(“%d,%d\n”,a,d);

    }

    • A.a是全局变量,d是全局变量
    • B.a是局部变量,d是全局变量
    • C.a是全局变量,d是局部变量
    • D.a是局部变量,d是局部变量
  22. 若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是(   )

    • A.p1=m;
    • B.&p2=n;
    • C.pl=&m;p2=p1;
    • D.*p1=&m;
  23. 下列关于函数的描述中正确的是(   )

    • A.C程序中有调用关系的所有模块必须放在同一个源文件中
    • B.函数必须有返回值,否则不能使用函数
    • C.C程序必须由一个或一个以上函数构成
    • D.C函数既可以嵌套定义又可以嵌套调用
  24. 已知strl和str2是字符串数组,下列哪一个函数能正确的完成字符串的输入?(   )

    • A.gets(strl)
    • B.gets(strl,str2)
    • C.getchar(strl)
    • D.getchar(strl,str2)
  25. 若有定义int a[3][5];则数组a在内存中分配的字节数是(   )

    • A.8
    • B.15
    • C.24
    • D.30
  26. 只能在循环语句中用于结束本轮循环的语句是(   )

    • A.break;
    • B.continue;
    • C.goto
    • D.if
  27. 若有定义int a[4]={1,2,3,4};则a[(a[1]*a[3]+a[0])/3-1)]的值是(   )

    • A.1
    • B.2
    • C.3
    • D.4
  28. 对do语句while(表达式);结构的循环,下列说法正确的是(   )

    • A.当表达式的值为非零时不执行循环体
    • B.循环体至少被执行一次
    • C.当表达式的值为零时循环体一次也不执行
    • D.循环体仅被执行一次
  29. 若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是(   )

    if(a﹤b)

    {

    if(c= =d)

    x=c;

    }

    else

    x=d++

    • A.4
    • B.5
    • C.6
    • D.7
  30. 关于switch中的表达式,正确的说法是(   )

    • A.它必须是算术表达式
    • B.它必须是关系表达式
    • C.它必须是逻辑表达式
    • D.它可以是任意类型的表达式
  31. 在printf语句中,格式说明符u表示(   )

    • A.以十进制带符号形式输出整数
    • B.以十六进制带符号形式输出整数
    • C.以十进制无符号形式输出整数
    • D.以十六进制无符号形式输出整数
  32. 下列表达式中运算结果为3的表达式是(   )

    • A.(-7)%4
    • B.7/4+2
    • C.7/4*4-4
    • D.8/3+8/3
  33. 设有int a=3,b=-4,c=5;表达式a++-c+b++的值是(   )

    • A.-6
    • B.-5
    • C.-4
    • D.-3
  34. 若定义double d;则d在内存中分配的字节数是(   )

    • A.1个
    • B.2个
    • C.4个
    • D.8个
  35. 下列转义字符中,表示回车的是(   )

    • A.\0
    • B.\n
    • C.\r
    • D.\f
  36. 若用八位二进制表示一个整数,则-4在计算机中的表示是(   )

    • A.11111100
    • B.11111011
    • C.10000100
    • D.00000100
  37. 一个完整的计算机系统应该包括(   )

    • A.主机和外设
    • B.主机和操作系统
    • C.硬件系统和系统软件
    • D.硬件系统和软件系统