C语言 Day12
一维数组数组的创建数组是一组相同类型元素的集合。
创建方式:
123type_ arr_name [const_n];//type_t 是指数组的元素类型//const_n 是一个常量表达式,用来指定数组的大小
整型数组的初始化1234int a =10;//初始化int arr[10] = {1,2,3,4,5,6,7,8,9,10}//完全初始化int arr[10] = {1,2,3,4,5} //不完全初始化,没有被初始化的自动用0代替int arr2[] = {1,2,3,4,5} //根据初始化的内容来确定数组元素个数
字符数组的初始化123456789101112char ch[5] = {'b','i','t'}; //用单引号依次存放char ch2[] = {'b','i','t'};char ch3[5] = "bit&quo ...
C语言 Day11
分支语句和循环语句C语言是结构化的程序设计语言有顺序结构,选择结构,循环结构三种结构
分支语句
if
switch
循环语句
while
for
do while
goto语句
什么是语句?
C语言中由一个分号隔开的句子,就是一个语句
12345int main(){ ;//空语句 return 0; }
if语句123456789101112131415语法结构:if(表达式) 语句; //一个语句不用大括号,多个语句需要大括号,形成一个代码块if(表达式) 语句1;else(表达式) 语句2; if(表达式) 语句1;else if(表达式) 语句2;else(表达式) 语句3;
123456789101112int main(){ int age = 10; if (age>=18) printf("成年\n"); else printf("未成年\n"); ...
C语言 Day10
初始指针
内存
内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的
所以为了有效地使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
内存可以类比成现实生活中的空间,如果想要找到一个地方,我们就需要知道对应的地址
此时有两个问题
1.内存是怎么编号的
2.一个这样的内存单元会占用多大的空间
1.内存是怎么编号的在讨论计算机是会考虑计算机时32位还是64位
二者指的是什么意思
32位 - 32根地址线 - 物理线 - 通电 - 1/0
64位 - 64根地址线 - 物理线 - 通电 - 1/0
再通过电信号转换成数字信息:1和0组成的二进制序列
如果是32位
经过排列组合会有2^32次方个序列,这些序列都可以作为内存编号,而这些编号就可以被称为内存单元的地址
2.一个内存单元会占用多大的空间我们可以通过假设法来猜测下
在32位操作系统下,已知可以有2的32次方个内存单元 ,也就是4,294,967,296个,假设每个单元占用1bit,那么经 ...
C语言 Day9
初识C语言关键字C关键字注意事项1.只能使用C语言提供的关键字,不能自己创造关键字
2.设置变量名时,不能是关键字
常见关键字
1auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
1234567891011121314151617auto 自动break 满足条件时跳出循环char 字符类型const 常变量continue 继续default 默认enum 枚举extern 用来申明外部符号register 寄存器关键字signed 有符号的unsigned 无符号的sizeof 大小static 静态修饰union ...
C语言 Day8
初始操作符2~1~ 对一个数的二进制按位取反
对一个数的二进制按位取反
123456int main(){ int a = 0; printf("%d\n", ~a);//按位取反 return 0;}
结果是-1
原因是按位取反是指将把内存中的0和1全部取反,并且整数在内存中储存的是补码
拿a=0举例子
首先介绍一个整数的二进制表示的3种情况
原码:是将二进制的最高位变成符号位,最高位为0则为正,反之为负
反码:就是将原码除符号位(最高位)剩下的的0和1全部反转
补码:在反码的基础上+1
回到例子
PS:正整数”三码合一“
— 和 ++12-- 前置、后置--++ 前置、后置++
12345678int main(){ int a = 10; int b = ++a;//前置++,先赋值后使用 printf("%d\n", b); printf("%d\n", a); return 0;& ...
homework-Lesson-2
求两个数的较大值123456789101112131415161718#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int MAX(int x,int y){ if (x > y) return x; else return y;}int main(){ int num1 = 0; int num2 = 0; scanf("%d %d", &num1, &num2); int max = MAX(num1, num2); printf("%d", max); return 0;}
BC41-你是天才吗?1234567891011#include <stdio.h>int main(){ int IQ = 0; while(scanf("%d", &IQ) != EOF) { if (IQ >= 140) pr ...
C语言 Day7
初识操作符
算术操作符
1+ - * / %(取余)
位移操作符
1>> <<
位操作符
1& ^ |
赋值操作符
1= += -= *= /= &= ^= |= >>= <<=
单目操作符
12345678910! 逻辑反操作- 负值+ 正值& 取地址sizeof 操作数的类型长度(以字节为单位)~ 对一个数的二进制按位取反-- 前置、后置--++ 前置、后置++* 间接访问操作符(解引用操作符)(类型) 强制类型转换
算术操作符算术操作符没什么好说的,就是简单的四则运算,但会有一些初学时的误区
123456int main(){ int a = 9/2; printf("%d\n", a); return 0;}
结果是4
为什么不是4.5呢 ...
C语言 Day6
初识选择语句提供选择的语句
12345678910111213141516int main(){ int input = 0;//输入的值 printf("XD\n"); printf("欢迎来到我的blog,想要继续看嘛(1/0)"); scanf("%d", &input); if (input == 1) { printf("不给你看哦o(* ̄▽ ̄*)ブ"); } if (input == 0) { printf("那好吧,再见了(T_T)"); } return 0;}
初识循环语句
1234567891011121314int main(){ int money = 0; while(money < 30000) //循环 { printf("攒钱:% ...
C语言 Day5
转义字符转义字符就是转变其原来的意思
这里有一个转义的图表可以参考一下
转义字符
意义
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一个反斜线字符’’\’
092
\’
代表一个单引号(撇号)字符
039
\”
代表一个双引号字符
034
\?
代表一个问号
063
\0
空字符(NUL)
000
\ddd
1到3位八进制数所代表的任意字符
三位八进制
\xhh
十六进制所代表的任意字符
十六进制
那来举一个例子
12345int main(){ printf("C;\test\test.c"); return 0;}
这个输出结果会是什么 ...
C语言 Day4
字符串字符串即一串字符。单括号括起来的是字符,双括号括起来的就是字符串。
如何描述字符串12345int main(){ "abcdef"; //字符串 return 0;}
提前需要注意的是,字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候,\0因为是结束的标志,因此不算做字符串的内容
证明字符串的内容都是字符 与 \0算作元素因为数组表示的是一组相同类型的元素,所以我们在这里可以选择使用字符数组来证明
首先将字符串存到字符数组中
12345int main(){ char arr[] = "abcde";//[]不填写,会自动根据后续内容进行初始化 return 0;}
按下F10进行调试,之后再监视arr
根据右侧监视的结果我们发现有0~5,一共6个元素,是因为字符串在结尾隐藏了一个\0
\0的重要性 与 \0是字符串中止的证明\0的主要作用就是进行一个终止读取的作用及时折损
123456789int main(){ char arr1[] = & ...