d=d+4; e=e+4;
printf(―%c%c%c%c%c‖,a,b,c,d,e); }
第四章
1、逻辑运算符两侧运算对象的数据类型 。
A、只能是0和1 B、只能是0或非0正数 C、只能是整型或字符型数据 D、可以是任何类型的数据 2、判断char型变量ch是否为大写字母的正确表达式是 。 A、?A‘<=ch<=?Z‘ B、(ch>=?A‘)&(ch<=?Z‘) C、(ch>=?A‘)&&(ch<=?Z‘) D、(?A‘<= ch)AND(?Z‘>= ch)
3、若希望当A的值为奇数时,表达式的值为―真‖,A的值为偶数时,表达式的值为―假‖。则以下不能满足要求的表达式是 。
A、 A%2==1 B、!(A%2==0) C、!(A%2) D、A%2
4、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 。 A、1 B、2 C、0 D、4 5 、以下程序的运行结果是 。
void main( ) {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(―%d,%d‖,a,b); }
A、2,0 B、2,1 C、6,0 D、6,1
6 、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 。
if(x>y) z=x; x=y; y=z;
A、x=10, y=20, z=30 B、x=20, y=30, z=30 C、x=20, y=30, z=10 D、x=20, y=30, z=20 7、以下程序的运行结果是 。
void main( ) {int m=5; if(m++>5)
printf(―%d\\n‖,m); else;
printf(―%d\\n‖,m--);}
A、4 B、5 C、6 D、7
8 、若运行时给变量x输入12,则以下程序的运行结果是 。
void main( ) {int x,y; scanf(―%d‖,&x);
- 6 -
y=x>12 ? x+10 : x-12; printf(―%d\\n‖,y); }
A、0 B、2 C、3 D、4
9、if语句的基本形式是:if(表达式) 语句,以下关于―表达式‖值的叙述正确的是 。 A、必须是逻辑值 B、必须是整数值 C、必须是正数 D、可以是任意合法的数值 10、有以下程序
#include
b++; else if(a==0)
if(a) b+=2; else b+=3;
printf(―%d\\n‖,b); }
程序运行后的输出结果是。 A、0 B、1 C、2 D、3
11、有以下程序,程序运行后的输出结果是 。
#include
printf(―%d\\n‖,c) }
A、3 B、5 C、7 D、9
12、有如下程序, 该程序的输出结果是_______。 void main( ) { int x=1,a=0,b=0; switch(x)
{ case 0: b++; case 1: a++;
case 2: a++;b++;(没有break一直执行) }
- 7 -
printf(\\n\); }
A、a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2 13、 若运行时给变量x输入12,则以下程序的运行结果是_____。
void main() {int x,y;
scanf(\%d\
y=x>12?x+10:x-12; printf(\);}
A、0 B、10 C、12 D、22
14、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是_____。
A、a=a+b,b=a-b,a=a-b; B、t=a,a=b,b=t; C、a=t; t=b; b=a; D、t=b;b=a;a=t; 15、下面程序的运行结果是。
void main( ) {int x=4,y=5;
if ((x>y)&&(++x>0)) printf(―%d‖,x+y); printf(―%d‖,x); }
A、9 4 B、4 C、5 D、10 5 16、以下程序执行后的显示结果为 。 {int n=3 , m=6 ; if (n > 4 && m ++ < 10)
m++;
printf(―m = %d\\n‖,m); }
A、6 B、7 C、8 D、9 二、填空题。
1、执行if(x||!x) printf(‖ABC‖);else printf(‖XYZ‖);屏幕上显示的是___ABC___________。 2、执行下列语句后,显示结果为 ―yes‖ 。 x=0; if(x=0)
printf(―yes‖); else
printf(―no‖);
3、switch语句中,使用break语句,作用是 结束循环终止switch语句的执行 。 三、程序填空题
1、下面程序判断输入一个整数是否能被3或7整除,若能整除输出―YES‖,若不能整除,输出―NO‖。 void main( )
- 8 -
{int k;
printf(―请输入一个整数:‖); scanf(―%d‖,&k); if (k%3==0||k%7==0 ) printf(―YES\\n‖); else
printf(―NO\\n‖); }
2、下列程序根据菜单选择完成相关操作。 void main() {int x,y,n;
printf(―请输入第一个整数:‖);scanf(―%d‖,&x); printf(―请输入第二个整数:‖);scanf(―%d‖,&y);
printf(―请输入你的选择1-加法、2-减法、3-乘法、4-除法scanf(―%d‖, &n ); switch(n)
{ case 1:printf(―和为:%d\\n‖,x+y);break; case 2:printf(―差为:%d\\n‖,x-y);break; case 3:printf(―积为:%d\\n‖,x*y);break; case 4:printf(―商为:%d\\n‖,x/y);break; default :printf(―选择有误!\\n‖); } }
四、程序改错题
1、输入一个整数,判断其奇偶性。 #include
printf(―请输入一个整数:‖); scanf(―%f‖,x); if(x%2=0)
printf(―是一个偶数!\\n‖);
else
printf(―是一个奇数!\\n‖);
}
( scanf(―%f‖,x); )改为:( scanf(―%f‖,&x); ) ( if(x%2=0))改为:( if(x%2==0) ) 2、输入一个整数,判断其是否能被3整除。 #include
- 9 -
‖);
{ int x,y;
printf(―请输入一个整数:‖); scanf(―%f‖,x); y=x%3; switch(y)
{ case 0:printf(―能被3整除!\\n‖); case 1,2:printf(―不能被3整除!\\n‖); } }
( scanf(―%f‖,x); )改为:( scanf(―%f‖,&x) )
(case 0:printf(―能被3整除!\\n‖);)改为:(case 0:printf(―能被3整除!\\n‖); break;) (case 1,2:printf(―不能被3整除!\\n‖);)改为:( case 1:case 2:printf(―不能被3整除!\\n‖);break) 五、编程题
1、编程:输入整数x,计算并输出下列分段函数f(x)的值。
x 2x-1 3x-11 #include
y=
if(x<1) y=x; if(x>=10) y=3*x-11; else y=2*x-1; printf(―%d\\n‖,y); }
2、编程:输入两个整数,再输入两个数相加的和,由程序判断输入的和是否正确。 #include
printf(―输入两个整数‖); scanf(―%d%d‖,&x,&y); z=x+y;
printf(―输入两个数相加的和:‖); scanf(―%d‖,&f); if(f==z)
printf(―和为正确‖); else printf(―和不正确‖);
- 10 -
(x<1) (1<=x<10)
(x>=10)