资源描述:
《C语言程序设计习题集(3)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、指针一单项选择题(每题2分,共40分)1以下叙述中错误的是_B__。A在程序中凡是以“#”开始的语句行都是预处理命令行B预处理命令行的最后不能以分号表示结束C#defineMAX是合法的宏定义命令行DC程序对预处理命令行的处理是在程序执行的过程中进行的2若程序中有宏定义行:#defineN100,则以下叙述中正确的是__B_。A宏定义行中定义了标识符N的值为整数100B在编译程序对C源程序进行预处理时用100替换标识符NC对C源程序进行编译时用100替换标识符ND在运行时用100替换标识符3若有如下宏定义:#defineN2#definey(n)((N
2、+1)*n)则执行下列语句:z=4*(N+y(5));后的结果是_B__。A语句有错误Bz值为68Cz值为60Dz值为1804以下程序运行后的输出结果是_A__。#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d",F(a++,b++));}A12B15C16D205以下程序运行后的输出结果是_C__。#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d",i1,i2);}A64,28B4,4C4,3D
3、64,646若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。Aintp=&a;Bint*p=a;Cint*p=*a;Dint*p=&a;7已知下列说明语句:staticinta[]={2,4,6,8}staticint*p[]={a,a+1,a+2,a+3};int**q;q=p;则表达式**(q+2)的值是_A__。A6B2C4D88下面是一个初始化指针的语句:int*px=&a;,其中指针变量的名字应该__C_。A*pxBaCpxD&a89若指针px为空指针,则_B__。。Apx指向不定Bpx的值为零Cpx的目标为零Dpx的地
4、址为零10对下语句int*px[10];,下面正确的说法是_B__。Apx是一个指针,指向一个数组,数组的元素是整数型。Bpx是一个数组,其数组的每一个元素是指向整数的指针。CA和B均错,但它是C语言的正确语句。DC语言不允许这样的语句。11具有相同基类型的指针变量p和数组y,下列写法中不合法的是_D__。Ap=yB*p=y[i]Cp=&y[i]Dp=&y12已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;,则表达式*(p[0]+1)+**(q+2)的值是_A__。A5B4C6D713说明语句
5、int*(*p)();的含义为_D__。Ap是一个指向int型数组的指针Bp是指针变量,它构成了指针数组Cp是一个指向函数的指针,该函数的返回值是一个整型Dp是一个指向函数的指针,该函数的返回值是一个指向整型的指针14设有如下程序段chars[20]="Beijing",*p;p=s;则执行p=s;语句后,以下叙述正确的是_A__。A可以用*p表示s[0]Bs数组中元素个数和p所指字符串长度相等Cs和p都是指针变量D数组s中的内容和指针变量p中的内容相同15设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串。在for(i=0;i6、+)循环中,下列语句用以实现将s2所指字符串中前n个字符复制到s1所指字符串中,其中代码正确的是_A__。A*s1++=*s2++;Bs1[n-1]=s2[n-1];C*(s1+n-1)=*(s2+n-1);D*(++s1)=*(++s2);16给出下列程序的运行结果_B__。#includevoidmain(){staticchara[]="language",b[]="program";char*ptr1=a,*ptr2=b;intk;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("
7、%c",*(ptr1+k));}AgaeBgaClanguageD有语法错误17以下程序执行后的输出结果是_A__。voidfun1(char*p){char*q;q=p;while(*q!=' '){(*q)++;q++;}}main()8{chara[]={"Program"},*p;p=&a[3];fun1(p);printf("%s",a);}AProhsbnBPrphsbnCProgsbnDProgram18以下程序执行后的输出结果是_C__。voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}
8、main(){char*s1="abc",*s2="123";swap(s1,s2);prin