c语言程序设计的基础题目求教,请给解析(多追积分)

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:59:35
1:在C语言中,int型数据占2个字节,则short类型数据占()
A:一个字节B:两个字节C:四个字节D:8个字节
2:int a[10]={1,2,3,4,5,6,7,8,};int *p;p=&a[5];p[-3]的值是
A:2B:3C:4D:不一定
3:若有说明:int n=2,*p=q;则以下非法的赋值语句是()
A:p=q
B:*p=*p
C:n=*p
D;P=n
4:变量p为指针变量,若p=&a,下列说法不正确的是()
A:&*p==&a
B:*&a==a
C:(*p)++==a++
D:*(p++)==a++
5:下列定义数组的语句中不正确的是()
A:static int a[2][3]={123456};
B:static int a[2][3]={{1},{45}};
C:static int a[][3]={{1},{4}};
D:static int a[][]={{123],{4,5,6}}

第一题。2个
int型可能2个也可能4个,这个取决于编译器以及操作系统,TC是2个,VC6.0是4个。但short在哪都是2个

printf( "%d", sizeof(short) );
看下就知道。

第二题,3你自己运行一下就行。
a[5]==6

第三题 D
n 是int型
p 是int*型
q 是int*型
*p 是int型
*q 是int*型
A:p=q
B:*p=*p
C:n=*p
D;p=n

第4题 C
(*p)++ 是p指向的变量++
而a++ 是地址++

第5题d
C语言不支持这样声明。
最起码要声明有几列

1.A 2.B 3.D 4.D 5.D