招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 试题答案 - 正文

2014计算机二级C语言测试题及答案解析三之二

来源:2exam.com 2014-7-15 18:33:46

 6. 
  #include 
  main()_
  { char grade=’C’;
  switch(grade)
  { 
  case ‘A’: printf(“90-100\n”);
  case ‘B’: printf(“80-90\n”);
  case ‘C’: printf(“70-80\n”);
  case ‘D’: printf(“60-70\n”); break;
  case ‘E’: printf(“<60\n”); 
  default : printf(“error!\n”);
  } 
  }
  运行结果为:
  70-80
  60-70
  本题过程:
  首先从键盘接收一个字符’C’并将其放在变量grade中。
  执行switch语句。switch后面的条件表达式为grade,因此表达式的值即为字符’C’. 用字符’C’依次与下面的 case中的常量匹配。
  与第3个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。)因此先执行printf(“70-80\n”);,屏幕上输出70-80,并换行;再往下继续执行printf(“60-70\n”),屏幕上输出60-70,并换行;再继续执行break, 此时跳出switch语句。
  7.
  #include 
  main()
  { int y=9;
  for(;y>0;y- -)
  if(y%3==0) 
  { printf(%d”,- -y); 
  }
  }
  运行结果为:
  852
  详见教材p53,自增自减符号
  此题 表达式1被省略,表达式2(循环条件)为y>0,表达式3为y--
  初值y为9,循环条件(即表达式2)y>0成立,进入循环体
  第1次循环
  执行if语句。9%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为8,然后在输出,因此屏幕上输出8
  转向表达式3,执行y--,y=y-1=8-1=7。循环条件y>0成立,进入第2次循环
  第2次循环
  执行if语句。7%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)
  转向表达式3,执行y--,y=y-1=7-1=6。循环条件y>0成立,进入第3次循环
  第3次循环
  执行if语句。6%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为5,然后在输出,因此屏幕上输出5
  转向表达式3,执行y--,y=y-1=5-1=4。循环条件y>0成立,进入第4次循环
  第4次循环
  执行if语句。4%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)
  转向表达式3,执行y--,y=4-1=3。循环条件y>0成立,进入第5次循环
  第5次循环
  执行if语句。3%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为2,然后在输出,因此屏幕上输出2
  转向表达式3,执行y--,y=y-1=2-1=1。循环条件y>0成立,进入第5次循环
  第6次循环
  执行if语句。1%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)
  转向表达式3,执行y--,y=1-1=0。循环条件y>0不成立,循环结束。
  8. 
  #include 
  main()
  { int i,sum=0;i=1;
  do{ sum=sum+i; i++; }while(i<=10);
  printf(“%d”,sum);
  }
  运行结果为: 55
  9.
  #include 
  #define N 4
  main()
  { int i;
  int x1=1,x2=2;
  printf("\n");
  for(i=1;i<=N;i++)
  { printf("%4d%4d",x1,x2);
  if(i%2==0) 
  printf("\n");
  x1=x1+x2;
  x2=x2+x1;
  }
  }
  运行结果为:
  1 2 3 5
  8 132134
  此题 首先为整型变量赋初值x1=1,x2=2
  表达式1为i=1,表达式2(循环条件)为i<=N即i<=4,表达式3为i++
  循环变量初值i为1,循环条件(即表达式2)i<=4成立,进入第1次循环
  第1次循环
  执行printf("%4d%4d",x1,x2);因此屏幕上输出12
  执行if语句。1%2不为0,if语句的条件表达式不成立,不执行printf("\n");
  执行x1=x1+x2=1+2=3;此时x1中的值已变为3
  执行x2=x2+x1=2+3=5。
  转向表达式3,执行i++,i为2。循环条件i<=4成立,进入第2次循环
  第2次循环
  执行printf("%4d%4d",x1,x2);因此屏幕上输出35
  执行if语句。2%2==0,if语句的条件表达式成立,执行printf("\n");换行
  执行x1=x1+x2=3+5=8;此时x1中的值已变为8
  执行x2=x2+x1=5+8=13。
  转向表达式3,执行i++,i为3。循环条件i<=4成立,进入第3次循环
  第3次循环
  执行printf("%4d%4d",x1,x2);因此屏幕上输出813
  执行if语句。3%2不为0,if语句的条件表达式不成立,不执行printf("\n");
  执行x1=x1+x2=8+13=21;此时x1中的值已变为21
  执行x2=x2+x1=21+13=34。
  转向表达式3,执行i++,i为4。循环条件i<=4成立,进入第4次循环
  第2次循环
  执行printf("%4d%4d",x1,x2);因此屏幕上输出2134
  执行if语句。4%2==0,if语句的条件表达式成立,执行printf("\n");换行
  执行x1=x1+x2=21+34=55;此时x1中的值已变为55
  执行x2=x2+x1=34+55=89。
  转向表达式3,执行i++,i为5。循环条件i<=4不成立,结束循环
  10
  #include 
  main( )
  {intx, y;
  for(x=30, y=0; x>=10, y<10; x--, y++)
  x/=2, y+=2;
  printf(“x=%d,y=%d\n”,x,y);
  }
  运行结果为:
  x=0,y=12


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号