C语言大小自右向左判断,2019-03-14 C入门2 基本数据类型、运算符和变量

本文介绍了C语言的基本数据类型,包括字符型、整型和浮点型,以及如何使用printf函数输出这些类型的数据。接着讲解了算术运算符、关系运算符和逻辑运算符的使用,并通过示例展示了它们在计算和比较中的应用。此外,还阐述了变量的定义、赋值、初始化和命名规则,以及表达式的概念。最后提到了自增运算符和自减运算符的用法及其区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 基本数据类型--字符型、整型和浮点型

在Hello World示例使用了字符串,在C语言中还有一类常用的数据类型--数值类型。例如:字符c、整数123和小数3.14。

下面是在终端输出整数和小数。

#include

int main(){

printf("%c\n",'a');

printf("%d\n",123);

printf("%f\n",3.14);

return0;

}

说明

字符型是单个字符,必须使用英文单引号包裹。

这里使用了输出函数另一种用法:

printf("输出格式",输出项列表);

输出格式:

%c(c是charactor的首字母)表示输出单个字符

%d(d是十进制数decimal的首字母)表示输出整数

%f(d是浮点数float的首字母)表示输出小数

输出项列表:即存放要输出的变量名称。

注意,这里使用printf()时,前面的字符串和后面的数字中间用逗号,隔开。这里的%c、%d和%f称为占位符,在终端输出时,用后面的的数字替换。注意,不同类型的占位符是有区别的,用错了打印的值也会错误。

我们还可以把上面的两行合成一行。

#include

int main(){

printf("%c\n%d\n%f\n",'a',123,3.14);

return0;

}

数字可以与字符串一起打印。

#include

int main(){

printf("字符:%c\n整数:%d\n小数:%f\n",'a',123,3.14);

return0;

}

试一下,用上面的方法打印一下自己的姓名、年龄、身高、体重、体温等数据。

#include

int main(){

printf("姓名:张三\n");

printf("年龄:%d岁\n",25);

printf("身高:%dcm\n",175);

printf("体重:%dkg\n",60);

printf("体温:%f度\n",37.5);

return0;

}

这里只是简单介绍了数值类型,后面会有更加详细介绍。

2. 运算符--简单运算法(算术运算符、关系运算符和逻辑运算符)

程序中数字之间是可以像数学中数字一样进行运算的。例如:1+2,2*3等。

试一下

#include

int main(){

printf("%d\n",1+2+3);

return0;

}

对于数字常用的简单运算有算术运算符、关系运算符和逻辑运算符三类运算符。

2.1 算术运算符

运算符

符号

操作

用例

结果

加法

+

使它两侧的值加到一起

1+2

3

减法

-

从它前面的数减去后面的数

5-3

2

乘法

*

将它前面的数乘以后面的数

2*3

6

除法

/

用它左边的值除以右边的值

8/3

2(整数的除法会丢掉小数部分)

取模/取余

%

求用它左边的值除以右边的数后的余数

5%32

(%运算符两侧 的操作数必须为整数)

算术运算符特点

优先级:*/%>+-

结合律:自左向右

练习*

1.求半径为3的圆的周长和面积。

2.求半径为5的圆的周长和面积。

3.1小时40分钟30秒共计多少秒。

4.求10000秒是几小时几分钟几秒。

5.已知一个两位整数,分别求出个位数与十位数。

0b8af11969f2

image

2.2 关系运算符

数字除了可以计算外,还可以比较大小。

运算符

符号

操作

等于

==

检查两个操作数的值是否相等,如果相等则条件为真。

不等于

!=

检查两个操作数的值是否相等,如果不相等则条件为真。

大于

>

检查左操作数的值是否大于右操作数的值,如果是则条件为真。

小于

<

检查左操作数的值是否小于右操作数的值,如果是则条件为真。

大于等于

>=

检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。

小于等于

<=

检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。

在C语言中0为假,其他为真。

注意:这里除了>和

关系运算符特点

优先级:算术运算符 >>>=<<=>==!=

结合律:自左向右

练习

1.偶数/奇数判断

2.整除判断

3.猜测并判断下面程序的结果。

#include

int main(){

printf("1<100<10这个式子结果是:%d\n",1<100<10);

}

2.3 逻辑运算符

真假也可以运算,被称为逻辑运算。有如下:

运算符

符号

描述

&&

称为逻辑与运算符。如果两个操作数都非零,则条件为真。

称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。

!

称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻 辑非运算符将使其为假。

有点像电路中的并联串联,与像串,或像并。

逻辑运算符特点:

优先级:!> 算术运算符 > 关系运算符 >&&>||

结合律:&&与||自左向右;!自右向左。

练习

1.闰年判断

2.三角形构成判断

3.猜测并判断下面程序的结果。

#include

int main(){

printf("%d\n",!100+10);

printf("%d\n",!0+10);

return0;

}

2.4 优先级和括号

运算符都有优先级,改变优先级使用()。

练习

1.任意五个数的平均数

3. 变量

上面的例子中,有些值一直是变化的,而另外一些值是不变,例如,求圆的周长和面积的时候,半径是变的,而圆周率是不变,在数学中我们通常使用变量代替,在程序中也可以定义并使用变量。

杯子的作用是盛水,变量的作用是保存数据。

3.1 基本语法

1.定义

定义用来说明变量的名字和类型。

语法

先指定类型,然后指定变量名。

类型 变量名;

示例

int a;// 定义整型变量为a;

float b;// 定义浮点型变量为b;

这里的int表示整型,float表示浮点型。

0b8af11969f2

image

2.赋值

在变量名后,紧接=,后面再接常量。

a = 10;

b = 1.2;

3.使用

使用方式与常量相同。直接使用变量代替常量

#include

int main(){

int a;// 声明整型变量为a;

float b;// 声明浮点型变量为b;

a =10; b =1.2;

printf("a=%d\nb=%f\n",a,b);

printf("%d+%f=%f\n",a,b,a+b);

}

4.初始化

定义和赋值通常可以写在一起。这种定义时赋值的操作被称作初始化。

inta =10;

floatb =1.2;

初始化与赋值的区别

0b8af11969f2

image

试一试

1.使用变量前没有定义或出现什么情况?

2.使用变量前没有赋值打印和计算结果是什么?

练习

1.华氏温度转摄氏度

摄氏温标(C)和华氏温标(F)之间的换算关系为:

2.长度换算

1英尺 = 0.3048米

1英里 = 1609.3米

1英寸 = 2.54厘米

3.交换两个整数的值

编码套路:惯用法

3.2 命名规则

中国姓名中是否可以使用字母和数字?

0b8af11969f2

image

人的名字不能乱起,变量名字也不能随便起的,需要遵循一定的规制--命名规则。

1.变量名是字母、数字和下划线的组合。

2.变量名的开头必须是字母或下划线,不能是数字。 实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。

3.变量名中的字母是区分大小写的。比如a和A是不同的变量名,num和Num也是不同的变量名。

4.变量名绝对不可以是C语言关键字。关键词是由C语言规定的具有特定意义的字符串,通常也称为保留字。

标准C语言有如下关键字:

0b8af11969f2

image

3.3 重点

1.变量使用前必先初始化(定义和赋值)

2.变量显性三要素:类型、变量名、值

0b8af11969f2

image

4. 表达式

变量和常量能够参与计算,这种计算的式子称为表达式,表达式由运算符和操作数组成。

表达式必有计算结果。

5. 输入

如何通过键盘输入数字,并且保存在变量中?

#include

int main(){

int n;

scanf("%d",&n);

printf("%d\n",n);

return0;

}

练习

1.计算两个数的和差积商余。

2.输入一个年月日组成的数字,按照XXXX年XX月XX日打印出来。例如:输入20190311,打印出 2019年3月11日。

3.输入一个时分秒组成的数字,按照XX时XX分XX秒打印出来。例如:输入180301,打印出18时 3分1秒。

灵活的语法

1.多个变量同时定义

inta,b;

定义的变量类型必须一致。

2.多个变量同时赋相同值

a=b=10;

3.多个变量同时初始化

inta=10,b=20;

4.复合赋值运算符

运算符

描述

实例

+=

加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数

C += A 相当于 C = C + A

-=

减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数

C -= A 相当于 C = C- A

*=

乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数

C *= A 相当于 C = C * A

/=

除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数

C /= A 相当于 C = C/ A

%=

求模且赋值运算符,求两个操作数的模赋值给左边操作 数

C %= A 相当于 C = C% A

说明

复合赋值运算符与赋值运算符的优先级相同。

5.自增运算符++与自减运算符--

前缀自增/自减

运算符

描述

实例

++

自增运算符,整数值增加 1

++A 相当于 A=A+1

--

自减运算符,整数值减少 1

--A 将得到 A=A-1

下面三条语句可以看成一样的。

a=a+1;

a+=1;

++a;

自减也是一样的。

a=a-1;

a-=1;

--a;

后缀自增/自减

后缀自增/自减是一种特殊表达式,它的值是变量的原来的值,表达式计算结果后,变量的值自动加1/减1。

自增运算符与自减运算符与其他运算法不同点在于副作用(表达式计算结果之后修改变量的值)。所以,分析时需要分别分析表达式的值和变量的值。

前缀自增(++n)

前缀自减(--n)

后缀自增(n++)

后缀自减(n--)

表达式的值

n+1

n-1

n

n

变量的值

n+1

n-1

n+1

n-1

前缀与后缀的不同点在于表达式的值是否加1/减1,相同点在于变量的值都会加1/减1。

说明

1.自增运算符++、自减运算符--和复合赋值运算符主要用于简化代码。

2.自增运算符与自减运算符优先级高于算术运算符。

试一试

1.这两个运算符可以用在常量吗?

2.分析下面代码的输出结果。

int i =1;

int j =2;

int k = i++ + ++j + i++ ;

练习

通过键盘输入修改前面做过的练习题。

转载自 作者:jdzhangxin

侵删。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值