资源描述:
《2017浙江大学c语言试卷附答案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、单选题1.假定以下表达式中所有变量均已定义为int类型并已赋值,请问其中哪个表达式没有语法错误。A.x=3.14%2;B.y=2a+b;C.m=a
2、n语句,但必须是最后一个语句C.该函数中可以用return语句,但ruturn后面不能跟任何表达式D.该函数可以返回一个任意类型的值,也可以没有返回值(c)5.执行以下程序后,chara[]=”ABC\XYZ 07xFF”;intn;n=sizeof(a);变量n的值等于多少?A.10B。14C。9D。17(a)6。用scanf()输入一个double类型的变量的值,则输入格式要用A."%f”B.“%lf”C.“%f”或”%lf”D.“%ld”(b)7.假定有以下变量定义语句,float*p,q;请问哪个说法是正确的?A.p和q的类型均为(float*)B.p的类型为(
3、float*),q的类型为floatC.p的类型为float,q的类型为(float*)D.此变量定义语句有语法错误(b)8.执行以下程序后,chara=’0’;printf(“%x”,a);将输出什么结果?A.30B.0x30C.0X30D.0(a)9.假定有如下定义,stuuctst{charname[10];intscore;}a[3],*p=a;;请问哪个用法是正确的?A.p->name=”Tom”;B.*p.name[0]=’B’;C.(*p)->name[0]=’C’;D.*(*p).name=’D’;(d)10.执行一下语句后,intn=strcmp(“ABC”
4、,”AB”);则一下关于n值的描述哪一个是正确的?A.n=0;B.n=1;C.n>1;D.n<0(c)二、填空题1.执行以下代码后,将输出。#defineFORwhile(x--);intx=3,y=0;FOR{y++;}Printf(“x=%d,y=%d”,x,y);x=-1,y=12.执行以下代码后,将输出。inta=2,b=5,c=8 ;c
5、=(~a&&b)^ !(a&b);printf(“c=%d’,c);c=83.执行以下代码后,变量d的值=。inta=-10,b=0,c=20,d ;d=a>b ?-3.14:b>c?2.68:4.99;d=44.执行以下代码后,
6、变量x的值=。inta=3,b=4,c=3,x ;x=a !=(b=c);x=05.执行以下代码后,将输出。chart[]=”BUGWET”;inta[]={5,1,2,3,4,0,2,4,5},i=0,go ;do{Putchar(t[go=a[i++]]);}while(go);TUGWEB6.若定义unsignedlonginta;且变量a已赋值,试写出判断a的二进制最高位即最左边那位与1相等的表达式(要求不调用任何函数)a>>317.执行以下代码后,将输出。longinta[5]={10,20,.30,40,50};longint*p=a+1;longint*q=&a
7、[3];printf(“q-p=%d”,q-p);q-p=28.执行以下代码后,变量max值=。intx=3,y=2,z=1,max ;if(x>=y&&X.=z)max=x ;if(y>=x&&y>=z)max=y;elsemax=z ;max=19.执行以下代码后,将输出chara[][5]={ “ABCD”,“1234”,“BOMB”};printf(“%s,%c”,*a+1,*a[2]+1);BCD,C10.若定义函数时省略该函数的返回值类型,则它的实际返回值类型是int三、程序阅读题1.以下程序的输出结果是。#include#include8、ing.h>typedefchar(*AP)[5];APdefy(char*p){inti;for(i=0;i<3;i++)p[strlen(p)]=’A’;return(AP)p+1;}Voidmain(){chara[]=“FROG SEAL LION LMB ”;puts(defy(a)[1]+2);}ONALAMB2.以下程序的输出结果是。#includevoidmain(){inti,j,sum=0;for(i=1;i<=3;i++){if(i==2)continue