{int a=5,p; if(p=a!=0) printf(“%d\\n”,p); else
printf(\、5 B、1 C、0 D、编译有错,无结果。 144、 (A)。main() {int x=1,a=0,b=0; switch(x) {case 0:b++; case 1:a++; case 2:a++;b++; }
printf(\、a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2 145、 (B)。若下列语句组,则输出结果是 。 int x=0;
if(x++<0) printf(\、-1 B、1 C、-1-1 D、-10 146、 (C)。若下列语句组,则输出结果是 。 int x=-1;
if(x++<0) printf(\、-1 B、1 C、-1-1 D、-11 147、 (D)。有以下程序: main()
{int x=10,y;
if(x<20) y=100; if(x>4) y=55/x; else y=10;
printf(\则输出结果是 。A、100 B、5.5 C、10 D、5 148、 (A)。有以下程序: main()
{int x=30,y; if(x<20)
共 52 页 第 21 页
if(x>4) y=55/x; else y=10; else y=1000;
printf(\则输出结果是 。A、1000 B、100 C、10 D、语法错,无结果。 149、 (A)。有以下程序:则输出结果是 。 main()
{int s=90;char g; if(s>=60) g='C'; if(s>=70) g='B'; if(s>=80) g='A'; if(s>=90) g='a'; printf(\
}A、a B、A C、B D、C
150、 (A)。有以下程序:则输出结果是 。 main() {int i;
for(i=0;i<3;i++) switch(i)
{case 1:printf(\ case 2:printf(\ default:printf(\ }
}A、011122 B、012 C、012020 D、120
151、 (B)。已有定义:int x=3,y=4,z=5;则表达式 !(x+y)+z-1&&y+z/2的值是 。A、0 B152、 (A)。main() {int a=15,b=21,m=0; switch(a%3)
{case 0:m++;break; case 1:m++; switch(b%2)
第 22 页
共 52 页 、1 C、2 D、-1 {default:m++;
case 0:m++;break; } }
printf(\、1 B、2 C、3 D、4 153、 (A)。有以下程序:则输出结果是 。 main() {
int a=4,b=5,c=0,d; d=!a&&!b||!c; printf(\
}A、1 B、0 C、非0的数 D、-1 154、 (B)。有以下程序: main() {int x;
scanf(\
if(x--<5) printf(\else printf(\
}程序运行后,如果从键盘上输入5,则输出结果是 。A、3 B、4 C、5 D、6 155、 (C)。有以下程序: main()
{float x=2.0,y; if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x; else y=1.0; printf(\
}则输出结果是 。A、0.000000 B、0.250000 C、0.500000 D、1.000000 156、 (C)。有定义语句:int a=1,b=2,c=3,x;则以下选项中各段程序执行后,x的值不为3的是 A、if(c
共 52 页 第 23 页
else x=3; else x=1;
C、if(a<3) x=3; D、if(a
if(a<1) x=1; if(c
157、 (B)。下关于运算符优先顺序的描述中正确的是 。A、\ B、\C、\ D、\158、 (D)。有以下程序:则输出结果是 。 main() {
int i,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(!i%3)) s+=i;; printf(\
}A、409 B、277 C、1 D、91
159、 (A)。若运行是给变量x输入12,则以下程序的运行结果是 。 main() {int x,y;
scanf(\y=x>12?x+10:x-12; printf(\
}A、0 B、22 C、12 D、10
160、 (B)。若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 。 A、(exp==0) B、(exp!=0) C、(exp==1) D、(exp!=1)
161、(A)。若有定义语句:int x=3,y=2,z=1;表达式: z*=(x>y?++x:y++)的值是 。A、4 B、0 C、1 D、3
162、(B)。当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是。A、m=k=n B、(m=k)&&(n=k) C、(m=k)||(n=k) D、(k=m)&&(n=k) 163、 (B)。若w=1,x=2,y=3,z=4,则条件表达式 w>x?w:y while(k=0) k=k-1;则下面描述正确的是 。A、while循环执行10次 B、循环是无限循环 C、循环体语句一次也不执行 D、循环体语句执行一次 165、 (C)。若希望当A的值为奇数时,表达式的值为\真\的值为偶数 表达式的值为\假\。则以下不能满足要求的表达式是: 共 52 页 第 24 页 A) A%2= =1 B)!(A%2 = =0) C)!(A%2) D) A%2 166、 (B)。能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是 。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) C、(x>=1)||(x<=10)||(x>=200)||(x<=210) D、(x>=1)&&(x<=10)||(x>=200)||(x<=210) 167、 (C)。下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空: #indude \ main() {int m=0,n=0; char c; 1 while((【1】)!='\\n') { if(c>='A' && C<='Z') m++ ; if(c>='a' && c<='z') n++; } printf(\168、 (B)。下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是 。 A、if(u>s)t=u; t=s; B、t=s; if(u>s)t=u; C、if(u>s)t=s; else t=u; D、t=u; if(u>s)t=s; 169、 (B)。下列语句应将小写字母转换为大写字母,其中正确的是 。A、if(ch>='a'&ch<='z') ch=ch-32; B、if(ch>='a'&&ch<='z')ch=ch-32; C、ch=(ch>='a'&&ch<='z')?ch-32:''; D、ch=(ch>'a'&&ch<'z')?ch-32:ch; 170、 (A)。执行语句“k=x++&&y++||z++;”(各变量当前值均为1)后,变量k、x、y、z值依次为 。 A、 1、2、2、1 B、 1、2、2、2 C、 0、2、2、1 D、 0、2、2、2 171、 (D)。下列while循环,将执行 int i=4; while(--i) printf(\ A、3次 B、4次 C、0次 D、无限次 172、 (C)。执行下列语句后,a,b的值分别为 int a=12,b=7; #define M(x,y) (x+=y-=x+=y) M(a,b); A、7,12 B、-7,12 C、7,-12 D、以上均不是 173、 (C)。对于以下程序段,运行后i的值为 int i=0,a=1; switch(a) { case 1: i+=1; case 2: i+=2; 共 52 页 第 25 页