你好,我是C语言初学者,有这么几个问题想问: 1.x=(i=4,j=16,k=32); 此语句得出结果为什么是x=32啊?

2.C语言中规定用户标识符只能包含字母,下划线和数字。那为什么数据类型中可以有带空格的longint类型和longlongint类型啊?谢谢!... 2.C语言中规定用户标识符只能包含字母,下划线和数字。那为什么数据类型中可以有带空格的 long int 类型和 long long int 类型啊?
谢谢!
展开
 我来答
百度网友a2515c7
2015-01-20 · 超过30用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:67.9万
展开全部
1、因为逗号仅起分割作用,且是自左向右执行,所以在括号中的表达式以最后一个结果为准,因此
x=(i=4,j=16,k=32); 等价于x=(k=32); 其实就是连续赋值 x=k=32;
2、用户标示符的意思是指变量,不是数据类型。
例如 : long int a_b_1=0;
long int 是数据类型 ,是可以有空格间隔的,比如unsigned int 等;
a_b_1 是用户标示符,也就是一般常说的变量(当然有自定义的,也有编译器自带的,也叫系统变量),这类变量才是:只能包含字母,下划线和数字
追问
那标识符就指的变量咯?
另外,关键字又是什么?能列举出尽量多的来吗(⊙o⊙)?
追答
用户标识符 解释为 自定义变量,系统标示符解释为系统变量(也叫编译变量);
关键字就是那些在编译器中已经被占用的系统名称,用户不可以再重新定义
比如const int double 。。。 这个都涉及到C语言规范,可以参考:
http://heartwen.myweb.hinet.net/librarys/computer/c/c.htm -- 关键字列表
psxf91
2015-01-20 · TA获得超过428个赞
知道小有建树答主
回答量:558
采纳率:100%
帮助的人:486万
展开全部
1、括号里面是一个表达式,由3个子表达式组成
这个由三个表达式组成的表达式的值为最后一个表达式的值,也就是k=32的值是32
所以x=表达式的值,为x=32
2、首先一个概念错了,long和int是关键字,不是标识符,标识符说白了就是自己定义的变量,比如baidu,_baidu,baidu3,都是合法的,而3baidu不合法。
至于有long long int这种定义,是c语言的语法,就是要定义个long long int型的变量,就要这样定义,然后后面跟上一个标识符。
追问
谭浩强编的《C程序设计语言中(第四版)》上怎么说标识符是“用来对变量、符号常量、函数、数组、类型等命名的有效字符序列”呢?搞不懂呃。里面的”类型“难道不是说的变量类型吗(⊙o⊙)?
追答
用来对变量、符号常量、函数、数组、类型等命名的有效字符序列

这句话说的很准确,
对变量命名,就是 int a,这个a就是命名
对符号常量命名 可以理解为#define A 1
后者static int A=1这个A
对函数可以理解成为 a()这个a
类型是指的struct a这个a或者如果是C++就是class a这个a
如果它写在一本c语言的书里,那就是指struct了,因为c语言没有class(类型)

这本书是经典,但不是很好。
如果想今后深入学习,建议看《C和指针》
如果为了考试,建议看NCR《C语言程序设计》
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HoLee1997
2015-01-20 · TA获得超过1961个赞
知道大有可为答主
回答量:2557
采纳率:84%
帮助的人:973万
展开全部
这是逗号表达式,可以上网去查查逗号表达式,就是把最后一个值赋给变量的,所以x = 32
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式