2-1
分数 1
作者 往年试卷
单位 浙江大学
以下定义语句中不正确的是_D_。
A.
double x[5]={2.0, 4.0, 6.0, 8.0, 10.0};
B.
char c2[]={'\x10', '\xa', '\x8'};
C.
char c1[]={'1', '2', '3', '4', '5'};
D.
int y[5]={0,1,3,5,7,9};
创建提问
2-2
分数 1
作者 yjs
单位 福州大学至诚学院
以下一组对数组a初始化的语句中,给a数组所有元素赋初值0的正确语句是[B ].
A.
int a[9]=9*0;
B.
int a[9]={0};
C.
int a[9]={};
D.
int a[9]=0;
2-3
分数 1
作者 黄隆华
单位 怀化学院
若有定义,int a[10];,则对数组a元素的正确引用是(D )
A.
a[10]
B.
a[3.5]
C.
a(5)
D.
a[10-10]
2-4
分数 1
作者 黄龙军
单位 绍兴文理学院
有数组定义语句“int i=3,a[20];”,则元素引用错误的是(A ) 。
A.
a[7*i-1]
B.
a[2*i*i+1]
C.
a[3*i+1]
D.
a[0]
2-5
分数 1
作者 李祥
单位 湖北经济学院
*一维数组(1-1)
下面的程序段将输出 ▁▁▁C▁▁ 。
double a[10]; printf("%d\n", sizeof(a));
A.
10
B.
11
C.
80
D.
88
2-6
分数 1
作者 黄龙军
单位 绍兴文理学院
有数组初始化语句“int a[] ={1,2,3,4,5,6,7,8,9,10};”,则数值最小和最大的元素下标分别是( B)。
A.
1,10
B.
0,9
C.
1,9
D.
0,10
2-7
分数 1
作者 王俊玲
单位 集美大学
下列程序的输出结果是(D)。
- int main(void)
- {
- int n[3],i,j,k;
- for(i=0;i<3;i++)
- n[i]=0;
- k=2;
- for (i=0;i<k;i++)
- for (j=0;j<k;j++)
- n[j]=n[i]+1;
- printf("%d\n",n[1]);
- return 0;
- }
A.
2
B.
1
C.
0
D.
3
2-8
分数 1
作者 吴年志
单位 湖北汽车工业学院
以下程序的输出结果是____B__。
- #include <stdio.h>
- int main()
- {
- int i, k, a[10], p[3];
- k=5;
- for(i=0;i<10;i++)
- a[i]=i;
- for(i=0;i<3; i++)
- p[i]=a[i*(i+1)];
- for(i=0;i<3; i++)
- k+=p[i]*2;
- printf("%d\n",k);
- return 0;
- }
A.
20
B.
21
C.
23
D.
25
2-9
分数 1
作者 颜晖
单位 浙大城市学院
下列程序段的功能是:计算数组x中相邻两个元素的和,依次存放到 a 数组中,然后输出a数组。程序段中待填空的(1)和(2)的正确选项是(C )。
- int i;
- int a[9], x[10];
-
- for(i = 0; i < 10; i++){
- scanf("%d", &x[i]);
- }
- for( (1) ; i < 10; i++ ) { /* 此处待填空(1) */
- a[i-1] = x[i] + (2) ; /* 此处待填空(2) */
- }
- for(i = 0; i < 9; i++){
- printf("%d ",a[i]);
- }
- printf("\n");
A.
(1) i = 1
(2) x[i+1]
B.
(1) i = 0
(2) x[i-1]
C.
(1) i = 1
(2) x[i-1]
D.
(1) i = 0
(2) x[i+1]
2-10
分数 1
作者 王秀
单位 福州大学
以下数组定义中错误的是(B )。
A.
int x[][3]={0};
B.
int x[2][3]={{1,2},{3,4},{5,6)};
C.
int x[][3]={{1,2,3},(4,5,6)};
D.
int x[2][3]={1,2,3,4,5,6};
创建提问
2-11
分数 1
作者 颜晖
单位 浙大城市学院
以下能正确定义数组并正确赋初值的语句是(D)。
A.
int N=5, b[N][N];
B.
int a[1][2]={{1}, {3}};
C.
int c[2][ ]={{1, 2}, {3, 4}};
D.
int d[3][2]={{1, 2}, {34}};
2-12
分数 1
作者 李祥
单位 湖北经济学院
*二维数组(1-2)
下面的程序段将输出 ▁▁D▁▁▁ 。
double a[][5] = {{1, 2, 3}, {4, 5}, {6}}; printf("%d\n", sizeof(a));
A.
48
B.
72
C.
88
D.
120
2-13
分数 1
作者 崔孝凤
单位 山东理工大学
若二维数组a有m列,则在a[i][j]前的元素个数为( B)。
A.
j*m+i
B.
i*m+j
C.
i*m+j-1
D.
i*m+j+1
2-14
分数 1
作者 颜晖
单位 浙大城市学院
假定double类型变量占用8个字节,且数组定义如下,则数组point在内存中所占字节数是( B)。
double point [10][10];
A.
0
B.
800
C.
10
D.
20
E.
100
2-15
分数 1
作者 往年试卷
单位 浙江大学
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素__B__的值为6。
A.
a[3][2]
B.
a[2][1]
C.
a[1][2]
D.
a[2][3]
创建提问
2-16
分数 1
作者 王秀
单位 福州大学
在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是(A )。
A.
5
B.
0
C.
6
D.
2
创建提问
2-17
分数 1
作者 cx
单位 福州大学至诚学院
若有定义int a[2][3]; 则对数组元素的非法引用是(D )。
A.
a[0][1/2]
B.
a[1][1]
C.
a[4-4][0]
D.
a[0][3]
2-18
分数 1
作者 颜晖
单位 浙江大学
以下程序的输出结果是(C)。
- int main(void)
- {
- int m[ ][3] = { 1, 4, 7, 2, 5, 8, 3, 6, 9 };
- int i, j, k=2;
-
- for (i=0; i<3; i++)
- printf ("%d ", m[k][i]);
-
- return 0;
- }
A.
4 5 6
B.
2 5 8
C.
3 6 9
D.
7 8 9
2-19
分数 1
作者 cx
单位 福州大学至诚学院
执行如下程序段后,变量s的值为(C )。
- int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;
- for(i=0;i<3;i++)
- for(j=0;j<i;j++) s=s+a[i][j];
A.
0
B.
1
C.
2
D.
3
2-20
分数 1
作者 陈世清
单位 湖南工程学院
以下能对二维数组a进行正确初始化的语句是( D)
A.
int a[2][]={{1,0,1},{5,2,3}};
B.
int a[][3]={{1,2,3},{4,5,6}};
C.
int a[2][4]={{1,2,3},{4,5},{6}};
D.
int a[][3]={{1,0,1},{},{1,1}};
2-1
分数 5
作者 刘仕筠
单位 成都信息工程大学
以下叙述中正确的是(A)
A.
指针定义后,可以指向同类型的任何变量。
B.
指针定义后,可以指向任何类型变量。
C.
指针定义后,可以用整型数据为指针初始化。
D.
指针定义后,只能指向一个变量。
2-2
分数 5
作者 往年试卷
单位 浙江大学
若定义pf为指向float类型变量f的指针,下列语句中_B_是正确的。
A.
float f, *pf = f;
B.
float f, *pf = &f;
C.
float *pf = &f, f;
D.
float f, *pf =0.0;
创建提问
2-3
分数 5
作者 刘仕筠
单位 成都信息工程大学
若有说明: int *p1, *p2, m=5, n; ,以下均是正确赋值语句的选项是(C)
A.
p1=&m; p2=&p1;
B.
p1=&m; *p2=*p1;
C.
p1=&m; p2=p1;
D.
p1=&m; *p1=*p2;
2-4
分数 5
作者 王秀
单位 福州大学
设变量定义为 int a[2]={1,3}, *p=&a[0]+1;,则*p的值是( B)。
A.
2
B.
3
C.
4
D.
&a[0]+1
创建提问
2-5
分数 5
作者 wangxiu
单位 福州大学
若已定义: int a[9], *p=a;并在以后的语句中未改变 p 的值,不能表示 a[1] 地址的
表达式是(C )。
A.
p+1
B.
a+1
C.
a++
D.
++p
2-6
分数 5
作者 张高燕
单位 浙大城市学院
若有如下定义,则( A)的值是34。
- int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
-
- int *p = &a[1];
A.
p[1]
B.
p[2]
C.
p[0]
D.
p[3]
2-7
分数 5
作者 王俊玲-ktp
单位 集美大学
下面程序输出数组中的最大值,由s指针指向该元素
- int main()
- {
- int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;
- for(p=a, s=a; p-a<10; p++)
- if( ---?--- )
- s=p;
- printf("The max:%d",*s):
- return 0;
- }
则在if语句中的判断表达式应该是:(B)
A.
p>s
B.
*p>*s
C.
a[p]>a[s]
D.
p-a>p-s
2-8
分数 5
作者 王俊玲-ktp
单位 集美大学
执行以下程序后,y的值是:(C)
- int main ( )
- {
- int a[]={2,4,6,8,10};
- int y=1,x,*p;
- p=&a[1];
- for(x=0;x<3;x++)
- y + = * (p + x);
- printf("%d\n",y);
- return 0;
- }
A.
17
B.
18
C.
19
D.
20
2-9
分数 5
作者 C课程组
单位 成都信息工程大学
设有定义int a=3, b, *p=&a;,则下列语句表达有错的是(B)
A.
b = *&a;
B.
b = *a;
C.
b = *p;
D.
b = a;
2-10
分数 5
作者 C课程组
单位 成都信息工程大学
即使两个指针变量的类型相同,指向同一个数组,下面操作没有意义的是(B)
A.
相减
B.
相加
C.
相等
D.
比较大小
2-11
分数 5
作者 usx程序设计类课程组
单位 绍兴文理学院
下列关于指针的用法中错误的是( C)。
A.
int i,*p; p =&i;
B.
int *p; p = NULL;
C.
int i = 5,*p; *p = &i;
D.
int i,*p=&i;
2-12
分数 5
作者 usx程序设计类课程组
单位 绍兴文理学院
若有语句“int i , j=7 , *p=&i; ”,则与“i=j; ”等价的语句是( B)。
A.
i=*p;
B.
*p=j
C.
i=&j;
D.
i=**p;
2-13
分数 5
作者 usx程序设计类课程组
单位 绍兴文理学院
若有语句“int a[]={1,2,3,4,5}; ”,则关于语句“int *p=a;”的说法正确的是(C )。
A.
把a[0]的值赋给*p
B.
把a[0]的值赋给变量p
C.
初始化变量p,使其指向数组a的首元素
D.
定义不正确
2-14
分数 5
作者 usx程序设计类课程组
单位 绍兴文理学院
若有语句“int a[10]; int *p=a; ”,则以下错误的表达式是( B) 。
A.
p=a+5;
B.
a=p+a;
C.
a[2]=p[4];
D.
*p=a[0];
2-15
分数 5
作者 王俊玲
单位 集美大学
以下程序的结果是(C)
- #include<stdio.h>
- int main()
- {
- int k=2,m=4,n=6;
- int *pk=&k,*pm=&m,*p;
- *(p=&n)=*pk*(*pm);
- printf(“%d”,n);
- }
A.
4
B.
6
C.
8
D.
10
2-16
分数 5
作者 wjl
单位 赤峰学院
变量的指针,其含义是指该变量的(B )。
A.
值
B.
地址
C.
名字
D.
一个标志
2-17
分数 5
作者 zhangweina
单位 赤峰学院
执行下面的程序段后,输出结果为(D)
int a[10] = {9,8,7,6,5,4,3,2,1,0}, *p = a+5;
printf("%d", p[3]);
A.
编译错误
B.
2
C.
0
D.
1
2-18
分数 5
作者 wjl
单位 赤峰学院
执行下面程序段后,变量a的值为( B)。
- int a=10,b=1;
- int *p=&a;
- a=*p+b;
A.
12
B.
11
C.
10
D.
编译错误
创建提问
2-19
分数 5
作者 伍建全
单位 重庆科技学院
以下程序段运行后,输出结果是:(B)
- int a[8] = {10, 20, 30, 40, 50, 60, 70, 80};
- int *p = a + 3;
- printf("%d ", *p);
- (*p)++;
- printf("%d ", *p);
- p++;
- printf("%d ", *p);
A.
40 50 60
B.
40 41 50
C.
40 50 51
D.
40 41 60
2-20
分数 5
作者 吴光生
单位 新余学院
有以下程序段:
- int a[]={10,9,8,7,6,5,4,3,2,1}, *p;
- p=a;
- printf("%d,%d", *p+9, *(p+9) );
输出结果为( C)。
A.
1,1
B.
19,10
C.
19,1
D.
19,19