每日一练壹

  1. 题目

以下标识符中,不能作为合法的C用户定义标识符的是()

A. INT B._123 C. _double D. float

答案:D

解析:

C语言自定义标识符的核心规则:

  1. 由字母(大小写均可)、数字、下划线组成;

  2. 不能以数字开头;

  3. 不能是C语言的关键字(关键字均为小写)。

A选项INT是大写,并非关键字(关键字是int),合法;

B选项_123以下划线开头,符合规则,合法;

C选项_double以下划线开头,符合规则,合法;

D选项float是C语言表示浮点型的关键字,不能作为自定义标识符,不合法。

  1. 题目

设C语言中,int类型数据占2个字节,则long类型数据占()

A. 8个字节 B. 4个字节 C. 2个字节 D. 1个字节

答案:B

解析:

C语言对基本数据类型的字节长度有明确规范:

int类型长度由编译器/系统决定(题目指定为2字节);

long类型的长度至少为4字节,且要求long长度 ≥ int长度;

因此即使int占2字节,long仍固定占4字节(标准通用规则)。

  1. 题目

以下标识符中,不能作为合法的C用户定义标识符的是()

A. IF B. _123 C. void D. a3_b3

答案:C

解析:

核心考点同第1题(标识符≠关键字):

A选项IF是大写,并非关键字(关键字是if),合法;

B选项_123符合标识符规则,合法;

C选项void是C语言关键字(表示无类型),不能作为自定义标识符,不合法;

D选项a3_b3由字母、数字、下划线组成,符合规则,合法。

  1. 题目

执行下列语句后,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码值 + 运算符优先级(取模% > 加减)。

  1. 计算a的值:

'a'的ASCII码固定为97;

a = 1 + 97 = 98。

  1. 计算b的值:

取模运算7 % -4:结果符号与被除数(7)一致,值为3;

'A'的ASCII码固定为65;

b = 2 + 3 - 65 = -60。

  1. 题目

以下程序运行后,输出结果是()

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。

相关推荐
鹿角片ljp8 小时前
LeetCode 236. 二叉树的最近公共祖先|递归后序
算法
luj_17689 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
无定义_9 小时前
Floyd——Warshall
算法
带多刺的玫瑰10 小时前
Leecode#9刷题之回文数
数据结构·算法
泯泷10 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷10 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法
Asize11 小时前
54. 螺旋矩阵
算法