夯实c语言基础(2)
题干 | 执行以下程序段执行后的输出结果分别为( b )、( a )、( a )、( d )。 程序段一: int i=1,a=0; while(i<=10) { if(i%3==0) { a++;i++; } } printf("%d\n",a); 程序段二: int i=1,a=0; while(i<=10) { if(i%3==0) { a++; } i++; } printf("%d\n",a); 程序段三: int i=1,a=0; while(i<=10) { if(i%3==0) a++; i++; } printf("%d\n",a); 程序段四: int i=1,a=0; while(i<=10) { if(i%3==0); { a++; } i++; } printf("%d\n",a); A.3 B.死循环 C.9 D.10 注意体会四段程序的区别 |
题干 | 以下程序各行的输出结果依次为: 程序一: void main() { int a=3,b=4,c; if(a=b) c=1; else c=0; printf("%d\n",c);//( b ) printf("%d\n",a);//( d ) } 程序二: void main() { int a=3,b=4,c; if(a==b) c=1; else c=0; printf("%d\n",c);//( a ) printf("%d\n",a);//( c ) } A.0 B.1 C.3 D.4 |
题干 | 以下程序段 int a=7; double x=2.5,y=4.7,z; z=x+a%3*(int)(x+y)%2/4; printf("%f",z); 的显示结果为( b )。 A.1.500000 B.2.500000 C.3.500000 D.4.500000 |
题干 | 当把以下四个表达式用作if语句的条件表达式时(已知k>=0),有一个选项与其他三个选项含义不同,这个选项是( d )。 A.k%2 B.k%2==1 C.(k%2)!=0 D.!k%2==1 |
题干 | 执行以下程序段后a,b,c的值分别为( b )、( a )、( d )。 int i=1,a=0,b=0,c=1; while(i<=10)//循环执行次 { if(i%3==0) { a=a+i; b=b+1; c=c*i; } i++; } printf("%d,%d,%d\n",a,b,c); A.3 B.18 C.81 D.162 |
题干 | 以下程序段的输出结果为( c )。 int k=5,n=0; while(k>0) { switch(k) { default:break; case 1:n+=k; case 2: case 3:n+=k; } k--; } printf("%d",n); A.5 B.6 C.7 D.8 |
题干 | 以下程序段的输出结果为( b )。 int n=9; while(n>6) { n--; printf("%d",n); } A.987 B.876 C.8765 D.9876 |
题干 | 有以下两程序段 程序段一: int i=1; while(i<5)//循环执行( b )次 { printf("%d",i); i++; } printf("%d\n",i);//循环结束后i的值为( c ) 程序段二: int i=1; while(i<=5)//循环执行( c )次 { printf("%d",i); i++; } printf("%d\n",i);//循环结束后i的值为( d ) 注意体会两程序段的区别 A.3 B.4 C.5 D.6 |
题干 | 若有int a=12; 则分别 执行a+=a;后a的值为( c )。 执行a+=a-=a;后a的值为( a)。 执行a+=a-=a*=a;后a的值为( a )。 A.0 B.12 C.24 D.144 |
题干 | 下列算术表达式中,不正确的是( d )。 A.1/2 B.‘a’%7 C.‘a’-‘0’+25 D.(float)1%2 |
题干 | 下列C语言运算符中,优先级最低的是( d )。 A.= B.+ C.* D., |
题干 | 已知int x=5,y=0;以下语句执行后,y的值为( b )。 if(x>2&&x<8) y=1; 已知int x=5,y=0;以下语句执行后,y的值为( a )。 if(8>x>2) y=1; A.0 B.1 C.2 D.3 |
题干 | 以下程序段的输出结果为( c )。 int k=5; while(--k) printf("%d",k-=3); printf("%d",k); A.8 B.9 C.10 D.11 |
题干 | 在以下给出的表达式中,与if(E)中的(E)不等价的表达式是( c )。 A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0) |
题干 | 以下程序各行的输出结果依次为: void main() { int a=3,b=4; printf("%d\n",a==b);//( a ) printf("%d\n",a=b);//( d ) } A.0 B.1 C.3 D.4 |
题干 | 以下程序段的输出i和s的结果分别为( d )和( a )。 int i=1,s=0; while(i<=10) { s++; i*=2; } printf("%d\n",i); printf("%d\n",s); A.4 B.5 C.15 D.16 |
题干 | 已知x=2,y=8,执行x*=y-2运算后,x的值为( d )。 A.18 B.16 C.14 D.12 |
题干 | 以下语句中,功能与其他语句不同的是( d )。 A.if(a) printf("%d\n",x); else printf("%d\n",y); B.if(a==0) printf("%d\n",y); else printf("%d\n",x); C.if(a!=0) printf("%d\n",x); else printf("%d\n",y); D.if(a==0) printf("%d\n",x); else printf("%d\n",y); |
题干 | 已知 int x=10,y=20,z=30; 以下语句执行后,x、y、z 的结果是( c )。 if(x>y) z=x;x=y;y=z; 已知 int x=10,y=20,z=30; 以下语句执行后,x、y、z 的结果是( a )。 if(x>y) {z=x;x=y;y=z;} A.x=10,y=20,z=30 B.x=20,y=30,z=10 C.x=20,y=30,z=30 D.x=20,y=30,z=20 注意体会两题的区别 |
题干 | 表达式 (int)3.6*3的值为( b )。 A.10 B.9 C.10.8 D.18 |
题干 | 以下两程序段的输出结果分别为( b )、( a )。 程序段一: int a=12345,s=0,t=1; while(a!=0) { s=s*10+a%10; a=a/10; } printf("%d",s); 程序段二: int a=12345,s=0,t=1; while(a!=0) { s=s+a%10*t; a=a/10; t=t*10; } printf("%d",s); A.12345 B.54321 C.5 D.15 |
i++和++i的区别
题干 | 若有int j,i=6;执行j=i++;后,变量i,j的值分别为( b )、( a )。 若有int j,i=6;执行j=++i;后,变量i,j的值分别为( b )、( b )。 A.6 B.7 C.8 D.9 |
题干 | 以下程序运行,输出的两个整数分别为( c )、( c )。 #include "stdio.h" void main() { int a,b; b=(a=3+2); printf("%d\n",a); printf("%d\n",b); } A.0 B.1 C.5 D.6 |
题干 | 以下选项中非法的表达式是( d )。 A.0<=x<100 B.i=j==0 C.(char)(65+3) D.x+1=x+1 |
题干 | 有以下四程序段,执行的结果分别为:( b )、( d )、( b )、( a )。 //程序段一 int s=0,j=1,i=1; while(i<=4) { j=j*i; s=s+j; i++; } printf("%d",s); //程序段二 int s=0,j=1,i=1; while(i<=4) j=j*i; s=s+j; i++; printf("%d",s); //程序段三 int s=0,j=1,i; for(i=1;i<=4;i++) { j=j*i; s=s+j; } printf("%d",s); //程序段四 int s=0,j=1,i; for(i=1;i<=4;i++) j=j*i; s=s+j; printf("%d",s); 注意体会四段代码的异同 A.24 B.33 C.35 D.死循环 |