安徽省年月二级C语言考试.doc
安徽省08年6月二级 C语言考试一、单项选择题每题1分,共40分1. 计算机能够自动工作,主要是因为采用了 。 A 二进制数制 B 大规模集成电路C 程序设计语言 D 存储程序控制原理2. 下列数值中最大的是 。 A 101102 B 1208 C 7010 D 3A163. 在计算机指令系统中,一条指令通常由 组成。A 数据和字符 B 操作码和操作数 C 运算符和数据 D 被运算数和结果4. 运算器主要由 组成。A 算术逻辑单元 B处理器 C 控制器 D 存储器5.下列关于Windows“回收站”的叙述中,不正确的是 。A“回收站”中的信息可以清除B “回收站”中的信息可以还原C “回收站”的大小可以设置 D “回收站”不占用硬盘空间6. 多媒体信息不包括 。A 文字、图形 B 音频、视频 C 光驱、声卡 D 影像、动画7. 学校机房的若干台计算机连接而成的网络通常属于 。A WAN B LAN C MAN D GPS8. FTP是 。A 发送电子邮件的软件 B 浏览网页的工具C 文件传输协议 D 聊天工具9. 下列关于计算机病毒的叙述中,不正确的是 。 A 计算机病毒只破坏硬件,不破坏软件B 计算机病毒是人为编写的一种程序 C 计算机病毒能通过磁盘、网络等媒介传播、扩散D 计算机病毒具有潜伏性、传染性和破坏性10. 下列关于算法的叙述中,正确的是 。A 算法就是对特定问题求解步骤的描述 B 算法就是程序C 算法就是软件 D 算法没有优劣之分11一个可编译运行C语言源程序中,。A主函数有且仅有一个 B可以有多个主函数C必须有除主函数以外的其他函数 D 可以没有主函数12结构化程序设计所规定的三种基本控制结构是。A输入、处理、输出B树形、网形、环形C顺序、选择、循环D主程序、子程序、函数13以下选项中合法的用户标识符是。AlongB_2testC3DmaxDfor14设有char a101,执行语句ia2*4,a5,a6;后,变量i的值为。A8B14 C40D4617设有以下变量定义,并已赋确定的值long w; int x; double y; 则表达式wx1/y值的数据类型为。AintBlongCfloatDdouble18以下选项中,与kn完全等价的表达式是。Akn,nn1B n n1, kn C kn1 D kn119设x,y,t均为int型变量,则执行语句xy0;tx y;后,y的值为。A0 B1C2D 不确定20若整形变量a,b,t已正确定义,现要将a和b中的数据进行交换,下面不正确的是。Ata; ab; bt;B ta, ab, bt;C at; tb; ba;D tb; ba; at;21设有float a2,b4,h3;,以下C语言表达式中与代数式 计算结果不相符的是。Aab*h/2 B 1/2*ab*h C ab*h*1/2 D h/2*ab22已知a,b,c为int类型,执行语句scanfad,bd,cd,a,b,c; ,若要使得a为1,b为2,c为3,则以下选项中正确的输入形式是。Aa1B1,2,3Ca1,b2,c3 D1 2 3 b2 c323对于以下形式if 表达式 语句;,其中的表达式。A只能是关系表达式B只能是关系表达式或逻辑表达式C只能是逻辑表达式D可以是任何表达式24若变量c为char类型,以下选项中能正确判断出c为数字字符的表达式是。A 0c9 B c0 c9C 0 c 9cD c0 c925下面有关for 语句的正确描述是。A for语句只能用于循环次数已经确定的情况B for语句是先执行循环体语句,后判断作为循环条件的表达式C在for语句,不能用break 语句跳出循环体D for语句的循环体中,可以包含多条语句,但必须用花括号括起来26能将两个变量x,y中值较小的一个赋给变量z的语句是。Aif xy zx;B if xy zy; Czxyxy; D zxyxy;27若有 char st1 1234561,2, 3,4, 5,6 Bint a 2 1,2,3,4; Cint a22 1,2,3 Dint a21,2,3,4;29执行下面程序include stdio.hinclude string.hmain char a21ABC6789; printfsn,s;则输出结果是。AABC6789B ABCC 6789D 6789ABC30在C语言程序中,关于函数说法正确的是。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的调用均可以嵌套31C语言程序中,调用函数时若实参是普通变量,则下面说法正确的是。A实参和形参各占独立的存储单元B实参和形参可以共用存储单元C可以由用户指定实参和形参是否共用存储单元D由计算机系统根据不同的函数数自动确定实参和形参是否共用存储单元32设程序中定义了以下函double myadddouble a, double b return ab; 如果在程序中需要对该函数进行声明,以下选项中错误的是。A double myadddouble a, b;B double myadddouble, double;C double myadddouble b, double a;D double myadddouble a, double b;33C语言中,若某变量在定义它的函数被调用时才被分配存储单元,则该变量的存储类别为。Astatic B externCauto或registe Dextern 或static34以下能使指针变量p指向a的正确选项是。A int a,*pa;B int a,pa;C int a,*p*a;D int a,*pa;35设有char str OlympicmB pC iD不确定的值36已知union int i;char c; float p;ex;则sizeofex的值是。A 1B 2C4D737设有struct student char name10; int age; char sex;stdLi Ming,19,M,*p;pstd;则下面各输出语句中错误的是。Aprintfd,*p.age;B printfd,p-age;Cprintfd, p.age;D printfd, std.age38以下关于typedef的叙述不正确的是。Atypedef不能用来定义变量B用typedef可以增加新类型C用typedef只是将已存在的类型用一个新的名称来代表D使用typedef便于程序的通用和移植39已知int x16;,表达式x2的值是。A64B32C8D440下列关于文件操作描述正确的是。A对文件操作必须先打开文件B对文件操作必须先关闭文件C对文件操作打开和关闭的顺序无关紧要D对文件操作打开和关闭的顺序取决于是读还是写操作二、填空题(每空2分,共20分)1设有int x; float y5.5;,则执行语句xy*3inty4;后,x的值是。2已知int x5,y3,z1;,则执行语句xyz;后,x的值是。3已知float f123.467;,则执行语句printf.2fn,f;后,输出结果是。4已知字符A的ASCII值为十进制65,变量c为字符型,则执行语句cA6-3cn,c;后,输出结果是。5已知int x0,y1,z2;,则执行语句if x z-1; if y z-2; printfdn,z;后,输出结果是。6有程序段char str ab07014ndn,strlenstr;执行后输出结果是。7已知int a10;,则代表数组a的首地址。8有函数调用语句fab,c,d,e;,则该调用语句中函数实参的个数是。9以下程序的输出结果为。include “stdio.h”define Sx,y x*yvoid main int a3,b2,c; cS2a,b;printf“d”,c;10已知int a331,2,3,4,5,6,7.8.9;,则**a21的值是。三、阅读理解题(每题4分,共20分)1以下程序的运行结果为。include stdio.hmain int i,a0,b0,c0; fori0;i5;iswitchi case 0a; case 1case 2b;break; defaultc; printfad,bd,cdn,a,b,c;2以下程序的运行结果为。include stdio.hmain int i,j,a103,4,5,6,7,8,9,10,11,12; fori0;i10;i forj2;jai;j if aij0 break; if jai printf3d,ai; printfn;3以下程序的运行结果为。include stdio.hint funcint n int s; if n1 s1; else s2*funcn-1; return s;main int i,s0; fori1;i5;i ssfunci; printfsdn,s;4以下程序的运行结果为。include stdio.hvoid funcint i static int x0; int y0; xxi; yyi; printfd,dn,x,y;main int i; fori10;i30;ii10 funci;5以下程序的运行结果为。include stdio.hmain char str Welcome to AnHui,*p; pstr; while *p0 if *pA *pZ *p*pa-A; p; printfsn,str;五、编程题(共20分)16分编写程序从键盘上任意输入3个学生的成绩,并按从大到小的顺序输出。27分编写程序输出下面图形要求用多重循环结构实现。*37分Fibinacci数列为1,1,2,3,5,8从第3个数开始,每个数都是前两个数的和。编写程序将Fibinacci数列前20项逆序存储在数组中并输出该和组。2008年6月安徽省计算机水平考试二级C语言试题参考答案一、单项选择题每题1分,共40分DBBADCBCAAACBAACDBACBCDBDCDDABAACDBCCBDA二、填空题每空2分,共20分117213123.474D5-3 677数组名a8398108三、阅读理解题(每小题4分,共20分)1 a1,b3,c22 3 5 7 113 s314 10,105 welcome to anui30,20四、编程题(共20分)1编写程序从键盘任意输入3个学生的成绩,并按从大到小的顺序输出。(6分)includestdio.hmain int a,b,c,t; scanf“ddd”,a,b,c;if ab ta;ab;bt;if ac ta;ac;ct;if bc tb;bc;ct;printf“d d dn”,a,b,c;2编写程序输出以下图形(要求用多重循环结构实现)。(7分)includestdio.hmain int k,j;fork1;k5;k forj1;jk;j printf ; forj1;j11-2*k;j printf*; printfn; 3Fibonacci数列为1,1,2,3,5,8,,从第三个数开始,每个数都是前两个数的和。编写程序将Fibonacci数列前20项逆序存储在数组中并输出该数组。(7分)includestdio.hmain int f20,k,t; f0f11; fork2;k20;k fkfk-1fk-2; for k0;k10;k tfk;fkf19-k;f19-kt; for k0;k20;k if k50 printfn; printf5d,fk;