资源描述:
《二级C语言练习题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、304以下叙述中正确的是A数组下标的下限由数组中第1个被赋值元索的位置决定B数组下标的下限是1C数组元素的下标下限由笫一个非零元素的位置决定Dcharc1,c2「c3,c4[40];是合法的变量定义语句305以下叙述屮正确的是A语句chara[3];a』AB”;是合法的,因为数组有三个字符空问的容量,可以保存两个B语句chara[2]={“A”,”B”};定义了一个包含两个字符的数组C语句inta[]={0};是不合法的,遗漏了数组的大小D语句inta[8]={0};是合法的307以下叙述中正确的是A函数名允许用数字开头B函数调用吋不必区分函数名称的大小写C函数调用时,函数名必须与被
2、调用的函数名完全一致D在函数体中只能岀现一次retum语句308以下叔述中正确的是A在对指针进行加减运算时,数字1表示1个存储单元的氏度B如果p是指针变量p+1和*(p+1)的效果一样C如果p是指针变量,贝ij&p是不合法的表达式D如果p是指针变量,则p是变量p的地址值309以下叔述中正确的是A设有指针变量double*p,则p+1将指针p移动8个字节B函数的形参类型不能使指针类型C基类型不同的指针变量可以和互混用D函数的类型不能是指针类型310如果定义floata[10],x;则以下叙述中正确的是A三个表达式a[1].*(a+1)和*&a[1]表示的意思完全不同B表达式*&a[1]
3、M非法的,应该写成*(&a[1])C表达式a+1是非法的D表达式a=&x是非法的311int*func(inta[10],intn);则以下叙述中正确的是A说明中的a[10]改为a[]或怙效果完全一样Bfunc函数屮不能对a进行移动指针(如a++)的操作C只有指向10个整数内存单元的指针,才能作为实参传递给形参D形参a对应的实参只能是数组名312以下叙述中正确的是A语句inta[][3]={1,2,4,5};是错误的初始化形式B在逻辑上对以把二维数组看成是一个具有行和列的矩阵或表格C语句inta[4][3]二{{1,2},{4,5}};是错误的初始化形式D语句inta[4][3]={
4、1,2,4,5};是错误的初始化形式313有以下程序#ineludeviodfun(intx,inty,int*c,int*d){*c=x+y;*d=x-y;}main()inta=4,b=3,c=0,d=0;fun(a5b,&c,&d);printf(“%d%d”,c,d);}程序的输出结果是A71BOO314有以下程序#ineludevoidfun(int*p,int*q){t=*p;*p=*q;*q=t;*q=*p;}main(){inta=0,b=3;fun(&a,&b);printf(“%d%d”,a,b);}COOD19程序的输出结
5、果是A90B09315有以下程序#ineludemain(){intaO={2,4,6,8,10},x,*p,y=1;P=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d”,y);}程序的输出结果是A13B15C11316有以下程序#ineludemain(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;iv3;i++)print(H%d”,x[i][2・i]);printf(“”);}程序的输出结果是A369B147317有以下程序#inelude
6、main(){inta[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++)a[i]=*p++;printf(“%d”,a[2]);}程序的输出结果是A8B2318有以下程序#includecharfun(char*c){if(*c<=,Z,&&*cx'A')return*c;}main()chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);printf(“”);}}若从键盘输入AOPENCOPENP++;OPENTHEtHEdOORTHEDOOR<冋车〉,程序的输出结果是DOORO
7、penTheDooropenthedoor319有以下程序#includemain()chara=,H,;a=(a>=,A,&&a<=,Z,)?(a+32):a;printf(“%c”,a);}程序的输出结果是AH320有以下程序#includeintf(intmain(){intX);a,b=O;for(a=0;a<3;a+=1){b+=f(a);putchar(*A+b);}intf(intx){returnx*