共4页第-1-页西电公司机电学院西安技师学院2012~2013学年第二学期期末考试《c语言程序设计》试卷(补考卷)适用班级:14G电维1、2、5、6、14G楼宇班2013年6月题号一二三四五六总分得分一、填空题(每空2分、共40分)1.数组类型说明由、和三部分组成;又称为下标变量。2.有数组定义:chararray[]=”hello”;则数组arrar所占的空间为个字节。3.一个c语言程序由一个或多个组成,一个源程序文件又由一个或多个组成。4.从用户使用角度看,函数有和两种,从函数的形式上看,函数又分为和。5.c语言规定,实参变量对形参变量的数据传是。6.同变量一样,函数的调用也应遵循的原则。7.c语言中不允许作嵌套的函数定义,但允许函数的和调用。8.根据变量作用域的不同,程序中的变量分为和;外部变量都是。9.在c语言中,以开头的行称为编译预处理命令行。10.c语言使用指针的主要目的是。二、判断题(每小题2分、共20分)1.使用strlen函数可以求出一个字符串的实际长度(包含‘\0’字专业学号姓名密封线班级共4页第-2-页符)。()2.使用strcpy函数可以实现两个字符串的复制。()3.如有定义chara[20];则可以通过a=“Iamaboy”;给a赋值。()4.C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值。()5.构成数组的各个元素可以有不同的数据类型。()6.若有说明:inta[10];,则可以a[10]引用数组a的第10个元素。()7.一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组。()8.在C语言中,允许用字符串来直接初始化字符数组。()9.在C函数中,形参可以是变量、常量或表达式。()10.在C语言中,函数体中变量的隐含存储类别是自动变量auto。()三、选择题(每小题2分、共20分)1.下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套2.构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数3.某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行4.以下能正确定义数组并正确赋初值的语句是:()A.intN=5,b[N][N];B.inta[1][2]={{1},{3}};C.intc[2][]={{1,2},{3,4}};D.intd[3][2]={{1,2}{3,4}};共4页第-3-页5.在C语言中,引用数组元素时,其数组下标的数据类型允许是:()。A.字符常量B.浮点型常量C.整型常量或整型表达式D.任何类型的表达式6.在一个函数内部定义的变量是:()A.简单变量B.局部变量C.全局变量D.标准变量7.当调用函数时,实参是一个数组名,则向函数传送的是:()A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值8.若有宏定义“#definePI=3.14159”,且在程序中有语句s+PI;其中宏名PI代替的是:()A.PI的值B.3.14159C.=3.14159D.宏定义错误,编译通不过9.以下正确的描述为()A.每个C语言程序必须在开头使用预处理命令#includestdio.hB.预处理命令必须位于C源程序的首部C.在C语言中预处理命令都以“#”开头D.C语言的预处理命令只能实现宏定义和条件编译的功能10.下面是对宏定义的描述,不正确的是()。A、宏不存在类型问题,宏名无类型,它的参数也无类型B、宏替换不占用运行时间C、宏替换时先求出实参表达式的值,然后代入形参运算求值D、其实,宏替换只不过是字符替代而已四、程序分析题(每小题5分、共10分,描述程序功能并写出程序执行结果)1.main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i3;i++)for(j=i;j=i;j++)t=t+b[i][b[j][j]];共4页第-4-页printf(%d\n,t);}2.voidfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,z);printf(%d,/%d,%d\n,x,y,z);}五、编程题(共10分)求一个3×3矩阵主对角元素之和。共4页第-5-页