1、二级C语言真题2004年9月答案真题 120一、选择题 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:C答案解析:本题考查十六进制与十进制之间的转换:A8=10*16+8*1=168; A4=10*16+4*1=164; C8=12*16+8*1=200; C4=12*16+4*1=196第2题:参考答案:D答案解析:DOS的文件系统采用树形结构,实现对磁盘上信息的快速存取与管理。第3题:参考答案:A答案解析:第4题:参考答案:B答案解析:在DOS环境下,PRN代表打印机,即为LPTl,只能用于输出;CON代表控制台,即键盘输出或屏幕输出;NUL代表空设备;LPT
2、代表打印机。第5题:参考答案:C答案解析:网络最基本的特征是资源共享。第6题:参考答案:B答案解析:磁盘处于写保护状态时,其中的数据只能进行读操作,不能删改。第7题:参考答案:A答案解析:从Windows环境进入MS-DOS方式后,要想返回Windows环境,可使用EXIT命令。第8题:参考答案:B答案解析:在Windows环境下,资源管理器左窗口的某文件夹左边标有“+”标记,说明该文件夹中含有子文件夹。若为“-”标记则表示该文件夹中不再包含子文件夹。第9题:参考答案:A答案解析:在Windows菜单中,暗淡的命令名项目表示该命令暂时不能使用。第10题:参考答案:C答案解析:在Windows环
3、境下,单击当前窗口中的按钮“x”,其功能是终止当前应用程序的运行,关闭当前窗口。第11题:参考答案:B答案解析:用C语言编写的代码程序是一个源程序,不可立即执行,必须经过编译器将其生成目标程序,然后经过连接之后才能生成可执行的代码。第12题:参考答案:C答案解析:结构化程序由三种基本结构组成,三种基本结构组成的算法可以解决任何复杂的问题。第13题:参考答案:C答案解析:选项A中两个变量的定义应当以逗号隔开;选项B中a和b应当分开赋值;选项D中变量类型不相匹配,b应当是指针型变量。第14题:参考答案:D答案解析:在C语言中,标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字
4、符必须是下划线或字母。第15题:参考答案:D答案解析:本题中仅选项D为合法的赋值语句,可以解释为w=(a= =b),即把逻辑运算a = =b的结果(真或假,即1或0)赋给整数w。第16题:参考答案:D答案解析:本题涉及运算符的优先级,见程序中,第一行为数据定义及初始化,第二行“+”的优先级高于“”所以,运行第二行后x的值为4,第三行中“”的优先级高于“+”,所以,先进行除法运算,再对n进行“+”运算,得出结果应为-4+84 = -2。第17题:参考答案:A答案解析:本题涉及到字符型变量可视为整形变量(范围为0254之间),还有+运算符的前置和后置的运算顺序。程序中第一行为数据定义及初始化,第二
5、行和第三行可以等价转化为以下五行:a=a+1pfintf(“c”,a);a的值为b;b=a;printf(“c”,b);b的值为最新的a的值,即为b; a=a+1;第18题:参考答案:C答案解析:以0为开头的整数表示八进制整数,所以按八进制输出时,m的结果为256,而根据十进制数和八进制数之间的转化,十进制数256转化为八进制数时,应该是400。第19题:参考答案:B答案解析:printf(“输出格式控制字符串”,输出变量列表);输出数据按照变量格式控制字符串输出,如果没有为变量指定格式字符串,此变量将不输出。第20题:参考答案:C答案解析:swltch分支结构程序中每一个分支(case)后应
6、有一个break语句跳出,否则程序会由符合条件的入点顺序执行,所以本程序中循环3次的入点分别为caseO、(default、case2,由于没有跳出语句,从进入点顺序执行,最后输出结果为000122。第21题:参考答案:C答案解析:本题选项C的数学含义为(xy) -10或者(xy)10,与|xy|b) if(bc) printf (“d”,(1+1); elsc Prantf(“d”, +d+1); printf(“d”,d); 最外层一个判断语句没有执行,所以,它所包含的判断语句也没有执行,仅执行了最后一个printf语句, 结果为2。第23题:参考答案:D答案解析:本题选项A、B和C均表示
7、在a非零的条件下输出x,在a为零的条件下输出y,而选项D正好相反。第24题:参考答案:D答案解析:由于程序中for循环没有条件,只有靠其内部的break跳转循环,但在循环执行二次之后,i的值变为3,会使循环一直执行if(i= =3| | i= =5)continue这条语句,使程序进入死循环。第25题:参考答案:B答案解析:本题选项A、C和D均能完成5!的计算,选项B不能完成此计算,因为在循环过程中,第一次循环都将结果重新初始化,最后得到结果为5。第26题:参考答案:A答案解析:本题涉及到字符型数据和整形数据(0-254)之间的互换关系,即字符型的数据在计算机内部是以整形数据存储的,值即为其A
8、SCII码值,本题把整数65,66当作字符输出,其对应的ASCII码为A和B。第27题:参考答案:B答案解析:选项A、C不能确定数组的大小,选项D初始化数据错误,因为多维数组初始化时,可以用一个把所有值包含,值之间用“,”分隔,如果是多维数组,在 中可包含第一维数量的,每 一个中包含第二维数量的值,如int a 3 4 = 1,2,3,4, 1,2,3,4, 1,2,3,4;第28题:参考答案:A答案解析:本题中循环条件为f(si),即f(si)的值为非零时执行此循环,而这个自定义函数的即为取2的模返回,只有奇数才返回非零值,所以最后循环执行了三次,d的值为s0,s1,s2三个值的和,即为9。
9、第29题:参考答案:B答案解析:本题中c是一个二维数组,p是一个含有5个元素的数组名和首地址,通过p可以检索数组的值。第30题:参考答案:C答案解析:程序中a,b的值都没有改变,所以最后两个输出值分别为7、8,程序中第三条语句执行了p 和q的值的改变,即将P、q中的值互换。第31题:参考答案:C答案解析:函数strcmp(s1,s2), 当s1与s2相同时,返回0,否则当s1s2时,返回正值,反之,返回负值第32题:参考答案:D答案解析:本题涉及指针运算,通过数据的指针取出其对应的值,语法为。 (p+n),其中n为数组元素的索引。第33题:参考答案:C答案解析:本题中第一行代码对指针P进行了初
10、始化,其指向数组a的第6个元素,在其后的操作中p的值也没有改变过,所以最后输出*p=* (p+0) =a 5 =6,而第二行代码中对q指向的值进行赋值,等价于*q=a10=11,所以输出结果*q为11。第34题:参考答案:C答案解析:本题中a为三维数组,其中a0,a1,a2分别代表它的三维(的首指针),p为一个一维指针数组,含有3个元素,每两行代码把数组的第二维的首指针赋值给指针数组的第一个值,所 以,* (p0 +1)即取p0所指数组的第二个值,即为数组a的第二维的第二个值,即为a1 1。第35题:参考答案:B答案解析:本题中str定义为一个二维字符数组,即为str2 10,也可以用str0
11、sr19来索引所有的字符值,p指向这个数组的首指针,那么p+10指向这个数组第二维的首指针,所以输出字符串为Beijng。第36题:参考答案:答案解析:本题中p为一个字符串的首指针,但循环开始时,它指向字符串s的第二个字符,而且每循环一次,指针向后移一位。第37题:参考答案:B答案解析:C语言中函数定义是互相独立的,函数和函数之间没有从属关系,一个函数即可以被其它函数调用,同时,它也可以调用别的函数,这就是函数的嵌套调用。函数的嵌套调用为自顶向下,逐步求精及模块化的结构化程序设计技术提供了最基本的支持。第38题:参考答案:D答案解析:本题中选项A、B和C把数值赋给指针,错误;第39题:参考答案
12、:A答案解析:全局变量说明为static存储类,其生命周期将得到延长,但作用域不能被扩大;static存储类变量在未赋初值时,是有默认值的,形参中的存储类说明符与局部变量完全相同。第40题:参考答案:A答案解析:四种位操作,只有第c1c2的结果返回都为0的二进制数,即为零。第41题:参考答案:D答案解析:返回指针的函数定义为:返回值类型,函数名( ),而指向函数的指针定义为:返回值类型(*变量名)( )。本题中函数fun返回一个无类型的指针。第42题:参考答案:B答案解析:C语言类型的字符串中“”为转义字符, n表示回车符,所以ps+4输出的是回车符后的字符串,即为No,* (ps+4) =
13、0把第5个字符赋为0,是字符串的结束符,所以最后输出的字符串第43题:参考答案:B答案解析:整数1在机内存储格式为11111111 11111111,若转化为无符号数,就是最大的无符号数,即65535。第44题:参考答案:C答案解析:程序运行结果是8 1 6 2。第45题:参考答案:D答案解析:通过结构体变量引用其成员用“.”,通过结构体指针引用其成员用“ ”,本题中选项A、B和C引用其成员变量都正确,选项D数组越界。第46题:参考答案:A答案解析:程序运行的输出结果是75310246。第47题:参考答案:A答案解析:本题中对文件fltxt打开,进行写操作,此文件原有内容被覆盖。第48题:参考
14、答案:C答案解析:CreateList( )函数在最后返回h,而h是structn。node*类型的变量。第49题:参考答案:A答案解析:结构体node的数据成员data的类型为char型,而s为传入的字符串第50题:参考答案:B答案解析:q为一个struct node *类型的变量,在程序中的作用为:临时保存链表末结点的指针,所以依题意,本题应该选B:二、填空题第51题:参考答案:8详细解答:微型机中,所谓微型机的位数,是指微机CPU一次能处理的位(bit)数,64位微机能同时处理64bit=8byte,即8字节的二进制数。第52题:参考答案:域名详细解答:Email地址由域名和用户名两部分
15、组成,它们之间用符号分隔,如support thinghuaeducn,其中“”之前的部分为用户名,“”之后的部分为域名。第53题:参考答案:标题栏详细解答:Windows窗口一般由标题栏、菜单栏、控制按钮等组成,用鼠标点击菜单栏可以操作实现软件的功能;控制按钮一般可实现最大化、最小化、关闭、担供帮助等功能;用鼠标拖动标题栏可以拖动窗体。第54题:参考答案:系统软件详细解答:计算机软件可以分为系统软件和应用软件,系统软件包括操作系统、数据库系统、编译系统等,而应用软件是第三方软件厂商基于一定的操作系统开发的实现某些特定功能的软件,如字处理软件、作图软件等。Unix属于操作系统,是系统软件。第5
16、5题:参考答案:print screen详细解答:在Windows环境下,为了将屏幕内容存入剪贴板,可以按PtintScreen键。第56题:参考答案:11详细解答:printf(“控制字符串”,变量列表)函数中,控制字符“。”表示结果以八进制输出,把10进制数9转化为八进制,结果为11。第57题:参考答案:25 21 37详细解答:整型常量中,以0开始的是八进制数,以0x开头的是十六进制的数,控制字符“d”表示以十进制整型输出,十进制数25、八进制数25、十六进制25转化为十进制数分别为25、21和37。第58题:参考答案:24详细解答:本题中循环的条件是i7和pi%2= =1,即当i增长时
17、,只要pi取2的模不为0,即跳出循环,偶数取2的模不为1,所以本题中循环仅执行两次,则j为p0 +p 1,但为24。第59题:参考答案:2 1详细解答:switch分支结构中,每个case语句后应有一个break语句跳出。本题中外层的switch分支中的第一个分支没有break语句,所以,外层分支事实上没有分支,是顺序执行的(因为x的值满足进入第一个分支的条件);第二个switch分支满足第1个case条件,此时a、b的值为1,0;再执行外层switch分支的第二个case语句,a、b均加1,最后a、b的值分别为2和1。第60题:参考答案:92详细解答:while (i+4) 等价于while(ia j I) k=j;把一列中值较小的一个元素的索引存储到k中,所以1填k i,2填返回值,右值为整型,所以应该填。sum,SnmColumMin( )函数第一个参数为数组aMN,第二个参数为一个整型指针,所以3填xMN,&s。更多试卷请见麦多课文库