一、选择题
1、在C语言中,执行下面语句后,输出的结果是(?C )
int x=10,y=3; printf("%d\n",y=x/y);
A. 0
B. 1
C. 3 D、不确定的值
2、在C语言中,假定所有变量均已正确说明,下列程序段运行后x的值是( B )
a=b=c=0;x=99;
if(!a) x=9;
else x=3;
A. 99
B. 9
C. 100
D. 3
3、在C语言中,执行语句:for (i=1; i<4; i++);后,变量i的值是( B )
A. 3
B. 4
C. 5
D. 不定
4、设int k;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数分别是 A
A. 无限和0
B. 0和无限
C. 都是无限
D. 都是0
5、对于for(表达式1;;表达式3)可理解为( B )
A. for(表达式1;0;表达式3)
B. for(表达式1;1;表达式3)
C. for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
6、下列循环体执行( D )次
k=70;
while(k=0) k-=1;
A. 70次
B. 69次
C. 无限次
D.0次
7、下列循环体执行( D )次
for(i=1;i<5;i++)
for(j=1;j<5;j++) printf("*\n");
A. 4次
B. 5次
C. 8次
D.16次
8、下面的for循环最多可执行( A )次。
for(x=0,y=0;(y!=99)&&(x<4);x++);
A. 4次
B. 5次
C. 99次
D.0次
9、下列判断char类型变量C1是否为数字的表达式中,哪个表达式最简单且正确。
( B )
A. '0'<=C1<='9'
B. (C1>='0')&&(C1<='9')
C. (C1>=0)&&(C1<=9)
D. ('0'<=C1)||('9'>=C1)
二、编程题
1、 在一行连续显示50个字符’A’
2、求[100,5000]之间同时满足除以8余6,除以6余4,除以4余2的所有整数。
3、输入两个正整数m和n,求其最大公约数和最小公倍数。
4、求2000以内所有完数之和,"完数"是指:一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:6=1+2+3,则6就是一个完数。
5、一球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第15次落地时,反弹多高?
6、用迭代法求x=。
求平方根的迭代公式为:x0=x; x=(x+a/x)/2; x的初值为a/2,直到fabs(x-x0)小于0.00001为止。
7、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。
例如:2+22+222+2222+22222(n=5),n由键盘输入。
8、求解100到200之间的所有素数。
(循环嵌套,标志的使用)
9、两个乒乓球队比赛,各出3人。
甲队3人为A、B、C,乙 队3人为X、Y、Z。
已抽签决定比赛名单。
有人向队员打 听比赛名单,A说他不和X 比,C说他不和X、Z比,请编 程找出3对赛手的名单。
课后思考题:
1、30元钱换成1元、2元、5元的票面,问有多少种不同的兑换方法?输出所有的兑换方法。
2、求区间[20,3000]中所有回文数,回文数是正读与反读都是一样的数,如424,1551。