C语言程序设计

已知:intt=0;while(t=1){...},则以下叙述正确的是()A、循环表达式的值为0B、循环表达式的值为1C、循环表达式不合法D、以上说法都不对

题目

已知:intt=0;while(t=1){...},则以下叙述正确的是()

  • A、循环表达式的值为0
  • B、循环表达式的值为1
  • C、循环表达式不合法
  • D、以上说法都不对
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}m

有以下程序 #include <stdio.h> voidfun(char*t,char*s) {while(*t!=0) t++; while((*t++=*s++)!=0); } main() {char ss[10]="acc",aa[10]="bbxxyy"; fun(ss,aa); printf("%s,%s\n",ss,aa); } 程序的运行结果是

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy


正确答案:D
解析: 本题中fun函数实现丁字符串函数str-eat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\0')逐个复制到字符串ss的末尾处。

第2题:

hdu acm 1019 我这程序总是WA 求原因哦

以下是我的程序,请麻烦帮我看看哦~ 谢谢了~~#include<stdio.h>void main(){ int n,i,t,N,c,j,t0,b,d,a,x1,x2; while(scanf("%d",&N)!=EOF) { for(i=0;i<N;i++) { scanf("%d",&n); scanf("%d",&t0); if(n==1) printf("%d",t0); else { c=t0; for(j=1;j<n;j++) { scanf("%d",&t); x1=c;x2=t; if(c<t) { b=c; c=t; t=b; } while(c%t!=0) { d=t; t=c%t; c=d; } if(c%t==0) a=t; c=x1*x2/a; } printf("%d\n",c); } } }}


#include<stdio.h> void main() { int n,i,t,N,c,j,t0,b,d,a,x1,x2; while(scanf("%d",&N)!=EOF) { for(i=0;i<N;i++) { scanf("%d",&n); scanf("%d",&t0); if(n==1) printf("%d\n",t0); // 缺\n else { c=t0; for(j=1;j<n;j++) { scanf("%d",&t); x1=c;x2=t; if(c<t) { b=c; c=t; t=b; } while(c%t!=0) { d=t; t=c%t; c=d; } if(c%t==0) a=t; c=x1/a*x2; } printf("%d\n",c); // 缺\n } } } }

第3题:

t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是()

A、循环控制表达式的值为0

B、循环控制表达式的值为1

C、循环控制表达式不合法

D、以上说法都不对


参考答案:B

第4题:

有下列程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;while(t!=n); 为使此程序段不陷入循环,从键盘输入的数据应该是( )。

A. 任意正奇数

B.任意负偶数

C.任意正偶数

D.任意负奇数


正确答案:D
本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t=t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量n的值为负奇数,则一定会使t==n成立,故退出do-while循环。

第5题:

若有以下程序段:inta[]={4,0,2,3,1},i,j,t;for(i=1;i5;i++){t=a[i];j=i-1;while(j=0&&ta[j]){a[j+1]=a[j];j--;}a[j+1]=t;}......则该程序段的功能是()。

A.对数组a进行插入排序(升序)

B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)

D.对数组a进行选择排序(降序)


正确答案:B

第6题:

已知

#int t=0;

while (t=1)

{...}

则以下叙述正确的是

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式不合法

D.以上说法都不对


正确答案:B
解析:t=1是将t赋值为1,所以循环控制表达式的值为1。判断t是否等于1时,应用t==1,注意"="与"=="的用法。

第7题:

t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()

A、循环控制表达式的值为0

B、循环控制表达式的值为1

C、循环控制表达式合法

D、以上说法都不对


参考答案:A,C

第8题:

有以下程序段int n,t=1,s=0;Scanf("%d",&n);do{ s=s+t;t=t-2; }while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数


正确答案:D
do-while 循环,首先s=s+t=0+1=1,t=t-2=-1,然后判断,然后执行循环体,t=t-2说明t递减,而且t都为奇数。所以只要n为负奇数,t就有可能等于它,就可以退出循环了。

第9题:

有以下程序includestdio.hintf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,4);printf(“%d\n“,s);}intf(intt[],intn){if(n0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是()。

A、4

B、10

C、14

D、6


参考答案:B

第10题:

有以下程序: include usingnamespacestd; intmain() { intnum[2][3],*p; intt,i,j,k=

有以下程序: #include <iostream> using namespace std; int main() { int num[2][3],*p; int t,i,j,k=10; p=num[0]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { k++; *p=k; for(t=2;t<*p;t++) { if(!(*p%t)) { j--; *p--; break; } *p++; } } cout<<*(p-1)<<end1; return 0; } 程序运行后的输出结果是( )。

A.19

B.11

C.29

D.23


正确答案:C
解析:本题考核数组与指针的关系。程序首先初始化指针p,让其指向二维数组num的首元素,即num[0][0]。程序中,第1个for循环是为二维数组的每行元素赋值而设置的循环,第2个for循环是为二维数组的每列元素赋值而设定的,第3个for循环是为判断数组元素是否是素数而设置的。在第3个for循环中,如果*p的值能被小于它的数整除(即不是素数),则执行“j--;*p--;”,然后跳出第3个for循环。j--的含义是让其前面的赋值语句重新赋值,而*p--的含义是使指针指向前一个单元。语句“*p++;”将指针移到下一个单元,在下一次循环时,k加1,并k赋给*p,看*p是否为素数,这样一直到满足条件为止,即数组num[2][3]中的数都为素数。最后数组num中各元素的值分别为大于10的素数,即分别为:11,13;17,19,23,29。程序最后要求输出*p的值,由于此时指针已指向数组num的最后一个元素,即num[1][2]。所以输出的值是29。

更多相关问题