C语言大神请进,10道小题,请认真
2014-15-1C语言短学期测试3选择题(10*1)(1)若有语句:char*line[5];,以下叙述中正确的是A)定义line是一个数组,每个数组元素是一个基类型为...
2014-15-1C语言短学期测试3
选择题(10*1)
(1)若有语句:char *line[5];,以下叙述中正确的是
A)
定义line是一个数组,每个数组元素是一个基类型为char为指针变量
B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C)
定义line是一个指针数组,语句中的*号称为间址运算符
D) 定义line是一个指向字符型函数的指针
(2)有定义语句:char
s[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]);
B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(3)下面程序段的运行结果是
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
(4)下面判断正确的是
A)char *a="china";等价于 char *a;*a="china"; B)char
str[5]={"china"};等价于char str[]={"china"};
C)char *s="china";等价于 char
*s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
(5)若已定义
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中则对a数组元素不正确的引用是
A)a[p-a] B)*(&a[i]) C)p[i]
D)a[10]
(6)设有定义语句int (*f)(int);,则以下叙述正确的是
A)f是基类型为int的指针变量
B)f是指向函数的指针变量,该函数具有一个int类型的形参
C)f是指向int类型一维数组的指针变量
D)f是函数名,该函数的返回值是基类型为int类型的地址
A)67 B)0 C)字符′C′的地址 D)字符′C′
(7)下面程序段的输出结果是
char
*p1="abc",*p2="ABC",str[50]= "xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n",str);
A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC
(8)以下函数返回a所指数组中最小的值所在的下标值
fun(int
*a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]); ________;
return(p);}
在横线处应填入的是
A)i=p B)a[p]=a[i] C)p=j D)p=i
(9)下面程序段的输出结果是
int
a[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
A)0 B)1 C)10 D)9
(10)若有定义: char *st= "how are you ";
,下列程序段中正确的是
A)char a[11], *p; strcpy(p=a+1,&st[4]); B)char a[11];
strcpy(++a, st);
C)char a[11]; strcpy(a, st); D)char a[], *p;
strcpy(p=&a[1],st+2);
主观题参考答案
关闭
查看评语
关闭 展开
选择题(10*1)
(1)若有语句:char *line[5];,以下叙述中正确的是
A)
定义line是一个数组,每个数组元素是一个基类型为char为指针变量
B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C)
定义line是一个指针数组,语句中的*号称为间址运算符
D) 定义line是一个指向字符型函数的指针
(2)有定义语句:char
s[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]);
B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(3)下面程序段的运行结果是
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
(4)下面判断正确的是
A)char *a="china";等价于 char *a;*a="china"; B)char
str[5]={"china"};等价于char str[]={"china"};
C)char *s="china";等价于 char
*s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
(5)若已定义
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中则对a数组元素不正确的引用是
A)a[p-a] B)*(&a[i]) C)p[i]
D)a[10]
(6)设有定义语句int (*f)(int);,则以下叙述正确的是
A)f是基类型为int的指针变量
B)f是指向函数的指针变量,该函数具有一个int类型的形参
C)f是指向int类型一维数组的指针变量
D)f是函数名,该函数的返回值是基类型为int类型的地址
A)67 B)0 C)字符′C′的地址 D)字符′C′
(7)下面程序段的输出结果是
char
*p1="abc",*p2="ABC",str[50]= "xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n",str);
A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC
(8)以下函数返回a所指数组中最小的值所在的下标值
fun(int
*a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]); ________;
return(p);}
在横线处应填入的是
A)i=p B)a[p]=a[i] C)p=j D)p=i
(9)下面程序段的输出结果是
int
a[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
A)0 B)1 C)10 D)9
(10)若有定义: char *st= "how are you ";
,下列程序段中正确的是
A)char a[11], *p; strcpy(p=a+1,&st[4]); B)char a[11];
strcpy(++a, st);
C)char a[11]; strcpy(a, st); D)char a[], *p;
strcpy(p=&a[1],st+2);
主观题参考答案
关闭
查看评语
关闭 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询