等级考试 百分网手机站

全国计算机等级考试二级C语言试题一

时间:2020-11-07 10:37:54 等级考试 我要投稿

2013全国计算机等级考试二级C语言试题一

考试频道小编收集整理了全国计算机等级考试二级C语言试题,供大家交流参考。(分享:2014年中考时间
  一、选择题

2013全国计算机等级考试二级C语言试题一

  在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

  (1)程序流程图中带有箭头的线段表示的是

  A)图元关系 B)数据流 C)控制流 D)调用关系

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

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

  (3)下列选项中,不属于模块间耦合的是

  A)数据耦合 B)标记耦合 C)异构耦合 D)公共耦合

  (4)下列叙述中,不属于软件需求规格说明书的作用的是 A)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

  C)作为确认测试和验收的依据 D)便于开发人员进行需求分析

  (5)算法的时间复杂度是指

  A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数

  D)算法程序中的指令条数

  (6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是

  A)堆排序 B)直接插入排序 C)快速排序 D)B)和C)

  (7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

  A)ABCED B)DCBEA C)DBCEA D)CDABE

  (8)数据库设计包括两个方面的设计内容,它们是

  A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性设计

  (9)关系表中的每一横行称为一个

  A)元组 B)字段 C)属性 D)码

  (10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字 (键或码)为

  A)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩

  (11)以下不正确的叙述是

  A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量

  C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

  D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

  (12)请选出可用作C语言用户标识符的是

  A)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,Case D)2a,Do,Sizeof

  (13)以下选项中,不能作为合法常量的是

  A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0

  (14)在C语言中,运算对象必须是整型数的运算符是

  A)% B)\ C)%和\ D)**

  (15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是

  A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;

  (16)有以下程序段

  char ch; int k;

  ch=′a′; k=12;

  printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);

  已知字符a的ASCII码值为97,则执行上述程序段后输出结果是

  A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值

  C)a,97,12k=12 D)a,97,k=12

  (17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

  A)kk>=′A′&& kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)

  (18)当变量c的值不为2、4、6时,值也为"真"的表达式是

  A)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)

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

  A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)

  (20)以下不正确的定义语句是

  A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};

  (21)下列程序执行后的输出结果是

  main()

  { int a[3][3], *p,i;

  p=&a[0][0];

  for(i=1; i<9; i++)p[i]=i+1;

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

  A)3 B)6 C)9 D)随机数

  (22)设有以下程序段

  int x=0,s=0;

  while(!x!=0)s+=++x;

  printf("%d",s);

  则

  A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次

  (23)(23)下面程序段的运行结果是

  char *s="abcde";

  s+=2;printf("%d",s);

  A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果

  (24)阅读下列程序,则执行后的结果为

  #include "stdio.h"

  main()

  { int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};

  printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

  A)3e,6 B)62,5 C)56,5 D)3E,6

  (25)下面判断正确的是

  A)char *a="china";等价于 char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};

  C)char *s="china";等价于 char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";

  (26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是

  A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1]

  (27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是

  A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);

  (28)有以下程序

  #include

  #define N 5

  #define M N+1

  #define f(x) (x*M)

  main()

  { int i1,i2;

  i1=f(2);

  i2=f(1+1);

  printf("%d %d\n",i1,i2);

  }

  程序的运行结果是

  A)12 12 B)11 7 C)11 11 D)12 7

  (29)若有以下说明和定义

  union dt

  { int a; char b; double c;}data;

  以下叙述中错误的是

  A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等

  C)程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000 D)data可以作为函数的实参

  (30)有以下程序

  #include

  main()

  {FILE *fp;int k,n,a[6]={1,2,3,4,5,6};

  fp=fopen("d2.dat","w");

  fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);

  fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

  fclose(fp);

  fp=fopen("d2.dat","r");

  fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

  fclose(fp);

  }

  程序运行后的输出结果是

  A)1 2 B)1 4 C)123 4 D)123 456

  (31)若已定义

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

  其中 则对a数组元素不正确的引用是

  A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]

  (32)有以下程序

  #include

  void fun(int ?*s,int n1,int n2)

  { int i,j,t;

  i=n1; j=n2;

  while(i

  }

  main()

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

  fun(a,0,3); fun(a,4,9); fun(a,0,9);

  for(k=0;k

  }

  程序的运行结果是

  A)0987654321 B)4321098765 C)5678901234 D)0987651234

  (33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

  #include

  #include

  #include

  int fun (char *str)

  { int i,j=0;

  for(i=0;str[i]!=′ \0′;i++)

  if(str[i]!=′ ′)str[j++]=str[i];

  str[j]= ′\0′;

  }

  main()

  {

  char str[81];

  int n;

  printf("Input a string : ");

  gets(str);

  puts(str);

  fun(str);

  printf("%s\n",str);

  }

  A)asdafaaz67 B)asd af aa z67 C)asd D)z67

  (34)有以下程序

  int fun(int n)

  {if(n==1)return 1;

  else

  return(n+fun(n-1));

  }

  main()

  {int x;

  scanf("%d",&x); x=fun(x);printf("%d\n",x)

  }

  执行程序时,给变量x输入10,程序的输出结果是

  A)55 B)54 C)65 D)45

  (35)下面程序段中,输出*的个数是

  char *s="\ta\018bc";

  for(;*s!='\0';s++)printf("*");

  A)9 B)5 C)6 D)7

  (36)C语言结构体类型变量在程序运行期间

  A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B)所有的成员一直驻留在内存中

  C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中

  (37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是

  A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件 C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项

  (38)设有以下语句

  char x=3,y=6,z;

  z=x^y<<2;

  则z的二进制值是
考试频道小编收集整理了全国计算机等级考试二级C语言试题