下列程序 int x=3;do{printf(″%d″,--x);}while(!x);循环执行的次数是______。

如题所述

建议你上其他网站上搜索一下,应该有不少!
这里给你贴个卷子,供你参考:
一、单项选择题 1.函数调用语句:fseek(fp,-20L,2);的含义是( )。A)将文件位置指针移到距离文件头20个字节处
B)将文件位置指针从当前位置向后移动20个字节
C)将文件位置指针从文件末尾处后退20个字节
D)将文件位置指针移到距离当前位置20个字节处
2.C语言规定,函数返回值的类型是由( )。A)return语句中的表达式类型所决定
B)调用该函数时的主调函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
3.下列转义字符不正确的是( )。A)’\\’
B)’\ab’
C)’\083’
D)’\0’
4.C语言中运算对象必须是整型的运算符是( )。A)/
B)++
C)%
D)!=
5.下列选项中属于不正确的赋值语句的是( )。A)t--;
B)k=i==j;
C)t1=t2=t3=3;
D)t1=1,t2=2;
6.在PC 16位机下,下列程序执行后的输出结果是( )。
main( )
A)-32767
B)FFFE
C)-1
D)-32768
7.以下程序的输出结果是( )。
main()
{ int x=’a’,y=’b’;
printf(“x=%%%c,y=%%%c\n”,x,y);}A)x=%a,y=%b
B)x=a,y=b
C)x=%%%c,y=%%%c
D)x=%%c,y=%%c
8.执行下列程序中的输出语句后,x的值是( )。
main()
{int x ;
printf(“%d\n”,(x=4*5,x*2,x+20));}A)20
B)40
C)60
D)80
9.执行以下程序后的输出结果是( )。
#include "stdio.h"
void main()
{
int i = 0, j = 0, a = 6;
if ((++i0)||(++j0)) a ++;
printf("i=%d, j=%d, a=%d\n", i, j, a);
}A)i=0, j=0, a=6
B)i=1, j=1, a=7
C)i=1, j=0, a=7
D)i=0, j=1, a=7
10.为表示“a和b都不等于0”,应使用的C语言表达式是( )。A)(a!=0) || (b!=0)
B)a || b
C)!(a=0)(b!=0)
D)a b
11.执行以下程序的输出结果是( )。
main()
{ int i=1,j=1,k=2;
if((j++||k++) i++)
printf("%d,%d,%d\n",i,j,k);
}A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
12.以下程序的输出结果是( )。
main()
{int a=0,b=1,c=0,d=20;
if (a) d=d-10;
else if (!b)
if (!c) d=15;
else d=25;
printf("d=%d\n",d);
}A)d=10
B)d=15
C)d=20
D)d=25
13.以下程序的输出结果为( )。
#include "stdio.h"
void main()
{
int a=1,b=0;
for(;a3;a++)
switch(a++)
{
case 1: b--;break;
case 2: b++;break;
case 3: b+=3;break;
}
printf("%d\n",b);
}A)0
B)-1
C)3
D)其他
14.以下程序的运行结果是( )。
void main()
{
int a=4; char ch=’a’;
printf( "%d\n",(a2)(ch’A’));
}A)0
B)1
C)2
D)3
15.设有程序段 char k;while (k0) k++; printf("%d\n",k);则程序输出结果为( )。A)-127
B)256
C)-128
D)128
16.下列程序的运行结果是( )。
main()
{ int y=10;
do while(y);
printf(“%d\n”,y- -);}A)-1
B)-2
C)9
D)0
17.以下是求两个正整数的最大公约数的函数fun( ), 下划线处应填入的正确语句为( )。
int fun(m,n)
int m,n;
{int r;
if(mn)
if(n= =0) return(m);
do{ r=m%n;
if (r!=0)
} while (______);
return(n);
}A)r!=0
B)r==0
C)n!=0
D)n==0
18.现已定义整型变量int i=1; 执行循环语句“while(i++5);”后,i的值为( )。A)1
B)5
C)6
D)以上三个答案均不正确
19.以下程序的输出结果是( )。
main()
{int a=0,j;
for(j=0;j4;j++)
{switch(j)
{case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}A)20
B)13
C)10
D)36
20.若a、b均为int型变量,且a=100,则以下关于for循环语句的正确判断为( )。
for(b=100;a!=b;++a,b++)printf("————\n");A)循环体只执行一次
B)是死循环
C)循环体一次也不执行
D)输出————
21.下面有关for循环的描述正确的是( )。A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)for循环中可以用break语句跳出循环体
D)for循环中可以包含if语句,但必须用花括号括起来
22.以下程序的输出结果为( )。
#include stdio.h
main()
{ int i=0,a=0;
while(i20)
{ for( ; ; )
{ if((i%10)==0) break;
else i--; }
i+=11; a+=i;
}
printf("%d\n",a);
}A)21
B)32
C)33
D)11
23.下列说法正确的是( )。A)break 用在switch语句中,而continue 用在循环语句中
B)break 用在循环语句中,而continue用在switch语句中
C)break 能结束循环,而continue只能结束本次循环
D)continue能结束循环,而break只能结束本次循环
24.若有以下程序段
… …
int a[ ]=,i,j,t;
for(i=1;i5;i++)
{t=a[i];j=i-1;
while(j=0ta[j])

a[j+1]=t;}
… …
则该程序段的功能是( )。A)对数组a进行插入排序(升序)
B)对数组a进行插入排序(降序)
C)对数组a进行选择排序(升序)
D)对数组a进行选择排序(降序)
25.下面的程序对输入的每一个数字出现的次数进行计数,下划线处应填入的正确语句为( )。
#include "stdio.h"
main()
{int i,ch, n[10];
for(i=0;i10;++i) n[i]=0;
while((ch=getchar())!=‘\n’)
if(ch=‘0’ ch=‘9’)
________;
for(i=0;i10;++i)
printf("数字%d出现的次数是:%d\n",i,n[i]);
}A)n[ch-‘0’]++
B)n[ch]++
C)i++
D)n[i]++
26.以下程序段输出字符串str的内容, 其中循环条件str[i]!= ’\0’还可以写成( )。
char str[80];
for(i=0;str[i]!=’\0’ i++)
putchar(str[i]);A)str[i]!=NULL
B)i 80
C)!(str[i])= ’\0’
D)i=80
27.下列程序的运行结果是( )。
main()
{int a=4,y;
y=fn(a,++a);
printf(“%d”,y);}
int fn(x,c)
{int b;
if(xc)b=1;
else if(x==c)b=0;
else b=-1 ;
return(b);
}A)4
B)-1
C)1
D)0
28.下列程序执行后的输出结果是( )。
void func(int *a,int b〔〕)

main()
;
a=0; b〔0〕=3;
func(a,b); printf("%d\n",b〔0〕);
}A)6
B)7
C)8
D)9
29.函数f定义如下,执行语句“m=f(5);”后,m的值应为( )。
int f(int k)
{ if(k==0||k==1) return 1;
else return f(k-1)+f(k-2);
}A)3
B)8
C)5
D)13
30.下列关于字符串操作的输出结果是( )。
#include "stdio.h"
#include "string.h"
void main()
{
char p1[20]="abcd",p2[20]="ABCD";
char str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s\n",str);
}A)xyabcAB
B)abcABz
C)Ababcz
D)xycdBCD
31.有如下程序,该程序的输出结果是( )。
long f(int n)
{ if(n2) return(f(n-2)+f(n-3));
else
if(n==2) return(2);
else return(1); }
main()
A)2
B)3
C)4
D)5
32.以下程序的输出结果是( )。
#include "stdio.h"
void fun(int *p)
{
int a=10;
p=a;
++a;
}
void main()
{
int a=5;
fun(a);
printf("%d\n",a);
}A)5
B)6
C)10
D)11
33.如果要限制一个变量只能被本程序文件使用,必须通过( )来实现。A)静态内部变量
B)外部变量声明
C)静态外部变量
D)局部变量声明
34.以下程序的运行结果是( )。
void fun(int *n)
{
static int m=2;
*n*=m-1; m+=2;
}
void main()
{
static int m=1;
int i;
for(i=1;i4;i++)
fun(m);
printf("%d\n",m);
}A)8
B)10
C)11
D)15
35.设有下列定义:
static int x,*p=x,*q;
scanf(“%d,%d”,p,q);
若输入5,6,则x的值为( )。A)5
B)6
C)0
D)无法确定
36.以下程序的输出结果是( )。
#include stdio.h
#define H1 5
#define H2 H1+1
#define H3 H2*H2/2
void main()
{
int s=0,k=H3;
while(k--)s++;
printf("%d\n",s);
}A)18
B)19
C)10
D)宏定义有错,不能编译
37.执行以下程序后,a的值为( )。
int *p,a=10,b=1;
p=a;a=*p+b;A)12
B)编译出错
C)10
D)11
38.下列程序段的输出结果是( )。
int c[ ]=;
int *k=c+1;
printf("%d",*k++);A)2
B)7
C)8
D)12
39.若有二维数组定义语句:int a[4][5]; 则对元素a[2][3]的引用方式不正确的是( )。A)*(a[2][3])
B)*(a+5*2+3)
C)*(a[2]+3)
D)*(*(a+2)+3)
40.已知有以下的说明,
int a[]=; 那么a[*(a+a[3])]的值为( )。A)5
B)0
C)4
D)7
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-06
初始X值为3, 按十进值输出X自减一后的值, 接着判断(如果X值不是有效的), X为非0, 取反后为0, 循环结束。 次数1。本回答被提问者和网友采纳
第2个回答  2011-05-11
输出2
循环1次
第3个回答  2011-05-11
循环一次

int x=3; do { printf("%3d",x-=2); } while(!(--x)); 程序的输出结果...
1 -2 先进入do循环,执行x-=2;x=1,输出 1;while(!(--x))相当于x=0时执行循环,执行--x,x=0,满足while()条件,进入do循环,执行x-=2;x=-2,输出 -2;执行--x,x=-3,不满足while()条件,结束循环

已知int i=3; 在下面do—while语句执行时的循环次数为( )?
第一次进入循环体,i自减1,成为2,输出2 第二次进入循环体,i自减1,成为1,输出1 退出循环 所以执行2次

...int i=3; do { i--; printf("i=%d\\n",i); }while (i!=1...
第一个是2次,这个没有多少可以好解释的,第一次进去i=2---比较---第二次进入i=1---比较结束循环。第二个是5次,原因是当for语句中间比较条件为0是跳出循环,你的比较条件是i=j,那么当j=0的时候跳出循环,其中这个程序运行的结果应该是 i=5, j=5 i=4, j=4 i=3, j=3 i=2, j=...

下列程序共执行的循环次数是( )
C、17

下列语句中,循环体部分被执行的次数为:( ) 。For i = 3 To 100 Step...
C、11 C、2-Middle

下列程序中,for循环执行的次数是: }
8次 因为#define其实是字符从替换,所以NUM用(M+1)*M\/2来替换,而M用N+1来替换,也就变成(N+1+1)*N+1\/2,而N用2替换,就变成(2+1+1)*2+1\/2=8,所以是8次

C语言 while(!x);是什么意思?
while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。!是反运算符,单目,!真 即 假,!假 即 真。如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。while()是循环语句。while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值...

下列循环体执行的次数是( )。 int x=10, y=30;求过程
y=20, x=11, x++=12, y--=19,循环不退出 y=7, x=13, x++=14, y--=6循环退出 所以B

求一些c编程题
24、假定有以下变量定义: int k=7 ,x=12; 则能使值为3的表达式是 A x%=(k%=5) B x%=(k-k%5) C x%=k-k%5 D (x%=k)-(k%=5)、D、1 25、请读程序片段(字符串内没有空格): printf("%d\\n",strlen("ATS\\n012\\1\\\\"));的输出结果是 A) 11 B) 10 C) 9 D) 8 、C、1 26...

...{ int i,j; for(i=0,j=1; i<=j+1; i+=2, j--) printf("%d \\...
只循环一次,输出结果:0

相似回答