设为首页 加入收藏

TOP

2011年计算机等级二级C语言课后练习题及答案解析(5)(二)
2014-11-14 20:45:14 来源: 作者: 【 】 浏览:52
Tags:2011年 计算机 等级 二级 语言 课后 习题 答案 解析
,2},{3,4},{5,6}};
  D)int a[][3]={1,2,3,4,5,6};
  正确答案: C
  (33)有以下程序
  struct STU
  { char num[10]; float score[3]; };
  main()
  {struct STU s[3]={{"20021",90,95,85},
  {"20022",95,80,75},
  { "20023",100,95,90},
  },*p=s;
  int i; float sum=0;
  for(i=0;i<3;i++)
  sum=sum+p->score[i];
  printf("%6.2f\n",sum);
  }
  程序运行后的输出结果是
  A)260.00
  B)270.00
  C)280.00
  D)285.00
  正确答案: B
  (34)若有说明:int a[10];则对a数组元素的正确引用是
  A)a[10]
  B)a[3,5]
  C)a(5)
  D)a[10-10]
  正确答案: D
  (35)下面程序段中,输出*的个数是
  char *s="\ta\018bc";
  for(;*s!=′\0′;s++)printf("*");
  A)9
  B)5
  C)6
  D)7
  正确答案: C
  (36)设有如下函数
  fun (float x)
  {
  printf("\n%d",x*x);}
  则函数的类型是
  A)与参数x的类型相同
  B)是void
  C)是int型
  D)无法确定
  正确答案: C
  (37)有如下定义
  #define D 2
  int x=5;float y=3.83;
  char c=′D′;
  则下面选项中错误的是
  A)x++;
  B)y++;
  C)c++;
  D)D++;
  正确答案: D
  (38)以下程序段的执行结果为
  #define PLUS(X,Y)X+Y
  main()
  { int x=1,y=2,z=3,sum;
  sum=PLUS(x+y,z)*PLUS(y,z);
  printf("SUM=%d",sum);
  }
  A)SUM=9
  B)SUM=12
  C)SUM=18
  D)SUM=28
  正确答案: B
  (39)C语言规定,函数返回值的类型是由
  A)return语句中的表达式类型所决定
  B)调用该函数时的主调函数类型所决定
  C)调用该函数时系统临时决定
  D)在定义该函数时所指定的函数类型所决定
  正确答案: D
  (40)下列程序的运行结果是
  void fun(int *a,int *b)
  { int *k;
  k=a;a=b;b=k;
  }
  main()
  { int a=2004, b=9,*x=&a,*y=&b;
  fun(x,y);
  printf("%d%d",a,b);
  }
  A)2004 9
  B)9 2004
  C)0 0
  D)编译时出错
  正确答案: A
  (41)下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数:
  876 675 896 101 301 401 980 431 451 777
  #include
  #include
  int fun(int *s, int t, int *k)
  { int i;
  *k=0;
  for(i=0;i   if(s[*k]   return s[*k];
  }
  main()
  {
  int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
  clrscr();
  fun(a, 10, &k);
  printf("%d, %d\n ", k, a[k]);
  }
  则输出结果为
  A)7,431
  B)6
  C)980
  D)6,980
  正确答案: D
  (42) C语言结构体类型变量在程序执行期间
  A)所有成员一直驻留在内存中
  B)只有一个成员驻留在内存中
  C)部分成员驻留在内存中
  D)没有成员驻留在内存中
  正确答案: A
  (43)下面程序应能对两个整型变量的值进行交换。以下正确的说法是
  main()
  {int a=10,b=20;
  printf("(1)a=%d,b=%d\n",a,b);
  swap(&a,&b);
  printf("(2)a=%d,b=%d\n",a,b);
  }
  swap(int p,int q)
  {int t;
  t=p;p=q;q=t;
  }
  A)该程序完全正确
  B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
  C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
  D)以上说法都不对
  正确答案: D
  (44)有以下程序
  #include
  main()
  { char *p,*q;
  p=(char *)malloc(sizeof(char)*20); q=p;
  scanf("%s %s",p,q); printf("%s %s\n",p,q);
  }
  若从键盘输入:abc def<回车>,则输出结果是
  A)def def
  B)abc def
  C)abc d
  D)d d
  正确答案: A
  (45)以下程序的输出结果是
  int f()
  { static int i=0;
  int s=1;
  s+=i; i++;
  return s;
  }
  main()
  { int i,a=0;
  for(i=0;i<5;i++)a+=f();
  printf("%d\n",a);
  }
  A)20
  B)24
  C)25
  D)15
  正确答案: D
  46)已知 int a=1,b=3则a^b的值为
  A)3
  B)1
  C)2
  D)4
  正确答案: C
  (47)如果需要打开一个已经存在的非空文件"Demo"进行修改下面正确的选项是
  A)fp=fopen("Demo","r");
  B)fp=fopen("Demo","ab+");
  C)fp=fopen("Demo","w+");
  D)fp=fopen("Demo","r+");
  正确答案: D
  (48)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
  A)fopen("A:\user\abc.txt","r")
  B)fopen("A:\\user\\abc.txt","rt+")
  C)fopen("A:\user\abc.txt","rb")
  D)fopen("A:\user\abc.txt","w")
  正确答案: B
  (49)有以下程序
  #include
  main()
  { char *p="abcde\0fghjik\0 ";
  printf("%d\n ",strlen(p));
  }
  程序运行后的输出结果是
  A)12
  B)15
  C)6
  D)5
  正确答案: D
  (50) 有以下程序
  #include
  struct NODE
  { int num; struct NODE *next; };
  main()
  { struct NODE *p,*q,*r;
  p=(struct NODE*)malloc(sizeof(struct NODE));
  q=(struct NODE*)malloc(sizeof(struct NODE));
  r=(struct NODE*)malloc(sizeof(struct NODE));
  p->num=10; q->num=20; r->num=30;
  p->next=q;q->next=r;
  printf("%d\n ",p->num+q->next->num);
  }
  程序运行后的输出结果是
  A)10
  B)20
  C)30
  D)40
  正确答案: D
  (1)冒泡排序算法在最好的情况下的元素交换次数为 【1】 。
  正确答案: 1.(0)
  (2)在最坏情况下,堆排序
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级二级C语言课后练.. 下一篇2011年全国计算机等级二级C语言模..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: