已知: char s[100]; int i=10; 则在下列引用数组元素的语句中,错误的表示形式是:
A.s[i+10]
B.*(s+i)
C.*(i+s)
D.*((s++)+i)
第1题:
已知C源程序如下:
include<stdio. h>
include<string. h>
void reverse(char S[]){
int C,i,J;
for(i=0,j=strlen(s)-1;i<j;i++,j++){
c=s[i];
s[i]=s[j];
s[j]=c;
}
}
void getHex(int number,char s[]){
int I;
i=0;
while(number>0){
if(number%16<10)
s[i++]=number%16+'0';
else
switch(number%16){
case 10:s[i++]='A';break;
case 11:s[i++]='B';break;
case 12:s[i++]='C';break;
case 13:s[i++]='D';break;
case 14:s[i++]='E';break;
case 15:s[i++]='F';break;
default:printf("Error");break;
}
number/=16;
}
s[i]:'\o';
reverse(s);
}
int main(){
unsigned int number;
int i=0:
char s[50];
printf("%s","please input number;\n");
scanf("%d",&number):
getHex(number,s);
i=0;
while(s[i])
printf("%c",s[i++]);
return 0;
}
画出程序中所有函数的控制流程图。
第2题:
下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #include<conio.h> #include<iostream.h> int fun(int * s,int t,int * k) { int i; *k=0; for(i=0;i<t;i++) if(s[ * k] <s[i] ) *k=i; retum s[ * k] ;} void main( ) { int a[10] ={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,&k) ; cout < < k < < ',' < < a[k] ;}
A.7,431
B.6
C.980
D.6,980
第3题:
下列各个选项中对字符数组赋字符串的语句中,错误的是( )。
A.char s[10];s="program";
B.char s[]="program";
C.char s[10]="program";
D.char s[10]; strcpy(s,"program");
第4题:
下列程序的输出结果是______。 char*fun(char*str,int n) { int i; char*p=str; for(i=0;i<10;i++,str++) *str='a'+i; return++p; } main() { char a[10]; printf("%s\n",fun(a,10)); }
A.ABCDEFGHIJ
B.abcdefghij
C.bcdefghij
D.不确定的值
第5题:
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。
A.A
B.B
C.C
D.D
第6题:
若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )
int a [ ]={1,2,3,4,5,6,7,8,9,0};
int*p,I
p=a;
A.* (a+I)
B.a[p-a]
C.p+I
D.* (&a[I])
第7题:
下列引用的定义中,( )是错误的。
A.int i; int &j=i;
B.int i; int &j; j=i;
C.float i; float &j=i;
D.chard; char &k=d;
第8题:
若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)
A.*(&a[0][0]十10*i+j)
B.*(a+i)+j
C.*(a+i)+j)
D.*(a[i]+j)
第9题:
若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是().
第10题:
下列定义数组的语句中正确的是().
第11题:
若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是( ).
第12题:
第13题:
下列定义语句中,错误的是
A.int px*;
B.char*acp[10];
C.char(*pac)[10];
D.int(*p)();
第14题:
下列程序是用来判断数组中特定元素的位置所在的。 #include<conio.h> #include<stdio.h> int fun(int *s,int t,int *k) {int i; *k=0; for(i=0;i<t;i++) if(s[*k]<s[i])*k=i; returns[*k];} main() { int a[10]={876,675,896,101,301,401,980,431,451,777},k; fun
A.7,431
B.6
C.980
D.6,980
第15题:
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)
B.*(a+i)+j
C.*(*(a+i)+j)
D.*(a[i]+j)
第16题:
以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]>s[*k])________; } main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d,%d\n",k,a[k]); }
A.k=p
B.*k=p-s
C.k=p-s
D.*k=p
第17题:
下列引用的定义中,( )是错误的。
A.int i; int &j=i;
B.int i; int &j; j=i:
C.float i; float &j=i;
D.char d; char &k=d;
第18题:
以下定义语句中,错误的是 ______。
A.int a[]={1,2);
B.char *a[3];
C.char s[10]= "test";
D.Int n=5,a[n];
第19题:
下列引用的定义中,( )是错误的。
A.int i; int &j=i
B.int i; int &j;
C.float i; int &j; j=i
D.char d; char &k=d;
第20题:
若有下面的程序片段: int[12]={0},*p[3],**pp,i; for(i=0;i<3;i) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是
第21题:
若有定义:“int x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()
第22题:
在默认情况下,如下数组声明语句中 Dim s(4,4) As Integer,第二个数组元素的引用形式是()。
第23题:
a[10]
*(&a[i])
p[i]
a[p-a]
第24题: