今日练习代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
printf(" **\n");
printf(" **\n");
printf("*****************\n");
printf("*****************\n");
printf(" * * \n");
printf(" * * \n");
return 0;
}
int main()
{
printf("Name Age Gender\n");
printf("---------------------\n");
printf("Jack 18 man\n");
return 0;
}
int main() {
int a = 40;
int c = 212;
int ans = (-8 + 22) * a - 10 + c / 2;
printf("%d\n", ans);
return 0;
}
Max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
int main() {
int a = 0;
int b = 0;
scanf ("%d%d",&a, &b);
int r = Max(a, b);
printf(" %d\n", r);
return 0;
}
今日笔记:
开头结尾
函数
自己定义
操作符
单目操作符
++、--
后置++,先使用,后++
前置++,先++,后使用
条件操作符
三目操作符
exp1 ? exp2 : exp3
运算操作符
加减乘除
除号两端都是整数时执行整除,只要有一个浮点数则为浮点数的除法
printf("%.2f \n",a);
逗号表达式
eg.
关键字
define
定义标识符常量
NUM=100
使用此句后,整个程序中NUM完全=100,可以当作数字使用
定义宏
auto
每个局部变量前都有(被自动省略)
register
typedef
类型重命名
extern
内存
进制
宏
printf("");
int、float、double、char
整形变量、单精度变量,双精度变量 整形(integer):整数,包括正负数和0
%d是整形插入符,printf()输出时,需要输出的整形数据会替代%d输出 d表示十进制(decimal) 使用某自定义字符前需先定义
常量
c语言数学库
变量
变量代表一个有名字的、具有特殊属性的存储单元。它可以用来保存数据。变量的值是可以改变的。
变量在程序中定义的一般形式就是: <类型名称> <变量名称>
标识符
变量需要一个名字,变量的名字便是一种“标识符”,用来区别它和其它不同的变量
用来对变量、函数、数组等命名的字符序列统称为标识符,上面提到的 price 、amount 是标识符,函数名 printf 也是一种标识符。
变量必须先定义后使用。这一行定义了一个变量,变量的名字是 price,类型是 int,初始的值是 0
选择结构
if("条件")
三目运算符
逻辑运算符:
循环结构
while 循环
while 循环的循环特点是先判断表达式后执行循环体语句。 一般语法如下:
statement1 和 statement2 既可以是单个语句也可以是语法块,其语法结构如下:
do...while循环
while 循环体是先判断再循环,而 do...while 语句是先循环后判断。 do...while 语句的一般形式如下:
注意:和 while 语句不同, do...while 语句中的 while(); 后面是有 “;” 的。
for循环
for 语句的执行过程如下:
1. 先求解表达式 1。本例中的表达式 1 就是 i=1,即把整数 1 赋值给 i。
2. 求解表达式 2。若此条件表达式的值为真(非 0),则执行 for 语句的循环体,然后执行第三步。若为假(0),则结束循环,转到第(5)步。
3. 求解表达式 3。在本例中,执行 i++,使 i 的值加 1,i 的值变成 2。
4. 转回步骤 2 继续执行。 由于此时 i=2,表达式 i<=100 的值为真,再次执行循环体中的语句。然后再执行步骤(3)。如此反复,直到 i 的值变到了 101,此时表达式 i<=100 的值为假,不再执行循环体,而转到步骤(5)。
5 . 循环结束,执行 for 语句下面的一个语句。
异或
数组
注:
数组名的命名规则和变量名相同,遵循标识符命名规则。
在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。例如,在定义时定义 student[10],表示数组 student[] 有 10 个元素。注意,下标是从 0 开始的,这 10 个元素分别是 student[0]...student[9]。一定要注意这里面不会有 student[10]。
常量表达式中可以包括常量和符号变量,如 int a[4*2] 是合法的。但是不能包括变量,如下面的就是不合法的: 数据类型
整数类型
基本类型(int 类型)
编译系统分配给 int 类型数据 2 个字节或者 4 个字节(由具体的编译系统自行决定)。
我们使用的 gcc 编译器为每个整数类型分配四个字节(32 个二进位)。
所以当 4 个字节的整数类型取值范围是 -2^31 到(2^31-1)。无符号的基本整型表示为 unsigned int,和 int 类型占有的字节数相同,取值范围是 0 到(2^32-1)
短类型(short 类型)
短整型的类型名为 short,gcc 编译系统分配给 short 类型 2 个字节,存储方式和 int 类型一样,也是补码的形式存储
取值范围是 -2^15 到(2^15-1),无符号短整型 unsigned short 的取值范围是 0 到(2^16-1)。
长整型(long 类型)
gcc 编译系统分配给 long 类型 8 个字节,存储方式和 int 类型一样,也是补码的形式存储,
取值范围是 -2^63 到(2^63-1),无符号长整型 unsigned long 的取值范围是 0 到(2^64-1)。
浮点型数据
由于小数点的位置可以浮动,所以实数的指数形式称为浮点数。
一个实数表示为指数可以不止一种形式,如 4.3242 可以表示为 4.3242*10^0,0.43242*10^1,0.043242*10^2, 432.42*10^-2 等,他们代表同一个值。可以看到小数点的位置是可以在 43242 几个数字之间浮动的,只要在小数点位置浮动的同时改变指数的值,就可以保证它的值不会改变。
规范化的指数形式:在指数形式的多种表示方式中把小数部分中小数点前的数字为 0,小数点后第 1 位数字不为 0 的表示形式称为规范化的指数形式
如 0.43242*10^1 就是 4.3242 的规范化的指数形式。
类型
float(单精度浮点型)
gcc 编译系统为每一个 float 型变量分配 4 个字节,数值以规范化的二进制数指数形式存放在存储单元中。
在存储时,系统将实型数据分成小数部分和指数部分两个部分、分别存储。如 3.14159 在内存中的存放形式如下图:
字符型
字符型常量是用单引号括起来的一个字符。如 'A','a','?' 。
在所有的编译系统中都规定以 1 个字节(8 位)来存放一个字符。字符型数据在存储时,并不是把该字符本身存放到内存单元中,而是把该字符相应的 ASCII 码值存放到该存储单元中。
字符串常量
用一对双引号括起来的零个或多个字符组成的序列,如 "hello","China","b" 都是字符串常量。
字符串常量的存储与字符常量的存储是不同的。字符串中的每个字符占用一个字节,在存储字符串常量时还要自动在其末尾加上 '\0' 作为字符串结束的标志。
我们先来一起看下 "How do you do." 是如何存储的吧! 注
可以通过 sizeof() 运算符查看各类型的常量占据多少字节。
switch 括号内的“表达式”,其值的类型应为整数类型或者字符类型,不可以是其他数据类型。
default 语句为选择项,可有可无。另外,default 后面可以不加 break 语句。 指针
指针变量用于存放地址,大小恒为4字节
未掌握:Torturegit的配置和Gitee库的上传和Clone 进度:23/180, 12.8%