C语言理论题
第2题 C:s是一个指向int类型的指针变量,没赋初值的话,*s无意义,故A错,在s没指向一个数组之前,s[0]也是没有意义的,故B错,a是数组a[]的地址,故D错,选C,把a数组的第二个元素的地址赋给指针变量s 第3题 B:声明指针变量p时给他赋值&a[0]+1,故p指向a数组的第二个元素,所以...
1.设变量定义为"int a[2]={1,3},*p=&a[0]+1;"则*p的值是___
int a[2]={1,3},*p=&a[0]+1 首先执行&a[0]+1,既把a[0]的地址加一个sizeof(int)个字节,也就是a[1]所以*p=a[1]=3
设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___。具体...
p的值是3。第一条输出语句:printf("%s*p=&a[0]+1 相当于 int *p; p=a+1; 所以答案*p=a[1]=3。&a[0] 就是a数组的首地址 即相当于a 。 a+1就相当于指针下移一个单位。inta[2]={1,3}即a[0]=1,a[1]=3。p=&a[0]+1 这是一个指针变量,*p=&a[0]+1就是a[0]的地...
设有变量定义 int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a;表达式**(p+2...
则p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即为5。
int a={1,2,3,4}; int *p=(int *)((int)a+1); P指向了什么?
1. int a = {}; 貌似应该是int a[] = {};2. "(int)a",已经把a的地址强转成int型数字(32bit),所以“((int)a+1); ”实际指向了整个数组内存块的第二个地址,即a[0]的第二个字节。3.这种用法比较危险,特别是在某些特殊处理器上,如果对32bit(int)变量的访问,访问地址不是4...
全国计算机等级考试三级笔试试题及答案?
D)x=j>0;(16) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b\/b的值是( )。A)6.500000 B)6 C) 5.500000 D) 6.000000(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。A) scanf(“%2d%2d%2d”,&i,&...
自考“C语言程序设计”模拟试题一
1、C语言中基本的数据类型有:___、___ 、___ . 2、C语言中普通整型变量的类型说明符为___,在内存中占___字节,有符号普通整型的数据范围是___ . 3、整数-35在机内的补码表示为___. 4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是___. 5、有如下语句:char A[ ]={“I am a studen...
C语言中括号和++的优先级问题
自增运算符分为前缀形(++a)和后缀形(a++),其本质是改变变量的值,然后返回该变量的原始值。部分开发者认为,前缀形式是先++再使用(先变后用),后缀形式是先使用再++(先用后变)。然而,自增运算符只能作用于变量,而不能作用于变量或表达式,如(i+j)++ 是非法的。分析代码示例,`int a...
C语言选择题
40.若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是(C )。A.*p B.*(p+1)C.*(p+2) D.*(p+3)41.以下性质不是算法特征是( B)。A.有穷性 B.可重用性 C.确定性 D.有0个或多个输入 42.以下关于C语言优点说法错误的是( B)。A....
设变量定义为“int x, *p=&x;”,则&*p相当于___。 A、p B、*p C、x...
因为*p是指针。当x的地址赋值个指针p的时候,他们的地址就一样(数值也是一样)。指针的话,要表示数值的话用用*p,指地址的话,只要p就可以。如果加地址符号&,那就值该指针的地址(&*p),也就是值x的地址。ABCD中,只有A选项表p的地址(即是x的地址)。B、C和D都是表值。希望能帮助你!