C语言,我都不懂1、设 int *p ,I ;以下正确合理的语句是( ).A、*p=10;B、i=p;C、i=*p;D、
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 05:26:19
C语言,我都不懂
1、设 int *p ,I ;以下正确合理的语句是( ).
A、*p=10;
B、i=p;
C、i=*p;
D、i=2*p+1;
2、设 char s[10] ; int I ; 以下引用数组 s 中元素正确的表达式是( ).
A、S(i+2);
B、*(s+i)
C、*(&s+i)
D、*((s++)+i)
3、若有定义和语句
int **pp,*p,a=10,b=20;
pp=&p;
p=&a;
p=&b;
printf("%d,%d\n",*p,**pp);
则输出结果是( ).
A、10,20
B、10,10
C、20,10
D、20,20
4、若定义 char s[20]="programming",*ps=s ;则不能代表字符 o 的表达式是( ).
A、ps+2
B、s[2]
C、ps[2]
D、ps+=2,*ps
5、若有定义和语句
char *s1="12345" ,*s2="1234";
printf("%d\n" ,strlen(strcpy(s1,s2)));
则输出结果是( ).
A、4
B、5
C、9
D、10
6、若定义 int a[ ] ={1,2,3,4,5 ,6,7 ,8 ,9 ,10},*p=a ;
则值为 3 的表达式是 ( ).
A、p+=2,*(p++)
B、p+=2,*++p
C、p+=3,*p++
D、++*p
7、设有以下一段程序
char s[ ]="Hello";
char *p=s ;
执行完上面程序段后,*(p+5) 的值为 ( ) .
A、'o'
B、'\0'
C、'o' 的地址
D、不确定的值
8、已知:int *p,a;则语句“p=&a;”中的运算符“&”的含义是.
A、位与运算
B、逻辑与运算
C、取指针内容
D、取变量地址
9、已知:int *p;使用如下语句动态申请一个int型的存储单元,应当使用.
p=________malloc(sizeof(int));
A、int
B、int *
C、(* int)
D、(int *)
10、已知:char s1[4]="12";char *ptr;则执行以下语句后的输出为.
ptr=s1;
printf("%c\n",*(ptr+1));
A、字符'2'
B、字符'1'
C、字符'2'的地址
D、不确定
11、已知:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示数组a中元素的表达式是.
A、*p
B、a[10]
C、*a
D、a[p-a]
1、设 int *p ,I ;以下正确合理的语句是( ).
A、*p=10;
B、i=p;
C、i=*p;
D、i=2*p+1;
2、设 char s[10] ; int I ; 以下引用数组 s 中元素正确的表达式是( ).
A、S(i+2);
B、*(s+i)
C、*(&s+i)
D、*((s++)+i)
3、若有定义和语句
int **pp,*p,a=10,b=20;
pp=&p;
p=&a;
p=&b;
printf("%d,%d\n",*p,**pp);
则输出结果是( ).
A、10,20
B、10,10
C、20,10
D、20,20
4、若定义 char s[20]="programming",*ps=s ;则不能代表字符 o 的表达式是( ).
A、ps+2
B、s[2]
C、ps[2]
D、ps+=2,*ps
5、若有定义和语句
char *s1="12345" ,*s2="1234";
printf("%d\n" ,strlen(strcpy(s1,s2)));
则输出结果是( ).
A、4
B、5
C、9
D、10
6、若定义 int a[ ] ={1,2,3,4,5 ,6,7 ,8 ,9 ,10},*p=a ;
则值为 3 的表达式是 ( ).
A、p+=2,*(p++)
B、p+=2,*++p
C、p+=3,*p++
D、++*p
7、设有以下一段程序
char s[ ]="Hello";
char *p=s ;
执行完上面程序段后,*(p+5) 的值为 ( ) .
A、'o'
B、'\0'
C、'o' 的地址
D、不确定的值
8、已知:int *p,a;则语句“p=&a;”中的运算符“&”的含义是.
A、位与运算
B、逻辑与运算
C、取指针内容
D、取变量地址
9、已知:int *p;使用如下语句动态申请一个int型的存储单元,应当使用.
p=________malloc(sizeof(int));
A、int
B、int *
C、(* int)
D、(int *)
10、已知:char s1[4]="12";char *ptr;则执行以下语句后的输出为.
ptr=s1;
printf("%c\n",*(ptr+1));
A、字符'2'
B、字符'1'
C、字符'2'的地址
D、不确定
11、已知:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示数组a中元素的表达式是.
A、*p
B、a[10]
C、*a
D、a[p-a]
1. B.int *p p是一个野指针,没有地址,所以不能赋值
2.B *(s+i)就是指的是s[i]
3.D **p=&p;所以说**p==*p;
4.A ps指的是首地址,ps+2指的是s[2]的地址
5.A strcpy(s1,s2)是把s2赋值给s1,strlen(s2)=4;所以结果是4;
6.A p+2=a[2]; *(p++) 是指先输出*p,p再自加;
7.B *(p+5)=s[5];s[5]='\0';
8.D
9.D
10A *(ptr+1)=S1[2]='2';
11b int a[10];数组元素有a[0],a[1].a[9],没有a[10]项
还有什么不明白的可以问
2.B *(s+i)就是指的是s[i]
3.D **p=&p;所以说**p==*p;
4.A ps指的是首地址,ps+2指的是s[2]的地址
5.A strcpy(s1,s2)是把s2赋值给s1,strlen(s2)=4;所以结果是4;
6.A p+2=a[2]; *(p++) 是指先输出*p,p再自加;
7.B *(p+5)=s[5];s[5]='\0';
8.D
9.D
10A *(ptr+1)=S1[2]='2';
11b int a[10];数组元素有a[0],a[1].a[9],没有a[10]项
还有什么不明白的可以问
C语言,我都不懂1、设 int *p ,I ;以下正确合理的语句是( ).A、*p=10;B、i=p;C、i=*p;D、
定义 int i,*p=&i;后,以下正确的语句是?A.p=10; Bi=p; C.i=*p; D.p=2*p+i;
若有以下说明和语句,int c[5],*p ;p=c ;能正确引用c数组元素的是?A) &p B)*(p+3) C) c
C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[
设有定义语句:int =0,*p=&你,*q;以下选项正确的是?a;p=1 b:p=q c:*p=*q
求解一道C语言 int x=0,*p; 立刻执行下列语句 正确的是 A.p=x B.*P=X C.p=NULL D.*P
若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i
两道关于null的c语言题目:1 设有定义:int x=0,*p;立刻执行以下语句,正确的是:a.p=x; b.*p=x
9-6已有定义:int i,a[10],*p;,则合法的赋值语句是 A.p=100; B.p=a[5]; C.p=a[2
若有说明int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 A)p=q B)p=n C)*p=*q D)n=
设有int p,q;以下不正确的语句是( ) A.p *=3; B.p/=q; C.p+=3; D.p&&=q;
设struct data{int a,float b}c ;*P=&a;引用正确的是: A、*P.a B、p.b C、p