C语言入门——内功心法

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/C++感兴趣的话,本小编这里准备了一大堆的学习资料可以免费分享给有需要的朋友们,学习群:前面八七三,中间五二一,后面八零三。连起来就可进群然后免费领取一份学习资料哦!!!!

赋值运算符

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

简单赋值运算符

=

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

复合赋值运算符就是在简单赋值符

=

之前加上其它运算符构成.

例如

+=、-=、*=、/=、%=

分析:定义整型变量a并赋值为3,

a += 5;

这个算式就等价于

a = a+5;

将变量a和5相加之后再赋值给a

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

关系运算符

C语言中的关系运算符:

关系表达式的值是

,在C程序用整数

1

表示。

注意:

>=,

这种符号之间不能存在空格

逻辑运算符

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

语句。其一般形式为:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191006A0HKPG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券