今天看似学的比较多,实则后面的 操作符、数组等都是点到为止,了解到。
比较怀念在学校的时光了,今天是周天,时间上非常宽裕,也可以认真去学习,这种感觉真的很棒哈,白首方恨读书迟吧。那么我还是进入我的主题~
一、字符串
字符数组是指 数组是一组相同类型的元素,例如:“abcdef”
字符数组在后侧隐藏了一个名为“\ 0”的字符。\0 为字符串的结束标志,名为转义字符~
“ ” 双引号为字符串;
‘’ 单引号为单个字符
intclude<stdio.h>
int main()
{
char text1[]="abcd";
char text2[]={'a','b','c','d'};
printf("text1=%s\n",text1);
printf("text2=%s\n",text2);
//打印出来的数字为abcd 与乱码
//因为text2中没有/0 作为终止
int a = strlen(text1);
int b = strlen(text2);
//strlen为计算字符串长度
printf("a=%d\n",a);
printf("b=%d\n",b);
//同样为乱码,加入\0后 为4 4
return 0;
}
不管是字符串 还是数组中列出每个字符的都是在名稠厚要加 [ ] 括号;
打印单个字符 即text2的时候会出现乱码,因为没有 \ 0,也可手动加上
同时新晋一个新的 转义字符 strlen:计算字符串的长度,字符一共有几个打印出来就有数字几,text2中没有/0会导致数字随机,须知
二、转义字符
\? 在书中连续使用多个问好中使用,防止他们被解析为三字字母 不常用了
\' 用于表示常量 ' 有情况为' ' '
\" 用于表示常量 " 与上同理
\\ 用于表示一个反斜杠,防止被认为是转义字符
\a 警告声音
\b 退格符
\f 进纸符 不常见
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd为1~3个八进制数字。打印文本会自动解析为相应字母 例如\130 X
\xdd xdd为2个十六进制数字。例如 \30 0
日常编写代码多少会存在一些特殊情况。
例如:打印 “ 这个双引号
而我 printf( ” ” “ ),这样显然不会打印出 “ ,所以转义字符部分的情况就是这样啦、
三、注释:
前面加上 //
这个比较常用,好理解 不做用于代码中,主要是用于解释自己代码
// 注释风格为C++的,/*为C的注释风格,因为不支持嵌套 所以不常见
四、循环语句 — while
循环语句其中的一个例子 while
int main()
{
int hanghao = 0;
while (hanghao <= 20000)
//当hanghao小于等于20000时
{
printf("写代码第%d行\n", hanghao);
hanghao++;
//hanghao 加数
}
if (hanghao = 20000)
{
printf("拿到好office\n");
}
return 0;
}
”hanghao“这个确实比较low啦,便于我自己以后复习和理解,我就按照这个来编写啦~
首先定义 hanghao 为0.
创造循环 while 当hanghao 小于等于20000 时打印相同内容,然后编写hanghao 增加直至等于20000时 结束 打印另一个内容。
但是!记得while后面不要加; 我的理解是后面是有内容链接到这个函数的哈~
在此链接另一个 if 与else~:
#include<stdio.h>
int main()
{
int num = 0;
printf("你要好好学习吗?(0/1)\n");
scanf("%d", &num);
if (num == 1)
printf("你会找到好工作\n");
else
printf("回家种地\n");
return 0;
}
如果那么,之前考office二级的时候都是理解的~不过多赘述,很简单~
所以!代码说的对!~~
五、函数:
定义一个计算公式
#include<stdio.h>
int ade(int x, int y)
{
int z = 0;
//创建 Z 变量
z = x + y;
return z;
//返回所计算的数字
}
//创建一个名为ade的计算公式
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d %d", &num1, &num2);
//int sum = num1 + num2;
int sum = ade(num1, num2);
//利用ade的计算规则来计算num1与num2
printf("sum = %d",sum);
return 0;
}
这个比较常用了创建了一个”规则“名称为ade。 下方函数均可以利用这个逻辑,以上代码为创建了一个相加。 return返回一定为z,不然就白算了~
六、数组:
一组相同类型的元素集合
int arr [10] = {1,2,3,4,5,6,7,8,9,10}
//定义一个数组 放10个元素
//其中对应的的元素编号为 0 1 2 3 4 5 6 7 8 9
//创建字符同理:char []
记得数组语法规定的编号是多少吗?
0 1 2 3 4 5 6 7 8 9
四、操作符:
1、算数操作符
除法若要算小数点 9 / 2. 需要在任意一边写小数点。不然默认为整数!
% 取模 (余)
2、移位操作符:
移动的是二进制位 。内存中移位 右侧自动补充0
3、补操作位
4、赋值操作符:
int main()
{
int a =5
a = a-3 == a -= 3
a = a%5 == a %= 3
}
我写的确实有一些抽象,以上代码 == 的意思是左右表达的意思是一样的。也是一部分的举例~
5、单目操作符:
a + b 为双目操作符
!逻辑反操作:真假。真为除0的所有数,0为假。
(!0)会自动变为1,(!500)会变为假 0
sizeof之前有接触过,他不是函数,计算类型长度,为字节形式
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
int a =sizeof(arr);
int b = sizeof(int);
int c = sizeof(arr) / sizeof(int);
printf("%d\n", a);
printf("%d\n", b);
printf("%d\n", c);
return 0;
}
arr字符串中一共10个数组,但是如何求得他是10个数组呢,以上就是答案。
求得: a=40,b=4,c=10.当然是让a/b了。