一起答

2014年全国计算机等级《二级C语言程序设计》考点习题测试(2)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 改正下列程序中不正确的语句。

    main( )

    { int a;

    scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }

  2. 写出下列程序的运行结果。

    fun(int a, int b)

    { if(a>b) return (a);

    Else return (b); }

    main

    { int x=3,y=8,z=6,r;

    r=fun(fun(x,y),2*z); printf(“%d\n”,r); }

  3. 输出1—100之间不能被12整除的数。

  4. 有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

  5. 编程将文件read.txt中的字符读出显示到屏幕上。

  6. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。

  7. 从键盘上输入9个数,按3行3列的格式输出。

  8. Continue语句的作用是结束本次循环。(  )

    • 正确
    • 错误
  9. 输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)

  10. C程序总是从main(  ) 函数的第一条语句开始执行的。 (  )

    • 正确
    • 错误
  11. C语言中字符串的结束符是’\0’。 (  )

    • 正确
    • 错误
  12. Extern变量的生命期是整个程序执行期。 (  )

    • 正确
    • 错误
  13. 在 C 程序中,函数既可以嵌套定义,也可以嵌套调用。(  )

    • 正确
    • 错误
  14. 定义fp为文件型指针变量的定义方法为_______________。

  15. 数组int a[3][3];共定义了____________个数组元素。

  16. int x=6, y=7;

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

    程序的输出结果是__________。

  17. main(  )

    { int a[5]={2,4,6,8,10},*P,* *k;

    p=a; k=&p;

    printf("%d,",*(p++));

    printf("%d\n",* *k); }

    程序的输出结果是__________。

  18. 从键盘上输入10个数,求其平均值。

    main 

    {int i;

    float f,sum;

    for(i=1,sum=0.0;i<11;i++)

    {__________;

    __________ ;

    }

    printf(“average=%f\n”,sum/10);

    }

  19. 以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

    #include

    main

    {

    FILE *fp;

    char c;

    fp=__________;

    do

    {

    c=getchar;

    fputs(c,fp);

    }while(c!=EOF);

    __________; ;

    }

  20. 表达式7+10>2 25 %5的结果是_______________。

  21. a=3;

    a+=(a<1)?a:1; printf(“%d”,a);

    结果是__________。

  22. C语言的预处理语句以__________开头。

  23. C语言中getchar 函数的功能是_________________________。

  24. 设整型变量a为5,使b不为2的表达式是(  )。

    • A.b=a/2
    • B.b=6-(--a)
    • C.b=a%2
    • D.b=a>3?2:1
  25. 不能把字符串:Hello!赋给数组b的语句是(  )。

    • A.char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
    • B.char b[10]; b="Hello!";
    • C.char b[10]; strcpy(b,"Hello!");
    • D.char b[10]="Hello!";
  26. 设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(  )。

    • A.P+i*2
    • B.P+(i-1)*2 
    • C.P+(i-1)
    • D.P+i
  27. 选出下列标识符中不是合法的标识符的是(  )。

    • A.hot_do
    • B.cat1
    • C._pri
    • D.2ab
  28. 以下程序的输出结果是(  )。

    #define f(x) x*x

    main

    {int a=6,b=2,c;

    c=f(a)/f(b);

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

    }

    • A.9
    • B.6
    • C.36
    • D.18
  29. 设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

    • A.0
    • B.4
    • C.- 4
    • D.2
  30. 分析以下程序的输出结果是(  )。

    main

    {int a=5,b=-1,c;

    c=adds(a,b);

    printf(“%d”,c);

    c=adds(a,b);

    printf(“%d\n”,c); }

    int adds(intx,int y)

    {static int m=0,n=3;

    n*=++m;

    m=n%x+y++;

    return(m); }

    • A.2,3
    • B.2,2
    • C.3,2
    • D.2,4
  31. 若有说明: inti,j=7, *p=&i;, 则与i=j; 等价的语句是(  )。

    • A.i= *p;
    • B.*p=*&j;
    • C.i=&j;
    • D.i=* *p;
  32. 若变量c为char类型,能正确判断出c为小写字母的表达式是_______。

    • A.′a′<=c<=′z′
    • B.(c>=′a′)||(c<=′z′)
    • C.(′a′=C)
    • D.(c>=′a′)&&(c<=′z′)
  33. 设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。

    • A.printf(“x=%d\n”,x)
    • B.printf(“x=%ld\n”,x)
    • C.printf(“x=?l\n”,x)
    • D.printf(“x=%D\n”,x);
  34. 以下程序的输出结果是(  )。

    int a=5;

    float x=3.14;

    • a*=x*(‘E’ - ‘A’);    printf(“%f\n”,(float)a);
    • A.62.000000
    • B.62.800000
    • C.63.000000
    • D.62
  35. 为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(  )组成配对关系。

    • A.缩排位置相同的if
    • B.在其之前未配对的if
    • C.在其之前未配对的最近的if
    • D.同一行上的if
  36. 在C程序中有如下语句:char *func(intx,int y); 它是(  )。

    • A.对函数func的定义。
    • B.对函数func的调用。
    • C.对函数func的原型说明。
    • D.不合法的
  37. 能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

    • A.a>=0
    • B.
    • C.b>=0)(a<0
    • D.
    • E.b<0)
    • F.(a>=0 b>=0)(a<0 b<0)
    • G.(a+b>0) (a+b<=0)
    • H.a*b>0
  38. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是(  )

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

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

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

    • A.7和5
    • B.6和3
    • C.7和4
    • D.6和4
  40. 在函数中默认存储类型说明符的变量应该是________存储类型。

    • A.内部静态
    • B.外部
    • C.自动
    • D.寄存器
  41. 表达式:10!=9的值是(  )。

    • A.true
    • B.非零值
    • C.0
    • D.1
  42. 下列程序的输出结果是(  )。

    char *p1="abcd", *p2="ABCD", str[50]="xyz";

    strcpy(str+2,strcat(p1+2,p2+1));

    printf("%s",str);

    • A.xyabcAB
    • B.abcABz
    • C.ABabcz
    • D.xycdBCD
  43. 以下语句的输出结果是(  )。

    int a=-1,b=4,k;

    k=(+ +a<0)!(b - -<=0);

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

    • A.1,0,4
    • B.1,0,3
    • C.0,0,3
    • D.0,0,4
  44. 若x=5,y=3 则y*=x+5; y的值为___________.

    • A.10
    • B.20
    • C.15
    • D.30
  45. 以下程序的输出结果是(  )。

    int x=10,y=10;

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

    • A.10 10
    • B.9 9 
    • C.9 10
    • D.10 9
  46. 从循环体内某一层跳出,继续执行循环外的语句是:___________。

    • A.break语句
    • B.return语句
    • C.continue语句
    • D.空语句。
  47. C语言用_______表示逻辑“真”值。

    • A.true
    • B.t或y
    • C.非零整型值
    • D.整型值0
  48. 已有定义int x=3, y=4, z=5;则表达式“!(x+y)+z-1y+z/2”的值是________。

    • A.6
    • B.0
    • C.2
    • D.1