C语言指针2
- 格式:doc
- 大小:74.00 KB
- 文档页数:9
1有以下程序:#include <stdio.h>void fun( int *a, int i, int j){ int t;if(i<j) { t=a[i]; a[i]=a[j]; a[j]=t;fun(a,++i,--j); } }main(){ int a[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0; i<6; i++)printf("%d ",a[i]); return; }执行后输出结果是______。
AA.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 62以下语句的输出结果是______。
Bchar s[]="\t\ \chinese\ \girl\n";printf("%d",strlen(s));A. 12B.15C. 13D. 143有以下程序:#include <stdio.h>void main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1), s[0]); }执行后输出结果是______。
CA. n, twoB. t, oneC. w, oneD. o, two4若已知说明语句:int a, s[3][3]; 则不能将s[2][1]的值赋给变量a的语句是______。
D A. a=s[2][1]; B.a=*(*(s+2)+1); C. a=*(s[2]+1); D. a=*(*(s+2));5以下程序的执行结果是______。
C#include <stdio.h>void main(){ int i,*p;p=&i;*p=8;printf("i=%d ",i);}A. i为不定值B. i=0C. i=8D.程序有错误6以下程序:#include <stdio.h>char fun(char *p){ if(*p>='A'&&*p<='Z')*p-='A'-'a';return *p;}main(){ char s[80],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}return;}当输入BIG BIG WORLD回车,则输出结果是______。
CA. big big WORLDB. BIG BIG worldC. big big worldD. BIG BIG WORLD7以下程序的运行结果是______。
C#include <stdio.h>void abc(char *p){ int i, j;for(i=j=0; *(p+i)!='\0'; i++)if(*(p+i)<'n'){ *(p+j)=*(p+i);j++; }*(p+j)='\0'; }main(){ char str[]="morning";abc(str);puts(str); return; }A. morigB. morningC. migD. or8设int x []={4,2,3,1},q,*p=&x[1];则执行语句q=(*--p)++后,变量q的值为______。
AA.4B.3C.2D.19有以下程序:#include <stdio.h>#include <string.h>void main(){ char str[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20)); }程序运行后的输出结果是______。
CA.0B.5C.7D.2010定义compare(char *s1, char *s2)函数,以实现比较两个字符串大小的功能,在下划线处应填入的是______。
B#include <stdio.h>compare(char *s1, char *s2){ while(*s1&&*s2&& _______ ){ s1++;s2++; }return *s1-*s2; }main(){ printf("%d\n", compare("abCd", "abc"); return; }A. *s1!=*s2B. *s1==*s2C. *s1=*s2D. s1!=s211如下程序的执行结果是_______。
A#include <stdio.h>void main(){ int a[]={2,4,6,8},*p=a,i;for (i=0;i<4;i++)a[i]=*p++;printf("%d\n",a[2]); }A.6B. 8C. 4D. 212以下程序的输出结果是______。
D#include <stdio.h>void main(){ int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]); }A. 输出项不合法B. 6C. 8D. 1213若已有定义int (*p)(); 则指针p______。
BA. 代表函数的返回值B. 指向函数的入口地址C. 表示函数的类型D. 表示函数返回值的类型14以下程序段的输出结果是______。
Dint **pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);A.10,20B.10,10C.20,10D. 20,2015阅读以下函数:fun(char *s1,char *s2){ int i=0;while(s1[i]==s2[i] && s2[i]!='\0') i++;return (s1[i]=='\0' && s2[i]=='\0'); }此函数的功能是______。
CA.将s2所指字符串赋给s1。
B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0。
C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0。
D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0。
16以下程序的运行结果是______。
D#include <stdio.h>void fun(char *s);main(){ static char str[]="123";fun(str); return;}void fun(char *s){ if(*s){ fun(++s);printf("%s\n", --s); } }A. 3B. 123C. 1D. 332 12 12 23321 1 123 12317以下程序的输出结果是______。
D#include <stdio.h>void main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3)); }A. 0,5B. 1,5C. 0,6D. 1,618执行以下程序段后,a的值是______。
Bstatic int s[]={6,8,2,5,4,9,1,3};int a=0,i;for(i=1;i<8;i+=2)a+=*(s+i);A. 13B.25C. 15D. 不确定19 有以下程序:#include <stdio.h>void fun(char *a, char *b){ a=b; (*a)++; }main(){ char c1='A',c2='a',*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf("%c%c\n",c1,c2); return; }程序运行后的输出结果是______。
AA.AbB.aaC.AaD.Bb20在说明语句:int *f();中,标识符f代表的是______。
DA. 一个用于指向整型数据的指针变量。
B. 一个用于指向一维数组的行指针。
C. 一个用于指向函数的指针变量。
D. 一个返回值为指针型的函数名。
21有如下语句说明:1. char(*ptr)[5];2. int *fip();3. int (*pfi)();4. int **pfpi;正确的说法是______。
BA.第1个不合法B.都合法C.第3个不合法D.第4个不合法22以下程序的输出结果为______。
Dstatic char s[]="language";char *p;p=s;while(*p)printf("%c",*p-32);p++;A. LANGUAGEB. LANGC. languageD. 陷入死循环23有以下程序段:#include <stdio.h>void main(){ int a=5,*b,**c;c=&b; b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是______。
CA.变量a的地址B.变量b中的值C.变量a中的值D.变量b的地址24若有定义char *language[]={"FORTRAN", "BASIC", "PASCAL", "JA V A", "C"}; 则language[2]的值是______。
BA. 一个字符B. 一个地址C. 一个字符串D. 不定值25以下程序的运行结果是______。