资源描述:
《高级语言程序设计c(2012级b卷)答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、wj@sxu.edu.cn程序设计基础1(2012级计科B卷)答案一、简答题(单选,每题5分,共15分)1、简述一个有效的算法应该具备哪些特点?(5分)答:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。2、何谓全局变量?何谓局部变量?当它们同名时编译器如何处理?分析使用全局变量的优劣。(5分)答:所谓全局变量:函数外面定义的变量称之为全局变量。函数内部定义的变量称之为局部变量。当它们同名时对局部变量的访问屏蔽了对同名的全局变量的访问。全局变量的使用,虽然丰富了函数与函数之间传递信息的手段,但是也违背了模块之间强内聚、弱耦合的程序设计原则。所以
2、,建议程序员尽量避免在程序设计中使用全局变量。3、何谓函数原型?简述函数调用的最基本的条件?何谓外部函数?何谓内部函数?(5分)答:函数原型即为对函数的说明。函数调用最基本的条件是:函数要有定义,同时必须满足先定义后应用的原则,如果是系统库函数还必须包含其相应的头文件。外部函数是:不仅能被本函数所在源程序文件中的函数所调用的,同时,还能被同一程序的别的源程序文件中的函数所调用。内部函数:只能被本函数所在源程序文件中的函数所调用的函数,在定义时使用”static”关键字。二、选择题(每题2分,共20分)1.已知intx=1,y=2,z=3;则z+=x>y?+
3、+x:++y的值是(D) A,2 B,4 C,3 D,62.已知inta[]={10,9,8,7,6},*p=a;则*(p+1)*(p+2)[2]的值是(C) A,72 B,80 C,54 D,有语法错误3.已知inti,j;表达式(j=i=5,i=j<=5+i>=3<=5)的值是(A) A,1 B,5 C,3 D,04.从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是(B) A,宏的使用节省了存储空间,函数消耗了时间;B,宏的使用耗费了存储空间,函数消耗了时间;C,宏的使用耗费了存储空间,函数节省了时间;D,宏的使用
4、节省了存储空间,函数节省了时间;5.一维指针数组名作为实参,若有以下说明: int*p[5]; .... sub(p); 则sub函数中对应的形参可以是(D)A. sub(int*p[5]);B. sub(int*p[]);C. sub(int**p);D. 以上答案都正确。6.C语言函数中的形参和在函数中定义的变量,都是在调用该函数时系统会给他们分配存储空间,在函数调用结束时就释放他们所占的空间,该说法(A) A、错误B、wj@sxu.edu.cn正确7.若有以下说明: union {intn[3];charch;floatf
5、;}a;如果a.n[0]的地址为:158,则a.ch和a.f的地址分别为(A)A、158,158 B、164,165C、159,160D、170,1718.程序的3种基本控制结构是(C) A、顺序,转移,选择;B、选择,I/O,递归;C、重复,选择,顺序;D、重复,递归,子程序。9.程序段:inta,b; scanf(“%d%d”,&a,&b); c=5*a+b;if(c==0)a=1;elsea=1/c+1/b;保证该程序段运行不出错的必要条件是(C)A、b>0B、a>0&&b>0C、b!=0D、c!=0&&b!=010.在进行文件操作时,写文件
6、的一般含义是(B) A、将磁盘中的信息存入计算机CPU;B、将计算机内存中的信息存入磁盘;C、将计算机CPU中的信息存入磁盘;D、将磁盘中的信息存入计算机内存。三、阅读程序,写出输出结果(共50分)1.写出下列程序的输出结果(5分) inta=1; main() {inta; for(a=1;a<10;a++) wj@sxu.edu.cn{sub(a++);printf(“%d”,a);}}sub(inta){a=a*a;return;}答案:2468102.写出下列程序的输出结果(5分) f(intx,inty) {intr; if(y
7、==1)r=x; elser=f(x,y-1)+x; returnr;}main(){inta=6,b=5;printf(“%d”,f(a,b));}答案:303.写出下列程序的输出结果(5分) func(int*s,int*y) {staticintt=3;*y=s[t];t--;}main(){inta[]={10,20,30,40},i,x=0;for(i=0;i<4;i++){func(a,&x);printf(“%d”,x);}printf(“”);} 答案:403020104.写出下列程序的输出结果(5分) intsum1(
8、intn) {intp=0,s=0,i; for(i=1;