1481c语言合法标识符,c语言试题答案集

c语言入门习题集

《计算机程序设计》课程面授作业

第一章 程序设计和C语言

一、选择题

1. 物理器件采用晶体管的计算机被称为 【 b 】(P1)

A.第一代计算机 B.第二代计算机

C.第三代计算机 D.第四代计算机

2. 计算机最早的应用领域是 【 a 】(3)

A.科学计算 B.数据处理

C.过程控制 D.CAD/CAM/CIMS

3.在计算机运行时,把程序和数据一样存放在内存中,这是1946年由_______所领导的研究【(P4)小组正式提出并论证的。

A. 图灵 B.布尔 C.冯·诺依曼 D.爱因斯坦

4.显示器属于____ ______设备。 【 b 】(P6)

A. 输入 B.输出 C.输入和输出 D.以上均不是

5.计算机的主机指的是___ _______。 【 b 】(P7)

A. 计算机的主机箱 B.CPU和内存储器

C.运算器和控制器 D.运算器和输入/输出设备

6.下面关于ROM的说法中,不正确的是 【 d 】(P12)

A. CPU不能向ROM随机写入数据

B.ROM中的内容在断电后不会消失

C.ROM是只读存储器的英文缩写

D.ROM是只读的,所以它不是内存而是外存

第二章 数据的存储与运算

一、选择题

1、不能进行++和--运算的数据是 【 b 】(P22)

A.整型变量 B. 常量 C.浮点变量 D.长整型变量

2、已定义C为字符变量,则下列语句中错误的是 【 b 】(P20)

A、c=‘s’ B、c=“b” C、c=98 D、c=‘9’

第三章 最简单的C程序设计--顺序程序设计

一、选择题

1、以下选项中不能作为C语言合法常量的是 【 d 】(P17)

A、’a’ B、059 C、3.2E5 D、0xfa

2、若有“int a=5,b=3,c=2;”则表达式a>b>c的值是 【 c 】(P21-23)

A、编译出错 B、0 C、1 D、2

3、若有“int x=1, y=0,z=1||z++”语句,执行后z的值是 【 c 】(P24)

】 c

### C语言合法标识符的规则 在C语言中,合法标识符遵循严格的命名规则。以下是详细的规则说明: #### 1. 组成字符 合法标识符只能由字母(A-Z, a-z)、数字(0-9)以及下划线(_)构成[^3]。 #### 2. 首字符约束 标识符的第一个字符必须是字母或者下划线,而不能是数字。这意味着像`1variable`这样的名称是不合法的。 #### 3. 关键字冲突 标识符不能与C语言中的保留关键字重名。例如,`int`, `char`, `float`, `if`, `else`, `while`, `for`等都是C语言的关键字,因此这些词不可作为标识符使用[^4]。 #### 4. 大小写敏感性 C语言区分大小写,所以`Variable`和`variable`会被视为两个不同的标识符[^1]。 #### 5. 特殊符号限制 除下划线外,其他任何特殊字符(如@、#、$等)都不能出现在标识符中。 #### 示例代码展示合法性验证逻辑 以下是一个简单的程序来演示如何判断给定字符串是否为合法的C语言标识符: ```c #include <stdio.h> #include <ctype.h> int is_valid_identifier(const char *str) { if (!isalpha(str[0]) && str[0] != '_') { // 检查首字符是否非法 return 0; } for (int i = 1; str[i]; ++i) { if (!(isalnum(str[i]) || str[i] == '_')) { // 剩余部分只允许字母、数字或下划线 return 0; } } const char keywords[][7] = {"int", "char", "float", "double", "return"}; int keyword_count = sizeof(keywords)/sizeof(keywords[0]); for(int j=0; j<keyword_count; j++) { if(strcmp(str,keywords[j])==0){ return 0; // 如果匹配到关键词,则返回false } } return 1; } void main() { printf("%d\n", is_valid_identifier("_myVar")); // 输出1表示true printf("%d\n", is_valid_identifier("var!able")); // 输出0表示false } ``` 此代码片段通过逐个检查输入字符串的每个字符及其整体形式,确认其是否满足上述提到的所有条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值