c语言入门

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

hello,world

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

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

c语言的具体结构

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

#include 就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。函数就是实现代码逻辑的一个小的单元。

必不可少之主函数

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

C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。而main前面的int就是主函数的类型.

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

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

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

良好习惯之规范一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行。

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

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

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

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

程序解释——注释

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

C语言注释方法有两种:多行注释: /* 注释内容 */单行注释: //注释一行

有名有姓的C(标识符)

C语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。

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

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

变量及赋值

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

变量定义的一般形式为:数据类型 变量名;多个类型相同的变量:数据类型 变量名, 变量名, 变量名...;

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

变量的赋值分为两种方式:先声明再赋值

声明的同时赋值

基本数据类型

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

构造数据类型

指针类型

空类型四大类

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

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

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

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

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

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

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

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

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

格式化输出语句

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

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

当输出语句中包含普通字符时,可以采用一下格式:printf('普通字符输出格式符', 输出项);

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

不可改变的常量

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

mtianyan: C语言的常量可以分为直接常量和符号常量。直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:

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

实型常量:13.33、-24.4;

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

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

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

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

符号常量不可以被改变。

自动类型转换

数据类型存在自动转换的情况.

自动转换发生在不同数据类型运算时,在编译的时候自动完成。

char类型数据转换为int类型数据遵循ASCII码中的对应值.

注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换char可以转换为int,int可以转换为double,char可以转换为double。但是不可以反向。

强制类型转换

强制类型转换是通过定义类型转换运算来实现的。其一般形式为:(数据类型) (表达式)

其作用是把表达式的运算结果强制转换成类型说明符所表示的类型

在使用强制转换时应注意以下问题:数据类型和表达式都必须加括号, 如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。

转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。

强制转换后的运算结果不遵循四舍五入原则。

运算符号

C语言中运算符:

※ 算术运算符※ 赋值运算符※ 关系运算符※ 逻辑运算符※ 三目运算符

算术运算符

c语言基本运算符:

除法运算中注意:如果相除的两个数都是整数的话,则结果也为整数,

小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。

mtianyan: 取余运算中注意:该运算只适合用

两个整数进行取余运算,如:10%3 = 1;mtianyan: notes: 而10.0%3则是错误的;

运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1;

mtianyan: %%表示这里就是一个%符.

注:C语言中没有乘方这个运算符,也不能用×, ÷等算术符号。

自增与自减运算符自增运算符为++,其功能是使变量的值自增1

自减运算符为--,其功能是使变量值自减1。

它们经常使用在循环中。自增自减运算符有以下几种形式:

赋值运算符

C语言中赋值运算符分为简单赋值运算符和复合赋值运算符

简单赋值运算符=号了,下面讲一下复合赋值运算符:

复合赋值运算符就是在简单赋值符=之前加上其它运算符构成.例如+=、-=、*=、/=、%=

分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a

注意:复合运算符中运算符和等号之间是不存在空格的。

关系运算符

C语言中的关系运算符:

关系表达式的值是真和假,在C程序用整数1和0表示。

注意:>=, <=, ==, !=这种符号之间不能存在空格。

逻辑运算符

C语言中的逻辑运算符:

逻辑运算的值也是有两种分别为真和假,C语言中用整型的1和0来表示。其求值规则如下:与运算 &&参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;或运算 ||参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;非运算!参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。

三目运算符

C语言中的三目运算符:?:,其格式为:表达式1 ? 表达式2 : 表达式3;

执行过程是:先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。

#include int main(){ //定义小编兜里的钱 double money =12.0 ; //定义打车回家的费用 double cost =11.5 ; printf('小编能不能打车回家呢:'); //输出y小编就打车回家了,输出n小编就不能打车回家 printf('%c\n',money>=cost?'y':'n' ); return 0;}

运算符大比拼之优先级比较

各种运算符号的顺序:

优先级别为1的优先级最高,优先级别为10的优先级别最低。

分支结构之简单if语句

C语言中的分支结构语句中的if条件语句。

简单if语句的基本结构如下:if(表达式){执行代码块;}

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

注意:if()后面没有分号,直接写{}

分支结构之简单if-else语句

简单的if-else语句的基本结构:

语义是: 如果表达式的值为真,则执行代码块1,否则执行代码块2。

注意:if()后面没有分号,直接写{},else后面也没有分号,直接写{}

分支结构之多重if-else语句

C语言中多重if-else语句,其结构如下:

语义是:依次判断表达式的值,当出现某个值为真时,则执行对应代码块,否则执行代码块n。

注意:当某一条件为真的时候,则不会向下执行该分支结构的其他语句。

分支结构之嵌套if-else语句

C语言中嵌套if-else语句。嵌套if-else语句的意思,就是在if-else语句中,再写if-else语句。其一般形式为:

循环结构之while循环

反复不停的执行某个动作就是江湖人称的循环 。

C语言中有三种循环结构,先看一下C语言while循环的结构

其中表达式表示循环条件,执行代码块为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体代码块。while语句中的表达式一般是关系表达或逻辑表达式,当表达式的值为假时不执行循环体,反之则循环体一直执行。

一定要记着在循环体中改变循环变量的值,否则会出现死循环(无休止的执行)。

循环体如果包括有一个以上的语句,则必须用{}括起来,组成复合语句。

循环结构之do-while循环

C语言中的do-while循环,一般形式如下:

do-while循环语句的语义是:它先执行循环中的执行代码块,然后再判断while中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,

do-while循环至少要执行一次循环语句。

注意:mtianyan: 使用do-while结构语句时,while括号后必须有分号。

循环结构之for循环(一)

c语言中for循环一般形式:

它的执行过程如下:执行表达式1,对循环变量做初始化;

判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;

执行表达式3,(i++)等对于循环变量进行操作的语句;

执行for循环中执行代码块后执行第二步;第一步初始化只会执行一次。

循环结束,程序继续向下执行。

注意:for循环中的两个分号一定要写

循环结构之for循环(二)

在for循环中:表达式1是一个或多个赋值语句,它用来控制变量的初始值;

表达式2是一个关系表达式,它决定什么时候退出循环;

表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。

这三部分之间用分号 ; 分开。

使用for语句应该注意:for循环中的“表达式1、2、3”均可不写为空,但两个分号(;;)不能缺省。

省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。

省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。

省略“表达式3(循环变量增减量)”,不做其他处理,循环一直执行(死循环)。

表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。

表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。

表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。

各表达式中的变量一定要在for循环之前定义。

怎么获得一个数的百位,十位和个位百位数:num/100 可以获得,因为 int 是整数型,小数部分会省略。比如 765/100 的结果是7

十位数:num%100/10 。比如765%100先得到65,65/10得到6

个位数:num%10。765%10得到5

循环结构之三种循环比较

while, do-while和for三种循环在具体的使用场合上是有区别的,如下:在知道循环次数的情况下更适合使用for循环;在不知道循环次数的情况下适合使用while或者do-while循环:如果有可能一次都不循环应考虑使用while循环

如果至少循环一次应考虑使用do-while循环。

但是从本质上讲,while,do-while和for循环之间是可以相互转换的。

c语言for循环除法运算,C语言入门这一篇就够了相关推荐

  1. c语言圆周率计算_C语言入门这一篇就够了

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

  2. Python语言入门这一篇就够了-学习笔记(十二万字)

    Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...

  3. c语言里的除法运算定律有哪些,除法运算定律有哪些

    连续除去两个数,等于除去这两个数的积.被除数扩大或缩小n倍,除数不变,商也相应的扩大或缩小n倍.除数扩大或缩小n倍,被除数不变,商相应的缩小或扩大n倍. 一.除法的意义 已知两个因数的积与其中一个因数 ...

  4. c语言10以内位运算,C语言基础知识--位运算

    1.原码,反码,补码: (1)在n位的机器数中,最高位为符号位,该位为零表示为正,为一表示为负:其余n-1位为数值位,各位的值可为零或一.当真值为正时,原码.反码.补码数值位 完全相同:当真值为负时, ...

  5. js php c语言for循环,小蚂蚁学习C语言(8)——C语言for循环

    最近听到流程控制和循环了,感觉语言之间的语法很相似,不听吧,怕耽误某一个不同点或知识点,听吧,消耗很多时间,着实很纠结,莫非这需要传说中的空杯心态? 循环    定义和分类 定义:某些代码会被重复执行 ...

  6. c语言选择循环实验报告,C语言程序设计实验报告选择与循环结构程序设计.doc

    C语言程序设计实验报告选择与循环结构程序设计.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的 ...

  7. 离散集合运算c语言程序,离散数学集合运算c语言.doc

    离散数学集合运算c语言 离散数学集合运算(第一次作业) C语言写法: #include //求长度的运算 void main() { int i,j,n; float A[]; float B[]; ...

  8. r语言for循环的c(),R语言简单for循环(二)

    创建一个简单数据框 Sys.setlocale('LC_ALL','C') ## [1] "C" library(tidyverse) ## -- Attaching packag ...

  9. 0-c语言入门这一篇就够了-学习笔记(一万字)

    内容来自慕课网,个人学习笔记.加上了mtianyan标签标记知识点. C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C ...

最新文章

  1. Qt学习笔记之数据库
  2. .NET生态系统概览
  3. SQL的经典语句(太全了)
  4. HttpClient调用http接口(POST)
  5. linux gcc编译器误用-MM导致出现linker input file unused because linking not done
  6. u-boot移植随笔:继续使用svn进行版本控制(合并分支实例)
  7. 那些实用的Nginx规则
  8. STC12LE5620AD RAM问题
  9. 离散数学期末复习概念_复习第1部分中的基本概念
  10. 每日一题/014/三角函数/和差化积/求证:cos 2+cos 4+cos 6+...+cos 2n=sin ncos(n+1)/sin1
  11. Windows键盘鼠标模拟按键类型
  12. Python基础语法1 —— 变量、数据类型
  13. Java二维数组的错误写法分析
  14. html视频标签video旋转播放方向,video视频文件有方向怎么处理?
  15. 【嵌入式Linux】开发环境搭建
  16. 2021电工杯B题建模思路代码完整版
  17. 面试又双叒叕被问到数据库三大范式,该怎么答才能让面试官认可呢
  18. 世界国家 的数据库sql
  19. 如何用python 炒股赚钱_教程 | 如何用Python和机器学习炒股赚钱?
  20. webApi文档好帮手-apidoc使用教程

热门文章

  1. Hbase系列---内置过滤器
  2. uni-app App端半屏连续扫码
  3. 年后跳槽那点事:乐视+金山+360面试之行
  4. 基于HFSS的天线设计流程
  5. YOLOV4+DeepSort车流量检测基础版
  6. 干货分享:win10如何彻底清理C盘垃圾
  7. 消防给水及消火栓系统技术规范_消防给水及消火栓系统技术规范8 管网 习题
  8. react中label标签关联的用法
  9. pspad的一个怪现象:在一些空行的位置出现个别不该出现的字符
  10. 开发平台之组织架构设计