- 题目
以下标识符中,不能作为合法的C用户定义标识符的是()
A. INT B._123 C. _double D. float
答案:D
解析:
C语言自定义标识符的核心规则:
-
由字母(大小写均可)、数字、下划线组成;
-
不能以数字开头;
-
不能是C语言的关键字(关键字均为小写)。
A选项INT是大写,并非关键字(关键字是int),合法;
B选项_123以下划线开头,符合规则,合法;
C选项_double以下划线开头,符合规则,合法;
D选项float是C语言表示浮点型的关键字,不能作为自定义标识符,不合法。
- 题目
设C语言中,int类型数据占2个字节,则long类型数据占()
A. 8个字节 B. 4个字节 C. 2个字节 D. 1个字节
答案:B
解析:
C语言对基本数据类型的字节长度有明确规范:
int类型长度由编译器/系统决定(题目指定为2字节);
long类型的长度至少为4字节,且要求long长度 ≥ int长度;
因此即使int占2字节,long仍固定占4字节(标准通用规则)。
- 题目
以下标识符中,不能作为合法的C用户定义标识符的是()
A. IF B. _123 C. void D. a3_b3
答案:C
解析:
核心考点同第1题(标识符≠关键字):
A选项IF是大写,并非关键字(关键字是if),合法;
B选项_123符合标识符规则,合法;
C选项void是C语言关键字(表示无类型),不能作为自定义标识符,不合法;
D选项a3_b3由字母、数字、下划线组成,符合规则,合法。
- 题目
执行下列语句后,a和b的值分别为()
int a, b;
a=1+'a';
b=2+7%-4-'A';
A. 79,78 B. 1,-60 C. 98, -60 D. -63, -64
答案:C
解析:
核心考点:ASCII码值 + 运算符优先级(取模% > 加减)。
- 计算a的值:
'a'的ASCII码固定为97;
a = 1 + 97 = 98。
- 计算b的值:
取模运算7 % -4:结果符号与被除数(7)一致,值为3;
'A'的ASCII码固定为65;
b = 2 + 3 - 65 = -60。
- 题目
以下程序运行后,输出结果是()
long fib (int n)
{if(n>2) return(fib(n-1) +fib(n-2));
else return (2);
}
int main ()
{printf("%d\n",fib(3));
return 0;
A. 8 B. 6 C. 2 D. 4
答案:D
解析:
核心考点:递归函数的调用逻辑。
调用fib(3)时,n=3>2,执行return fib(2) + fib(1);
调用fib(2)时,n≤2,返回2;
调用fib(1)时,n≤2,返回2;
最终fib(3) = 2 + 2 = 4。