全国计算机等级考试二级C语言理论基础习.doc
全国计算机等级考试二级C语言理论基础习题第一部分 C语言理论基础(1)算法具有五个特性,以下选项中不属于算法特性的是 A)有穷性B)简洁性C)可行性D)确定性2 以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出3 用C语言编写的代码程序A 可立即执行 B 是一个源程序C 经过编译即可执行 D 经过编译解释才能执行 4 结构化程序由三种基本结构组成,三种基本结构组成的算法A 可以完成任何复杂的任务 B 只能完成部分复杂的任务C 只能完成符合结构化的任务 D 只能完成一些简单的任务 5 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是A 有零个或多个输入 B 有零个或多个输出 C 有穷性 D 可行性6 以下叙述中正确的是A C语言的源程序不必通过编译就可以直接运行B C语言中的每条可执行语句最终都将被转换成二进制的机器指令C C源程序经编译形成的二进制代码可以直接运行D C语言中的函数不可以单独进行编译7 以下叙述中正确的是A C语言比其他语言高级B C语言可以不用编译就能被计算机识别执行C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D C语言出现的最晚,具有其他语言的一切优点8 C语言中用于结构化程序设计的三种基本结构是A 顺序结构、选择结构、循环结构B if、switch、breakC for、while、do-whileD if、for、continue9 结构化程序设计所规定的三种基本控制结构是A 输入、处理、输出 B 树形、网形、环形C 顺序、选择、循环 D 主程序、子程序、函数10 要把高级语言编写的源程序转换为目标程序,需要使用A 编辑程序B 驱动程序 C 诊断程序 D 编译程序答案1B2C3B4C5B6B7C8A9C10D全国计算机等级考试二级C语言基本语法知识测试第二部分 C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下不能正确计算代数式 值的C语言表达式是A)1/3*sin1/2*sin1/2B)sin0.5*sin0.5/3C)powsin0.5,2/3D)1/3.0*powsin1.0/2,2(4)以下能正确定义且赋初值的语句是A)int n1n210; B)char c32;C)float ff1.1;D)double x12.3E2.5;(5)设有定义int k1,m2; float f7;,则以下选项中错误的表达式是A)kkkB)-kC)kintfD)kfm(6)有以下程序段int k0,a1,b2,c3;kab ba; kkc ck;执行该程序段后,k的值是A)3B)2C)1D)0(7)以下选项中可作为C语言合法常量的是 A)-80.B)-080C)-8e1.0D)-80.0e8.以下不能定义为用户标识符的是 A)MainB)_0C)_intD)sizeof9以下选项中,不能作为合法常量的是 A)1.234e04B)1.234e0.4C)1.234e4D)1.234e010有以下程序main int m12,n34; printfdd,m,n; printfddn,n,m;程序运行后的输出结果是 A)12353514B)12353513C)12343514D)1234351311若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式abacdcd的值 A1 B2 C3 D412下列选项中,不能用作标识符的是A _1234_ B _1_2 C int_2_ D 2_int_13有以下程序main int m3,n4,x; x-m; xx8/n; printfdn,x;程序运行后的输出结果是A 3 B 5 C -1 D -2 14以下符合C语言语法的实型常量是A 1.2E0.5 B 3.14.159E C .5E-3 D E1515 以下4组用户定义标识符中,全部合法的一组是A _main B If C txt D intenclude -max REAL k_2 sin turbo 3COM _00116 若以下选项中的变量已正确定义,则正确的赋值语句是A x126.83 B 12x2 C x30 x12 D x4123;17 设有以下定义int a0; double b1.25;char cA;define d 2则下面语句中错误的是A a; B b C c; D d;18设有定义float a2,b4,h3;,以下C语言表达式与代数式 计算结果不相符的是A aB *h/2 B 1/2*aB *hC aB *h*1/2 D h/2*aB 19 以下叙述中正确的是A C程序中注释部分可以出现在程序中任意合适的地方B 花括号“”和“”只能作为函数体的定界符C 构成C程序的基本单位是函数,所有函数名都可以由用户命名D 分号是C语句之间的分隔符,不是语句的一部分20 以下选项中可作为C语言合法整数的是A 10110B B 0386 C 0Xffa D x2a221 以下不能定义为用户标识符的是A scanf B Void C _3com_ D int22 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A xx*1000.5/100.0; B xx*1000.5/100.0;C xintx*1000.5/100.0; D xx/1000.5*100.0;23下列关于C语言用户标识符的叙述中正确的是A 用户标识符中可以出现在下划线和中划线(减号)B 用户标识符中不可以出现中划线,但可以出现下划线C 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头24下列关于单目运算符、的叙述中正确的是A 它们的运算对象可以是任何变量和常量B 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D 它们的运算对象可以是char型变量、int型变量和float型变量25 以下选项中合法的实型常数是A 5E2.0 B E-3C .2E0 D 1.3E26 以下选项中合法的用户标识符是A longB _2TestC 3DmaxD A.dat27 以下非法的赋值语句是A ni2,i;Bj;C i1;Dxj0;28 设a和b均为double型变量,且a5.5、b2.5,则表达式(int)ab/b的值是A)6.500000B)6C 5.500000D 6.00000029 与数学式子 对应的C语言表达式是A 3*xn2*x-1 B 3*xn2*x-1C 3*powx,n*1/2*x-1D 3*pown,x/2*x-130 若有以下程序main int k2,i2,m;mki*k;printf“d,dn”,m,i;执行后的输出结果是A 8,6 B 8,3C 6,4 D 7,431 以下选项中,与kn完全等价的表达式是A kn,nn1B nn1,knC knD kn132 若有定义int a8,b5,C;,执行语句Ca/b0.4;后,c的值为A 1.4 B 1 C 2.0 D 233 以下选项中不属于C语言的类型的是A signed short imt B unsigned long intC unsigned int D long short34 以下叙述正确的是A 可以把define和if定义为用户标识符B 可以把define定义为用户标识符,但不能把if定义为用户标识符C 可以把if定义为用户标识符,但不能把define定义为用户标识符D define和if都不能定义为用户标识符35 在C语言中,合法的长整型常数是A OL B 4962710C 324562 C xy; D cintab;39 设正x、y均为整型变量,且x10 y3,则以下语句的输出结果是pprintf”d,dn”,x,y;A 10,3B 9.3 C 9.2D10.240 以下程序的输出结果是main int a3;printf“dn”,aa-a*a ;A 6B12 C 0 D -1241 以下所列的C语言常量中,错误的是A 0 xFF B 1.2e0.5C 2L D 7242 下列选项中,合法的C语言关键字是A VAR B cher C integerD default43 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是A x/y*zB x*1/y*zC x/y*1/zD x/y/z44 若a为int类型,且其值为3,则执行完表达式aa-a*a后,a的值是A -3 B 9 C -12D 645 若变量已正确定义并赋值,下面符合C语言语法的表达式是A ab1 B abc2 C int 18.53 D aa7cb46 C语言中运算对象必须是整型的运算符是A B / C D 47 若已定义x和y为double类型,则表达式x1,yx3/2 的值是A 1 B 2 C 2.0 D 2.548 若变量a、iI已正确定义,且i已正确赋值,合法的语句是A a1B i; C aa5;D ainti;49 若有以下程序段,int c11,c22,c3;c31.0/c2*c1;则执行后,c3中的值是A 0 B 0.5 C 1 D 250 设有 int x11; 则表达式 x * 1/3 的值是 A 3 B 4 C 11 D 1251 下列程序的输出结果是 A 3 B 3.2 C 0 D 3.07 main double d3.2; int x,y; x1.2; yx3.8/5.0; printfd n, d*y; 52 下列变量定义中合法的是A short _a1-.le-1; B double b15e2.5;C long do0 xfdaL; D float 2_and1-e-3;53 以下选项中属于C语言的数据类型是A 复数型 B 逻辑型 C 双精度型 D 集合型54 在C语言中,不正确的int类型的常数是A 32768 B 0 C 037 D 0 xAF55 设x、y、z和k都是int型变量,则执行表达式xy4,z16,k32后,x的值为A 4 B 16 C 32 D 5256 设有如下的变量定义 int i8, k, a, b; unsigned long w5; double x1, 42, y5.2;则以下符合C语言语法的表达式是A aa-b4*a3 B x-3;C aa*32 D yfloati57 假定有以下变量定义 int k7,x12;则能使值为3的表达式是A xk5 B xk-k5 C xk-k5 D xk-k558 设x和y均为int型变量,则以下语句xy,yx-y;x-y;的功能是A 把x和y按从大到小排列 B 把x和y按从小到大排列C 无确定结果 D 交换x和y中的值59 以下程序的输出结果是A 10 10 B 12 12 C 11 10 D 11 13 main int a12,b12; printfd,dn,- -a, b; 60 在C语言提供的合法的关键字是A swicth B cherC CaseD default61 若已定义x和y为double类型,则表达式x1,yx3/2的值是A1 B2 C2.0 D2.562 C语言提供的合法的数据类型关键字是A Double B short C integer D Char63 在C语言中,合法的长整型常数是A 0L B 4962710 C 0.054838743 D 2.1869e1064 若有说明和语句 int a5; a; 此处表达式a的值是A 7 B 6 C 5 D 465 C语言中最简单的数据类型包括A 整型、实型、逻辑型 B 整型、实型、字符型 C 整型、字符型、逻辑型 D 整型、实型、逻辑型、字符型66 C语言中,运乍对象必须是整型数的运算符是A B C 和 D * *67 设有如下定义 int x10,y3,z; 则语句printfdn,zxy,x/y; 的输出结果是A 1 B 0 C 4 D 368 以下程序的输出结果是main int x10,y10;printfd dn,x,y; A 10 10 B 9 9 C 9 10 D 10 969 下列语句中符合C语言语法的赋值语句是A a7bca7; B a7ba7;C a7b,b,a7 D a7b,ca7;70 在C语言中,要求运算数必须是整型的运算符是A B / C D 71 请选出可用作C语言用户标识符的一组标识符A void B a3_b3 C For D 2adefine _123 -abcDOWORD IF Casesizeof72 设 int a12,则执行完语句 aa-a*a后,a的值是A 552B 264C 144D -26473 C语言程序的基本单位是A 程序行 B 语句 C 函数 D 字符74 请选出合法的C语言赋值语句A ab58 B i; C a58,b58 D kintab;75在C语言中,如果下面的变量都是int类型,则输出的结果是 。sumpad5; pAdsum ,pAd , pAd;printfdn,pad;A 7 B 6 C 5 D 476以下程序的输出结果是 。 include stdio.hmain int i010 , j 10;printfd,dn, i , j - -; A 11,10 B 9,10 C 010,9 D 10,9二、填空题(1)语句x;x; xx1;xlx; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 【1】 。2 若有定义int a10,b9,c8;接着顺序执行下列语句后,变量b中的值是 2 。ca-b-5;ca11b3;3 设x和y均为int型变量,且x1,y2,则以下表达式的值为【3】 。1.0x/y4 数学式子 写成C语言表达式是 【4】 。5 设a、b、c为整型数, 且a2、b3、c4, 则执行完以下语句a*16b-c;后,a的值是 【5】 。答案一、填空题01A02C03A04B05C06B07A08D09B10A11A12D13D14C15A16C17D18B19A20C21D22C23B24D25C26B27C28D29C30C31A32B33D34B35A36C37D38B39D40D41B42D43A44C45B46A47C48B49A50A51C52A53C54A55C56A57D58D59D60D61C62B63A64C65B66A67D68D69D70A71B72D73C74B75C76B二、填空题1x12331.04powsinx,2 * ab/a-b 或 sitx * sitx * ab/a-b528全国计算机等级考试二级C语言顺序结构输入与输出测试第三部分 顺序结构输入与输出一、选择题1有以下程序main int m,n,p; scanfmdndpd, printfdddn,m,n,p;若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 A)m123n456p789B)m123 n456 p789C)m123,n456,p789D)123 456 7892 有以下程序main int m0256,n256; printfo on,mn,n;程序运行后的输出结果是A 0256 0400 B 0256 256 C 256 400 D 400 400 3 有以下程序main int a666,b888; printfdn,a,b;程序运行后的输出结果是A 错误信息 B 666 C 888 D 666,888 4 有以下程序main int x102,y012; printf“2d,2dn”,x,y; 执行后输出结果是A 10,01 B 02,12 C 102,10 D 02,105 有以下程序main int a; char c10;float f100.0; double x;af/c*x6.5;printfd d 3.1f 3.1fn,a,c,f,x;程序运行后的输出结果是A 1 65 1 6.5 B 1 65 1.5 6.5C 1 65 1.0 6.5 D 2 65 1.5 6.56 有定义语句int x,y;, 若要通过scanfd,d,语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A 11 12回车 B 11,12回车C 11,12回车 D 11,回车12回车7 设有如下程序段int x2002,y;printfdn,x,y;则以下叙述中正确的是A 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B 运行时产生出错信息C 输出值为2002D 输出值为8若有以下程序段(n所赋的是八进制数)int m32767,n032767printfd,o/n,m,n;执行后输出结果是A 32767,32767B 32767,032767C 32767,77777D 32767,0777779若有以下程序段int m0 xabc,n0 xabc;m-n;printfXn,m;执行后输出结果是A 0X0B 0 x0C 0D 0XABC10 已知i、j、k为int型变量,若从键盘输入1,2,3回车,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A scanf“2d2d2d”,B scanf“d d d”,C scanf“d,d,d”,D scanf“id,jd,kd”,11 设有定义long x-123456L;,则以下能够正确输出变量x值的语句是A)printf“xdn”,x;B printf“x1dn”,x;C)printf“x8dLn”,x;D)printf“xLDn”,x;12 以下程序段的输出结果是int a1234;printf2dn,a;A 12 B 34 C 1234 D 提示出错、无结果13 x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A x、y、z;B scanf“ddd”,C scanf“ddd”,x,y,z;D read“ddd”,14 若变量已正确说明为float类型,要通过语句scanf“f f f ”,给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是A 10回车B 10.0,22.0,33.0回车22回车33回车C 10.0回车 D 10 22回车22.0 33.0回车 33回车15 有如下程序main0 int y3,x3,z1;printf“d dn”,x,y,z2;运行该程序的输出结果是A 3 4 B 4 2 C 4 3 D 3 316 下列程序执行后的输出结果是小数点后只写一位A 6 6 6.0 6.0 B 6 6 6.7 6.7C 6 6 6.0 6.7 D 6 6 6.7 6.0 main double d; float f; ling l; int i; if1d20/3; printfd ld f f n, i,l,f,d; 17 以下说法中正确的是A define和printf都是C语句 B define是C语句,而printf不是C printf是C语句,但define不是 D define和printf都不是C语句18 以下程序的输出结果是A 17,021,0 x11 B 17,17,17B 17,0 x11,021 D 17,21,11 main int k17; printfd,o,x n,k,k,k; 19 以下叙述中正确的是A 输入项可以是一个实型常量,如scakff,3.5;B 只有格式控制,没有输入项,也能正确输入数据到内存,例如scakfad,bd;C 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如scakf4.2f,D 当输入数据时,必须指明变量地址,例如scakff,20 若有以下定义和语句int u010,v0 x10,w10;printfd,d,dn,u,v,w;则输出结果是A
如果觉得《全国二级c语言库理论 全国计算机等级考试二级C语言理论基础习.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!