单选题
1、第64题 (1.0分) 题号:659 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A
自动(auto)
B
静态(static)
C
外部(extern)
D
寄存器(register)
答案解析
正确答案:A
解析:
**解析:**
在 C 语言中,局部变量(即在函数内部或复合语句内部定义的变量)的存储类别主要有四种:`auto`(自动)、`static`(静态)、`register`(寄存器)和 `extern`(外部)。
1. **默认规则**:如果在定义局部变量时没有显式地指定存储类别说明符,编译器会默认将其视为 **自动变量(auto)**。
2. **auto 变量的特性**:
* **存储空间**:分配在栈(stack)上。
* **生命周期**:随着函数的调用而创建,随着函数的结束而销毁。
* **作用域**:仅限于定义它的函数或代码块内。
3. **其他选项分析**:
* **B. static**:必须显式使用 `static` 关键字声明。静态局部变量存储在静态数据区,生命周期贯穿整个程序运行期间,但作用域仍局限于定义它的函数内。
* **C. extern**:通常用于声明全局变量或在多文件项目中引用其他文件定义的全局变量,不用于定义普通的局部变量隐含类别。
* **D. register**:必须显式使用 `register` 关键字声明,建议编译器将变量存储在 CPU 寄存器中以提高访问速度,并非默认行为。
因此,凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 **自动(auto)**。
**正确答案:A**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第195题 (1.0分) 题号:168 若输入ab,程序运行结果为()。
单选题
1、第194题 (1.0分) 题号:549 若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为()。
单选题
1、第193题 (1.0分) 题号:120 假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值 是()。
单选题
1、第192题 (1.0分) 题号:138 以下程序的输出结果是()。
单选题
1、第191题 (1.0分) 题号:641 若有说明:int a[10];则对a数组元素的正确引用是()。
单选题
1、第190题 (1.0分) 题号:696 设 int b=2;表达式(b>>2)/(b>>1)的值是()。
单选题
1、第189题 (1.0分) 题号:724 若调用fputc函数输出字符成功,则其返回值是()。
单选题
1、第188题 (1.0分) 题号:159 下列程序的输出为()。
单选题
1、第187题 (1.0分) 题号:722 利用 fseek 函数可以实现的操作是()。
单选题
1、第186题 (1.0分) 题号:576 设以下变量均为int类型,则值不等于7的表达式是()。
