【维生素C语言】数组笔试题(附答案+详解)(三)

简介: 本章为数组部分的练习章节,一共八个大题。配备答案+详细画图解析。

第六大题:

每小题1分,满分7分


📌 复习:【维生素C语言】第十章 - 指针的进阶(上)( 0x00 字符指针的定义 )


💬 预测下列代码的运行结果( sizeof )


int main()
{
    char* p = "abcdef";
    /* 1 */  printf("%d\n", sizeof(p));
    /* 2 */  printf("%d\n", sizeof(p + 1));
    /* 3 */  printf("%d\n", sizeof(*p));
    /* 4 */  printf("%d\n", sizeof(p[0]));
    /* 5 */  printf("%d\n", sizeof(&p));
    /* 6 */  printf("%d\n", sizeof(&p + 1));
    /* 7 */  printf("%d\n", sizeof(&p[0] + 1));
    return 0;
}

💡 答案:


/* 1 */  printf("%d\n", sizeof(p)); // 4/8
/* 2 */  printf("%d\n", sizeof(p+1)); // 4/8
/* 3 */  printf("%d\n", sizeof(*p)); // 1
/* 4 */  printf("%d\n", sizeof(p[0])); // 1
/* 5 */  printf("%d\n", sizeof(&p));// 4/8
/* 6 */  printf("%d\n", sizeof(&p+1)); // 4/8
/* 7 */  printf("%d\n", sizeof(&p[0]+1)); // 4/8

🔑 解析:


1️⃣

aba395ca7278250a8b6e8a5c5d83be42_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



2️⃣

c708b6b8b90ef848d2f51c509716783d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



3️⃣


696766efbeedf1fc012c33a7d9a2e5e9_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


4️⃣


1830b024aab6c2befe434b978731cdd0_20210707210716694.png


5️⃣


cc7cf05ef925f6e16d969b2b00911713_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


6️⃣


95a76305f56ac090a61f6c4e495578a5_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


7️⃣

9a8e065cd45b2f6cc1e76cb645620b6a_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



第七大题:

每小题1分,满分7分


💬 预测下列代码的运行结果( strlen )

int main()
{
    char *p = "abcdef";
    /* 1 */  printf("%d\n", strlen(p));
    /* 2 */  printf("%d\n", strlen(p+1));
    /* 3 */  printf("%d\n", strlen(*p));
    /* 4 */  printf("%d\n", strlen(p[0]));
    /* 5 */  printf("%d\n", strlen(&p));
    /* 6 */  printf("%d\n", strlen(&p+1));
    /* 7 */  printf("%d\n", strlen(&p[0]+1));
    return 0;
}

💡 答案:


/* 1 */  printf("%d\n", strlen(p)); // 6
/* 2 */  printf("%d\n", strlen(p+1)); // 5
/* 3 */  printf("%d\n", strlen(*p)); // error
/* 4 */  printf("%d\n", strlen(p[0])); // error
/* 5 */  printf("%d\n", strlen(&p)); // 随机值
/* 6 */  printf("%d\n", strlen(&p+1)); // 随机值
/* 7 */  printf("%d\n", strlen(&p[0]+1)); // 5

🔑 解析:


1️⃣

0134c735d5d7ce87fb313b3f5d0ff07e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



2️⃣

9ced192c578e8fec33887677bac31600_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



3️⃣


9f8c219a6a88a25d1bc4069622824d4b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


4️⃣


b3c7027d8a9b6c95d8af4071949b9658_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


5️⃣

2cb86eade14d431af844c814b7cfbe5b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



6️⃣


e8cdc5c4ac69a5ff8f57942e898c1ad7_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


7️⃣

584be69f3c62449e420d1f2bc0ac51fe_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



第八大题:

每小题1分,满分11分


💬 预测下列代码的运行结果( sizeof )


int main()
{
    int a[3][4] = {0}; // 二维数组
    /* 1 */  printf("%d\n",sizeof(a));
    /* 2 */  printf("%d\n",sizeof(a[0][0]));
    /* 3 */  printf("%d\n",sizeof(a[0]));
    /* 4 */  printf("%d\n",sizeof(a[0]+1));
    /* 5 */  printf("%d\n",sizeof(*(a[0]+1)));
    /* 6 */  printf("%d\n",sizeof(a+1));
    /* 7 */  printf("%d\n",sizeof(*(a+1)));
    /* 8 */  printf("%d\n",sizeof(&a[0]+1));
    /* 9 */  printf("%d\n",sizeof(*(&a[0]+1)));
    /* 10 */ printf("%d\n",sizeof(*a));
    /* 11 */ printf("%d\n",sizeof(a[3]));
    return 0;
}

💡 答案:


/* 1 */  printf("%d\n",sizeof(a)); // 48
/* 2 */  printf("%d\n",sizeof(a[0][0])); // 4
/* 3 */  printf("%d\n",sizeof(a[0])); // 16
/* 4 */  printf("%d\n",sizeof(a[0]+1)); // 4/8
/* 5 */  printf("%d\n",sizeof(*(a[0]+1)));// 4
/* 6 */  printf("%d\n",sizeof(a+1)); // 4
/* 7 */  printf("%d\n",sizeof(*(a+1))); // 16
/* 8 */  printf("%d\n",sizeof(&a[0]+1)); // 4/8
/* 9 */  printf("%d\n",sizeof(*(&a[0]+1))); // 16
/* 10 */ printf("%d\n",sizeof(*a)); // 16
/* 11 */ printf("%d\n",sizeof(a[3])); // 16

🔑 解析:


1️⃣

d17809b30625ad2e609309c277093345_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



2️⃣

02a05c9d104830f2e13ecb149214cd97_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



3️⃣

59b66e90b2d727181efc5e971f326d2f_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



4️⃣


5f756e1455a150fcb32d4eb036c3e707_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


5️⃣


dff22b1942598dc532531ebadf55c5d8_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


6️⃣


11b326c0651e7f0f2ac4f02cdbf056f5_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5p-g5qqs5Y-25a2QQw==,size_20,color_FFFFFF,t_70,g_se,x_16.png



7️⃣

3d489b91354c26b16516958692067a92_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



8️⃣

f2221d5cb1775bba443a56d2538f230b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



9️⃣

d5657d9190b275354e9dd490f9a365b4_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



🔟


e1beb1751d421da4393f036446de9b67_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


1️⃣1️⃣

23317b956fc4ed1ecd5b716cb106f12c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

总结:

📚 数组名的意义:


① sizeof ( 数组名 )  - 数组名表示整个数组,计算的是整个数组的大小。


② &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。


③ 除此之外,所有的数组名都表示首元素的地址。


花絮:

制作不易……大半夜肝出来的!看到画图工具就想吐……


相关文章
|
1月前
|
C语言
在C语言中数组作为函数参数的应用与示例
在C语言中数组作为函数参数的应用与示例
15 0
|
2天前
|
存储 C语言
C语言中字符串的引用与数组元素操作
C语言中字符串的引用与数组元素操作
12 0
|
22天前
|
编译器 程序员 C语言
【C语言】变长数组,二分查找和数组之间自动替换的实现
【C语言】变长数组,二分查找和数组之间自动替换的实现
|
22天前
|
存储 C语言
【C语言数组】创建、初始化、以及使用2
【C语言数组】创建、初始化、以及使用
|
1月前
|
存储 程序员 C语言
C语言中的结构体数组
C语言中的结构体数组
9 0
|
15天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
26 0
|
26天前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
26 0
|
1天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
1天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
2天前
|
存储 C语言
C语言函数的返回值
C语言函数的返回值
7 0