计算机等级 百分网手机站

计算机二级c语言检测试题

时间:2017-06-29 12:20:34 计算机等级 我要投稿

2017年计算机二级c语言检测试题

  C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。下面是小编收集的计算机二级c语言选择题,希望大家认真阅读!

  1.

  #include

  main()

  { int a=1,b=3,c=5;

  if (c==a+b)

  printf("yes\n");

  else

  printf("no\n");

  }

  运行结果为:no

  详见教材p89 选择结构

  详见教材p91关系符号

  详见附录D p378符号的优先级

  ==表示判断符号两边的值是否相等;=表示将符号右边的值赋给左边的变量

  本题考点是选择结构3种基本形式的第二种

  选择结构三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf操作没有加{ }

  若c==a+b成立,则执行printf("yes\n");

  否则(即c==a+b不成立),执行printf("no\n");

  +的优先级高于==,因此先算a+b,值为4, 表达式5==4不成立,因此执行printf("no\n");即输出字符串no

  2.

  #include

  main()

  { int a=12, b= -34, c=56, min=0;

  min=a;

  if(min>b)

  min=b;

  if(min>c)

  min=c;

  printf("min=%d", min);

  }

  运行结果为: min=-34

  详见教材p89 选择结构

  本题考点是选择结构3种基本形式的第一种

  一共包含了两个选择结构(两个if语句)

  定义变量,并赋值 此时a=12, b= -34, c=56, min=0

  将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。

  若min>b成立,则执行min=b;

  若min>c成立,则执行min=c;

  输出min中的值

  12大于-34,第一个if语句的表达式成立,因此执行min=b; 执行后min中的.值被更新为-34.

  -34小于56,第二个if语句的表达式不成立,因此不执行min=c;

  最后输出min中的值,为-34.

  3.

  #include

  main()

  { int x=2,y= -1,z=5;

  if(x  if(y<0)

  z=0;

  else

  z=z+1;

  printf(“%d\n”,z);

  }

  运行结果为:5

  遇到选择结构,首先要明确条件表达式成立时执行哪些操作。本题中,第一个if语句,其后的复合语句没有大括号{ },说明复合语句中只包含一条语句,进而省略了{ }。内层的if...else...是选择结构的第二种基本形式,在结构上视为一条语句。因此内层的if...else...作为第一个if语句的复合语句。

  若表达式x  若y<0,则执行z=0;

  否则(即y>=0),执行z=z+1;

  输出z

  2>-1,表达式x  输出z中的值为5

  4.

  #include

  main( )

  {char ch;

  ch=getchar( );

  switch(ch)

  {case‘A’ : printf(“%c”,’A’);

  case‘B’ : printf(“%c”,’B’); break;

  default: printf(“%s\n”,”other”);

  } }

  当从键盘输入字母A时,运行结果为:AB

  详见教材p103,switch语句

  switch(表达式)

  { case常量1 :语句1

  case常量2 :语句2

  ┇┇ ┇

  case常量n :语句n

  default :语句n+1

  }

  其中表达式,常量1,…,常量n都为整型或字符型

  case相当于给出执行程序的入口和起始位置,若找到匹配的常量,则从此处开始往下执行程序,不再匹配常量,直至遇到break或switch结束

  本题过程:

  首先从键盘接收一个字符’A’并将其放在变量ch中。

  执行switch语句。Switch后面的条件表达式为ch,因此表达式的值即为字符’A’. 用字符’A’依次与下面的 case中的常量匹配。

  与第1个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。)因此先执行printf(“%c”,’A’),屏幕上输出A;再往下继续执行printf(“%c”,’B’),屏幕上输出B;再继续执行break, 此时跳出switch语句。

  5.

  #include

  main( )

  { int a=1,b=0;

  scanf(“%d”,&a);

  switch(a)

  {case 1: b=1;break;

  case 2: b=2;break;

  default : b=10;}

  printf("%d ", b);

  }

  若键盘输入5,运行结果为:10

  本题过程:

  首先用scanf函数为变量a赋值为5。

  执行switch语句。switch后面的条件表达式为a,因此表达式的值即为5. 用5依次与下面 case中的常量匹配。没有找到匹配的常量,因此两个case后的语句都不执行。执行default后面的语句b=10;将10赋给变量b。

  输出变量b,结果为10