C语言上机报告五 循环结构程序设计,一维数组
1、上机内容
完成实验指导书P244实验5的实验内容(4),实验6的实验内容1,2。(先自己编程,答案见指导书的习题解答) 。
如果提前做完的话,请在课堂上完成上机作业二编程练习中的第二题,编写一个进制工具。
2、上机作业
一、完成下列选择题 (先自己判断,再上机验证) 1、以下程序段的输出结果: int a,b,c;
for (a=1;a<5;a++,a++)
{ b=1; for (c=a;c<5;c++) b+=c;} printf(“%d”,b); A. 9 B. 1 C. 8 D. 10
2、以下程序段的输出结果? int x=4;
do { printf(“%3d”,x-=3);} while (!(--x)); A. 1 B. 1 -3 C. 2 0 D. 死循环
3、以下程序段的输出结果: int y=8;
for(;y>0;y--){ if(y%3==0)
{printf(“%d”,--y); continue;} } A. 74 B. 52 C. 963 D. 852
4、以下叙述正确的是()
A while 语句构成的循环不能用其他语句构成的循环来代替 B do-while语句构成的循环只能用break语句退出。
C 用while 语句构成的循环,只有while后的表达式为非零才执行循环 D do-while语句构成的循环只有while后的表达式为零才结束循环
5 下列说法中正确的是________。
A、在switch语句中一定要使用break语句 B、在switch语句中不一定要使用break语句 C、break语句是switch语句的一部分 D、break只能用于switch语句中
6 一个完整的C源程序是________。
A、要由一个主函数(或)一个以上的非主函数构成
B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成 C、要由一个主函数和一个以上的非主函数构成 D、由一个且只有一个主函数或多个非主函数构成
7 语句: printf(\"%d\",(a=2)&&(b= -2);的输出结果是: A) 无输出 B) 结果不确定 C) -1 D) 1
8 在C语言程序中,当while语句构成的循环中的条件为______时,结束循环。 A、0 B、1 C、true D、非0
9 运行下列程序 ,输出结果为: int i,j,x=0;
for(i=0;i<2;i++) {x++;
for (j=0;j<=3;j++) {if (j%2) continue; x++;} x++;}
printf(“x=%d“,x);
A x=4 B x=8 C x=6 D x=12
10 下列程序的运行结果: void main() {
int i, k=1;
for(i=0;i-4;k*=i); printf(\"k=%d\\n\ }
A. 24 B. 6 C.2 D.死循环,无结果
二、编程练习,所有程序都需要画出程序的流程图。:
1. 青年歌手参加歌曲大奖赛,有10个评委打分(十分制),试编程求选手的平均得分(去掉一个最高分和一个最低分,精确到小数点后2位)。
2. 编写一个进制转换工具。将十进制数转制成二进制数。 提示:(1). 十进制转换成二进制数的算法:
用2辗转相除十进制数直至结果为1 将余数和最后的1从下向上倒序写
(2).定义一个数组,每次除2的余数存在数组元素中。最后的一个元素为1.
执行结果如下图所示。
(3)输出时,省略从左起第一个1前面的0, 只保留有效数字。结果如下图。写出实现该功能的程序。
4.有一组按从小到大顺序排列的数组,从键盘中输入一个数a,与数组元素比较。将它插入数组中,新的数组仍按从小到大的顺序排列。
算法1:参考实验指导书52页,每比较一次,就将a插入数组中,其后原有的元素后移。。
算法2:将a与数组元素逐个比较,找到a的位置。将a插入数组中,原有的元素向后移