计算机二级C语言测试题含答案.doc
(第一章)1. 以下关于算法的描述不正确的是。A. 任何一个问题,它的实现算法是唯一的B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C. 算法的最终实现是计算机程序D. 正确性和清晰易懂性是一个好算法的基本条件2下面是一个加法程序,指出存在的逻辑错误和语法错误。/* 求整数a和b的和 */main int a,b; a8; b2000; printdn,a-b;3在每个C程序中都必须包含有这样一个函数,该函数的函数名为。Amain B. MAIN C. name D. function4以下叙述不正确的是。AC程序书写格式规定,一行内只能写一个语句Bmain函数后面有一对花括号,花括号内的部分称为函数体C一个C程序必须有main函数DC规定函数内的每个语句以分号结束5以下各标识符中,合法的用户标识符为_。AAC Bmystery Cmain Dab*6已知求解某问题的算法如下 输入a、b、c三个数。 将a和b比较,较大者放在a中,小者放在b中。 将a和c比较,较大者放在a中,小者放在c中。 将b和c比较,较大者放在b中,小者放在c中。 依次输出a、b、c。请根据上述算法描述,把算法的功能表达出来。【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。7一个C语言程序可以包括多个函数,程序总是按照如下_所描述的方式执行当前的程序。A从本程序的main函数开始,到本程序文件的最后一个函数结束。B从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。C从main函数开始,到main函数结束。D从本程序文件的第一个函数开始,到本程序main函数结束。8以下叙述正确的是_。A在C程序中,main函数必须位于程序的最前面。BC程序的每行中只能写一条语句。C在对一个C程序进行编译的过程中,可发现注释中的拼写错误。DC语言本身没有输入输出语句。 答案1. A2语法错误是print, 应该为printf;逻辑错误是a-b,应该为ab。3A 4A 5B6把任意输入的三个数a、b、c按降序排列的顺序输出。7C 8DC语言测试题(第二章)1C语言中的实数可以写成不同表示形式,下列表示形式中正确的是_。A5.4321 B5.43E2.1 Ce5.4321 De62下列程序执行后的结果是_。main int xf; printfcn, A-ax;3能正确表示数学描述中0a10的C语言表达式是。Aa0 xy2;xx-2yy1;printfd,y;A. 3 B. 2 C. 1 D. 07表达式int1.7*28/3-32的值是_。A. 2 B. 3 C. 4 D. 5答案1 A2 F3 C4 C5 A6 B7 BC语言测试题(第三章)1以下程序的输出结果是。main int k8765; printf*-06d*n,k;A输出格式描述符不合法 B*008765*C*8765* D*-08765*【答案】 C2有程序段如下int i;float f;scanfid,ff,若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为。A100765.12 Bi100,f765.12C100,765.12 Di100f765.12【答案】B3有程序如下main int i; float x,y; scanf2df*df, printfd,f,fn,i,x,y;执行该程序时,若按如下形式输入数据,则输出结果是。输入数据567890123445A56,789.000000,45.000000 B56789,123.000000,45.000000C56,789.000000,123.000000 D56,789.000000,123445.000000【答案】A4输入字母a时,下列程序的执行结果是。include stdio.hmain char ch; chgetchar; chachzputcharchA-aputcharch;【答案】输出大写字母AC语言测试题(第四章)1下面是由if构成的一个程序段 ifab ifdc x1;else x2;该程序段所表示的逻辑关系对应的表达式是。A. B. C. D. 2以下程序的运行结果为。main int x2,y-1,z2; ifxy /* 第一个if */ify0 z0; /* 第二个if */ else z1; printfdn,z;A3 B2 C1 D03有程序段如下int a1,b2,c3;ifab ca; ab; bc;执行该程序段后,变量a、b、c的值是。Aa1,b2,c3 Ba2,b3,c3Ca2,b3,c1 Da2,b3,c24有程序如下 include stdio.hmain int c; whilecgetcharn switchc-2 case 0 case 1putcharc4; case 2putcharc4;break; case 3putcharc3; defaultputcharc2;break; printfn;若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为。输入数据2473A668977 B668966C66778777 D66887665执行下面的程序段后,a和b的值分别为。int a3,b5,c;cabab;A3,2 B3,3 C4,4 D4,5答案1 D2 B3 B4 A5 BC语言测试题(第五章)1有程序段如下int k10;whilek0 kk-1;则下面描述中正确的是。A语句“kk-1;”被执行10次 B语句“kk-1;”被执行无限多次C语句“kk-1;”一次也不执行D语句“kk-1;”只执行一次2有程序段如下int k10;do kk-1;whilek0;则下面描述中正确的是。A语句“kk-1;”执行1次 B语句“kk-1;”执行10次C语句“kk-1;”执行11次D语句“kk-1;”执行12次3下面是一个程序段 int x,y;fory1,x2;y50;y ifx10break; x5;执行该程序段后,x值为。 A 2 B 7 C 12 D 154有程序段如下 int i,j;fori5;i;i forj1;j5;j 假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为。A. 20 B. 24 C. 25 D. 305下面是一个循环控制程序include stdio.hinclude math.hmain float x,y,z; scanff,f, zx/y; while1 iffabsz1.0 xy; yz; zx/y; else break; printf5.2fn,y;运行该程序,按如下形式从键盘输入数据,程序的数出结果是。键盘输入数据3.6,2.4A. 1.50 B. 1.60 C. 2.0 D. 2.40答案1 C 2 C 3 C 4 A 5 BC语言测试题(第六章)1若有数组定义int m21,3,5,7,9,则以下叙述正确的是。A该定义存在语法错误B该定义等价于int m321,3,5,7,9C该定义等价于int m21,3,5,7,9D该定义等价于int m221,3,5,7,92对两个数组a和b进行如下的初始化char aa,b,c,d,e,f;char babcdef;则以下叙述正确的是。Aa数组与b数组完全相同 Ba数组与b数组具有相同的长度Ca数组和b数组的最后一个字符都是字符串结束标志符0Da数组的长度比b数组的长度小3下面程序的功能是输出数组s中最大元素的下标。请在横线上填上适当的内容,使它能得出正确的结果。main int k,p,s1,-9,7,2,-10,3; forp0,kp;p6;p ifspsk; printfdn, k;4下面程序的功能是将一字符串中的小写英文字母全部改成大写形式,然后输出。请在横线上填上适当的程序代码,使它能输出正确的结果。include stdio.hmain int i0; char str80; scanfs,str; while if stri stri-32; ; printfsn, str; 5下面程序的功能是将一个字符串str的内容颠倒过来。请在横线上填上适当的内容,使它能输出正确的结果。include string.hmain int i,j, ; char strabcdefghijk; jstrlenstr ; fori0;ij;i,j kstri; stristrj; strjk; printfsn,str;答案1 B2 D3 kp4 stri 0 或简写成stri stri a stri z i 或 i 或 ii1 或 i15 k -1。C语言测试题(第七章)1以下代码用来对函数进行定义,正确的函数形式是。A. double funint x,int y zxy;returnz; B. funint x,y int z; return z; C. double funint x,int y double z; zxy;return z; D. funx,y int x,y;double z; zxy;return z; 2有下列函数调用语句,函数fun1的实参个数是。fun1ab,y9,y*x,fun2y,n,k;3下列函数调用错误的是。Amaxa,b Bax3,ab Cmax3,5 Dfloat maxc,54在C程序中,下面描述正确的是。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数调用都可以嵌套D函数的定义和调用都不可以嵌套5下列关于参数的说法正确的是。A实参和与其对应的形参各占用独立的存储单元B实参和与其对应的形参共用一个存储单元C形参是虚拟的,不占用存储单元D只有当实参和与其对应的形参同名时才共用存储单元答案1 C2 A3 D4 B5 AC语言测试题(第八章)1有如下定义int k2; int *ptr1下面不能正确执行的赋值语句是。A. k*ptr1*ptr2; B. ptr2k;C. ptr1ptr2; D. k*ptr1**ptr2;2若有如下定义char s20,*pss;则,以下赋值语句正确的是。A. spss; B. psps20; C. s5ps9; D. pss0;3以下程序的运行结果是。main static int arr6,7,8,9; int i; fori0;i4;i printfd,*arri;4以下程序的输出结果是。main char *sone,two,three,*p; ps1; printfc,sn,*p1,s0;A. n,two B. t,one C. w,one D. o,two5以下程序运行时,若输入数据为171819,则程序的输出结果为。incliude stdio.hvoid rcircleint *p1,int *p2,int *p3;void main int a,b,c; int *p1,*p2,*p3; printfEnter three integers; scanfddd, p1p2p3 rcirclep1,p2,p3; printf5d5d5dn,a,b,c;void rcircleint *pr1,int *pr2,int *pr3 int temp; temp*pr3;*pr3*pr2;*pr2*pr1;*pr1temp;答案1 B2 C3 67894 C5 19 17 18C语言测试题(第九章)1关于结构体类型的定义,下列描述正确的是。A. 定义结构体类型时,系统会根据各个成员的大小为其分配内存空间。B. 定义结构体类型时,系统会根据最大成员的大小为其分配内存空间。C. 定义结构体类型时,不会产生内存分配。D. 以上说法都不对。2以下各项用于定义结构体类型,并定义结构体变量,其中正确的是。A. struct student B. struct student stu1,stu2; char num5; struct student int score; char num5; ; int score; student stu1,stu2; ; C. struct student D. struct student char num5; char num5; int score96; int score; ; ; struct student stu1,stu2; struct student stu1,stu2;3以下形式定义了结构体变量member,对其成员name的引用有多种形式。在下面的引用形式中,错误的是。struct char name10; int age;member,*p;A. member.name B. nameC. p-name D. *p.name4下面的程序运行后的输出结果为。struct stu int num; char name10; int agevoid funstruct stu *p printfsn,*p.name;main struct stu students39801,Zhang,20,9802,Wang,19,9803,Zhao,18; funstudents1;5有程序如下include stdio.hstruct date int year,month,day;today;void main printfd,dn,sizeofstruct date,sizeoftoday;该程序执行后输出的结果是。A. 2,2 B. 6,2 C. 6,6 D. 2,6答案1 C2 D3 B4 Wang5 CC语言测试题(第十章)1已知fp为文件类型指针,若要打开e盘text文件夹(目录)下的word.dat文件,下面各选项中正确的是。A. fpetextword.dat,r B. fpetextword.dat,rC. fpetextword.dat,r D. fpetextword.dat,r2使用fclosefp函数正常关闭fp文件后,函数fclose的返回值是。A. 1 B. 0 C. 1 D. 非零值3函数调用fseek fp,-20L,2的含义是。A. 将文件位置指针移到距离文件头20个字节处B. 将文件位置指针从当前位置向后移动20个字节C. 将文件位置指针从文件末尾处向文件头方向移动20个字节D. 将文件位置指针移到离当前位置20个字节处4有如下定义struct stu a20; FILE *fp;设文件中以二进制文件格式存放了5个班的学生数据,且文件已打开,fp指向文件头。若要从文件中读出20个学生的数据放入a数组中,以下语句不正确的是_。A. fori0;i20;i freadB. fori0;i20;i freadai;sizeofstruct stu,1L,fp;C. freada,sizeofstruct stu,20L,fp; D. fori0i20;i freadai,sizeofstruct stu,1L,fp;答案1 D2 B3 C4 DC语言测试题(第十一章)1以下程序的运行结果是_。define N 4define M N2define K M*M/2main int i; iNMK; printfdn,i;2以下程序的输出结果是。define Tx,y xyxymain int i,j,k; i10,j15,k10*Ti,j; printfdn,k;A. 15 B. 100 C. 10 D. 1503在下面的宏定义中,能将宏调用Mab展开为ab*ab的宏定义是。A. Mxx*x B. Mxx*xC. Mxx*x D. A,B,C都可以4以下程序的执行结果是。include stdio.hdefine PI 3.14define R 5define K 1main if K printf6.2f,2*PI*R; else printf6.2f,PI*R*R; endifA. 31.40 78.50 B. 78.50 31.40 C. 31.40 D. 78.50 5在下面程序的横线位置填上合适的代码,使程序能够正常运行。typedef struct char title20; float price;BOOK;main _; scanfsf,variable.title, printfTitle s price 6.2fn,variable.title,variable.price;答案123 2A 3C 4 C 5 BOOK variableC语言测试题(第十二章)1C对C语言作了很多改进,下列描述中使得C语言发生了质变,从面向过程变成了面向对象。A. C增加了一些新的运算符。B. C允许函数重载,并允许设置缺省参数。C. C允许在使用变量之前的任何位置对变量进行说明。D. C引进了类和对象的概念。2下列描述中,错误的是。A. C的内联函数主要解决程序的运行效率问题。B. C的内联函数通常用于处理比较复杂的问题。C. C内联函数中可以包括各种语句。D. 除需要使用inline关键字说明外,内联函数与其它函数的定义没有区别。3C中,以下对函数参数默认值设置正确的是。A. int sumint a20,int b,int c10; B. int sumint a,int b20,int c10;C. int sumint a20,int b int c; D. int sumint a20,int b10,int c;4以下是一些函数的原型说明,关于函数重载的描述,不正确的是。第一个函数float calculatdouble,float,float;第二个函数float calculatfloat,float,int,int;第三个函数void calculatfloat,float,int,int;第四个函数float calculatfloat;A. 第一个函数和第二个函数可以重载B. 第一个函数和第三个函数可以重载C. 第二个函数和第三个函数可以重载D. 第三个函数和第四个函数可以重载5以下内联函数定义中,被系统视为无效的内联函数是_。A. inline int max2int a,int b B. inline int max3int a,int b,int c returnabab; returnababcababc; C. inline int sumint n D. inline int max3int a,int b,int c int i,s0; int s; fori1;in;issi; s a*ab*bc*c; returns; returns; 答案1 D2 B3 B4 C
110

被折叠的 条评论
为什么被折叠?



