您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 北京林业大学c语言题库上机题一
1.以下正确的叙述是()。A输入项可以为一个实型常量,如scanf(%f,3.5);B只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);C当输入一个实型数时,格式控制部分应规定小数点后位数,如scanf(%4.2f,&f);D当从键盘输入数据时,必须指明变量的地址,如scanf(%f,&f);2.已知:int*p,a;则语句p=&a;中的运算符&的含义是()。A位与运算B逻辑与运算C取指针内容D取变量地址3.对于C语言函数,下列描述中正确的是()。AC函数既可以嵌套定义又可以嵌套调用B函数必须有返回值,否则函数将无法使用C在C程序中,调用函数时,只能将实参的值传递给形参,形参的数值不能传递给实参D一个C程序中,存在调用关系的所有函数必须放在同一个源程序文件中4.下面正确的描述是()。A两个字符串所包含的字符个数相同时,才能比较字符串B字符个数多的字符串比字符个数少的字符串大C字符串STOP_与STOP相等(注:_表示空格)D字符串That小于字符串The5.设程序中定义了变量x和y,x赋值是-1,y赋值是-2,执行下列语句后,x的值不为0的程序段是()。Aif(!(x+1))x+=1;elsex-=1;Bif(x==y)y=x+1;else{y+=1;x-=y;}Cif(x==0)printf(%d,x=y-2);elseprintf(%d,x=y+2);Dif(xy&&x==y)x+=1;y+=2;6.已知教师记录描述为:structteacher{intid;charname[10];struct{inty;intm;intd;}birth;}t;将变量t中的d成员赋值为12的语句是()。Ad=12;Bbirth.d=12;Ct.d=12;Dt.birth.d=12;7.C语言中的函数()。A可以嵌套定义B不可以嵌套调用C可以嵌套调用,但不能调用自己D嵌套调用和调用自己均可8.假定每一个int类型变量占用4个字节。现在有一个定义数组的语句:intx[10]={0,2,4};则数组x在内存中所占的字节数是()。A40B30C12D109.C语言中的常见的简单数据类型有()。A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D整型、实型、逻辑型、字符型10.在下列各标识符组中,合法的标识符是()。Ab-babcBCCPfloatChiy(fr)D_iswINT11.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()。Aa+Bwb+CrDa12.已知:charstr1[20]=abcde,str2[20]=xyz;则执行语句:printf(%d,strlen(strcpy(str1,str2)));输出结果是()。A9B3C5D813.inta,x;下列表达式正确的是()。Aa=(a[1]+a[2])/2;Ba*=*a+1Ca=(x=1,x++,x+2);Da=good;14.C语言对嵌套if语句的规定是:else总是与()配对。A第一个ifB缩进位置相同的ifC尚未配对的ifD与之前最近的且尚未配对的if15.已知ch是字符型变量,下面正确的赋值语句是()。Ach='123';Bch='\xff';Cch='\08';Dch='\';16.设有说明语句:chara='\063';,则()。A变量a包含3个字符B变量a不是一个合法的转义字符C变量a包含1个字符D此语句错误17.以下叙述正确的是()。Ado-while语句构成的循环不能用其它语句构成的循环来代替Bdo-while语句构成的循环只能用break语句退出C用do-while语句构成的循环,在while(表达式)后不能直接写分号,否则无法执行循环体D用do-while语句构成的循环,在while后的表达式为零时结束循环18.()是C语言中的一个合法表达式。Aj+e/8+'a'++Bm*n,++(a+5)Cxy?x*z:yDs+2.0e*319.若有代数式3ae/(bc),则不正确的C语言表达式是()。Aa/b/c*e*3B3*a*e/b/cC3*a*e/b*cDa*e/c/b*320.已知以下程序段,则()。chara[10],b[]=China;a=b;printf(%s,a);A编译通过,运行后将输出ChinaB编译通过,运行后将输出CC编译时出错,会提示b数组未定义长度。D编译时出错,会提示赋值语句错误。21.C语言可以处理的文件类型是()。A文本文件和数据文件B文本文件和二进制文件C数据文件和二进制文件D以上答案都不完全22.下面对一维数组a初始化的正确方式是()。Ainta[4]=(0,0,0,0);Binta[4]=(0);Cinta[2]={0};Dinta[4]={1,2,3,4,5};23.若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。Ap1=&m;p2=&p1;Bp1=&m;p2=&n;p1=*p2;Cp1=&m;p2=p1;Dp1=&m;p2=*p1;24.已知:intx;floaty;所用的scanf调用语句格式为:scanf(x=%d,y=%f,&x,&y);为了将数据10和66.6分别赋给x和y,正确的输入应当是()。Ax=10,y=66.6回车B10,66.6<回车>C10<回车>66.6<回车>Dx=10回车y=66.6回车25.若有以下定义:floatx=1.0;inta=1,b=1;则不正确的switch语句是()。Aswitch(x){case1.0:printf(*\n);case2.0:printf(**\n);}Bswitch((int)x){case1:printf(*\n);case2:printf(**\n);}Cswitch(a+b){case1:printf(*\n);case1+2:printf(**\n);default:printf(***\n);}Dswitch(a+b){case1:printf(*\n);case2:case3:printf(***\n);}26.以下叙述中正确的是():AC程序仅由主函数组成。BC程序由函数组成。CC程序由函数和过程组成。DC程序开始执行不是从主函数开始的。27.下面的程序段执行后的结果是()。chara[]=Thisisacat.,b[]=Hello!;printf(\n%s,strcpy(a,b));A20BThisisacat.Hello!C1DHello!28.要说明一个有10个int元素的数组.应当选择语句()。Aint*a[10];Binta[2,5];Cinta[10];Dinta[];29.以下正确的函数定义是()。Adoublesub(intx,inty){doublez;z=x-y;returnz;}Bdoublesub(intx,y){intz;z=x-y;returnz;};Cdoublesub(intx,inty);{doublez;z=x-y;returnz;}Ddoublesub(intx,inty);{intz;z=x-y;returnz;};30.已知:charstr1[10]={books},str2[10];则在程序中能够将字符串books赋给数组str2的正确语句是()。Astr2=books;Bstrcpy(str1,str2);Cstr2=str1;Dstrcpy(str2,str1);31.为了读出文本文件的内容,在打开文件时,文件的打开方式应当是()。ArBw+Cwb+Dab+32.执行charstr[10]=Beijing;strlen(str)的结果是()。A6B7C8D933.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为()。main(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%d\n,x+y+z);}Ax+y+z=48Bx+y+z=35Cx+z=35D不确定值34.若有说明:double*p,a;则能通过scanf()函数正确给输入项读入数据的程序段是()。A*p=&a;scanf(%lf,p);Bp=&a;scanf(%lf,p);Cp=&a;scanf(%lf,a);D*p=&a;scanf(%lf,*p);35.整型变量a、b的值为0,整型变量x的值为1。执行下面的语句后switch(x){case0:b++;case1:a++;case2:a+=b;b-=a;}printf(a=%d,b=%d\n,a,b);该程序的输出结果是()。Aa=2,b=1Ba=1,b=0Ca=1,b=1Da=1,b=-136.设有语句intx;则下列正确的输入语句为()。Ascanf(%d,*x);Bscanf(%d,&x);Cscanf(%d,x);Dscanf(%d,x=5);37.已知:intx;则下面的说明指针变量pb的语句正确是()。Aintpb=&x;Bint*pb=x;Cint*pb=&x;D*pb=*x;38.在C语言中对文件操作的一般步骤是()。A打开文件-操作文件-关闭文件B操作文件-修改文件-关闭文件C读写文件-打开文件-关闭文件D读文件-写文件-关闭文件39.若有以下定义,则下面的叙述中不正确的是()。structex{intx;floaty;charz;}example;Astruct是结构体类型的关键字Bexample是用户定义的结构体类型名Cx,y,z都是结构体成员名Dstructex是用户定义的结构体类型40.以下结构体说明和变量定义中,正确的是()。Astructabc{intn;floatm;};ABCx,y;Bstructabc{intn;floatm;}structabcx,y;Cstructabc{intn;floatm;}ABC;ABCx,y;Dstructabc{intn;floatm;};structabcx,y;41.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是()。A132回车B1,3,2回车Ca=1b=3c=2回车Da=1,b=3,c=2回车42.打开一个已存在的非空文件file用于追加写,正确的语句是()。Afp=fopen(file,r);Bfp=fopen(file,rb);Cfp=fopen(file,a);Dfp=fopen(file,w);43.要判断字符串str1和str2是否相等,则正确的比较方式是()。Aif(str1==str2)printf(Yes\n);Bif(str1=str2)printf(Yes\n);Cif(strcpy(str1,str2)==0)printf(Yes\n);Dif(strcmp(str1,str2)==0)printf(Yes\n);44.若有以下定义,则说法错误的是()。inta=100,*p=&a;A声明变量p,其中*表示p是一个指针变量。B变量p只可以指向整型变量。C变量p经初始化,获取变量a的地址。D变量p的值为100。45.定义整型变量a的初值是1,整型变量b的初值是0,则执行以下语句后输出为()。switch(a){case1:switch(b){case0:printf(**0**);break;case1:printf(**1**);break;}case2:printf(**2**);break;}A**0**B**0****2**C**0****1****2**D有语法错误46.合法的数组说明语句是()。Ainta[]={0,1,2,3,4,5};Binta[5]=string;Cchara=string;Dchara[5]={'0','1','2','3','4','5'};47.函数调用:strcat(strcpy(str1,str2),str3)的功能是()。A
本文标题:北京林业大学c语言题库上机题一
链接地址:https://www.777doc.com/doc-4144729 .html