2012年9月计算机等级考试二级C语言模拟试题(11)

日期:05-05| http://www.59wj.com |C模拟题|人气:165

2012年9月计算机等级考试二级C语言模拟试题(11)

  .

  笔试部分

  一、选择题

  (1)数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及

  A)数据的存储结构   B)计算方法

  C)数据映象         D)逻辑存储

  【参考答案】A

  (2)串的长度是

  A)串中不同字符的个数

  B)串中不同字母的个数

  C)串中所含字符的个数且字符个数大于零

  D)串中所含字符的个数

  【参考答案】D

  (3)在计算机中,算法是指

  A)加工方法    B)解题方案的准确而完整的描述

  C)排序方法    D)查询方法

  【参考答案】B

  (4)以下不属于对象的基本特点的是

  A)分类性    B)多态性    C)继承性    D)封装性

  【参考答案】C

  (5)开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作

  A)软件投机    B)软件危机    C)软件工程    D)软件产生

  【参考答案】B

  .
        www.59wj.com

  (6)下面不属于软件设计原则的是

  A)抽象 B)模块化 C)自底向上 D)信息隐蔽

  【参考答案】C

  (7)开发大型软件时,产生困难的根本原因是

  A)大系统的复杂性     B)人员知识不足

  C)客观世界千变万化   D)时间紧、任务重

  【参考答案】A

  (8)下列SQL语句中,用于修改表结构的是

  A)ALTER    B)CREATE    C)UPDATE    D)INSERT

  【参考答案】A

  (9)数据库、数据库系统和数据库管理系统之间的关系是

  A)数据库包括数据库系统和数据库管理系统

  B)数据库系统包括数据库和数据库管理系统

  C)数据库管理系统包括数据库和数据库系统

  D)3者没有明显的包含关系

  【参考答案】B

  (10)关系模型允许定义3类数据约束,下列不属于数据约束的是

  A)实体完整性约束   B)参照完整性约束

  C)域完整性约束     D)用户自定义的完整性约束

  【参考答案】C

  .
        www.59wj.com

  (11)下列用于printf函数的控制字符常量中,代表“竖向跳格”的转义字符常量是

  A)\b    B)\t    C)\v    D)\f

  【参考答案】C

  (12)以下程序的输出结果是

  main()

  { int a=21,b=11;

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

  }

  A)30    B)31    C)32    D)33

  【参考答案】A

  (13)设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是

  A)n=(n*100+0.5)/100.0    B)m=n*100+0.5,n=m/100.0

  C)n=n*100+0.5/100.0        D)n=(n/100+0.5)*100.0

  【参考答案】B

  (14)下列是用户自定义标识符的是

  A)_w1   B)3_xy   C)int   D)LINE-3

  【参考答案】A

  .
        www.59wj.com

  (15)设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

  A)x&&y    B)x<=y    C)x||++y&&y-z    D)!(x<y&&!z||1)

  【参考答案】D

  (16)若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

  A)(exp==0)    B)(exp!=0)

  C)(exp==1)    D)(exp!=1)

  【参考答案】B

  (17)下面四个选项中,均是不正确的8进制数或16进制数的选项是

  A)016   0x8f     018    B)0abc  017     0xa

  C)010   -0x11    0x16   D)0a12  7ff     -123

  【参考答案】D

  (18)若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是

  A)3<回车>      B)3,5,8<回车>    C)3<回车>      D)35<回车>

  5<回车>                                58<回车>          8<回车>

  8<回车>

  【参考答案】B

  .
        www.59wj.com

  (19)以下选项中,与k=n++完全等价的表达式是

  A)k=n,n=n+1   B)n=n+1,k=n

  C)k=++n       D)k+=n+1

  【参考答案】A

  (20)设有程序段

  int k=10;

  while(k=0)k=k-1;

  则下面描述中正确的是

  A)while循环执行10次        B)循环是无限循环

  C)循环体语句一次也不执行    D)循环体语句执行一次

  【参考答案】C

  (21)对表达式for(表达式1; ;表达式3)可理解为

  A)for(表达式1;0;表达式3)       B)for(表达式1;1;表达式3)

  C)for(表达式1;表达式1;表达式3)  D)for(表达式1;表达式3;表达式3)

  【参考答案】B

  (22)以下程序的输出结果是

  main()

  {int a,i;a=0;

  for(i=1;i<5;i++)

  {switch(i)

  {case 0:

  case 3:a+=2;

  case 1:

  case 2:a+=3;

  default:a+=5;

  }

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

  }

  A)31    B)13    C)10    D)20

  【参考答案】A

  .
        www.59wj.com

  (23)若有如下语句

  int x=3;

  do{ printf("%d\n",x-=2);}

  while(!(--x));

  则上面程序段

  A)输出的是1   B)输出的是1和-2    C)输出的是3和0   D)是死循环

  【参考答案】B

  (24)判断char型变量cl是否为大写字母的正确表达式是

  A)′A′<=cl<=′Z′

  B)(cl>=A)&&(cl<=Z)

  C)(′A′>=cl)||(′Z′<=cl)

  D)(cl>=′A′)&&(cl<=′Z′)

  【参考答案】D

  (25)下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。

  #include <stdio.h>

  main()

  {int a,b,t;

  scanf("%d%d",&a,&b);

  while(_______)

  {if(a>b)

  {t=a;a=b;b=t;}

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

  scanf("%d%d",&a,&b);

  }

  }

  A)!a=b    B)a!=b    C)a==b    D)a=b

  【参考答案】B

  .
        www.59wj.com

  (26)以下对C语言函数的有关描述中,正确的是

  A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参

  B)C函数既可以嵌套定义又可以递归调用

  C)函数必须有返回值,否则不能使用函数

  D)函数必须有返回值,返回值类型不定`

  【参考答案】A

  (27)有以下程序:

  void fun(int a,int b,int c)

  {a=456,b=567,c=678;}

  main()

  {int x=10,y=20,z=30;

  fun(x,y,z);

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

  }

  输出结果是

  A)30,20,10   B)10,20,30   C)456,567,678   D)678,567,456

  【参考答案】B

  .
        www.59wj.com

  (28)有如下程序段

  int *p,a=10,b=1;

  p=&a; a=*p+b;

  执行该程序段后,a的值为

  A)12  B)11  C)10  D)编译出错

  【参考答案】B

  (29)有如下说明

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

  则数值为9的表达式是

  A)*p+9    B)*(p+8)    C)*p+=9    D)p+8

  【参考答案】B

  (30)以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是

  main()

  { int *p,*q,a,b;

  p=&a;

  printf("input a:");

  scanf("%d",*p);

  }

  A)*p表示的是指针变量p的地址

  B)*p表示的是变量a的值,而不是变量a的地址

  C)*p表示的是指针变量p的值

  D)*p只能用来说明p是一个指针变量

  【参考答案】B

  .
        www.59wj.com

  (31)对以下说明语句的正确理解是

  int a[10]={6,7,8,9,10};

  A)将5个初值依次赋给a[1]至a[5]

  B)将5个初值依次赋给a[0]至a[4]

  C)将5个初值依次赋给a[6]至a[10]

  D)因为数组长度与初值的个数不相同,所以此语句不正确

  【参考答案】B

  (32)若有说明:int a[][4]={0,0};则下面不正确的叙述是

  A)数组a的每个元素都可得到初值0

  B)二维数组a的第一维大小为1

  C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小

  D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值

  【参考答案】D

  (33)有以下程序

  main()

  { char a[]={ ′a′, ′b′, ′c′,′d′, ′e′, ′f′, ′g′,′h′,′\0′}; int i,j;

  i=sizeof(a); j=strlen(a);

  printf("%d,%d\b",i,j);

  }

  程序运行后的输出结果是

  A)9,9    B)8,9    C)1,8    D)9,8

  【参考答案】D

  .
        www.59wj.com

  (34)假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是

  A)3    B)6    C)10    D)20

  【参考答案】D

  (35)已知学生记录描述为:

  struct student

  { int no;

  char name[20],sex;

  struct

  { int year,month,day;

  } birth;

  };

  struct student s;

  设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是

  A)year=1984;month=11;day=12;

  B)s.year=1984;s.month=11;s.day=12;

  C)birth.year=1984;birth.month=11;birth.day=12;

  D)s.birth.year=1984;s.birth.month=11;s.birth.day=12;

  【参考答案】D

  .
如果觉得《2012年9月计算机等级考试二级C语言模拟试题(11)》C模拟题,jsj不错,可以推荐给好友哦。
本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - C模拟题,jsj,
在百度中搜索相关文章:2012年9月计算机等级考试二级C语言模拟试题(11)
在谷歌中搜索相关文章:2012年9月计算机等级考试二级C语言模拟试题(11)
在soso中搜索相关文章:2012年9月计算机等级考试二级C语言模拟试题(11)
在搜狗中搜索相关文章:2012年9月计算机等级考试二级C语言模拟试题(11)
相关分类导航|
热门推荐|