c语言中int的取值范围_c语言入门(1)

c语言入门

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。

hello,world

#include 
int main(){
    /*在双引号中间输入Hello World*/ 
    printf("Hello World");
    return 0; 
}

注:在最新的C标准中,main函数前的类型为int而不是void

c语言的具体结构

简单来说,一个C程序就是由若干头文件函数组成。

789d2085ef802f61ea4339ce4a6eb668.png

#include 就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。

  • 函数就是实现代码逻辑的一个小的单元

必不可少之主函数

一个C程序有且只有一个主函数,即main函数。

4236691234060d28c387318067da9ecd.png

C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口

  • main前面的int就是主函数的类型.

  • printf()格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息

  • return是函数的返回值,根据函数类型的不同,返回的值也是不同的。

  • \n是转义字符中的换行符。(注意:C程序一定是从主函数开始执行的)

良好习惯之规范

  1. 一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行

  2. 函数体内的语句要有明显缩进通常以按一下Tab键为一个缩进

  3. 括号要成对写,如果需要删除的话也要成对删除

  4. 当一句可执行语句结束的时候末尾需要有分号

  5. 代码中所有符号均为英文半角符号

1bdd4b0df4fd640a787b57be0c258c54.png

程序解释——注释

注释是写给程序员看的,不是写给电脑看的。

C语言注释方法有两种:

多行注释: /* 注释内容 */

单行注释: //注释一行

有名有姓的C(标识符)

C语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:

  1. 标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。

  1. 标识符是严格区分大小写的。例如Imoocimooc 是两个不同的标识符。

  2. 标识符最好选择有意义的英文单词组成做到"见名知意",不要使用中文。

  3. 标识符不能是C语言的关键字。想了解更多C语言关键字的知识。

变量及赋值

变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。使用变量之前必须先定义变量,要区分变量名变量值是两个不同的概念。

54fa88c9aa339037ba491d899c3f61e6.png

变量定义的一般形式为:数据类型 变量名;

多个类型相同的变量:数据类型 变量名, 变量名, 变量名...;

cd17d6d0fef71aed00d0a9680bdf9887.png

注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。

变量的赋值分为两种方式:

  1. 先声明再赋值

  2. 声明的同时赋值

基本数据类型

C语言中,数据类型可分为:

  1. 基本数据类型

  2. 构造数据类型

  3. 指针类型

  4. 空类型四大类

54ceaf01108e6d2f5279810a629b672c.png

最常用的整型, 实型与字符型(char,int,float,double):

5f5674a6e4fd42b207e5014aa35a01f4.png

整型数据是指不带小数的数字(int,short int,long int, unsigned int, unsigned short int,unsigned long int):

1d5af91807df551e9cf31bae755b2cb2.png

注:

  • int short int long int根据编译环境的不同,所取范围不同。

  • 而其中short intlong int至少是表中所写范围, 但是int在表中是以16位编译环境写的取值范围。

  • 另外 c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。

  • ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。

浮点数据是指带小数的数字。

生活中有很多信息适合使用浮点型数据来表示,比如:人的体重(单位:公斤)、商品价格、圆周率等等。

因为精度的不同又分为3种(float,double,long double):

959fd54b5d71864b8bd06a25a91e4200.png

注:C语言中不存在字符串变量,字符串只能存在字符数组中,这个后面会讲。

格式化输出语句

格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。

其格式为:printf("输出格式符",输出项);

9e231f3299f00faa4986a3a34508139b.png

当输出语句中包含普通字符时,可以采用以下格式:

printf("普通字符输出格式符", 输出项);

e6ca60d8a6efd630d318cceefa4afff0.png

注意:格式符个数要与变量、常量或者表达式的个数一一对应

不可改变的常量

在程序执行过程中,值不发生改变的量称为常量

mtianyan: C语言的常量可以分为直接常量和符号常量。

  • 直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:

    • 整型常量:13、0、-13;

    • 实型常量:13.33、-24.4;

    • 字符常量:‘a’、‘M’

    • 字符串常量:”I love imooc!”

517e347e28022f44e955988d5090ff25.png

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:

#define 标识符 常量值

#include 
#define POCKETMONEY 10    //定义常量及常量值
int main(){
    // POCKETMONEY = 12;  //小明私自增加零花钱对吗?
    printf("小明今天又得到%d元零花钱\n", POCKETMONEY);
    return 0;  
}

符号常量不可以被改变。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。

vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。 报错原因: 没有安装脚手架vue-cli 解决方法:安装脚手架vue-cli npm inst…

session的生命周期

session的生命周期分为创建、活动、销毁三个阶段 创建一个新的会话不代表旧的会话就销毁了 session.invalidate()方法可以销毁当前会话 在page1中写上这个方法再打开网页 说明该会话被销毁了出现了错误 我们把这个方法写在所有代码段的下面 再打开这个网页 刷新网页 这个sessio…

虚拟化与网络

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1959791,如需转载请自行联系原作者

算法基础之搜索和经典排序

目录 简介 搜索算法 二分法查找 排序算法 冒泡排序(Bubble Sort) 选择排序(Selection Sort) 插入排序(Insert Sort) 快速排序(Quick Sort) 归并排序(Merge Sort…

背景宽高随文本变化_中科大提出ContourNet:更准确的任意形状场景文本检测新方法...

点击上方“CVer”,选择加"星标"置顶重磅干货,第一时间送达本文转载自:CSIG文档图像分析与识别专委会本文简要介绍2020年被CVPR录用的论文“ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Text Detect…

算法面试题汇总(更新中)

1、根据数字返回相应位置数字 def get_digit(num, i):# i0 个位 1 十位 2 百位...return num // (10 ** i) % 10# print(get_digit(12345, 6)) 2、列表反转,不用内置函数 def reverse_list(li):n len(li)for i in range(n // 2):li[i], li[n-i-1] li[n-i-1], …

使用Jmeter对mysql进行性能测试入门

使用Jmeter对mysql进行性能测试入门 第一步:测试环境准备: 1)、mysql> select version(); ----------- | version() | ----------- | 5.5.13 | ----------- ms数据库数据: mysql> select count(*) from account; ----------…

算法基础之数据结构

whats the 数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 通常情况下&#xff…

soap接口怎么不返回tuple python_Python 中的接口

Python 是动态类型语言, 只在运行时做 Duck Typing 检查.利: 灵活, 方便弊: 代码混乱, 缺少规范标准自带两类接口支持: abc 和 typing.Protocol, 有他们协助给天马行空的程序员套上枷锁, Python 的大工程才可以"上道"abcabc 就是 Abstract Base Class, 虚基类. 跟 Ja…

java 第11次作业:你能看懂就说明你理解了——this关键字

this 代表当前对象 转载于:https://www.cnblogs.com/qingyundian/p/7736699.html

c#多线程操作界面控件的简单实现

一个小功能,早有人实现了。自己在一个项目中用到,觉得有必要记录一下,写下来。代码 从上面你可能已经看出如何多线程操作同一个控件的,就是通过一个委托,然后定义委托方法,判断控件的InvokeRequired属性&am…

ssh 免密_Linux下配置SSH免密通信 “sshkeygen”的基本用法

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。1 什么是SSH引用百度百科的说明:SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定;它是…

Python 第三方模块之 NumPy - 科学计算

NumPy 简介 NumPy 发展历史 1995年 Jim HugUNin开发了Numeric。随后,Numarray包诞生。Travis Oliphants整合Numeric和Numarray,开发Numpy,于2006年发布第一个版本。Numpy(Numeric Python)提供了许多高级的数值编程工…

Python 第三方模块之 matplotlib - 绘图库

简介 matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。 matplotlib有一套完全仿照MATLAB的函数形式…

微软P2V工具之Disk2VHD

虚拟化经过最近几年的发展,已经有很多的应用和服务迁移到了虚拟化的平台上了。在实施虚拟化的过程中就会涉及到将原来老旧的服务器来迁移到虚拟化平台的运行,这就是P2V,物理机转换为虚拟机。谈到P2V大家会想到很多的工具,例如Vmwa…

生成n套数位加减乘除_leetcode 算法汇总(四)位运算

一、 运算符& 与运算: 两个位都是 1 时,结果才为 1,否则为 0| 或运算: 两个位都是 0 时,结果才为 0,否则为 1^ 异或运算: 两个位相同则为 0,不同则为 1~ 取反运算:0 …

机器学习算法之 K-means、层次聚类,谱聚类

k-means 和层次聚类都属于划分聚类,实际中最常用的是k-means,k-means效果不好的情况下才会采用其他聚类 K-means算法 K-means算法,也称为K-平均或者K-均值,是一种使用广泛的最基础的聚类算法 假设输入样本为TX1,X2,…,Xm;则算法…

mapper注解的主要作用_Mybatis中mapper的xml解析详解

上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder。基础介绍回顾下之前是在分析configuration的初始化过程,已经进行到了最后一步mapperElement(root.evalNode("mappers"))&#x…

机器学习之梯度下降法(GD)和坐标轴下降法(CD)

梯度下降法 梯度下降法(Gradient Descent, GD)常用于求解无约束情况下凸函数(Convex Function)的极小值,是一种迭代类型的算法,因为凸函数只有一个极值点,故求解出来的极小值点就是函数的最小值…

阿里云Https部署网站

0、开始之前 文章图片很多,注意流量 首先你得准备好一个已经备案成功的域名,并且有一个在阿里云的服务器部署了的网站。 然后就是你迫切的希望升级网站为HTTPS部署。 那么我们开始吧! 1、申请CA证书 1.1登录阿里云控制台,选择菜单…