全国计算机二级C语言 # (7)选择题:顺序结构程序设计(1-4)

全国计算机二级C语言 # 选择题:顺序结构程序设计(1-4)


1. 有以下程序

#include <stdio.h>
main()
{
int  a=2, c=5;
printf(“a=%%d,b=%%d “, a, c );
}
程序运行后的输出结果是答案:C
A)a=2,b=5
B)a=%2,b=%5

C)a=%d,b=%d

D)a=%%d,b=%%d
题目解析:百分号”%”主要用于指定输出格式,如果格式字符串中两个百分号连续即为”%%”的形式,则表示输出一个普通字符”%”。


2. 有以下程序

#include <stdio.h>
#include <math.h>
main()
{
int  a=1, b=4, c=2;
double  x=10.5, y=4.0, z;
z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;
printf(“%f “, z);
}
程序运行后的输出结果是答案:C
A)15.400000
B)14.000000

C)13.700000

D)14.900000
题目解析: 考查运算符与表达式。表达式( a+b )/c + sqrt( y ) * 1.2 / c + x;先计算( a+b )/c,a、b、c均为整数,所以计算的结果也为整数即2;然后计算sqrt( y ) * 1.2 / c,即2.0*1.2/c,结果为1.2;最后计算2+1.2+x的值,为13.7,输出结果为13.700000。


3. 若有定义:int  a=0,b=0,c=0,d=0;,以下关于C语言表达式:(++a || ++b) ? ++c : ++d 执行顺序的叙述正确的是答案:A

A)先计算表达式++a,其值为1,由此可确定(++a || ++b)值为1,因此计算++c

B)先计算表达式++b,其值为1;再计算表达式++a,其值为1,由此可确定(++a || ++b)值为1,因此计算++c
C)先计算表达式++a,其值为1;再计算表达式++b,其值为1,由此可确定(++a || ++b)值为1,因此计算++c
D)先计算++a,++b,++d,使得a,b,d的值都为1,由此可确定(++a || ++b)值为1,因此计算++c
题目解析:1、c语言中||是逻辑或,即两个或多个表达式中有一个为真,结果为真。2、c语言中逻辑表达式采用短路算法,从左向右一个表达一个表达式的计算,当能判定整个表达式真假时,后面的表达式不再计算。计算表达式++a,其值为1,由此可确定(++a || ++b)值为1,然后再进行计算++c。


4.  有下列程序

#include  <stdio.h>
main( )
{  int a=123456, b;
while(a)
{  b = a%10;
a /= 10;
switch(b)
{ default: printf(“%d”, b++);
case 1:
case 2: printf(“%d”, b++); break;
case 3: printf(“%d”, b++); break;
case 4: printf(“%d”, b++);
}
}
}
程序执行后的输出结果是答案:A

A)67564321

B)76654321
C)12345667
D)654321
题目解析:分析题意可知:第1次,a=123456,b=6,a=12345,执行default和case 2后的语句,输出67;第2次,a=12345,b=5,a=1234,执行default和case 2后的语句,输出56;第3次,a=1234,b=4,a=123,执行case 4后的语句,输出4;第4次,a=123,b=3,a=12,执行case 3后的语句,输出3;第5次,a=12,b=2,a=1,执行case 2后的语句,输出2;第6次,a=1,b=1,a=0,执行case 1和case 2后的语句,输出1;第7次a=0,不执行循环语句,程序结束。故最终输入结果为67564321。


本章结束…

918 Views
分享你的喜爱
linwute
linwute

我要像梦一样自由,像大地一样宽容;
在艰辛放逐的路上,点亮生命的光芒;
我要像梦一样自由,像天空一样坚强;
在曲折蜿蜒的路上,体验生命的意义;

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注