首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: main() { int s=0,a=1,n; scanf("%d",&n); do { s+=1; a=a-2; } while (a!=n); printf("%d\n",s);
有以下程序: main() { int s=0,a=1,n; scanf("%d",&n); do { s+=1; a=a-2; } while (a!=n); printf("%d\n",s);
admin
2013-02-23
13
问题
有以下程序: main() { int s=0,a=1,n; scanf("%d",&n); do { s+=1; a=a-2; } while (a!=n); printf("%d\n",s); } 若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
选项
A、-1
B、-3
C、-5
D、0
答案
2
解析
根据题目要求,最后要使输出的s值为2,在程序中改变s的值的语句只有循环体中的s+=1;语句,而初始s的值为0,显然要使s的值变为2,该语句必须执行两次,即do-while循环中的循环体要执行两次,而在do-while中,首先不执行条件而执行 do后面的循环体语句,然后再判断while循环条件。所以不管循环判断条件是否为真s+=1;语句至少执行一次,根据分析,只需要 while后面括号的循环判断表达式的值为真成立一次且只能为真一次,将4个选项中的内容依次代入该程序中不难得到只有n=-3刚好使循环判断条件a!=n为真一次。故4个选项中选项B符合题意。
转载请注明原文地址:https://kaotiyun.com/show/JaPp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->next
有以下程序:main(){inta[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序运行后的输出结果是(
有以下程序;voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
若有定义:char*st="howareyou";下列程序段中正确的是()。
有以下程序:#include<stdio.h>main(){intm=3,n=4,x;x=-m++;x=x+8/++n;prinff("%d\n",x);}程序运
设a、b、c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是______。
funl函数的调用语句为:fun1(&a,&b,&c);它将3个整数按由大到小的顺序调整后依次放入a、b、c这3个变量中,a中放最大数。voidfun2(int*x,int*y){intt;t=*x;*X=
数据的逻辑结构有线性结构和【】两大类。
随机试题
对于不当得利应适用的准据法选择,有各种不同的主张,但一般来说,主要应适用()
HELLP综合征应与血栓性血小板减少性紫癜、妊娠急性脂肪肝相鉴别。()
鉴别溃疡型肠结核和右侧结肠癌具有判明诊断意义的是
采用局部控释给药的优势不包括
设工程项目质量控制系统是面向工程项目建立的质量控制系统,该系统()
下列各项,影响当期营业利润的是()。
市场经济中,()作为最基本的投入要素,其价格是整个价格体系的核心。
直线趋势方程y=a+bx中,a和b的意义是()。
法律素质是指人们掌握和运用法律的素养和能力。下列选项中,属于法律素质的基本构成要素的有
在table属性中,__________________属性用以设定文本在单元格中的垂直对齐位置。
最新回复
(
0
)