您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言笔试400题
1、C语言程序的基本单位是(C)A)程序行B)语句C)函数D)字符、2、C语言程序的三种基本结构是(A)A、顺序结构,选择结构,循环结构B、递归结构,循环结构,转移结构C、嵌套结构,递归结构,顺序结构D、循环结构,转移结构,顺序结构、3、C语言规定,程序中各函数之间(A)A)既允许直接递归调用也允许间接递归调用B)不允许直接递归调用也不允许间接递归调用C)允许直接递归调用不允许间接递归调用D)不允许直接递归调用允许间接递归调用4、C语言中可处理的文件类型是(B)A)文本文件和数据文件B)文本文件和二进制文件C)数据文件和二进制文件D)数据代码文件5、C语言可执行程序的开始执行点是(C)A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数6、C语言提供的合法的数据类型关键字是(B)A)doubleB)shortC)integerD)char7、C语言中,运算对象必须是整型数的运算符是(A)A)%B)\C)%和\D)**8、C语言中函数返回值的类型是由(D)决定A)return语句中的表达式类型B)调用函数的主调函数类型C)调用函数时临时D)定义函数时所指定的函数类型9、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为(D)A、该数组的长度。B、该数组的元素个数。C、该数组中各元素的值。D、该数组的首地址。10、C语言中数组下标的下限是(B)A、1B、0C、视具体情况D、无固定下限11、C语言中提供的合法关键字是(D)A、swithB、cherC、caseD、default12、C语言中文件的存取方式是(C)A、顺序存取B、随机存取C、顺序存取、随机存取均可D、顺序存取、随机存取均不可13、C语言中最简单的数据类型包括(B)A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型14、sizeof(float)是(C)A)一种函数调用B)一个不合法的表示形式C)一个整型表达式D)一个浮点表达式15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)A)inputx,y,z;B)scanf(%d%d%d,&x,&y,&z);C)scanf(%d%d%d,x,y,z);D)read(%d%d%d,&x,&y,&z);16、表达式:10!=9的值是(D)A)trueB)非零值C)0D)17、表示关系x=y=z的c语言表达式为(A)A)(X=Y)&&(Y=Z)B)(X=Y)AND(Y=Z)C)(X=Y=Z)D)(X=Y)&(Y=Z)18、程序片段:在TC20中,inti=65536;printf(%d\n,i);的输出结果是(B)A)65536B)0C)有语法错误,无输出结果D)-119、当调用函数时,实参是一个数组名,则向函数传送的是(B)A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值20、对嵌套子程序调用说法正确的是(C)A、外层子程序可以调用所有的内层子程序B、内层了程序只可以调用包含本身的外层子程序,不可以隔层调用C、外分程序必须能完全套住内分程序D、以上说法均不正确21、对于基类型相同的两个指针变量之间,不能进行的运算是(C)A)B)=C)+D)-22、合法的C语言中,合法的长整型常数是(A)A)'\t'B)AC)65D)A23、假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)A)3B)6C)10D)2024、假定有以下变量定义:intk=7,x=12;则能使值为3的表达式是(D)Ax%=(k%=5)Bx%=(k-k%5)Cx%=k-k%5D(x%=k)-(k%=5)25、请读程序片段(字符串内没有空格):printf(%d\n,strlen(ATS\n012\1\\));的输出结果是(C)A)11B)10C)9D)826、请选出合法的C语言赋值语句(B)A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b);27、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)A)-3B)9C)-12D)628、若int类型占两个字节,则以下语句输出为(D)intk=-1;printf(%d,u%\n,k,k);A、-1,-1B、-1,65536C、-1,32768D、-1,6553529、若变量a是int类型,并执行了语句:a=‘A'+1、6;,则正确的叙述是(D)A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上130、若变量已正确说明为float类型,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋于10、0,b赋予22、0,c赋予33、0,不正确的输入形式是(B)A)10B)10、0,22、0,33、02233C)10、0D)102222、033、03331、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(B)A)a0B)!aC)a=0D)a32、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(C)A)1B)2C)2、0D)2、533、若有定义:inta=8,b=5,c;,执行语句c=a/b+0、4;后,c的值为(B)A)1、4B)1C)2、0D)234、若有定义:intx,y;chara,b,c;并有以下输入数据(此处CR代表换行符,/u代表空格):1u2AuBuC则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D)A)scanf(x=%dy+%d,&x,&y);a=getchar();b=getchar();c=getchar();B)scanf(%d%d,&x,&y);a=getchar();b=getchar();c=getchar();C)scanf(%d%d%c%c%c,&x,&y,&a,&b,&c);D)scanf(%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);35、若有定义和语句:chars[10]:s=abcd;printf(%s\n,s);则结果是(D)(以下u代表空格)A)输出abcdB)输出aC)输出abcduuuuuD)编译不通过36、若有以下程序段,intc1=1,c2=2,c3;c3=1、0/c2*c1;则执行后,c3中的值是(A)A)0B)0、5C)1D)237、若有以下定义:chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为(D)A)floatB)intC)charD)double38、若有以下定义和语句charc1='b',c2='e';printf(%d,%c\n,c2-c1,c2-'a'+A);则输出结果是(B)A)2,MB)3,EC)2,ED)输出项与对应的格式控制不一致,输出结果不确定39、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是(A)A)3B)4C)5D)640、若执行下面的程序时从键盘上输入3和4,则输出是(B)A)14B)16C)18D)20main(){inta,b,s;scanf(%d%d,&a,&b);s=a;if(a41、若执行下面的程序时从键盘上输入5,则输出是(B)A)7B)6C)5D)4main(){intx;scanf(%d,&x);if(x++5)printf(%d\n,x);elseprintf(%d\n,x--);}42、若执行以下程序时从键盘上输入9,则输出结果是(B)A)11B)10C)9D)8main(){intn;scanf(%d,&n);if(n++43、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&&(n=cd)运算后,n的值为(C)A)0B)1C)2D)344、设inta=12,则执行完语句a+=a-=a*a后,a的值是(D)A)552B)264C)144D)-26445、设intb=2;表达式(b2)/(b1)的值是(A)A)0B)2C)4D)846、设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是________A)'a'&&'b'B)a=bC)a||b+c&&b-cD)!((a47、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为(C)A4B16C32D5248、设x=3,y=-4,z=6,写出表达式的结果(B)!(xy)+(y!=z)||(x+y)&&(y-z)A、0B、1C、-1D、649、设x和y均为int型变量,则以下语句:x+=y;y=x-y;y=x-y;x-=y;的功能是(D)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值50、设有intx=11;则表达式(x++*1/3)的值是(A)A)3B)4C)11D)1251、设有如下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1,42,y=5、2;则以下符合C语言语法的表达式是(A)A、a+=a-=(b=4)*(a=3)B、x%(-3);C、a=a*3=2D、y=float(i)52、设有如下定义:char*aa[2]={abcd,ABCD};则以下就法中正确的是(D)A)aa数组成元素的值分别是abcd和ABCDB)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址53、设有如下定义:intx=10,y=3,z;则语句printf(%d\n,z=(x%y,x/y));的输出结果是(D)A)1B)0C)4D)354、设有数组定义:chararray[]=China;则数组array所占的空间为(C)A)4个字节B)5个字节C)6个字节D)7个字节55、设有说明语句:chara='\72';则变量a(A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法56、设有以下语句:intx=03,y=02,z=01;那么语句printf(%d,x|y&~Z)的执行结果(C)(A)1(B)2(C)3(D)057、下列if语句中,不正确的是(C)A、if(xy);B、if(x==y)x+=y;C、if(x!=y)scanf(%d,&x)elsex=1;D、if(x58、下列变量定义中合法的是(A)A)short_a=1-、le-1;B)doubleb=1+5e2、5;C)longdo=0xfdaL;D)float2_and=1-e-3;59、下列标识符中不合法的是(D)A、s_nameB、_eC、foxD、3DS60、下列不正确的转义字符是(C)A)'\\'B)'\C)'074'D)'\0'61、请读程序:main(){inta=1,b=2;printf(%d\n,a=a+1,a+6,b+2);}则上面程序的输出结果是(A)A、2B、3C、4D、162、请读程序:inti=0,j=0,a=6;if((++i0)||(++j0))a++;printf(i=%d,j=%d,a=d%\n,i,j,a);则上面程序的输出结果是(B)A、i=0,j=0,a=6B、i=1,j=0,a=7C、i=1,j=1,a=6D、i=1,j=1,a=763、下列程序段的输出结果为(A)inty=1;while(y--);printf(y=%d\n,y);A、y=-1B、y=0C、死循环D、y=964、下列程序执行后的输出结果是(B)A)3B)6C)9D)随机数main(){inta[3][3],*p,
本文标题:计算机二级C语言笔试400题
链接地址:https://www.777doc.com/doc-4498249 .html