A. 如何判断c语言中的变量是否合法
l【规则3-2-1】类名和函数名用大写字母开头的单词组合而成。
例如:
class Node;// 类名
class LeafNode;// 类名
void Draw(void);// 函数名
void SetValue(int value);// 函数名
l【规则3-2-2】变量和参数用小写字母开头的单词组合而成。
例如:
BOOL flag;
int drawMode;
l【规则3-2-3】常量全用大写的字母,用下划线分割单词。
例如:
const int MAX = 100;
const int MAX_LENGTH = 100;
l【规则3-2-4】静态变量加前缀s_(表示static)。
例如:
void Init(…)
{
static int s_initValue;// 静态变量
…
}
l【规则3-2-5】如果不得已需要全局变量,则使全局变量加前缀g_(表示global)。
例如:
int g_howManyPeople;// 全局变量
int g_howMuchMoney;// 全局变量
l【规则3-2-6】类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。
例如:
void Object::SetValue(int width, int height)
{
m_width = width;
m_height = height;
}
l【规则3-2-7】为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。
B. 判断C语言数值常量是否合法为什么不合法
12. 0Xa23 4.5e0,-0xf .5e-3 .177合法。
实数型常量:必须有小数点,例如定义double a=1就是错误的,必须写成double a=1.0,另外写成a=1,0中间是逗号,就更是错误的了。
e与E表示以10为底数的幂数,且e与E后面必须跟整数,若是小数也是错误的,例如3.2e1.5 ,这里1.5是小数,所以错的。
(2)c语言中变量名不合法扩展阅读:
注意事项:
const只修饰其后的变量,至于const放在类型前还是类型后并没有别。如const int a和int const a都是修饰a为const。注意*不是一种类型,如果*pType之前是某类型,那么pType是指向该类型的指针一个简单的判断方法,指针运算符*,是从右到左。
C语言编译主要分为编译和链接两部分,之所以const修饰的变量变为只读是因为在变量前加了const修饰,如果程序试图去修改此变量的值,那么编译器在编译阶段检查语法错误的时候将报错,这很好理解,这就是C语言规定的语法,违反了将提示相应的错误。
C. c语言中,什么样的变量定义是合法的
C项是合法的。
在VB6中,变量的命名必须遵循以下规则:
1、变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成;最后一个字符可以是类型说明符;
2、变量名的长度不得超过255个字符;
3、变量名在有效的范围内必须是唯一的。
4、变量名不能是VB中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名,关键字是指VB6语言中的属性,事件,方法,过程,函数等系统内部的标识符。
(3)c语言中变量名不合法扩展阅读:
1、变量名在VB中是不区分大小写的(如ABC、aBc、abc等都是一样的)。C语言中区分大小写。不同的语言有不同的规则。
2、定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。
3、根据需要混合使用大小写字母和数字。一个合理协议是,变量中每个单词的第一个字母大写。
4、另一个合理协议是,每个变量名以两个或三个字符缩写开始,这些字符缩写对应于变量要存储数据的数据类型。
参考资料:网络-变量
D. 简述在c语言中合法变量名和函数名需要满足的条件
一、C语言变量名的命名规则:(可以字母,数字,下划线混合使用)
1. 只能以字母或下划线开始;
2. 不能以数字开始;
3. 一般小写;
4. 关键字不允许用(eg:int float=2//error float 为保留字不允许用);
二、函数名的命名规则
1.见名知意;
2.自定义函数函数名首字母大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突)。
E. c语言中,不能做为合法标识符的有哪几类可用作变量名的有哪几类求解答
1,变量名必须由字母、数字、下划线组成
2,首字符不能是数字
3,不能太长,具体长度限制由编译器设定,太长会被编译器截取前面的,如果定义的两个变量,在编译器可识别的范围相同,而后面的不同,编译器将视为同一个变量。
4,不能是C的保留字,如if,for,main,break不能作为变量名
F. C语言中变量命名float为什么不合法
反了
以分号结束
是一条语句
定义变量的时候,一条语句中只能有一个类型
所以
int a, b; float c;等效于
int a, b;
float c;是合法的。
而
int a, b, float c;一条语句中出现了两个类型
这个是错误的。
G. C语言用户标识符哪个选项是都不合法的为什么
c语言中标识符只能是下划线、数字、字母(大小写均可,一般变量用小写、常量用大写),且不能是数字开头。
库函数其实也是一种用户自定义标识符。
不是自定义的,只有保留的关键字。而enum是枚举的关键字。
比如一个函数里面,如果你不准备调用输出语句printf,那么完全可以
void func()
{
int printf=0;
printf++;
}做这样的设置是合法的。
C语言
标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
不能把C语言关键字作为用户标识符,例如if,for,while等。标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
以上内容参考:网络-标识符
H. C语言知识点:为什么 void 不是合法的变量名
void是系统的保留字哦,用于定义无返回值的函数类型,不可以用作变量名哦~望采纳,谢谢~
I. C语言中怎样判断变量名的合法性
字符只能有大小写英文字母,数字和下划线。而且必须以字母或下划线开头,并且不能是C语言的关键字。。 你列出的只有 t3合法
J. 判断变量名是否合法(C语言程序)
#include <stdio.h>
main()
{
char chset[256],s[512];
int i;
for(i=0;i<256;i++)chset[i]=0;
for(i='0';i<='9';i++)chset[i]=1;
for(i='a';i<='z';i++)chset[i]=chset[i-32]=2;
chset['_']=3;
for(;;)
{
printf("Please provide a variable name:") ;
scanf("%s",s) ;
if('0'==*(short*)s) break ;
if( chset[s[i=0]] > 1 ) while(chset[s[++i]]) ;
printf((s[i])?"INVALID\n":"VALID\n") ;
}
}
-------------
问题补充:
不能使用阵列
输入“0”时退出 改为不输入变量名直接按ENTER时退出
-------------
#include <stdio.h>
int isfirst(int x){
return (x!='_') &&
(x<'A' || x>'Z') &&
(x<'a' || x>'z')? 0:1;
}
int iselse(int x){
return ( (x!='_') &&
(x<'0' || x>'9') &&
(x<'A' || x>'Z') &&
(x<'a' || x>'z') )? 0:1;
}
int main(void) {
char key; /* input character from user */
int match; /* keep track of characters matched */
int count; /* number of substring matches */
while (1) {
count = 0;
match = 0;
printf("Please provide a variable name:");
while ((key = getchar()) != '\n') {
count++;
switch (match) {
case 0: /* starting - not matches yet */
if (isfirst(key)) match = 1;
else match = -1;
break;
default:
if (match > 0)
if (iselse(key)) match++;
else match = - match - 1;
break;
}
}
if (count == 0) return 0;
if (match < 0) match = - match - 1;
printf("%d matches of %d\n", match, count);
}
return 0;
}