今日C语言学习

今日练习代码:

#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;
}


今日笔记:

  • 开头结尾

    • #include<stdio.h>
    • int main(){
    • return0;
    • }
  • 函数

    • 自己定义

  • 操作符

    • 单目操作符

      • 单目即对一项进行操作
        • 同理:双目,三目分别为对两项,三项进行运算
        • 逻辑反操作
          • 真为假,假为真
      • ++、--

        • 后置++,先使用,后++

        • 前置++,先++,后使用

      • &

        • 取地址操作符
    • 条件操作符

      • 三目操作符
        • exp1 ? exp2 : exp3

    • 运算操作符

      • 加减乘除

        • 除号两端都是整数时执行整除,只要有一个浮点数则为浮点数的除法
        • %
          • 取模=取余
        • printf("%.2f \n",a);

          • .2f 即为保留两位小数
    • 逻辑操作符

      • && 与
      • || 或
    • 逗号表达式

      • eg.

    • 下标引用操作符
      • []
    • 函数调用操作符
      • ()
        • 也是判断是否为函数的标准
          • 括号不能删除
  • 关键字

    • C语言本身内置的,不能自己创建
    • define

      • 定义标识符常量

        • NUM=100
          • 使用此句后,整个程序中NUM完全=100,可以当作数字使用
      • 定义宏

    • static

      • 修饰全局变量时

      • 全局变量

    • auto

      • 每个局部变量前都有(被自动省略)

    • const

      • 常属性
    • enum - 枚举

    • struct - 结构体

    • union - 联合体(共用体)

    • goto

    • register

      • 寄存器关键词
      • 作用
    • signed

      • 有符号的
    • unsigned

      • 无符号的
    • sizeof

      • 用于计算占用空间
    • typedef

      • 类型重命名

      • 为unsigned int 重命名为uint
    • void

      • 无(函数的返回类型,函数参数)
    • extern

      • 声明外部变量
      • eg:

  • 内存

    • 开始调试
      • 窗口
        • 内存
  • 进制

    • 2进制
      • 01
    • 8进制
      • 0~7
    • 16进制
      • 0~9 a b c d e f
  • printf("");

    • =python 的print()
    • 打印格式
      • %p
        • 以地址格式打印
      • %d
        • 以十进制打印
    • /n
      • 换行
    • /t
      • 空格
    • int、float、double、char

      • 整形变量、单精度变量,双精度变量
      • 整形(integer):整数,包括正负数和0
        • %d是整形插入符,printf()输出时,需要输出的整形数据会替代%d输出
        • d表示十进制(decimal)
  • 使用某自定义字符前需先定义

    • 格式:
      • int a,b,c;
  • 常量
    • 语法:const [数据类型]=[值]
  • c语言数学库

    • 语法:
      • #include<math.h>
    • 取整
      • 向上取整:
        • int ceil(double x);
      • 向下取整
        • int floor(double x);
    • 次幂

      • 开方

      • 编程中:=取余

    • 变量

      • 变量代表一个有名字的、具有特殊属性的存储单元。它可以用来保存数据。变量的值是可以改变的。
      • 变量在程序中定义的一般形式就是: <类型名称> <变量名称>
        • int a,b,c;
    • 标识符

      • 变量需要一个名字,变量的名字便是一种“标识符”,用来区别它和其它不同的变量
      • 用来对变量、函数、数组等命名的字符序列统称为标识符,上面提到的 price 、amount 是标识符,函数名 printf 也是一种标识符。
      • 变量必须先定义后使用。这一行定义了一个变量,变量的名字是 price,类型是 int,初始的值是 0
        • int price = 0;
  • 选择结构

    • if("条件")

      • 后不接分号,直接换行,缩进
      • 若有else则在else前分号,可以同行
    • 三目运算符

    • 逻辑运算符:

      • 分别=
        • and
        • or
        • nor?
  • 循环结构

    • while 循环

      • while 循环的循环特点是先判断表达式后执行循环体语句。 一般语法如下:

      • statement1 和 statement2 既可以是单个语句也可以是语法块,其语法结构如下:

    • do...while循环

      • while 循环体是先判断再循环,而 do...while 语句是先循环后判断。 do...while 语句的一般形式如下:

      • statement 就是循环体。
      • 注意:和 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 语句下面的一个语句。
  • 异或

    • 性质1:两个相同的的数异或结果为0

    • 性质2:任何一个数和0异或结果为它本身

    • 性质3:异或满足交换律和结合律

  • 数组

    • 用于储存一组相同类型的元素
    • 也可为字符数组
      • int char[]
    • 定义一维数组的一般形式为:
      • 类型符 数组名[常量表达式]
        • int student[10];
    • 注:

      • 数组名的命名规则和变量名相同,遵循标识符命名规则。
      • 在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。例如,在定义时定义 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 在内存中的存放形式如下图:
        • double(双精度浮点型)
        • long double(长双精度浮点型)
    • 字符型

      • 基本类型符是 char
      • 字符型常量是用单引号括起来的一个字符。如 'A','a','?' 。
      • 在所有的编译系统中都规定以 1 个字节(8 位)来存放一个字符。字符型数据在存储时,并不是把该字符本身存放到内存单元中,而是把该字符相应的 ASCII 码值存放到该存储单元中。
    • 字符串常量

      • 用一对双引号括起来的零个或多个字符组成的序列,如 "hello","China","b" 都是字符串常量。
      • 字符串常量的存储与字符常量的存储是不同的。字符串中的每个字符占用一个字节,在存储字符串常量时还要自动在其末尾加上 '\0' 作为字符串结束的标志。
      • 我们先来一起看下 "How do you do." 是如何存储的吧!
    • C语言每行后必须加;
    • 结果后加\n,不容易被扣分
    • 字符串内可用中文符号和中文
    • 默认每个输出的字符串后都要换行输出"/n"
    • 变量不能以数字开头,不能包含空格
    • 一个int可以定义多个变量,并给他们赋值
    • 可以通过 sizeof() 运算符查看各类型的常量占据多少字节。
    • switch 括号内的“表达式”,其值的类型应为整数类型或者字符类型,不可以是其他数据类型。
    • default 语句为选择项,可有可无。另外,default 后面可以不加 break 语句。
  • 指针

    • *说明p是指针
    • &和*
      • &取地址操作符
      • *解引用操作符
      • 一来一去刚好相反
    • 指针变量用于存放地址,大小恒为4字节

    • x86是32位系统
    • x64是64位系统
  • 未掌握:Torturegit的配置和Gitee库的上传和Clone
  • 进度:23/180, 12.8%
  • 47
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值