江南大学现代远程教育2015计算机语言(C)第2阶段测试题2a

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

江南大学现代远程教育第二阶段测试卷考试科目:《计算机语言(C)》第7章至第9章(总分100分)时间:90分钟学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题2分,共30分)1.变量的有效范围与其定义位置有关,(B),其作用域在整个源程序文件中都有效。A.在第一个函数中定义的变量B.在定义第一个函数之前所定义的变量C.在主函数中定义的变量D.在函数中定义的静态变量2.C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是(C)。A.将串STR1复制到串STR2中后再连接至串STR3之后B.将串STR1连接至STR2之后再复制至串STR3之后C.将串STR2复制到串STR1串后再将串STR3连接到串STR1之后D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串3.以下正确的说法是(C)。A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准4.以下函数调用中有(A)个实参。expd((a1,a2,a3),(a4,a5),a7,a8)A.4个B.3个C.8个D.5个5.对于C语言的函数,下列叙述中正确的是(A)。A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套6.编译预处理包括(A)。A.文件包含、宏定义和条件编译B.构造工程文件C.语句注释D.编辑源程序7.以下叙述中不正确的是(C)。A.一个变量的作用域完全取决于变量说明语句的位置B.外部变量可以在函数以外的任何位置定义C.内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数下一次调用D.用static说明—个外部变量是为了限制其它编译单位的引用8.以下有关宏替换的叙述不正确的是(D)。A.宏替换不占用运行时间B.宏名无类型C.宏替换只是字符替换D.宏名必须用大写字母表示9.假设有宏定义:#defineNUM15#defineDNUMNUM+NUM则表达式DNUM/2+NUM*2的值为(C)。A.45B.67C.52D.9010.若有宏定义与变量说明如下:#defineX5#defineYX+1#defineZY*X/2inta;a=y;则执行以下printf语句后输出的结果是(A)。Printf(%d%d\n,Z,--a);A.75B.126C.125D.7611.若有变量说明:chars,s1[20];执行语句:s=student;s1=s;正确的叙述是:(A)。A.二个语句都不正确B.s所指向的字符串和s1的值都是studentC.第一个语句正确,而第二个语句不正确D.第二个语句正确,而第一个语句不正确12.C程序中若函数类型未加显式说明,则函数的隐含类型为(B)类型。A.voidB.intC.charD.double13.以下程序的运行结果是(C)。main(){inta=2,i;for(i=0;i3;i++)printf(%d,f(a));}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}A.777B.7□7□7C.789D.7□8□914.执行以下程序:main(){charstr[13];scanf(“%s”,str);printf(“%s\n”,str);}若输入数据为:abcd1234efgh则程序的输出结果是(C)。A.abcdB.abcd1234efghC.abcd1234D.abcd1234efgh15.对于extern型变量和static型变量的初始化(A)。A.在编译时进行B.在程序开始运行时进行C.在程序运行过程中使用到它们时进行D.不能确定在何时进行二、填空题(每空3分,共45分)1.有说明语句inta[10]包括了10个数组元素。2.在C语言中,二维数组元素在内存中的存放顺序是按行存放。3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是单向值传递。4.一个函数包含函数的首部和函数体两大部分,在函数名后面,语句括号之前说明的变量名称为形式参考;以extern开头进行的变量说明称为外部变量说明。5.下面程序实现用折半查找法找出所给的字符c是否在已知字符串str中。#include“stdio.h”main(){intbot=0,top=9,mid,flag=0;charstr[11]=”achklnprtx”,c;c=getchar();while((top-bot)=0){_mid=(top+bot)/2;if(b[mid]==c){flag=1;break;}elseif(b[mid]c)_bot=mid+1;else_top=mid-1;}if(_flag)printf(“%c字符在已知字符串中\n”,c);elseprintf(“%c字符不在已知字符串中\n”,c);}6.下面程序的功能是求1至1000之间满足“除3余0,且有一位是5”的数,例如15,45,51…且一行输出5个数,变量a,b,c分别存储百位,十位和个位。#includestdio.hmain(){intI=1,j=0,a,b,c;do{a=a=I/100;b=I%100/10;c=I%10;if(I%3==0&&(a==5||b==5||c==5)){printf(“%4d”,I);j=j+1;if(j%5==0)printf(“\n”);I++;}while(I1000);}7.执行以下程序后,输出的是22(所有编译系统传递函数参数的顺序为自右向左)。[程序]func(inta,intb){returna+b;}main(){intx=6,y=7,z;z=func(func(x++,y++),func(--x,--y));printf(%d,z);}三、编程题(25分)1.以下程序实现从键盘上输入年、月、日,计算该日是该年的第几天。(15分)2.画出排序算法的N-S结构流程图。(10分)

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功