一起答

2017年计算机二级考试题库(2)C语言模拟考试

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 以下语句中,正确制作电子邮件链接的是(  )。

  2. 在数据流图(DFD)中,带有名字的箭头表示

    • A.模块之间的调用关系
    • B.程序的组成成分
    • C.控制程序的执行顺序
    • D.数据的流向
  3. 语句int(*ptr)()的含义是(  )。

    • A.ptr是一个返回值是int的函数
    • B.ptr是指向int型数据的指针变量
    • C.ptr是指向函数的指针,该函数返回一个int型数据
    • D.ptr是一个函数名,该函数的返回值是指向血型数据的指针
  4. 有下列程序:

    fun(int x,int y)

    { static int m=0,i=2;

    i+=m+1;m=i+x+y;return m;

    }

    main( )

    { int j=1,m=1,k;

    k=fun(j,m);print S(”%d,”,k);

    k=fun(j,m);printf(”%d\n”,k);

    执行后的输出结果是( )。

    • A.5,5 
    • B.5,11
    • C.11,11 
    • D.11,5
  5. 下列描述中正确的是______。

    • A.软件工程只是解决软件项目的管理问题
    • B.软件工程主要解决软件新产品的生产率问题
    • C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
    • D.软件工程只是解决软件开发中的技术问题
  6. 下面描述中,符合结构化程序设计风格的是______。

    • A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
    • B.模块只有一个入口,可以有多个出口
    • C.注重提高程序的执行效率
    • D.不使用goto语句
  7. 以下叙述中错误的是(  )。

    • A.C程序中的#include和#define行均不是C语句
    • B.除逗号运算符外,赋值运算符的优先级最低
    • C.C程序中,j++;是赋值语句
    • D.C程序中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算
  8. 以下对C语言函数的有关描述中,正确的是

    • A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
    • B.C函数既可以嵌套定义又可以递归调用
    • C.函数必须有返回值,否则不能使用函数
    • D.函数必须有返回值,返回值类型不定
  9. 在多媒体计算机系统中,不能用以存储多媒体信息的是

    • A.光缆
    • B.软盘
    • C.硬盘
    • D.光盘
  10. 以下叙述中错误的是(  )。

    • A.函数的返回值类型不能是结构体类型,只能是简单类型
    • B.函数可以返回指向结构体变量的指针
    • C.可以通过指向结构体变量的指针访问所指结构体变量的任何成员
    • D.只要类型相同,结构体变量之间可以整体赋值
  11. 下列程序执行输出的结果是(  )。

     #include<stdio.h>

     f(int a)

     {  int b=0;

     static c=3;

    • a=C++;b++;    return(a);    }    main()    { int a=2,i,k;
    • for(i=0;i<2;i++)    k=f(a++);    printf("%d\n",k);    }
    • A.3
    • B.4
    • C.5
    • D.6
  12. 若变量c为char类型,能正确判断出c为小写字母的表达式是

    • A.′a′<=c<=′z′ c="">=′a′)||(c<=′z′)
    • B. (′a′>=c)and(′z′>=c) 
    • C.(′a′<=c)and(′z′>=c) 
    • D.(c>=′a′)&&(c<=′z′)
  13. 有以下程序

     #include

     int f(int x);

     main( )

     {int n=1,m;

     m=f(f(f(n)));printf(”%d\n”,m);

     }

     int f(int x)

     {return x*2;}

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

    • A.1
    • B.2
    • C.4
    • D.8
  14. 已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是(  )。

    • A.一个整型变量,代表要读入的数据项总数
    • B.一个文件指针,指向要读的文件
    • C.一个指针,是指向的输入数据放在内存中的起始位置
    • D.一个存储区,存放要读的数据项
  15. 若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是______。

    • A.1,4,3,2
    • B.2,3,4,1
    • C.3,1,4,2
    • D.3,4,2,1
  16. 若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是

    #include

    main()

    {char c;

     int v0=1,v1=0,v2=0;

     do{ switch(c=getchar())

    { case ′a′:case ′A′:

    case ′e′:case ′E′:

    case ′i′:case ′I′:

    case ′o′:case ′O′:

    case ′u′:case ′U′:v1+=1;

    default:v0+=1;v2+=1; } }while(c!='\n');

    printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}

    • A.v0=7,v1=4,v2=7
    • B.v0=8,v1=4,v2=8
    • C.v0=11,v1=4,v2=11
    • D.v0=13,v1=4,v2=12
  17. 下列表达式中,可以正确表示的关系是(  )。

    • A.(x>=1)10(x<=0)
    • B.x>1‖x=0
    • C.x>=1 ORx<=0
    • D.X>=1&&x<=0
  18. 有以下程序

    main()

    { int x,y,z;

     x=y=1; z=x++,y++,++y;

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

    }

    程序运行后的输出结果是

    • A.2,3,3
    • B.2,3,2
    • C.2,3,1
    • D.2,2,1
  19. 下列程序的输出结果是(   )。

    #include

    main

    { int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;

    p=a ;

    for(i=0;i<3;i++)

    { if(i<2)

    p[1][i]=p[1][i]-1;

    else

    p[1][i]=1;

    }

    printf("%d\n",a[o][1]+a[1][1]+a[1][2]);

    }

    • A.8
    • B.7
    • C.12
    • D.9
  20. 设有以下语句:  char str1[]="string",str2[8],*str3,*str4=="string;  则______不是对库函数的正确调用。

    • A.strcpy(str1,"HELLO1");
    • B.strcpy(str2,"HELLO2");
    • C.strcpy(str3,"HELLO3");
    • D.strcpy(str4,"HELLO4")
  21. 软件工程的出现是由于

    • A.程序设计方法学的影响
    • B.软件产业化的需要
    • C.软件危机的出现
    • D.计算机的发展
  22. 现有如下定义语句  int*p,s[20],i;  p=s;  表示数组元素s[i]的表达式不正确的是

    • A.*(s+i)
    • B.*(p+i)
    • C.*(s=s+i)
    • D.*(p=p+i)
  23. 下列数据结构中,按先进后出原则组织数据的是

    • A.线性链表
    • B.栈
    • C.循环链表
    • D.顺序表
  24. 以下叙述中错误的是

    • A.在函数外部定义的变量在所有函数中都有效
    • B.在函数内部定义的变量只能在本函数范围内使用
    • C.函数中的形参属于局部变量
    • D.在不同的函数中可以使用相同名字的变量
  25. 若有定义int a=5, b=7;,则表达式a%=(b%2)运算后,a的值为(  )。

    • A.0
    • B.1
    • C.11
    • D.3
  26. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是(  )。

    • A.数组a和b的长度相同
    • B.a数组长度小于b数组长度
    • C.a数组长度大于b数组长度
    • D.以述说法都不对
  27. 以下能正确定义一维数组的选项是______。

    • A.int a[5]={0,1,2,3,4,5};
    • B.char a[]={0,1,2,3,4,5};
    • C.char a={'A','B','C'};
    • D.int a[5]="0123";
  28. 数据库设计包括两个方面的设计内容,它们是(  )

    • A.概念设计和逻辑设计
    • B.模式设计和内模式设计
    • C.内模式设计和物理设计
    • D.结构特性设计和行为特性设计
  29. 下列关于C语言数据文件的叙述中正确的是

    • A.文件由ASCII码字符序列组成,C语言只能读写文本文件
    • B.文件由二进制数据序列组成,C语言只能读写二进制文件
    • C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
    • D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
  30. 下列特征中不是面向对象方法的主要特征的是(  )。

    • A.多态性
    • B.继承
    • C.封装性
    • D.模块化
  31. 算法的空间复杂度是指(  )。

    • A.算法程序的长度
    • B.算法程序中的指令条数
    • C.算法程序所占的存储空间
    • D.执行算法所需要的存储空间
  32. 在16位C编译系统上,若定义long a;,则能给a赋值40000的正确语句是(  )

    • A.a=20000+20000;
    • B.a=4000*10;
    • C.a=30000+10000;
    • D.a=4000L*10L;
  33. 在面向对象方法中,不属于“对象”基本特点的是______。

    • A.一致性
    • B.分类性
    • C.多态性
    • D.标识唯一性
  34. 在结构化程序设计中,模块划分的原则是

    • A.各模块应包括尽量多的功能
    • B.各模块的规模应尽量大
    • C.各模块之间的联系应尽量紧密
    • D.模块内具有高内聚度、模块间具有低耦合度
  35. 结构化程序所规定的三种最基本控制结构是

    • A.输入、处理、输出 
    • B.树形、网形、环形 
    • C.顺序、选择、循环 
    • D.主程序、子程序、函数
  36. 用C语言编写的代码程序(  )。

    • A.可立即执行
    • B.是一个源程序
    • C.经过编译即可执行
    • D.经过编译解释即可执行
  37. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是

    • A.O(n)
    • B.O(n2)
    • C.O(log2n)
    • D.O(nlog2n)
  38. 有以下程序

      #include 

      main()

      {int s;

    scanf(“%d”,&s);

      while(s>0)

      {switch(s)

      {case 1;printf(“%d”,s+5); 

      case 2:printf(“%d”,s+4);break;

      case 3:printf(“%d”。s+3);

      default:printf(“%d”,s+1);break;

      }

      seanf(“%d”,&s);

      }

      }

      运行时,若输入1 2 3 4 5 O<回车>,则输出结果是

    • A.6566456
    • B.66656
    • C.66666
    • D.6666656
  39. 下列存储器中,存取速度最快的是 ( )

    • A.软盘
    • B.硬盘
    • C.光盘
    • D.内存
  40. 在位运算中,操作数每左移两位,其结果相当于(   )。

    • A.操作数乘以2
    • B.操作数除以2
    • C.操作数除以4
    • D.操作数乘以4
  41. 函数调用:strcat(strcpy(str1, str2), str3)的功能是______。

    • A.将串str1复制到串str2中后再连接到串str3之后
    • B.将串str1连接到串str2之后再复制到串str3之后
    • C.将串str2复制到串str1中后再将串sir3连接到串str1之后
    • D.将串str2连接到串str1之后再将串str1复制到串str3中