c语言的几个题求答案求神相助,,,,,急!!!!!

21.下列程序,如果从键盘上输入T,回车,则程序的输出结果是()voidmain(){charch;ch=getchar();printf(”output:%c\n”,c... 21.下列程序,如果从键盘上输入T,回车,则程序的输出结果是()

void main()

{

char ch;

ch=getchar();

printf(”output:%c\n”,ch+32);

}

A.outpu:T B.output: C.output :32 D.output:t

22.执行下面的程序段后,a和b的值分别为( )。

int a=3,b=5,c;

c=(a>--b)?a++:b++;

printf("%d,%d\n",a,b);

A.3,2 B.3,3 C.4,4 D.4,5

23.下面是有if构成的一个程序段:

if(a<b)

{

if(d==c)

x=1;

}

else

x=2;

该程序所表示的逻辑关系对应的表达式是( )。

A. B.

C. D.

24.以下程序的运行结果是( )。

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

if(x<y)

if(y<0)z=0 ;

else z+=1 ;

printf("%d\n",z) ;

A.3 B.2 C.1 D.0

25.以下程序段的运行结果为( )。

int x,y,temp;

x=1,y=2;

if(1)

{

if(x<y)

{

temp=x ;

x=y ;

y=temp ;

}

}

printf("x=%d,y=%d\n",x,y) ;

A.x=1,y=1 B.x=2,y=2 C.x=1,y=2 D.x=2,y=1

26.有程序段如下:

int k=10 ;

while(k=0)k=k-1 ;

则下面描述中正确的是( )。

A.语句“ k=k-1 ;”被执行10次 B.语句“ k=k-1 ;”被执行无限多次

C.语句“ k=k-1 ;”一次也不执行 D.语句“ k=k-1 ;”只执行一次

27.下面是一个程序段:

int x,y ;

for(y=1,x=2 ;y<=50 ;y++)

{

if(x>=10)break ;

x+=5 ;

}

执行程序段后,x值是( )。

A.2 B.7 C.12 D.15

28.有程序段如下:

for(n=100;n<=200;n++)

{

if(n%3==0)

continue;

printf(“%5d”,n);

}

与上面程序段等价的是( )。

A.for(n=100;(n%3)&&n<=200;n++)

printf(“%5d”,n);

B.for(n=100;(n%3)||n<=200;n++)

printf(“%5d”,n);

C.for(n=100;n<=200;n++)

if(n%3!=0)

printf(“%5d”,n);

D.for(n=100;n<=200;n++)

{

if(n%3)

printf(“%5d”,n);

else

continue;

break;

}
展开
 我来答
登天独自行g
2013-09-13 · TA获得超过410个赞
知道答主
回答量:36
采纳率:0%
帮助的人:30.4万
展开全部
21选D,ASCII码,大写小写差32号。A是65,a是97.
22确实没有正确答案,应该是3,5,。你看一下是不是printf 的啷个变量是c和b,那样的话就是4,5.
此题意思应该是如果a>b-1的话,c就等于a,然后a=a+1;如果a<=b-1的话,c就等于b,然后b=b+1,但由于是--b所以先运算一次b=b-1,所以b=4,再加一之后就等于5了。a还是3,但是c=之前的那个b,所以c=4.
23题真心没看到答案...
24我觉得选B,因为第二个if是和else相对应的,也就是说第一个if是独立存在的,因为if else 是与最近的配对。所以第一次判断x>y,所以直接跳过else,无需执行其他语句,所以z仍然等于2.
25选D,if(1)的意思就是判断直接成立。于是执行判断if(x<y),下面一段表达式就是把x和y互换,是最常用的swap函数。于是x=2,y=1;
26选C,因为while(k=0)是赋值,已经不需要判断了。k=0就是否定。所以while直接跳出,一次都不执行。如果是while(k=1),就会被执行无数次,就是死循环。
27选C,开始x=2,然后每次循环加5,一直加到大于10,就是12,由于先执行break,所以最后没有加到17.
28选C,continue 是跳过此次循环的剩下部分,直接进入下个循环。本段函数的意思是如果n能被3整除,就不print,所以是print所有从100到200之间不能被3整除的数字。所以选C。
wangmalongwxt
2013-09-13 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:56.4万
展开全部
21.D
22.没有答案,应该是3,5
23.看不到选项
24.B
25.D
26.C
27.C
28.C
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
煜湫Ds5c5
2013-09-13 · TA获得超过112个赞
知道答主
回答量:211
采纳率:0%
帮助的人:172万
展开全部
21.D T的ascii码加32即t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者HXTgkda3jm
2019-01-28 · TA获得超过3736个赞
知道大有可为答主
回答量:3121
采纳率:34%
帮助的人:284万
展开全部
21选D,ASCII码,大写小写差32号。A是65,a是97.
22确实没有正确答案,应该是3,5,。你看一下是不是printf
的啷个变量是c和b,那样的话就是4,5.
此题意思应该是如果a>b-1的话,c就等于a,然后a=a+1;如果a<=b-1的话,c就等于b,然后b=b+1,但由于是--b所以先运算一次b=b-1,所以b=4,再加一之后就等于5了。a还是3,但是c=之前的那个b,所以c=4.
23题真心没看到答案...
24我觉得选B,因为第二个if是和else相对应的,也就是说第一个if是独立存在的,因为if
else
是与最近的配对。所以第一次判断x>y,所以直接跳过else,无需执行其他语句,所以z仍然等于2.
25选D,if(1)的意思就是判断直接成立。于是执行判断if(x<y),下面一段表达式就是把x和y互换,是最常用的swap函数。于是x=2,y=1;
26选C,因为while(k=0)是赋值,已经不需要判断了。k=0就是否定。所以while直接跳出,一次都不执行。如果是while(k=1),就会被执行无数次,就是死循环。
27选C,开始x=2,然后每次循环加5,一直加到大于10,就是12,由于先执行break,所以最后没有加到17.
28选C,continue
是跳过此次循环的剩下部分,直接进入下个循环。本段函数的意思是如果n能被3整除,就不print,所以是print所有从100到200之间不能被3整除的数字。所以选C。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式