一起答

2017年计算机二级c语言考试题(1)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. C语言规定,程序中各函数之间_______。

    • A.既允许直接递归调用也允许间接递归调用
    • B.不允许直接递归调用也不允许间接递归调用
    • C.允许直接递归调用不允许间接递归调用
    • D.不允许直接递归调用允许间接递归调用
  2. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,  下列正确的程序段是(  )。

    • A.while((ch=getchar())!='N')printf("%c",ch);
    • B.while(ch=getchar()!='N')printf("%c",ch);
    • C.while(ch=getchar()=='N')printf("%c",ch);
    • D.while((ch=getchar())=='N')printf("%c",ch);
  3. 下述程序向文件输出的结果是______。  #include<stdio.h>  void main()  { FILE *fp=fopen("TESY","wb");   fprintf(fp,"%d%5.0f%c%d",58,76273.0,'-',2278);   fclose(fp);  }

    • A.58 76273-2278
    • B.5876273.000000-2278
    • C.5876273-2278
    • D.因文件为二进制文件而不可读
  4. 以下叙述中错误的是

    • A.C语言的可执行程序是由一系列机器指令构成的
    • B.用C语言编写的源程序不能直接在计算机上运行
    • C.通过编译得到的二进制目标程序需要连接才可以运行
    • D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
  5. 以下关于C语言数据类型使用的叙述中错误的是

    • A.若要准确无误差的表示自然数,应使用整数类型
    • B.若要保存带有多位小数的数据,应使用双精度类型
    • C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
    • D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
  6. 下面程序的输出结果是  #include<stdio.h>  #include<string.h>  main()  { char *p1="abc",*p2="ABC",str[50]="xyz";   strcpy(str+2,strcat(p1,p2));   printf("%s\n",str);}

    • A.xyzabcABC
    • B.zabcABC
    • C.xyabcABC
    • D.yzabcABC
  7. 若有下列说明语句  int(* p)();  则标识符p代表的是(  )

    • A.一个用于指向函数的指针变量,函数返回值的类型为int型
    • B.一个带回值类型为整型的函数名
    • C.一个用于指向整型数据的指针变量
    • D.一个带回值类型为指针类型的函数名
  8. 有以下程序 main() { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0; j<=i;j++) printf("%4c","); for(j=______;j<4;j++) printf("%4d",num[i][j]); printf("\n"); } } 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是______。

    • A.i-1
    • B.i
    • C.i+1
    • D.4-i
  9. 下列叙述中正确的是( )。

    • A.测试工作必须由程序编制者自己完成
    • B.测试用例和调试用例必须一致
    • C.一个程序经调试改正错误后,一般不必再进行测试
    • D.上述三种说法都不对
  10. 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是

    • A.并
    • B.交
    • C.投影
    • D.笛卡儿乘积
  11. 以下选项中可作为C语言合法常量的是 _____。

    • A.-80
    • B.-080
    • C.-8e1.0
    • D.-80.Oe
  12. 有以下程序:

    #include

    void fun(int*s)

    { static int i=0;   

    do{s[J]=s[J]+s[j+I];}while(++j<2);

    }

    main(  )

    { int k.a[l0]={1,2,3,4,5};

    for(k=1;k<3;k++)fun(a);

    for(k=0;k<5;k++)pfintf("%d",a[k]);

    printf("\n");

    }

    程序运行后的输出结果是(  )。

    • A.12345   
    • B.23445
    • C.34756
    • D.35745
  13. 下列数据结构中,能用二分法进行查找的是(  )。

    • A.无序线性表
    • B.线性链表
    • C.二叉链表
    • D.顺序存储的有序表
  14. 有下列程序:

     main()

     { int y=20;

     do{y--;}while(--y);

     phntf("%d\n",y--);

     }

     当执行程序时,输出的结果是(  )。

    • A.-1
    • B.1
    • C.4
    • D.0
  15. 设有以下定义 int a=0; double b=1.25; char c='A'; #define d 2  则下面语句中错误的是

    • A.a++;
    • B.b++;
    • C.c++;
    • D.d++;
  16. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是______。

    • A.a[p-a]
    • B.*(&a[i])
    • C.p[i]
    • D.a[10]
  17. 若有如下程序段,其中s. a. b. c均已定义为整型变量,且a. c均已赋值(c大于0)  s=a;  for (b=1;b <=c;b++) s=s+1;    则与上述程序段功能等价的赋值语句是

    • A.s=a+b;
    • B.s=a+c;
    • C.s=s+c;
    • D.s=b+c;
  18. 实体联系模型中实体与实体之间的联系不可能是

    • A.一对一
    • B.多对多
    • C.一对多
    • D.对零
  19. 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是(  ).

    • A.EOF
    • B.-1
    • C.非零值
    • D.0
  20. 用链表表示线性表的优点是(  )。

    • A.便于随机存取
    • B.花费的存储空间较顺序存储少
    • C.便于插入和删除操作
    • D.数据元素的物理顺序和逻辑顺序相同
  21. 对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为(  )。

    • A.1
    • B.2
    • C.3
    • D.4
  22. 有以下程序: #include <stdio, h>main ( ) { int k=5,n =0;  while ( k>0)   { switch (k)     { default: break;        case 1 : n+ =k;     case 2 :     case3 : n+ =k;   }     k--;  printf( "% d \n" ,n);}程序运行后的输出结果是(  )。

    • A.0
    • B.4
    • C.6
    • D.7
  23. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 ( )

    • A.1
    • B.2
    • C.2
    • D.2.5
  24. 对一个关系投影操作以后,新关系的元组个数______原来关系的元组个数。

    • A.小于
    • B.小于或等于
    • C.等于
    • D.大于
  25. 下列程序的输出结果是(   )。

    main

    { int a,b,d=25;

    • a=d/10%9;
    • b=a&&(一1);    printf("%d,%d\n",a,b);}
    • A.6,1
    • B.2,1
    • C.6,0
    • D.2,0
  26. 为了提高软件模块的独立性,模块之间最好是(  )。

    • A.控制耦合
    • B.公共耦合
    • C.内容耦合
    • D.数据耦合
  27. 下列程序的输出结果是(  )。  main ()  { int a=4,b=5,c;  if(a<b)  { c=a*b; printf("%d,%d,%d\n",b,a,c);}  else  { c=b/a;printf("%d,%d,%d\n",b,a, c);}  }

    • A.4,5,12
    • B.20
    • C.5,4,20
    • D.12
  28. 执行下列程序后,输出的结果是(  )。

     #include<stdio.h>

     #define S(X)X*X

     void main()

     { iht a=9,k=3,m=2;

    • a/=S(k+m)/S(k+m);    printf("%d",A) ;    }
    • A.1
    • B.4
    • C.9
    • D.0
  29. 有以下程序: #include <stdio. h> main ( ) { inti=0.s=0;  for(;;)    if( i = = 3 ‖ i = = 5 ) continue;    if (i ==6) break;    i++; s+ =i; }  printf(" % d \n" ,s);程序运行后的输出结果是( )。

    • A.10
    • B.13
    • C.21
    • D.程序进入列循环
  30. 有以下程序  int fun1(double a){return a*=a;}  int fun2(double x,double y)  {double a=0,b=0;  a=fun1(x);b=fun1(y);return(int)(a+b);  }  main()  {double w;w=fun2(1.1,2.0);…}  程序执行后变量w中的值是

    • A.5.21
    • B.5
    • C.5.0
    • D.0.0
  31. 数据库 DB 、数据库系统 DBS 、数据库管理系统 DBMS 之间的关系是

    • A.DB 包含 DBS 和 DBMS
    • B.DBMS 包含 DB 和 DBS
    • C.DBS 包含 DB 和 DBMS
    • D. 没有任何关系
  32. 设q1和q2是指向一个float型一维数组的指针变量,k为float型变量,则不能正确执行的语句是(  )。

    • A.k=*q1+*q2;
    • B.q1=k;
    • C.q1=q2;
    • D.k=*q1*(*q2);
  33. 结构化分析方法是面向(  )的自顶向下逐步求精进行需求分析的方法。

    • A.对象
    • B.数据结构
    • C.数据流
    • D.目标
  34. 数据处理的最小单位是

    • A.数据
    • B.数据元素
    • C.数据项
    • D.数据结构
  35. 若以“a+”方式打开一个已存在的文件,则下列叙述正确的是(  )。

    • A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作
    • B.文件打开时,原有文件内容不被删除,只能进行读操作
    • C.文件打开时,原有文件内容被删除,只能进行写操作
    • D.以上三种说法都不正确
  36. 在软件测试设计中,软件测试的主要目的是

    • A.实验性运行软件
    • B.证明软件正确
    • C.找出软件中全部错误
    • D.尽可能多地发现软件中的错误
  37. 当执行下面的程序时,如果输入ABC,则输出结果是 ( )   # include<stdio.h>  # include<string.h>  main( )   { char ss [10] ="12345";   gets(ss);strcat(ss"6789");printf("%s\n",ss);  }

    • A.ABC6789
    • B.ABC67
    • C.12345ABC6
    • D.ABC456789