首页 | 等级考试 | 水平考试 | 微软认证 | Oracle认证 | CISCO认证 | JAVA认证 | Linux认证 | NIT考试 | 专题 | 网站地图 | 会员中心
返回Q空间网首页 ·返回首页
·联系我们
·收藏本站
首页 | 等级考试 | 水平考试 | 微软认证 | Oracle认证 | CISCO认证 | JAVA认证 | Linux认证 | NIT考试
你的位置:主页>等级考试>模拟试题>二级>文章内容
 
2007年9月计算机等级考试二级C语言考前模拟题密卷(7)
来源:计算机考试网 作者: 发布时间:2007-08-21收藏本文到QQ书签收藏本文到QQ书签收藏本文到百度搜藏 搜藏本文到百度搜藏


(26)现有如下程序
  #include "stdio.h"
  int fun(int x)
  {printf("x=%d\n",++x);}
  main()
  {fun(12+5);}
  则程序的输出结果是
  A)12
  B)13
  C)17
  D)18
(27)现有如下程序段
  #include "stdio.h"
  int aa(int x,int y);
  main()
  {int a=24,b=16,c;
  c=aa(a,b);
  printf("%d\n",c);}
  int aa(int x,int y)
  {int w;
  while(y)
  {w=x%y;
  x=y;
  y=w;}
  return x;}
  则程序段的输出结果是
  A)8
  B)7
  C)6
  D)5
(28)下列说法错误的是
  A)函数调用时,函数名必须与所调用的函数名字完全相同
  B)实参的个数必须与形式参数的个数一致
  C)实参可以是表达式,在类型上必须与形参一一对应匹配
  D)C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)
(29)函数的值通过return语句返回,下面关于return语句的形式描述错误的是
  A)return表达式;
  B)return(表达式);
  C)一个return语句可以返回多个函数值
  D)一个return语句只能返回一个函数值
(30)现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是
  A)p=&a;
  B)q=&b;
  C)p=q;
  D)p=a;
(31)现有如下程序段
  #include "stdio.h"
  int *fun(int *a,int *b)
  {int c;
  c=*a%*b;
  return &c;}
  main()
  {int a=5,b=19,*c;
  c=fun(&a,&b);
  printf("%d\n",++*c);}
  则程序段执行后的结果为
  A)8
  B)7
  C)6
  D)5
(32)现有int a,*b;,b=&a;,则下列运算错误的是
  A)*&a 
  B)&*a
  C)*&b
  D)&*b
(33)现有如下程序段
  #include "stdio.h"
  main()
  { int k[30]={12,324,45,6,768,98,21,34,453,456};
  int count=0,i=0;
  while(k[i])
  { if(k[i]%2==0‖k[i]%5==0)count++;
   i++; }
  printf("%d,%d\n",count,i);}
  则程序段的输出结果为
  A)7,8
  B)8,8
  C)7,10
  D)8,10
(34)现有如下定义语句
  int*p,s[20],i;
  p=s;
  表示数组元素s[i]的表达式不正确的是
  A)*(s+i)
  B)*(p+i)
  C)*(s=s+i)
  D)*(p=p+i)
(35)阅读如下程序段,这个程序在编译的时候会有一个警告,下列关于这个警告叙述正确的是
   #include "stdio.h"
  #define N 10
  int *fun(int a[N],int n)
  { int i,b[N];
  for(i=0;i  b[i]=a[i];
  return(b);}
  main()
  { int a[N]={12,34,45,5,6,34,4,655,2};
  int *k;
  k=fun(a[N],5);
  printf("%d\n",*k);}
  A)指针k没有指向任何对象而成为“无向指针”,所以这里会产生警告
  B)return语句不应该有括号,所以在这里会有警告
  C)return语句的返回值类型与指针k的基类型不一致,这里会产生警告
  D)数组赋值的时候没有把数组全部都赋初值,所以在这里会有警告
(36)有如下定义语句:int aa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为
  A)3,2
  B)3,1
  C)2,2
  D)2,1
  (37)现有如下程序段
  #include "stdio.h"
  main()
  {int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};
  int i=0,j=5;
  printf("%d\n",*(&a[0][0]+2*i+j-2));}
  则程序的输出结果为
  A)21
  B)78
  C)23
  D)28
(38)下列程序的输出结果是
  #include "stdio.h"
  #define N 3
  #define M 3
  void fun(int a[M][N])
  {printf("%d\n",*(a[1]+2));}
  main()
  {int a[M][N];
  int i,j;
  for(i=0;i  for(j=0;j  a[i][j]=i+j-(i-j);
  fun(a);}
  A)3
  B)4
  C)5
  D)6
(39)下列关于字符串的说法中错误的是
  A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志
  B)′\0′作为标志占用存储空间,计入串的实际长度
  C)在表示字符串常量的时候不需要人为在其末尾加入′\0′
  D)在C语言中,字符串常量隐含处理成以′\0′结尾
(40)有下面程序段
   #include "stdio.h"
  #include "string.h"
  main()
  {char a[3][20]={{"china"},{"isa"},{"bigcountry!"}};
  char k[100]={0},*p=k;
  int i;
  for(i=0;i<3;i++)
  { p=strcat(p,a[i]);}
  i=strlen(p);
  printf("%d\n",i);}
  则程序段的输出结果是
  A)18
  B)19
  C)20
  D)21
(41)现有如下程序段
  #include "stdio.h"
  #include "string.h"
  main()
  {char a[]="acfijk";/*这里是有序的字符序列*/
  char b[]="befijklqswz";/*这里是有序的字符序列*/
  char c[80],*p;
  int i=0,j=0,k=0;
  while(a[i]!=′\0′ && b[j]!=′\0′)
  {if(a[i]  else if(a[i]>b[j])c[k++]=b[j++];
  else {c[k++]=b[j++];
  i++;}}
  while(a[i]==′\0′ && b[j]!=′\0′)
   c[k++]=b[j++];
  while(a[i]!=′\0′ && b[j]==′\0′)
  c[k++]=a[i++];
  c[k]=′\0′;
  puts(c);}
   则输出结果是
  A)acfijkbefijklqswz
  B)abceffiijjkklqswz
  C)befijklqswz acfijk
  D)abcefijklqswz
(42)现在有如下程序
  #include "stdio.h"
  main()
  {char s[80];
  int i,j;
  gets(s);
  for(i=j=0;s[i]!=′\0′;i++)
  if(s[i]!=′H′______)
  s[j]=′\0′;
  puts(s);}
  这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是
  A)s[j++]=s[i];j++;
  B)s[j]=s[i++];j++;
  C)s[j++]=s[i];
  D)s[j]=s[i];
(43)下列说法中错误的是
  A)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值
  B)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽
  C)静态全局变量可以被其他的编辑单位所引用
  D)所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语
  句)时生成,退出其所在的函数体(或复合语句)时消失
(44)阅读下列程序段,则程序的输出结果为
  #include "stdio.h"
  #define M(X,Y)(X)*(Y)
  #define N(X,Y)(X)/(Y)
  main()
  {int a=5,b=6,c=8,k;
  k=N(M(a,b),c);
  printf("%d\n",k);}
  A)3
  B)5
  C)6
  D)8
(45)若有以下定义和语句
  struct a
  { int n,m;};
  struct a st[3]={{1,20},{2,19},{3,21}};
  struct a *p=st;
  则以下错误的引用是
  A)(p++)->n;
  B)st[0].n;
  C)(*p).n;
  D)p=&st.m;
(46)假设有如下定义:struct a{int n;float k;}data,*p;若要使p指向data中的成员n,正确的赋值语句是
  A)p=&data.n;
  B)*p=data.n;
  C)p=(struct a *)&data.n;
  D)p=(struct a *)data.n;
(47)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。假定t1所指向的链表非空
  struct node{ float x;struct node *next;};
  connect(struct node *t1, struct node *t2)
  { if(t1->next==NULL)t1->next=t2;
   else connect(______ ,t2); }
  要实现此功能则应该添入的选项是
  A)t1.next
  B)++t1.next
  C)t1->next
  D)++t1->next
(48)C语言结构体类型变量在程序运行期间
  A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元
  B)所有的成员一直驻留在内存中
  C)只有最开始的成员驻留在内存中
  D)部分成员驻留在内存中
(49)有下列运算符:~,&,<<,>>, |,^,则运算的优先顺序是
  A)~,&, |,<<,>>,^
  B)~,<<,>>,&, |,^
  C)~,<<,>>,^, &,|
  D)~,<<,>>,&,^, |
(50)最简单的交换排序方法是
  A)快速排序    B)选择排序
  C)堆排序       D)冒泡排序

共4页: 上一页 [1] 2 [3] [4] 下一页
上一篇:2007年9月计算机等级考试二级C语言考前模拟题密卷(6)   下一篇:2007年9月计算机等级考试二级C语言考前模拟题密卷(8)

[ 更多计算机考试资源请访问 计算机考试网 www.PCkao.com]
收藏到QQ书签  
[收藏] [推荐] [评论(1条)] [返回顶部] [打印本页] [关闭窗口]
相关文章
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月计算机等级考试二级C语言考前模拟
·2007年9月二级visualbasic语言程序设计模拟
·2007年9月二级visualbasic语言程序设计模拟
·2007年9月二级visualbasic语言程序设计模拟
发表评论
要记得去论坛讨论,点击注册新会员) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
相关文章
·2007年9月计算机等级考试二
·2007年9月计算机等级考试二
·2007年9月计算机等级考试二
·2007年9月计算机等级考试二
·2007年9月计算机等级考试二
·2007年9月计算机等级考试二
热门文章
·计算机等级考试二级公共基础
·2007年计算机等级考试二级公
·二级Access模拟试题:计算机
·二级C语言上机模拟试题:计
·计算机等级考试:计算机应用
·2007年下计算机等级考试二级

将计算机考试网设为首页 | 收藏计算机考试网 | 关于我们 | 联系我们 | 网站地图
Copyright © 2005 - 2006 计算机考试网资讯网 All rights reserved.
本站所有资源均来自网络 版权归原作者所有 欢迎任何建议、批评和鼓励