文档库 最新最全的文档下载
当前位置:文档库 › 大学C语言练习题

大学C语言练习题

四章

习题四

(一)选择题


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) 3 D) 4


5. 以下程序的运行结果是 。


main()


{ int a,b,d=241;


a=d/100%9;


b=(-1)&&(-1);


printf(“%d,%d”,a,b);


}


A) 6,1 B) 2,1 C) 6,0 D) 2,0


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. 以下程序的运行结果是 。


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,则以下程序的运行结果是 。


main()


{ int x,y;


scanf(“%d”,&x);


y=x>12 ? x+10 : x-12;


printf(“%d\n”,y);


}


A) 4 B) 3 C) 2 D) 0


9、若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是()。

A.switch (a+b); B.switch a

{ case 1: y=a+b; break; { case c1: y=a-b; break;

case 0: y=a-b; case c2: x=a*d; break;

break; default: x=a+b;

} }

C.switch (a*a+b*b) D.switch(a-b)

{ case 3: { default: y=a*b; break;

case 1: y=a+b; break; case 3: x=a+b; break;

case 3: y=b-a; break; case 10: case 11: y=a-b; break;

} }





10、有以下程序,程序运行后的输出结果是()。

#include ”stdio.h”

int main()

{

in

t a=15, b=21, m=0;

switch (a%3)

{ case 0: m++; break;

case 1: m++;

switch (b%2)

{ default: m++;

case 0: m++; break;

}

}

printf(”%d\n”,m);

return 0;

}

A.1 B.2 C.3 D.4


(二)程序阅读题



1.若运行时输入100↙,写出以下程序的运行结果。


#include

int main ( )

{ int a ;

scanf(“%d”,&a);

printf(“%s”,(a%2!=0)?”No”:”Yes”);

return 0;

}






2.写出以下程序的运行结果。


#include

int main ( )

{ int a=2,b=7,c=5;

switch (a>0)

{


case 1: switch (b<0)

{ case 1: printf(“@”); break ;

case 2: printf(“!”); break ;

}

case 0: switch (c==5)

{ case 1: printf(“*”) ; break ;

case 2: printf(“#”) ; break ;

default : printf(“#”) ; break ;

}

default : printf(“&”);

}

printf(“\n”);

return 0;

}


(三)程序填空题


1. 下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在【】内填空。

x
y

2x(x+2)

-11/x

x<=-1
x-1



#include ”stdio.h”

int main()

{

int x,y;

scanf(”%d”, &x);

if (【1】) y=x*(x+2);

else if (【2】) y=1/x;

else if (x<=-1) y=x-1;

else 【3】;

if (y!= -1) printf(”%d”,y);

else printf(”error”);

return 0;

}








2.以下程序输出x,y,z三个数中的最小值,请填空使程序完整。



#include

int main ( )

{ int x=4,y=5,z=8 ;

int u,v;

u = x
v = u
printf (“%d”,v);

}

以3、下程序实现这样的功能:商店卖西瓜,10斤以上的每斤0.15元,8斤以上的每斤0.3元,6斤以上的每斤0.4元,4斤以上的每斤0.6元,4斤以下的每斤0.8元,从键盘输入西瓜的重量和顾客所付钱数,则输出应付款和应找钱数。请在【】内填入正确内容。

#include ”stdio.h”

int main()

{

float weight, money, rate;

printf(”the paid money of the client is:”);

scanf(”%f”,&money);

printf(”the weight of the watermelon is:”);

scanf(”%f”,&weight);

if (【1】)

rate=0.15;

else if (weight>8)

rate=0.3;

else if (weight>6)

【2】;

else if (weight>4)

rate=0.6;

【3】

rate=0.8;

printf(”the account payable of the watermelon is %f\n”, weight*rate);

printf(”the change for client is %f\n”,money-weight*rate);

return 0;

}

4、以下程序完成两个数的四则运算。请在【】内填入正确内容。

#include ”stdio.h”

int main()

{

float x,y;

c

har operator;

printf(”please input the expression:”);

scanf(”%f%c%f”,&x,&operator,&y);

switch (【1】)

{ case ’+’: printf(”%g%c%g=%g\n”, x, operator, y, x+y);

【2】;

case ’-’: printf(”%g%c%g=%g\n”, x, operator, y, x-y);

break;

case ’*’: printf(”%g%c%g=%g\n”, x, operator, y, x*y);

break;

case ’/’: if (y==0.0)

printf(”除零错误!\n”);

else

printf(”%g%c%g=%g\n”, x, operator, y, x/y);

break;

【3】: printf(”表达式存在错误!\n”);

}

return 0;

}




(四)编程题


1. 1. 编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。


2. 编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。


------------------
因你而cool

相关文档
相关文档 最新文档