资源描述:
《C语言程序设计期末考试试卷及答案1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计期末考试试卷及答案一、单项选择题1.___D___是合法的用户自定义标识符。A、b-bB、floatC、D、_isw2.若变量已正确定义并赋值,表达式___B___不符合C语言语法。A、a*b/c;B、3.14%2C、2,bD、a/b/c3.___C__是不正确的字符常量。A、'n'B、'1'C、"a"D、'101'4.在C程序中,用___B__表示逻辑值“真”。A、1B、非0的数C、非1的数D、大于0的数5.__C____把x、y定义成float类型变量,并赋同一初值3.14。A、floatx,y=3
2、.14;B、floatx,y=2*3.14;C、floatx=3.14,y=x=3.14;D、floatx=y=3.14;6.若变量已正确定义,表达式___C___的值不是2。A、2&3B、1<<1C、a==2D、1^37.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和__C____等价。A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b?0:1;8.设变量定义为“inta,b;”,执行下列语句时,输入_D____,则a和b的值都是10。scanf("a=%d,b=%d",&a,&
3、b);A、1010B、10,10C、a=10b=10D、a=10,b=109.下列程序的输出结果是__D___。fun(inta,intb,intc){c=a*b;}voidmain(){intc;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。A、intB、doubleC、voidD、char11.表达式strlen(”hello”)的值是___B____。A、4B、5C、6D、712.设变量定义为“inta[4]
4、;”,则表达式__D____不符合C语言语法。A、*aB、a[0]C、aD、a++13.设变量定义为“intx,*p=&x;”,则&*p相当于__A___。A、pB、*pC、xD、*&x14.若变量已正确定义,_A___不能使指针p成为空指针。A、p=EOFB、p=0C、p=’’D、p=NULL15.对于以下的变量定义,表达式__D____不符合C语言语法。structnode{intlen;char*pk;}x={2,"right"},*p=&x;A、p->pkB、*p.pkC、*p->pkD、*x.pk16.有如下程序
5、 intrunc(inta,intb) {return(a+b);} main0 {intx=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%d”,r); } 该程序的输出的结果是(D) A)12B)13C)14D)1517.对于基类型相同的两个指针变量之间,不能进行的运算是(C) A)2)return(fib(n-1)+fib(n-2)); elsereturn(2); }
6、main0 {printf(“%d”,fib(3)); 该程序的输出结果是(B) A}2B}4C}6D}819.有如下定义 structperson{charname[9];intage;}; strictpersonclass[10]={“Johu”,17, “Paul”,19 “Mary”,18, “Adam16,}; 根据上述定义,能输出字母M的语句是(D) A)prinft(“%c”,class[3].mane); B)pfintf(“%c”,class[3].name[1]);
7、C)prinft(“%c”,class[2].name[1]); D)printf(“%^c”,class[2].name[0]);20.以下所列的C语言常量中,错误的是(B) A)0xFFB)1.2e0.5C)2LD)‘72’21.有以下程序段 intk=0 while(k=1)k++; while循环执行的次数是(A) A)无限次B)有语法错,不能执行 C)一次也不执行D)执行1次22.以下程序的输出结果是(C) A)0B)29C)31D)无定值 fun(intx,inty,intz) {z
8、=x*x+y*y;} main() {inta=31; fun(5,2,a); printf(“%d”,a); } 23.下列程序段的输出结果是(A) A)2143B)1212C)1234D)2112 voidfun(int*x,int*y) {printf(“%d%d”,