鱼C论坛

 找回密码
 立即注册
查看: 588|回复: 1

[已解决]求助下列问题

[复制链接]
发表于 2023-9-21 11:52:16 | 显示全部楼层 |阅读模式
6鱼币
1.下面四个选项中,所给出的三个标识符都是不合法的用户标识符的选项是(
A. A P_0 do
B. float 7a0 _A
C.b+a goto int
D._123 temp break
4.执行以下程序段时,以下答案正确的是(
int x=-1;
do{
x=-x;
} while(x);
A.循环体执行一次 B.循环体执行两次C.循环体执行无限次
D.系统提示有语法错误
6.以下函数的功能是(
int fun(char *a, char *b)
{
while((*a!='/0')&&(*b!='\0')&&(*a==*b))
a++,b++;
return (*a-*b);
}
A.比较a和b所指字符串的长度是否相等
C.将b所指字符串连接到a所指字符串后面
B.将b所指字符串复制到a所指字符串中
D.比较a和b所指字符串的大小
9.对a数组元素不正确的引用是(int a []={ 1,2,3, 4,5,6},*p=a, i; 其中 0≤i≤5。
A. a[p-a]
B.*(&a[i])
C. p[i]
D. p+i
10.对于语句int(*p)[8];,以下说法正确的是(
A.p是一个指针,指向一个数组,数组的每一个成员包含8个整型数据。B.p是一个指针,指向一个数组,数组中有8个整型数据
C.p是一个数组,它的每一个元素是指向整型数据的指针
D.p是一个数组,它的每一个元素是指向8个整型数据的指针
12.已知有如下语句:struct Student {
int num;
char name[10];
} st1,st2={101,”Tom”},*p=&st1;则不正确的语句是(
A. (*p).num=100;
B.p->num = st2.num;
C. st1=st2;
D. p->name=st2.name
15.对于基类型相同的两个指针变量之间,不能进行的运算是(
A.
B.=
C.+
D.-
最佳答案
2023-9-21 11:52:17
1. 不合法的用户标识符是B、C、D。B不符合标识符命名规则,标识符不能以数字开头;C中含有加号,不符合标识符命名规则;D中含有 break,也不符合标识符命名规则。

4. 循环体执行无限次。因为 x 的初值为 -1,每次循环 x 的值都会取反,即 x 的值在 1 和 -1 之间不断循环变化,条件表达式 while(x) 恒为真,所以循环体会一直执行下去。

6. 比较a和b所指字符串的大小。该函数通过 while 循环比较两个字符串中对应位置的字符是否相等,如果相等则继续比较下一个字符,如果不相等则返回它们的 ASCII 码之差。因此,该函数的功能是比较两个字符串的大小。

9. 不正确的引用是 D. p+i。p 是一个指向 a 数组的指针,p+i 表示 p 指向的地址加上 i 个 int 类型的长度,即指向了 a 数组中第 i + 1 个元素的地址,但是 p 的类型是 int(*)[6],所以不能用 p+i 来访问 a 数组中的元素。

10. p 是一个指针,指向一个数组,数组的每一个成员包含8个整型数据。int(*p)[8] 表示 p 是一个指向包含 8 个整型数据的数组的指针。

12. 不正确的语句是 D. p->name=st2.name。p 是一个指向结构体 Student 的指针,p->name 表示访问结构体 Student 中的 name 成员,但是 name 是一个字符数组,不能直接赋值,需要使用 strcpy 函数进行字符串拷贝。

15. 不能进行的运算是 B. =。指针变量不能直接进行赋值运算,只能赋值为另一个指针变量的地址。

最佳答案

查看完整内容

1. 不合法的用户标识符是B、C、D。B不符合标识符命名规则,标识符不能以数字开头;C中含有加号,不符合标识符命名规则;D中含有 break,也不符合标识符命名规则。 4. 循环体执行无限次。因为 x 的初值为 -1,每次循环 x 的值都会取反,即 x 的值在 1 和 -1 之间不断循环变化,条件表达式 while(x) 恒为真,所以循环体会一直执行下去。 6. 比较a和b所指字符串的大小。该函数通过 while 循环比较两个字符串中对应位置的字符是 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-21 11:52:17 | 显示全部楼层    本楼为最佳答案   
1. 不合法的用户标识符是B、C、D。B不符合标识符命名规则,标识符不能以数字开头;C中含有加号,不符合标识符命名规则;D中含有 break,也不符合标识符命名规则。

4. 循环体执行无限次。因为 x 的初值为 -1,每次循环 x 的值都会取反,即 x 的值在 1 和 -1 之间不断循环变化,条件表达式 while(x) 恒为真,所以循环体会一直执行下去。

6. 比较a和b所指字符串的大小。该函数通过 while 循环比较两个字符串中对应位置的字符是否相等,如果相等则继续比较下一个字符,如果不相等则返回它们的 ASCII 码之差。因此,该函数的功能是比较两个字符串的大小。

9. 不正确的引用是 D. p+i。p 是一个指向 a 数组的指针,p+i 表示 p 指向的地址加上 i 个 int 类型的长度,即指向了 a 数组中第 i + 1 个元素的地址,但是 p 的类型是 int(*)[6],所以不能用 p+i 来访问 a 数组中的元素。

10. p 是一个指针,指向一个数组,数组的每一个成员包含8个整型数据。int(*p)[8] 表示 p 是一个指向包含 8 个整型数据的数组的指针。

12. 不正确的语句是 D. p->name=st2.name。p 是一个指向结构体 Student 的指针,p->name 表示访问结构体 Student 中的 name 成员,但是 name 是一个字符数组,不能直接赋值,需要使用 strcpy 函数进行字符串拷贝。

15. 不能进行的运算是 B. =。指针变量不能直接进行赋值运算,只能赋值为另一个指针变量的地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 01:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表