当前位置:首页 » 编程语言 » c语言数据类型可以任意取名字吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数据类型可以任意取名字吗

发布时间: 2022-09-28 06:09:44

A. c语言,定义一种结构类型,能实现一个人的姓名,年龄,身高,体重信息

代码:

#include<stdio.h>
structpeople{
charname[10];
intage;
inthigh;//单位cm
floatweight;//单位kg
}p;

intmain(){
printf("请输入您的姓名、年龄、身高cm、体重kg(空格分开): ");
scanf("%s%d%d%f",&p.name,&p.age,&p.high,&p.weight);
printf("您的个人信息:姓名:%s,年龄:%d岁,身高:%dcm,体重:%0.2fkg ",p.name,p.age,p.high,p.weight);
return0;
}

运行:

B. C语言中变量名有什么要求

C语言中变量名可由三类字符:字母、下划线、数字组成。变量名只能由字母或下划线开头。变量名不能具有二义性。变量名有长度要求,有效长度是31个字符。在起定的名字中!超出长度规定的部分将被截掉。变量名中的字母不限大小写,但大小写意义不同。

(2)c语言数据类型可以任意取名字吗扩展阅读:

变量名常用命名法:

1、匈牙利命名法,是在每个变量名的前面加上若干表示数据类型的字符。基本原则是:变量名=属性+类型+对象描述。如i表示int,所有i开头的变量命都表示int类型。s表示String,所有变量命以s开头的都表示String类型变量。

2、骆驼命名法,是指混合使用大小写字母来构成变量和函数的名字。驼峰命名法跟帕斯卡命名法相似,只是首字母为小写,如userName。因为看上去像驼峰,因此而得名。

3、帕斯卡命名法,即pascal命名法。做法是首字母大写,如UserName,常用在类的变量命名中。



C. C语言如何用数组存储一些中文名字,并且可以随机抽取一个名字输出

示例

更多C语言教程

D. c语言中想用字符串保存人名的话 应该保存在什么类型的数据下能给我个例子吗 输入名字然后输出名字

用字符串数组。

#include <stdio.h>
#include<math.h>
void main()
{
char name[4][20];//存储4个名字,每个名字最多20个字符
scanf("%s",name[0]);
printf("%s",name[0]);
scanf("%s",name[1]);
printf("%s",name[1]);
scanf("%s",name[2]);
printf("%s",name[2]);
scanf("%s",name[3]);
printf("%s",name[3]);
getche();
}

E. C语言中函数名可以随便命名的吗,命名之后能实现哪些功能呢,比如char WQX01

1.
函数名是标识符,可以以字母或下划线开头,后接任意数量的字母、下划线、数字的组合。
2.
函数的功能由定义函数时包含的代码决定。
3.
char WQX01;不是一个函数,它是字符类型的变量。要将WQX01定义成函数,可以这样做:
void WQX01()
{
printf("你好\n");
}
这个函数的功能就是打印你好到控制台窗口。

F. c语言中什么时候实参和形参应该不一样

你的问题的意思不明确啊。简单为你说下吧。
形参是定义函数时的参数,目的是用来接收调用函数时的实参值。实参是调用函数时的参数,为函数对应的形参提供明确的数值或地址。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
形参和实参可以相同也可以不相同,但实参和形参在数量上,类型上,顺序上应严格一致。
例如:
int
process(int
a
,double
b)
//a,b为形参,没有具体数值
{
b=a*2;
return
b;
}
int
main()
{
int
a=1
;
double
b;
process(a,b);
//a,b为实参,a具体的值由main()中定义初始化的a对应传入,b由process的函数体计算可得。
printf("%f",b);
}
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

G. c语言数据类型问题

1.概述
C 语言包含的数据类型如下图所示:

2.各种数据类型介绍
2.1整型
整形包括短整型、整形和长整形。
2.1.1短整形
short a=1;
2.1.2整形
一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高位在后,例如0x12345678在内存中的存储如下:
地址:
数据:78563412
定义:用int关键字,举例如下:
int a=6;
2.1.3长整形
long a=10;
2.2浮点型
浮点型包括单精度型和双精度型。
2.2.1单精度型
浮点型,又称实型,也称单精度。一般占4个字节(32位),
float a=4.5;
地址:
数据:00009040
2.2.2双精度型
一般占8个字节(64位)
double a=4.5;
地址:
数据:0000000000001240
2.3字符类型
在各种不同系统中,字符类型都占一个字节(8位)。定义如下:
char c='a';
也可以用字符对应的ASCII码赋值,如下:
char c=97;
3.数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上short 咔出来的内存大小是2 个byte; int 咔出来的内存大小是4 个byte; long 咔出来的内存大小是4 个byte; float 咔出来的内存大小是4 个byte; double 咔出来的内存大小是8 个byte; char 咔出来的内存大小是1 个byte。 (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多内存块,你总不能给他取名字叫做x1,x2,x3,x4,x5…或者长江1 号,长江2 号…吧。它们长得这么像(不是你家的老大,老二,老三…),过一阵子你就会忘了到底哪个名字和哪个内存块匹配了(到底谁嫁给谁了啊?^_^)。所以呢,给他们取一个好的名字绝对重要。下面我们就来研究研究取什么样的名字好。 4.变量的命名规则 1)命名应当直观且可以拼读,可望文知意,便于记忆和阅读。 标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。 2)命名的长度应当符合“min-length && max-information”原则。 C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。 另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。 3)当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。比如: int CurrentVal; 这样的名字看起来比较清晰,远比一长串字符好得多。 4)尽量避免名字中出现数字编号,如Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。 初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。这个习惯初学者一定要改过来。 5)对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符)。 (GUI_ ,etc)标识符的命名规则: 6)标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。非全局变量可以不用使用范围限定符前缀。

7)作用域前缀命名规则。

8)数据类型前缀命名规则。

9)含义标识命名规则,变量命名使用名词性词组,函数命名使用动词性词组。例如:

变量含义标识符构成:目标词+ 动词(的过去分词)+ [状语] + [目的地];

函数含义标识符构成:动词(一般现时)+目标词+[状语]+[目的地]; 10)程序中不得出现仅靠大小写区分的相似的标识符。例如: int x, X; 变量x 与X 容易混淆 void foo(int x); 函数foo 与FOO 容易混淆 void FOO(float x); 这里还有一个要特别注意的就是1(数字1)和l(小写字母l)之间,0(数字0)和o(小写字母o)之间的区别。这两对真是很难区分的,我曾经的一个同事就被这个问题折腾了一次。 11)一个函数名禁止被用于其它之处。例如: #include "c_standards.h" void foo(int p_1) { int x = p_1; } void static_p(void) { int foo = 1u; } 12)所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词。例如: const int MAX_LENGTH = 100; //这不是常量,而是一个只读变量,具体请往后看 #define FILE_PATH “/usr/tmp” 13)考虑到习惯性问题,局部变量中可采用通用的命名方式,仅限于n、i、j 等作为循环变量使用。 一定不要写出如下这样的代码: int p; char i; int c; char * a; 一般来说习惯上用n,m,i,j,k 等表示int 类型的变量;c,ch 等表示字符类型变量;a 等表示数组;p 等表示指针。当然这仅仅是一般习惯,除了i,j,k 等可以用来表示循环变量外,别的字符变量名尽量不要使用。 14)定义变量的同时千万千万别忘了初始化。定义变量时编译器并不一定清空了这块内存,它的值可能是无效的数据。这个问题在内存管理那章有非常详细的讨论,请参看。 15)不同类型数据之间的运算要注意精度扩展问题,一般低精度数据将向高精度数据扩展。

H. C语言求助

typedef 的作用是定义一个类型名,使他和已经存在的类型名具有相同的定义变量的功能,例如 我们熟悉 unsigned int 类型 是表示无符号整形数据,定义无符号整数的时候可以这样 unsigned int i; 如果你觉得这样麻烦的话你可以定义一个UINT 表示unsigned int类型 定义方式为 typedef unsigned int UINT ,以后再定义无符号数据就可以使用UINT i 的形式了,和unsigned int i;效果一样。

另外 *符号是作用于一个指针上的,它的含义就是取得这个指针的内容,例如int a=3,*p; p=&a,那么就说明*p=3 ,因为通过p=&a 将p指向了a这块存储区

I. 在c语言中,函数可以任意命名吗

函数名也是标示符,要符合标示符的命令规则。

_或者字符开头,只能包含_、字母和数字。

重名的函数要求参数不能相同。

J. C语言怎样取得枚举型的名字 而不是值

在C语言中,枚举类型是被当做int或者unsigned int类型来处理的,所以按照C语言规范是没有办法遍历枚举类型的。
不过在一些特殊的情况下,可以实现有条件的遍历。
1 枚举类型必须连续。
由于枚举类型支持如下方式定义:
enum
{
ENUM_0,

ENUM_10 = 10,

ENUM_11

};
这样就会导致枚举类型不连续,这种枚举无法遍历。

2 枚举类型中人为加入起始及结束标记。
enum
{
ENUM_START,

ENUM_0,

ENUM_1,

ENUM_2,

ENUM_END

};
可以看到,在这个枚举类型中,人为加入可ENUM_START, 和ENUM_END。中间的ENUM_0,ENUM_1,ENUM_2才是实际的有效数据。当后续需要增删枚举元素时,也要保证ENUM_START, 和ENUM_END分别为最小和最大值。

满足以上两种条件下,就可以做枚举的遍历了,参考代码如下:
int i;
for(i = ENUM_START+1; i<ENUM_END; i ++)
{
//使用枚举元素。

}
这个循环中,i的值就是所有有效的枚举元素值。