下面程序段输出的i值是() #include void main() {int i;for(i=1;i=50;i++) if((i*i=130)(i*i=180))break; printf("%d/n",i);}A、10B、11C、12D、13

题目

下面程序段输出的i值是() #include void main() {int i;for(i=1;i<=50;i++) if((i*i>=130)&(i*i<=180))break; printf("%d/n",i);}

  • A、10
  • B、11
  • C、12
  • D、13
参考答案和解析
正确答案:C
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的运行结果为______。 include void main( ) { int i; for(i=1;i<6;i++)if(i

下列程序的运行结果为______。

include<iostream.h>

void main( )

{

int i;

for(i=1;i<6;i++)if(i==3)break;

cout<<"i="<<i<<endl;

}


正确答案:i=3
i=3 解析:本题考察考生的for语句和if语句综合使用能力。本题的情况适用于希望在满足指定值时停止循环的情况。

第2题:

下列程序的输出结果是( )。 #include<stdio.h> main { int i; for(i=1;i<=10,i++) { if((i*i>=20)&&(i*i<=100)) break; } printf("%d\n",i*i; }

A.49

B.36

C.25

D.64


正确答案:C
本题考查for循环及if语句。当执行到第一个满足(i*i>一20)&&(i*i<=100)这个条件的i出现时,break跳出循环,执行下列的printf语句。

第3题:

下面程序的输出是【 】。

main()

{int arr[10],i,k=0;

for(i=0;i<10;i++)

arr[i]=i;

fov(i=1;i<4;i++)

k+=arr[i]+i;

printf("%d\n",k);}


正确答案:12
12 解析:本题通过第一个for循环将数组arr[0]=arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
i=1:k=0+arr[1]+1 即k=2;
i=2:k=2+arr[2]+2 即k=6;
i=3:k=6+arr[3]+3 即k=12:

第4题:

以下程序运行后的输出结果是()。includevoid reverse(int a[],int n){int i,t;for(i=0;

以下程序运行后的输出结果是( )。 #include<stdio.h> void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t==a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {int b[10]={10,9,8,7,6,5,4,3,2,1};int i,s=0; reverse(b,10); for(i=0;i<3;i++)s+=b[i]; printf("%d\n",s); }

A.27

B.6

C.25

D.30


正确答案:B
解析:本题考查函数调用时的参数传递。函数reverse将数组b进行了逆置,此时b[10]={10,9,8,7,6,5,4,3,2,1),后面for语句的功能是将b中的后3个数累加,并将结果放在s中,最后将s输出,结果s=1+2+3=6。

第5题:

执行以下程序的输出结果是【 】。include main()[ inti, n[4]={1};for(i= 1 ;i<=3 ;i++){

执行以下程序的输出结果是【 】。

include <stdio.h>

main()

[ int i, n[4]={1};

for(i= 1 ;i<=3 ;i++)

{ n[i]=n[i-1]*2+1; printf("%d",n[i]); }


正确答案:3 715
3 715 解析:本题考查的知识点是:for循环。本题主函数中的for循环从1递增到3,所以将循环3次。循环体中,n[i]=n[i-1]*2+1;语句使数组n从第2个元素开始,后一个元素等于前一个元素的2倍加1;print("%d",n[i]);输出刚计算出的数组n的元素。故结果应该是1*2+1=3、3*2+1:7、7*2+1=15。即输出结果为3 715。

第6题:

下列程序的输出结果是【 】。

main()

{ int i;

for(i=1;i=1;i++)

{ if(i>4)

{ printf("%d\n",i);

break;}

printf("%d\n",i++);}}


正确答案:1 3 5
1 3 5 解析:本题考查了for循环语句的使用,break语句用在本题中是结束for循环直接跳出循环体外。当i=1时,因为if语句条件不满足,所以直接执行printf("%d \n",i++);输出1,同时i自加1;执行第二次for循环时,i:3;同样的if语句条件不满足,所以直接执行 printf("%d\n",i++);输出3,同时i自加1执行第三次for循环时,i=5,讧语句条件满足,所以执行printf ("%d\n",i)输出5,然后break语句跳出了for循环。

第7题:

以下程序的输出结果是【】。 include void main(){ int i,a[5]; i=0; while(i<5){ a[i]

以下程序的输出结果是【 】。

include<iostrean.h>

void main(){

int i,a[5];

i=0;

while(i<5){

a[i]=8*(i-2+4*(i>2))%5;

i++;

}

for(i=4;i>=0;i--) cout<<a[i];

}


正确答案:3 0 0 -3 -1
3 0 0 -3 -1

第8题:

以下程序输出的最后一个值是【 】。

int ff(int n)

{ static int f=1;

f=f*n;

retum f;

}

main()

{ int i;

for(i=1;i<=5;i++) printf("%d\n",ff(i))i

}


正确答案:120
120 解析:静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:
①静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。
②对静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。
③如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译对自动赋初值0(对数值型变量)或空字符(对字符变量)。(注意:C语言中的非静态变量在定义时,系统并不会自动给它赋初值)
④虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。
本题中函数的功能是:与for语句一起求一个整数的阶乘。

第9题:

已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

已知C源程序如下:

include<stdio. h>

include<string. h>

void reverse(char S[]){

int C,i,J;

for(i=0,j=strlen(s)-1;i<j;i++,j++){

c=s[i];

s[i]=s[j];

s[j]=c;

}

}

void getHex(int number,char s[]){

int I;

i=0;

while(number>0){

if(number%16<10)

s[i++]=number%16+'0';

else

switch(number%16){

case 10:s[i++]='A';break;

case 11:s[i++]='B';break;

case 12:s[i++]='C';break;

case 13:s[i++]='D';break;

case 14:s[i++]='E';break;

case 15:s[i++]='F';break;

default:printf("Error");break;

}

number/=16;

}

s[i]:'\o';

reverse(s);

}

int main(){

unsigned int number;

int i=0:

char s[50];

printf("%s","please input number;\n");

scanf("%d",&number):

getHex(number,s);

i=0;

while(s[i])

printf("%c",s[i++]);

return 0;

}

画出程序中所有函数的控制流程图。


正确答案:流程图
流程图

第10题:

以下程序的输出结果是()。include main(){int i; for(i=1;i<5;i++) {if(i%2) printf("*

以下程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n");

A.*#*#*#$

B.#*#*#*$

C.*#*#$

D.#*#*$


正确答案:C
解析:程序中当i不能整除2时输出*,然后输出#,能够整除2时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

更多相关问题