您好,欢迎访问三七文档
《C程序设计》试卷第1页共9页东莞理工学院(本科)试卷(A卷)2009--2010学年第二学期《C程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带入场题序一二三四五六总分得分评卷人一、单项选择题(共40分每题1分)说明:答案必须填在答题卡的单项选择题部分,否则不得分。1.关于C程序的构成描述,是不正确的。A)一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。B)函数由函数首部和函数体两部分组成,二者缺一不可。C)函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,不管有无函数参数,函数名后的圆括号不能省。D)函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,不能为空。2.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,这三种基本的控制结构是指。A)分支结构、循环结构、函数结构B)顺序结构、选择结构、函数结构C)顺序结构、分支结构、循环结构D)以上描述都不正确。3.关于运行一个C程序的描述,是正确的。A)程序总是从main()函数开始运行,当main()函数执行结束时,程序也就执行结束。B)程序也可以从其他函数处开始运行,并在其它函数中执行结束。C)若程序中无main()函数,可以设置一个其他的控制函数来代替main()函数,实现程序的运行。D)以上描述都不正确。4.在C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,该符号是英文方式的。A)逗号B)句号C)分号D)单撇号5.下列关于C程序的运行流程描述,是正确的。A)编辑目标程序、编译目标程序、连接源程序、运行可执行程序。B)编译源程序、编辑源程序、连接目标程序、运行可执行程序。_____________________…姓名:学号:系别:年级专业:(密封线内不答题)……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………得分《C程序设计》试卷第2页共9页C)编辑源程序、编译源程序、连接目标程序、运行可执行程序。D)编辑目标程序、编译源程序、连接目标程序、运行可执行程序。6.下列关于C程序中复合语句的描述,是正确的。A)用一对圆括号“()”将若干语句顺序组合起来就形成一个复合语句。B)用一对大括号“{}”将若干语句顺序组合起来就形成一个复合语句。C)用一对大括号“[]”将若干语句顺序组合起来就形成一个复合语句。D)以上描述都不正确。7.描述或表示算法有多种方法,不是常用的表示方法。A)自然语句B)流程图或N-S图C)伪代码D)效果图8.在C语言中,对文件进行操作的正确步骤是。(1)使用fopen()函数以正确的方式打开文件。(2)使用文件读写函数完成对打开文件的读操作或写操作。(3)使用fclose()函数关闭文件。A)3—2—1B)1—2—3C)1—3—2D)2—1—39.下面四个哪一个是C语言正确的标识符。A)2xyB)xj_tempC)forD)a@163.com10.下面数据中属于字符型常量的是。A)ANDB)'\n'C)[ABC]D)'OR'11.C语言的数据类型包括基本数据类型、构造数据类型、指针类型和空类型,不是基本数据类型。A)intB)floatC)longD)charactor12.判定year是否闰年的C语言表达式是。说明:闰年是指能被4整除但不能被100整除,或能被400整除。A)(year%4==0&&year%100!=0)||(year%400==0)B)(year%4=0&&year%100!=0)||(year%400=0)C)(year%4==0andyear%100!=0)or(year%400==0)D)(year%4=0andyear%100!=0)or(year%400=0)13.C语言对嵌套if语句的规定是:else总是______配对。A)与之前最近的ifB)与其之前最近的且尚为配对的ifC)与缩进位置相同的ifD)与第一个if14.执行下列程序段后,输入1,则sum的值是。intop,sum;scanf(%d,&op);switch(op){case1:sum=sum+1;case2:sum=sum+2;case3:sum=sum+3;default:sum=sum+4;}A)1B)10C)9D)不确定《C程序设计》试卷第3页共9页15.执行下列程序段后,sum的值是。intsum;inta=10,b=9;sum=(a--==++b)?100:200;A)100B)101C)200D)20116.下面不正确的赋值语句是。A)a=1,b=a;B)a--;C)a/=b;D)a==b17.在for(表达式1;表达式2;表达式3)循环中,常用于表示循环条件判断。A)表达式1B)表达式2C)表达式3D)都不是18.结构是一种构造数据类型。下面定义了一个学生结构student及结构变量stud1:structstudent{longnum;//学号charname[20];//姓名floatscore;//成绩}stud1;正确使用结构变量stud1的语句是。A)scanf(%s,stud1.name);B)scanf(%s,&stud1-name);C)scanf(%s,stud1-name);D)scanf(%s,&stud1.name);19.staticinta[6]={1,2,3},则a[0]到a[5]各元素的值是。A)1,2,3,0,0,0B)1,2,3,3,3,3C)1,2,3,1,2,3D)1,2,3,a[3]到a[5]不确定20.关于C程序的文件包含命令#include的描述,是正确的。A)文件包含命令#include只能包含头文件(.h),不能包含源程序文件(.c或.cpp)。B)文件包含命令#include只能包含源程序文件(.c或.cpp),不能包含头文件(.h)。C)文件包含命令#include既可以包含头文件(.h),也可以包含源程序文件(.c或.cpp)。D)以上描述都不正确。21.从递归函数的程序设计角度看,必须把握两个关键点(即递归函数必须满足的两个条件),它们是。A)递归出口和递归公式B)递归入口和递归公式C)递归入口和递归出口D)以上描述都不正确。22.下列程序段执行后,z的结果是。#definep(x)x*xintx=5,y=3,z;z=p(x+y);A)64B)23C)46D)3223.有以下定义,且满足0i5,则是对数组元素地址的正确表示。inta[]={1,2,3,4,5},*p,i;p=a;A)&p[i]B)a++C)&pD)&(a+i)24.下列程序段执行后,i的值是。姓名:学号:系别:年级专业:(密封线内不答题)……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………《C程序设计》试卷第4页共9页inti=100,*p;p=&i;i=*p+10;A)80B)100C)90D)11025.如果有如下定义intm,n=5,*p;p=&m;则与m=n等价的语句是:。A)m=*p;B)*p=*&n;C)m=&n;D)m=**p;26.在数组名作函数实参时,传递给函数形参的是。A)数组首地址B)数组全部元素C)数组第1个元素D)数组最后一个元素27.下列的函数原型声明,是正确的。A)voidf(intx;inty);B)voidf(x,y);C)voidf(intx,y);D)voidf(int,int);28.以下错误的描述是______。A)break语句不能用于循环语句和switch语句外的任何其它语句。B)在switch语句中使用break语句或continue语句的作用完全相同。C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环。D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。29.以下四个关于C语言的结论中,只有一个是错误的,它是______。A)可以用while语句实现的循环一定可以用for语句实现B)可以用for语句实现的循环一定可以用while语句实现C)可以用do-while语句实现的循环一定可以用while语句实现D)do-while语句与while语句的区别仅是关键字“while”出现的位置不同30.字符串常量就是一对用双引号括起来的字符序列,它有一个结束标志是。A)\tB)\nC)\bD)\031.以下说法中正确的是_____。A、#define和printf都是C语句B、#define是C语句,而printf不是C、printf是C语句,#define不是D、#define和printf都不是C语句32.定义inti=1;,执行语句while(i++5);后,i的值为______。A)3B)4C)5D)633.下列文件包含命令#include,是正确的格式。A)#includestdio.hB)#includestdio.hC)#include'stdio.h'D)A、B都正确34.在C语言中,引用数组元素时,其数组下标的数据类型允许是_________。A)整型常量B)整型表达式C)整形常量或整形表达式D)任何类型的表达式35.与语句while(!x)等价的语句是______A、x==0B、x==1C、x!=0D、x!=1《C程序设计》试卷第5页共9页36.在C语言中,若对函数类型未加显式说明,则函数的隐含类型是______。A)floatB)doubleC)intD)void37.若二维数组a有m列,则在a[i][j]之前的元素个数为______。A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+138.下列关于C语言中的求n!的递归函数,是正确的。A)doublefact(intn)B)doublefact(intn){{doubleresult;doubleresult;if(n==1||n==0)result=1;if(n==1&&n==0)result=1;elseresult=n*fact(n-1);elseresult=n*fact(n-1);returnresult;returnresult;}}C)doublefact(intn)D)doublefact(intn){{doubleresult;doubleresult;if(n==1||n==0)fact(n)=1;if(n==1&&n==0)fact(n)=1;elsefact(n)=n*fact(n-1);elsefact(n)=n*fact(n-1);returnresult;returnresult;}}39.下列叙述中正确的是_____。A)函数定义不能嵌套,函数调用能嵌套B)函数定义和函数调用都不能嵌套C)函数定义能嵌套,函数调用不能嵌套D)函数定义与函数调用都能嵌套40.在C语言中,读操作和写操作是文件最基本的两个操作,在操作前都必须先用fopen()函数打开或新建文件,若要以文本文件的“读/写”方式且在C:根文件夹中新建一个f1.txt文件,正确的fopen()函数格式是。A)fopen(c:\\f1.txt,r+)B)fopen(c:\f1.txt,r+)C)fopen(c:\\f1.txt,w+)D)fopen(c:\f1.txt,w+)二、填空题(共10分每空1分)说明:答案必须填在答题卡的填空题部分,否则不得分。1.C语言中,关于运算符的优先级,总的原则是比双目运算符的优先级高。2.若有定义:inta,c;,则:printf(“%d\n”,c=(a=4*5,a*2,a+6));语句执行后变量c的值是。3.若有定义:chara;intb;floatc;则表达式a*b+3.0-c的值的类型是。4.scanf()、printf
本文标题:专业测试
链接地址:https://www.777doc.com/doc-5501371 .html