main()
{float f1,f2,f3,f4; int m1,m2; f1=f2=f3=f4=2;
m1=m2=1; printf(“%d\\n”,(m1=f1>=f2)&&(m2=f3 7.#include “stdio.h” main() {int x=5,y=2; printf(“1:%d*”,!(y==x/2)); printf(“2:%d*”, y!=x%3)); printf(“3:%d*”,x>0&&y<0); printf(“4:%d”,x!=y||x>=y); } 8.#include “stdio.h” main() {unsigned int b=65535; printf(“%d”,b); } 9.#include “stdio.h” main() { int x=10,y=9; int a,b,c; a=(--x = = y++) ? - x: ++y; b=x++ ; c=y ; printf(“a=%d , b=%d , c=%d\\n” , a , b, c) ; } 10.#include “stdio.h” main() { int x=0,y=0,z=0; x=++y+(++z); printf(“%d,%d,%d*”,x,y,z); x=y+++z++; printf(“%d,%d,%d*”,x,y,z); x=--y+z--; printf(“%d,%d,%d*”,x,y,z); } 11.# include “stdio.h” main() {short i=-1; printf(“%d,%o,%x,%u\\n”,i,i,i,i); } 12.# include “stdio.h” main() {short i=1; printf(“%d,%o,%x,%u\\n”,i,i,i,i); } 13.# include “stdio.h” main() { char c=?A?; printf(“%d,%o,%x,%c\\n”,c,c,c,c); } 14.# include “stdio.h” main() {float f=3.1415927; printf(“%f,%5.4f,%3.3f\\n”,f,f,f); } 15.# include “stdio.h” main() {float f=3.5; printf(“%f,%g\\n”,f,f); } 16.# include “stdio.h” main() {float f=31.41592; printf(“%f,%e\\n”,f,f); } 17.# include “stdio.h” main() { char c=?A?+10; printf(“%c\\n”, c); } 18.# include “stdio.h” main() {int a,c; char b; scanf(“%d%c%d”,&a,&b,&c); printf(“%d,%c,%d \\n”, a,b,c); } 19.以下程序输入123456 {int a,b; char b; scanf(“- =”,&a,&b); printf(“%d, %d \\n”, a,b,); } 20.以下程序输入ABC { char c; scanf(“<”,&c); printf(“%c \\n”,c); } 21.以下程序输入100 { int n; scanf(“%o”,&n); printf(“%d\\n”,n); } 22.以下程序输入x=1.23,y=50 { float x,y; scanf(“x=%f,y=%f”,&x,&y); printf(“x=%7.2f,y=%7.2f”, x, y); } 五、编写程序 1.编写一个程序从键盘输入圆锥体的半径r和高度h,并计算其体积。 2.输入一个三位数n (例如672)把他倒着输出(如:输出276)。 3.用两个不同的程序,实现变量a与变量b之间值的交换。 第一部分 参考答案 一、单项选择 1.B 2.B 3.A 4.BA 5.D 6.B 7.A 8.C 9.B 10.BA 11.A 12. B 13.A 14. B 15.C 16.A 17.D 18.B 19 . C 20.A 21.B 22.A 23.C 24.A 25.D 26.D 27.D 28.D 29.C 30.B 二、填空 1.字母,数字,下划线, 下划线, 字母 2. main函数 3. 函数,函数体 4. main函数 5.整型,字符型,实型,float,double 6. 0,216-1 7. 0,0x 8. 7, 9.按位与,取地址,乘,取值 10. ()、! 、% 、+ 、& 、>> 、> 、 11. 1,2,2 12. 33 13. 744.9 14. 6,9 15. 1,1,0 1,0,0 16. MAYA ,35.175,12346 17. 12.77,A,79 18. 与0x00ff按位与 19. 交换a,b的值 20. 不能 21. (1) a*x*x*x+b*x*x+c*x+a (2)sqrt ( (a*a+b*b) / (a*b)) 22. 2,1,1*2,2,2*3,1,1* 23.FILE1.OBJ 24. #include 1.√ 2.√ 3.× 4.√ 5.× 6.√ 7.× 8.× 9.√ 10.× 11.× 12.× 13.√ 14.× 15.× 16.× 17.× 18.× 19.× 20.× 21.× 22.× 23.× 24.√ 25.× 26.× 27.× 28.√ 29.× 30.√ 四、阅读程序, 写出运行结果 1、2,1 2、6,8,6,7 3、n=1 4、n=-4 5、 x=3,a=2,b=3 6、0 7、1:0*2:0*3:0* 4:1 8、 –1 9、a=8,b=8,c=10 10、2,1,1*2,2,2*3,1,1* 11、 -1,177777,ffff,65535 12、1,1,1,1 13、 65,41,101,A 14、 3.141593,3.1416,3.142 15、 3.500000,3.5 16、 31.415920,3.14159e+01 17、 K 18、1, ,2 19、 12,345 20、 A 21、 64 22、 x= 1.23, y= 50.00 五.编程 1、 #include “stdio.h> main( ) { float r,h,pi=3.14.1,v printf(“圆锥半径,高度:”); scanf(“%f,%f”,&r,&h); v=pi*r*r*h/3; printf(“圆锥体积=%g\\n”,v); } 2、main( ) { int n; int a,b,c; printf(“输入一个三位数:”); scanf(“%d”,&n); a= n/100; b=n/10 ; c=n; printf(“%d%d%d”,c,b,a); } 3、方法一、 main( ){ int a,b,t; a=10; b=20; t=a; a=b ; b=t; } 方法二、 main( ){ int a,b; a=10; b=20; a=a+b; b=a-b; a=a-b; } 第二部分 算法 一、 单项选择 1.一个程序应包括以下两方面内容:一是对数据的描述,即指定数据类型和组织形式; 二是对操作的描述,即操作步骤,也就是 。 A 算法 B 数据结构 C 排序 D 模块化 2.传统流程图中 框的作用是对一个给定的条件进行判断,根据条件是否成立决 定其后的操作,他有一个入口和两个出口。 A B C D 3.伪代码是用介于自然语言和 之间的文字和符号来描述算法。 A 英语 B 计算机语言 C 传统流程图 D N-S流程图 4.采用以下方法可保证得到结构化的程序:① 自顶向下;② ;③ 模块化设计; ④ 结构化编码。 A 自下而上 B 逐步积累 C 逐步细化 D 整体规划 5.一个结构化的算法是由一些 结构顺序组成的;在它们之间不存在向前或向后 的跳转,流程的转移只存在于一个基本结构范围之内。 A 顺序 B 选择 C 循环 D 基本 6.在传统流程图中,表示输入输出应该使用 框。 A B C D 7.三种基本结构的特点之一是:每种基本结构 。 A 有多个入口和出口 B 有一个入口多个出口 C 各有两个入口和出口 D 只有一个入口和出口 8.对于某一个问题,它的算法 。 A 只有1种 B 有2种 C有3种 D 不唯一 二、 判断正误 1. 计算机算法可分为两大类:数值运算算法和非数值运算算法。 2. 一个算法所包含的操作步骤可以是有限的,也可以是无限的。 3. 一个算法中的某一步可以是不确定的,含义可以不唯一。 4. 一个算法可以有多个输入或没有输入,但不能没有输出。 5. 当型循环和直到型循环都是先判断给定的条件是否成立,成立时执行循环体,不成 立时退出循环结构。 6. 三种基本结构(顺序、选择、循环)的共同特点之一是:结构内的每一部分都有机 会被执行到。 7. 三种基本结构中的选择结构有一个入口多个出口。 8. 若某一个问题可以用直到型循环解决,那么它一定能用当型循环解决。 9. 若一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。 10. 用传统流程图表示的算法一定是一个结构化的算法。 11. 用N-S图表示的算法一定是一个结构化的算法。 三、 用传统流程图表示求解以下问题的算法 1.输入两个不同的数分别赋给A和B(若相同则重新输入),若A>B 则输出A和B,若A 2.计算从1开始的连续若干个自然数之和赋给S,当S大于3600时停止计算,然后输出S。 3.将100和200之间的能被3和7整除的数输出。 4.输入10个数,输出这些数的平均值。 四、 用N-S结构化流程图表示求解第三题的算法 第二部分 算法 参考答案 一 单项选择 1A 2D 3B 4C 5D 6C 7D 8 D 二 判断正误 1√ 2× 3× 4√ 5× 6√ 7× 8√ 9√ 10× 11√ 三 用传统流程图表示的算法 1. 开始 2. 开始 S=0 输入A、B N=1 是 A=B S=S+N N=N+1 否 A>B 否 否 S>3600 是 否 A 、 B 是 交换 输出S 输出 A、B 结束 结束