C期末考试试卷(B卷).pdf
华南农业大学期末考试试卷(B卷)2003-2004学年第2学期 考试科目:程序设计学号_ _ _ _ _ _ _ _ _ _ 姓名 年级专业_ _ _ _ _ _ _ _ _ _ _ 评阅人 成绩一、填空题(30分,每空2 分)1.结构化程序包含顺序结构、结构及及 结构等3 种基本结构。2.C 语言的基本整型变量在内存中占用 个字节,能表示的数值范围是o3.假设:int a=3;float b=2;则表达式 1.5+a/b 的值是。4.流程图的作用是 o5.C 语言的逻辑运算符包括 o6.能在循环体内部强行跳出循环的语句是 o7.假 设 int a105,数 组 a 有 一 个 元 素,其中,第 2 3 个元素的表示形式是。8 .在 声明的变量属于全局变量,它的有效范围是O9.假设a=,A,;b=,B,;c=b-a;则以整型数格式表示c 的值是。10.假设 char a10=abcd”;则 a4的 值 是。函数 strlen(a)的值是。二、写出程序运行结果(20分)程序1:main()char grade=B;switch(grade)case A:printf(excellencen);case B:printf(passn);case C:printf(failuren);default:printf(errorn);程序运行后显示:程序2:main()int i,s=l;for(i=0;i=10;i=i+2)s=s*i;printf(丐=%d,s=%dn”,i,s);程序3:main()inta5=l,3,5,7,9);int i,*p;P=a;for(i=l;i5;i+)*(p+i)=ai-l;for(i=0;i5;i+)printf(“a%d=%dn”,i,ai);)程序4:int f(int n)int x;if(n=2)x=l;elsex=f(n-l)+f(n-2);printf(un=%d,x=%dnM,n,x);return x;)main()printf(uthe f4=%dnM;f(4);程序运行后显示:程序运行后显示:程序运行后显示:三、程序填空(20分)1.如下是字符串处理的程序,该程序的意图是:从键盘上输入1个字符串,滤除该字符串所包含的空格(字符空格的ASC码是3 2),然后输出。main()char aOO;/*数组a 存 放 输 入 字 符 串*/char 1(100;/*数 组 b 存放滤除空格后的字符串*/inti,j;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;/*键盘输入字符串*/j=0;for(i=0;i+)if(ai!=32)bj=ai;bj=;printf(uthe result is”,b);2.以下是求圆周率的程序,计算公式是:当括号中的最后一项的绝对值小于等于1 0*时,忽略以后的项。main()double p,h/*变量b 表示括号中的运算项值*/int sgn,a;1*变量sign,a 分别表示括号中的运算项正负符号及分母值_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;/*给有关变量赋初值*/do b=;pi=pi+b;a=a+2;sign=;while(fabs(b);pi=pi*4;printf(uthe result is%fn”,);四、编程题(30分)1.键盘输入1 个数值不超过999的正整数,按照逆序打印该正整数的每位数字。2.求键盘输入的10个整数的均方差,计算公式是:程序要求如下:1)原始数据输入及计算结果输出由主函数实现,求均方差运算通过调用自定义的函数X 实现;2)求均方差函数X 的接口约定如下:以数组名为实际参数向函数传递数据,计算结果作为函数值返回。3.写出与题目提供的流程图相一致的C 程序段,要求:1)严格按照流程图所描述的算法编写程序,不 允 许“变通”;2)程序中的选择结构要求体现“逐层缩进一回复”的编程风格。