1. 学习目标

  2. 了解C语言的基本数据类型
  3. 了解变量的基本概念
  4. 了解变量的使用方法
  5. 了解了变量的命名方法
  6. 了解格式占位符
  7. 了解变量的输出

了解C语言程序的基本数据类型及概念的使用方法擦

在C语言编程中,系统定义了多种数据类型,本节将讲解基本数据类型的分类。基本数据类型分别为整型、字符型、实型(浮点数)以及枚举。枚举数据类型本节并不讲解,在之后的课程中将会详细讲解有关枚举数据类型的概念及使用。系统定义的数据类型可以用于描述一变量。在编程中变量是指可以存储值的容器,是一个抽象的概念。如果用具体化的方式描述变量,则可以称为一个标有存储类型说明的容器,例如一个盒子在外标有月饼字样,则表示该盒子是用于装月饼类型的容器并且所存储的值可以改变(存储值的改变将会在下一章讲解)。2.1 了解基本数据类型的概念
基本数据类型指不可再分解的类型。想必各位读者觉得这句定义还是依如常规的生涩难懂。为什么说基本数据类型指的是不可再分解的类型呢?因为在C语言编程中,有些数据类型内部其实有着多种数据类型组合,多种数据类型组合成的类型称为 构造数据类型,它可以分解成几种或一种数据类型。而基本的数据不能再分解,例如整型,表示一个整数的类型,该类型是无法再进行分解的。2.2 了解整型及使用整型描述变量
整型在C语言中使用int表示,int也称为类型说明符。在之前的内容中提到,类型说明符可以用于描述一变量;如使用int 描述一变量则表示该变量所存放的值需要是整数类型。用C语言描述如下:

int a;

其中a表示这个变量的名称,或者说这一容器我们命名为a,使用int描述这个容器。变量命名是有一定规则的,并不能随意的命名规则,须遵从以下几个标准(摘抄于百科):

  1. 1.标识符必须以字母或者下划线开头,其他可以是数字、字母、下划线。
  2. 2.标识符中的字母不限大小写,但大小写意义不同。
  3. 3.标识符的有效长度是31个字符
  4. 4.不能使用关键字。关键字指C语言中已使用过的特殊标志,如int表示整型,则int不能作为变量名。

变量的命名最好是能够表示这个变量所存储的值。例如我需要一个变量存储年龄,那么我可以将这个变量命名为age(age为英文,中文意为年龄),变量的命名从名字可以表达存储值的内容是最好不过了。但在一些情况下,可以需要多个英文单词才能表达出该变量存储值,在没有指定其它命名标准的情况下,可以使用几种经典的命名方式:匈牙利命名法、骆峰命名法、下划线命名法以及帕斯卡命名法。匈牙利命名法:匈牙利命名法为属性加描述名。例如你需要创建一个年龄是整型的变量则可以写成isex,意思为int类型的变量sex。C语言示例为:

int iage;

驼峰命名法:驼峰命名法为多个英文单词的组合,首个英文单词首字母小写,之后的单词首字母首字母大写;当我需要创建一个变量为我的年龄时可以写为myAge,my表示我的,Age则是年龄。C语言示例为:

int myAge;

帕斯卡命名法:帕斯卡命名法和驼峰命名法类似,则是所有的英文单词首字母都需要大写,如MyAge。C语言示例为:

int MyAge;

下划线命名法:下划线命名法则是在多个英文单词组合时使用下划线间隔,例如my_age。C语言示例为:

int my_ag;

以上的所有变量创建都需要遵循变量初始化。变量初始化指在创建变量时需要赋予变量一个值,防止在接下来的程序编写中发生不可控的bug。变量初始化可以将未知的变量值变成已知,减少程序错误。如:

int my_ag=0;

使用等于号(=)可以将等于号右边的值存储在等于号左边的变量中;在此注意,在非特殊情况下,将要存储的值一定要与变量的类型相符。
一个完整的C语言变量初始化代码如下:

void main(){    int myAge;}

2.3 了解字符型及使用字符型描述变量
了解了整型变量的创建及初始化后,接着了解字符型及字符型变量的初始化。
字符型使用char表示。同样,使用char可以用于描述变量。C语言代码描述如下:

char my_name='T';

以上描述形式跟整型描述形式相同,在变量名前加上描述符即可完成对变量的描述,并且也表示新建了一个该类型的变量。以上新建了一个变量my_name,并且给予了一个值’T’。可能会有同学问,这个字符的值就是’T’了吗?为什么要加单引号?
这是因为在C语言中,字符值在赋值或者传递的时候需要使用单引号表示,这是一种语法规定。其实理解起来也很简单,例如我创建一个变量为T,我单独的给予一个T给变量my_name,这时给的是变量T还是字符T呢?所以在C语言中,使用单引号引起来的字符表示为本身。在这还需要注意的是理解字符的概念,字符是单个符号、字母或数字,并不是一连串的符号。例如“ABCDefg,.;d[]213”这一串称为字符串,字符指的是单个符号。当我向字符类型变量传递一个值“ABCDefg,.;d[]213”则会错误。可能在C语言新的标准中会出现警告。在警告下的程序是可以运行的,但会出现不可控的状态。在字符赋值时,字符值需要添加单引号。2.4 了解浮点型及使用浮点型描述变量
浮点型我们可以理解为小数或实数,分为单精度与双精度。单精度使用float表示,双精度使用double表示。单精度与双精度的区别为位数不同、精确度不同。由于本系列教程为基础的快速入门教程,在此只讲解单精度float,并不过多的讲解其它内容。我们只需要明白小数之类的存储,需要使用float描述变量即可。例如:

float fval=1.1;

以上使用float描述变量fval,fval使用了匈牙利命名法,f表示float,val则是value的缩写,意味float的值。存储的值为1.1。

变量值的输出

在前几章中,我们了解了使用printf使程序在运行时显示指定的内容,那么如何直接输出变量的值呢?现在假设有一变量名为myAge,所存储的值为25,使用printf输出myAge的值到屏幕上则可以写为:

#includevoid main(){    int myAge=25;    printf("%d",myAge);}

在代码中,使用int描述myAge这个变量,表示该变量存储的值为一个整数;在myAge变量右侧为一个等于号,表示将等于号右侧的内容存储值等于号左侧的变量myAge。之后使用printf输出。之前的学习中提到printf将会把括号中双引号内的内容给照原样输出值屏幕上显示,应该显示为%d,在此先查看运行结果。程序运行结果为:

程序运行结果并没有输出%d,这是因为%d是特殊的标志,称为格式占位符号。%d表示将要在这个位置输出一个整数类型的值,这个值将会是双引号后的第一个值;双引号要与值进行分隔,需要使用逗号,就像printf("%d",myAge);的书写方式一样。%d会显示myAgew的值。假设我有多个变量一个为myAge另外一个为myName,那么输出两个值的方式则可以写成:

#includevoid main(){    int myAge=25;    char myName='T';    printf("%c:%d",myName,myAge);}

以上代码创建了两个变量,一个名为myAge一个名为myName,它们分别存储了25与T字符。输出时代码为:printf("%c:%d",myName,myAge);。在printf中,我们发现多了一个不认识的标志%c,%c与%d一样也是格式占位符;%c表示这个位置将会有一个字符的值代替,%d则表示将会有一个整数值代替;它们之间具体输出的值将由双引号后,由逗号隔开的变量顺序决定。第一个值%c则会在输出显示时更换成myName所存储的值,%d则会跟换成myAge所存储的值。在%c与%d之间的冒号则会原样输出,因为冒号并不是格式占位符。输出结果如下:

以上示例可能会导致某些同学觉得%c表示字符,就会自动的去后面寻找字符的第一个替换。其实并不会这样,所有值的替换是由顺序决定的。第一个占位符将会输出后方第一个变量值,以此类推。以下再看一个示例代码了解输出顺序:

#includevoid main(){    int myAge=25;    char myName='T';    char myName1='b';    printf("%c:%d:%c",myName,myAge,myName1);}

以上示例增加了一个变量myName1,所存储的值为字符b。在printf中所有占位符都以变量类型对应的数序书写;第一个myName为%c、第二个myAge为%d、第三个myName1为%c。结果如下:

浮点数的格式占位符为%f,示例如下:

#includevoid main(){    float myAge=25.5;    printf("我今年的年龄为:%f",myAge);}

结果如下:

总结

通过以上描述与讲解,我们了解了以下几点内容:

  1. 了解了C语言的基本数据类型有整型、字符型、浮点型
  2. 了解了变量是存储值的容器
  3. 了解了变量如何的创建需要使用类型符号进行描述并且需要初始化值
  4. 了解了变量的驼峰命名法、匈牙利命名法、下划线命名法、帕斯卡命名法
  5. 了解格式占位符%d以及%c的作用及使用方法
  6. 了解了变量使用printf与格式占位符进行输出显示

IT原创动漫、学习资料、原创教程请关注公众号

c语言命名规则_C语言的基本数据类型及变量相关推荐

  1. 不符合python命名规则的是_下面不符合Python语言命名规则的是__________。

    [单选题]土方开挖时,底宽 8 米.底长 18 米.挖深 2 米,应套用的土方开挖形式为( ). [多选题]如果正常生产年份的偿债备付率低于 1 ,则说明( ). [简答题]什么是无限能力计划?若企业 ...

  2. java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)

    java语言语法- Java标识符.Java关键字.Java变量和常量(包括Java字节码文件反汇编命令javap) 1.标识符 (1)读音:biao zhi fu (2)什么是标识符? (摘自百度百 ...

  3. linux c变量命名规则,C语言中变量名及函数名的命名规则与驼峰命名法

    在程序设计中,变量名.函数名.数组名等统称为标识 符.简单地说,标识符就是一个名字.除库函数的函数名由系统定义外,其余都由用户自定义.C语言规定,标识符只能由字母(a-z,A-Z).数字 (0-9). ...

  4. python语言命名规则-一文轻松掌握python语言命名规范规则

    和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...

  5. C语言用户自定义标识符的命名规则,c语言中用户标识符的命名规则介绍

    c语言中用户标识符的命名规则介绍 发布时间:2020-06-24 15:55:31 来源:亿速云 阅读:116 作者:元一 这期内容当中的小编将会给大家带来有关c语言中用户标识符的命名规则介绍,以专业 ...

  6. c语言头文件命名规则,C语言头文件规则.doc

    C语言头文件规则.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得收 ...

  7. 华为c语言编程规范_C语言编程规范

    一.简介 代码编写规则应该在建立一个工程项目之前,应该贯穿整个项目的始终,以保证代码的一致性.采用标准的代码编写惯例,可以大大简化项目的维护负担.采用一种好的风格,以达到以下目的:可移植性.连贯.整洁 ...

  8. c语言笔记照片_C语言基础知识笔记

    一.C语言的结构 1.Hello world 简单来说,一个C程序就是由若干头文件和函数组成. #include //包含头文件 /* *主函数 */ int main(){ printf(" ...

  9. c语言 字符相加_C语言中自加自减的编译原理

    自增自减规则 i++ 与 ++i 的主要区别有两个: 1. i++ 返回原来的值,++i 返回加1后的值. 2. i++ 不能作为左值,而++i 可以. 毫无疑问大家都知道第一点(不清楚的看下下面的实 ...

最新文章

  1. 新款 iPad 写代码 真香,包邮送一个!
  2. 浅谈Java内存泄漏问题
  3. strip and linux lib compile
  4. 谷歌AI的七个“不正经”玩法,个个能玩一整天
  5. 【luogu1967】【noip2013】 货车运输 [生成树kruskal LCA ]
  6. 免费中文api文档!免费java帮助文档api中文版!!!!!
  7. gp3688写频线制作_摩托罗拉GP3688对讲机写频软件(摩托罗拉对讲机写频工具) 官方版...
  8. 数学公式编辑器的探索与实现
  9. 门禁管理系统服务器,门禁控制软件 门禁管理系统
  10. 基于单片机的智能家居环境监控系统的设计
  11. 工作流——流程设计器
  12. ADB Interface驱动安装[Android Studio开发]
  13. MATLAB混度系统仿真其二:蔡氏电路系统和三阶RC梯形移相振荡器仿真
  14. java对excel加密_java poi对Excel文件加密
  15. dms档案资料管理系统(源码)
  16. Fabric中的私有数据
  17. android ndk如何安装,android NDK安装
  18. 《计算机网络管理》_Chap2
  19. 迅雷2014C++研发笔试卷C
  20. 区域治理杂志区域治理杂志社区域治理编辑部2022年第40期目录

热门文章

  1. 什么是openstack_您在OpenStack Summit 2016上错过了什么
  2. c++返回指针时候注意提防_提防Java中的函数式编程!
  3. latex中算法命令_比较Java 8中的命令式和功能性算法
  4. java面试解决项目难题_Java转换难题者,不适合工作(或面试)
  5. JDK 12的Files.mismatch方法
  6. 带有JUnit 5支持的Ant 1.10.3发布
  7. Java命令行界面(第26部分):CmdOption
  8. 春天重试,因为冬天来了
  9. Spark 101:它是什么,它做什么以及为什么起作用
  10. 使用RxJava和SseEmitter进行服务器发送的事件