C语言笔记<4;
Posted 嚯嚯歪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言笔记<4;相关的知识,希望对你有一定的参考价值。
昨天干活没有试一试,今天把昨天也补上
1.2.4.2运算例子
先演示最简单的加减和乘法
#include<stdio.h>
int main()
{
int cookies=5;
int cookie_calories=125;
int total_eaten=0;
int eaten=2;
cookies=cookies-eaten; //变量的减法
total_eaten=total_eaten+eaten; //变量的加法
printf("\\ni have eaten %d cookies.there are %d cookies left",eaten,cookies);
eaten=3;
cookies=cookies-eaten;
total_eaten=total_eaten+eaten;
printf("\\nI have eaten %d more.Now there are %d cookies left\\n",eaten,cookies);
printf("\\nTotal energy consumed is %d calories.\\n",total_eaten*cookie_calories);
//变量的乘法,在printf()函数中输出时候可以进行运算
return 0;
}
再之后便是除法与取模运算
#include<stdio.h>
int main()
{
int cookies=45;
int children=7;
int cookies_per_child=0;
int cookies_left_over=0;
cookies_per_child=cookies/children;
printf("You have %d childern and %d cookies %d",children,cookies);
printf("Give each child %d cookies.\\n",cookies_per_child);
cookies_left_over=cookies%children;
printf("There are %d cookies left over.\\n",cookies_left_over);
return 0;
}
在我自己百度了解了一下,了解到在c语言中,除法有一些特殊的运算法则
在除法运算中,如果不同号结果就是负数,如果同号结果就是正数
-45/7=45/-7=-6
模运算就是取余数,而模数运算不管操作是否同号结果总是与左边的符号相同
45%-7=3
-45%7=-3
1.3变量与内存
1.3.1带符号的整型变量
前面介绍了整数变量,但是并没有深入计算机去研究他的内存,于是书上,下一部分就是关于变量的内存,每次声明一个变量的时候,编译器都会给他分配一个足够大的内存空间,来保存这个变量。相同类型的不同变量总是占据了相同大小的内存,但是不同类型的变量就不一样了
类型名称 | 字节数 |
---|---|
signed char | 1 |
short int | 2 |
int | 4 |
long int | 4 |
long long int | 8 |
以上的变量的极限范围,可以使用头文件<limits.h>中确定编译器中储存的极限值
1.3.2无符号的整型变量
有些数据有正有负,对于每一个带符号整数的类型都对应的一个无符号的整数,它们占用的内存空间内与有符号的整型相同,但是要在前面加上关键字unsigned。
类型名称 | 字节数 |
---|---|
unsigned char | 1 |
unsign short int/unsign short | 2 |
unsign int | 4 |
unsign long int | 4 |
unsgin long long int | 8 |
使用无符号类型的数因为所占空间是一定的,所以提供的数是一定的,但是由于没有符号,所以可以表示比有符号数大一倍
1.3.3指定整数常量
整数的变量有这么多类型,常量也有着不同的类型
但是常量的声明规则与变量有所不同(以下以100为例)
类型名称 | 命名格式 |
---|---|
int | 100 |
long in | 12345678L |
long long int | 123456789LL |
unsign int | 100U |
unsign long | 999999999UL |
unsign long long | 1234123412341234ULL |
负数 | 参考整数,在前面加负号 |
1.3.3.1.十六进制
十六进制常量,同样要和十进制一样,使用十六进制时候要记得在前面加上识别符号0x或者0X
举几个栗子
0xFFFF=65535,0Xdead=57005,0xafL=175
可以看到在第三个中最后加上了L,表示的便是long类型
1.3.3.2.八进制
八进制数以8为基底,数字可以有1-7,在八进制数之前需要加0进行识别,但是八进制现在逐渐被时代所淘汰,八进制起源于36位字时代,那时候一个字是3位的组合,因此36位二进制可以写为12个八进制数。(以上来源于百度)
014=12
在c语言中一定要谨慎使用0开头的常量,否则十进制的数看你会被计算机识别为八进制的数
1.3.3.3.默认类型
后缀 | 十进制常量 | 八或十六进制常量 |
---|---|---|
无 | 1.int 2.long 3.long long |
1.int 2.unsigned int 3.long 4.unsigned long 5.long long 6.unsigned long |
U | 1.int 2.long long long |
1. unsigned int 2.unsigned long 3.unsigned long long |
L | 1.long 2.long long |
1.long 2.unsigned long 3. long long 4.unsigned long long |
UL | 1.unsigned long 2.unsigned long long |
1. unsigned long 2.unsigned long long |
LL | 1. long long | 1.long long 2.unsigned long long |
ULL | 1.unsigned long long |
1.unsigned long long |
打个表格不容易,这个markdown格式用起来还是不顺手,今天往后还学了点,但是写不完了,以后截图不截图代码了,代码直接在代码块上输入,省的自己占空间,影响观看。
以上是关于C语言笔记<4;的主要内容,如果未能解决你的问题,请参考以下文章