单选题
1、第297题 (1.0分) 题号:525 C语言中不可以嵌套的是()。
A
函数调用
B
函数定义
C
循环语句
D
选择语句
答案解析
正确答案:B
解析:
在 C 语言中,程序的基本结构单元是函数。我们需要分析各个选项在语法上是否允许“嵌套”:
1. **函数调用 (A)**:C 语言完全支持函数的嵌套调用。例如,可以在函数 `main` 中调用函数 `func1`,而在 `func1` 中又可以调用函数 `func2`。这是构建复杂程序逻辑的基础。
2. **函数定义 (B)**:**C 语言标准规定,函数定义不能嵌套。** 也就是说,不能在另一个函数的内部定义一个新的函数。所有的函数定义必须是平行的、独立的。虽然某些编译器扩展(如 GCC 的嵌套函数扩展)支持此特性,但在标准 C 语言(ANSI C/ISO C)中,这是非法的。
3. **循环语句 (C)**:C 语言支持循环嵌套。例如,可以在一个 `for` 循环内部再包含一个 `while` 循环或另一个 `for` 循环,常用于处理多维数组或复杂迭代逻辑。
4. **选择语句 (D)**:C 语言支持选择语句嵌套。例如,可以在 `if` 语句的代码块中再包含另一个 `if-else` 结构或 `switch` 语句,用于处理多分支逻辑。
综上所述,只有**函数定义**在标准 C 语言中是不可以嵌套的。
故正确答案为:**B**
题目纠错
c语言选择判断题库
相关题目
单选题
1、〖第2题〗441) 下列语句中,不正确的是()。
单选题
1、〖第1题〗543) 若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5
单选题
1、〖第20题〗96) 若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a;
单选题
1、〖第19题〗13) 执行下列语句后变量x和y的值是()。y=10;x=y++;
单选题
1、〖第18题〗21) 以下不符合C语言语法的赋值语句是()。
单选题
1、〖第17题〗89) 以下标识符中,不能作为合法的C用户定义标识符的是()。
单选题
1、〖第16题〗202) 设有如下定义: struct sk {int a; float b;} data,*p;
单选题
1、〖第15题〗33) 若有以下定义:char s='\092'; 则该语句()。
单选题
1、〖第14题〗211)fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
单选题
1、〖第13题〗205) 变量p为指针变量,若p=&a,下列说法不正确的是()。
