文栏 - 信息技术 - C语言相关 - 浏览文章 - C语言笔试易错考点
C语言笔试易错考点
发布时间: 2007/7/5 20:29:55 作者: 素素 出处: 本站发布
//-------------------------------------------------------------------------------------------------
// 也可以写成这样
typedef struct people
{
    char name[10];
    int age;
    float height;
    double weight;
}SP;
 
12. 判别几个容易混淆语句的异同。异同都在我的脑海里,懒得打出来了,希望你自己想想,然后可以印在你脑海里。
break与continue
while,do……while与for
if……else if……else……与switch……case……default
define与typedef
 
13. int *p[4]与int (*p)[4]的异同。
l         int *p[4]表示p是指针数组。由于[]比*优先级高,因此p先与[4]结合,形成p[4]形式,这显然是数组形式,它有4个元素。然后再与p前面的“*”结合,“*”表示此数组是指针类型的,每个数组元素(相当于一个指针变量)都可指向一个整型变量。
l         int (*p)[4]表示p是一个指针变量。它有4个元素,每个元素为整型。也就是p所指的对象是有4个整型元素的数组,即p是行指针。应该记住,此时p只能指向一个包含4个元素的一维数组,p的值就是该一维数组的首地址。p不能指向一维数组中的第j个元素。
 
14. *p++与*(++p),*(p++)与*(++p),还有 (*p)++
l         *p++与*(++p)作用不同。前者是先取*p值,后使p的指针值加1。后者是先使p的指针值加1,再取*p值。
l         若p初值为a(即&a[0]),输出*(p++)时,得a[0]的值,而输出*(++p),则得到a[1]的值。
l          (*p)++表示p所指向的元素值加1,即(a[0])++,如果a[0]=3,则(a[0])++的值为4。注意:是元素值加1,而不是指针值加1。
 
15. 若有定义int a[size][size];
l         请记住*(a+i)和a[i]是等价的。
l         *(a[i]+j)、*(*(a+i)+j)都是二维数组元素a[i][j]的值。有人可能会问“a+1的值和a+1的地址怎么会是一样的呢”?其实,a+1是地址(指向第1行首地址),而*(a+1)并不是“a+1单元的内容(值)”,因为a+1并不是一个实际变量,也就谈不上它的内容。*(a+1)就是a[1],而a[1]是一维数组名,所以也是地址。以上各种形式都是地址计算的不同表示。
l         a,a[0]的值虽然相同,但是由于指针的类型不同(a是指向一维数组,a[0]指向a[0][0]元素)因此,对这些指针进行加1的运算,得到的结果是不同的。 请记住,二维数组名(如a)是指向行的。因此a+1中的“1”代表一行中全部元素所占的字节数。一维数组名(如a[0],a[1])是指向列元素的。a[0]+1中的“1”代表一个元素所占的字节数。在行指针前面加一个*,就转换为列指针。例如,a和a+1是行指针,在它们前面加一个*就是*a和*(a+1) ,它们就成为列指针,分别指向a数组0行0列的元素和1行0列的元素 。反之,在列指针前面加&,就成为行指针。例如&a是指向0行0列元素的列指针。
例1:设有数据定义如下,则可以引用组中第i个元素(0<=i<=9)的表达式有(ABCD)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A、a[i]           B、*(a+i)              C、p[i]          D、*(p+i)             E、*p+i
 
例2:若有以下的变量说明和语句,则在语句被执行后,*(*(pt+1)+2)表示的数组元素是__D__
    int t[3][3],*pt[3],k;
       for(k=0;k<3;k++)
        pt[k]=&t[k][0];
A) t[2][0]                     B) t[2][2]                     C) t[2][1]                     D) t[1][2]
2/2页次 第一页 上一页 第1页 第2页
所属分类: 信息技术 - C语言相关   所属专题: 原创
共有 13583 人次浏览

icon icon
素素2007/7/6 23:13:18 认为:
其实这个是专门写给07届的师弟师妹的。
评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符