#2023.3.29
六,转义字符
#include<stdio.h> 【打印出来是 est】
int main(void) 要使打印正常 \\t
{ 则多加一个斜杠
printf("\test\t");
return 0;
}
//用于表示一个反斜杠,防止被解释为一个转义字符
printf("%c\n",'\'');
printf("%s\n"," \" ");
//strlen-string length-计算字符串长度的
#include<string.h>
Printf(“%d\n”,strlen(“c:\text\32\text.c”));
C : \t e x t \32 \t e x t . c 【13个】
\32作为8进制代表的那个十进制数字,作为ASCII码值,对应的字符
//32—十进制转换3*8^1+2*8^0=24+2=26—作为ASCII码值代表的字符
\ddd表示1~3个八进制的数字
printf("%c", '\132');
//132—1*8^2+3*8^1+2*8^0=64+24+2=90
\xdd表示2个十六进制数字
printf("%c", '\x61'); 【是一个字符】
//61—6*16^1+1*16^0=97
#include<stdio.h>
int main(void)
{
int input = 0;
printf("懿酱你来接我吗?(1/0)>:");
scanf_s("%d",&input);
if (input == 1) //两个等号来判断相等不相等
printf("好,来接你。");
else
printf("……");
return 0;
}
#2023.3.30
七.C语言中如何实现循环?
- while语句
#include<stdio.h>
int main(void)
{
int line = 0;
while (line < 20000)
{
printf("懿酱:%d\n",line);
line++;
}
if (line >= 20000)
printf("酱酱酱\n");
return 0;
}
2.for语句
3.do……while语句
八.Add函数相加
F(x,y)=x+y;
Add
int Add(int x, int y)
{
int z = x + y;
return z;
}
int main(void)
{
int num1 = 10;
int num2 = 20;
int sum = 0;
int fufu = 100;
int didi = 200;
sum = Add(num1, num2);
printf("sum=%d\n",sum);
}
1,函数:分为库函数和自定义函数
2,数组:一组相同类型元素的集合
数组的定义:
Int arr[10]={1,2,3,4,5,6,7,8,9,10};
数组的下标 0 1 2 3 4 5 6 7 8 9
打印一个元素printf("%d\n", arr[4]); 【打印出来是5】
打印一组元素int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d\n", arr[4]);
int i = 0;
while (i < 10)
{
printf("%d\n",arr[i]);
i++;
}
//用下标的方式访问元素
//定义一个整型数组,最多放10个元素
Char ch[20];
Float arr2[5];
九,操作符
1.取模操作符:%
2.移(2进制)位操作符:《 左移
》右移
Int fufu=1;
0000000000001
a《1;//a向左移动一位【左边丢弃,右边补零
全部拿起来向左移
0000000000010
//整型1占4个字节—32个比特位
int main(void)
{
int fyfy = 1;
int fifi = fyfy << 1;
printf("%d\n", fifi);
return 0 ;
}
3.(二进制)位操作 0为假,非0为真。
& 按位与 - 上下同真则真
| 按位或 有1就是1
^ 按位异或 对应的二进制位相同则为0
相异为1.
二进制:1 1 1 1
1*2^3+1*2^2+1*2^1+1*2^0
8 4 2 1
int main(void)
{
int a = 3; //011
int b = 5; //101
int c = a & b; //001
printf("%d", c);
return 0 ;
}
int main(void)
{
int a = 3; //011
int b = 5; //101
int c = a |b; //111
printf("%d", c);
return 0 ;
}
int main(void)
{
int a = 3; //011
int b = 5; //101
int c = a ^ b; //110
printf("%d", c);
return 0 ;
}
- (复合)赋值操作符
= += -= *= /= &= ^= |= >>= <<=
= 是赋值,== 是判断相等
a = a+10;和a +=10;相等等价
a =a-2
- 单目操作符:! 逻辑反操作(真变假假变真)
int main(void) 【打印出来a为10,!a为0
{
int a = 10;
printf("%d\n", a);
printf("%d\n", !a);
return 0 ;
}
- 负值 int a = -10;
+ 正值
& 取地址
sizeof 操作数的类型长度(字节为单位)
计算变量或类型所占空间大小
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(int));
int arr[10] = { 0 };
printf("%d\n", sizeof (arr));
//int main(void)
{
int arr[10] = { 0 };
int sz = 0;
//计算数组的元素大小
//个数=数组总大小/每个元素的大小
sz = sizeof(arr) / sizeof(arr[0]);
printf("%d\n",sz);
return 0 ;
int main(void)
{
int a = 10;
int arr[] = { 1,2,3,4,5,6 };
printf("%d\n", sizeof(a)); //4
printf("%d\n", sizeof(int));
return 0 ;
}
--
++
*
(类型)
- 双目操作符:+
- 三目操作符
//EOF—end of file—文件结束标志
‘\q’是转义字符吗?
数组如果初始化,可以不指定数组的大小。
求两个数的较大值:
第一种int main(void)
{
int num1 = 10;
int num2 = 20;
if (num1 > num2)
printf("较大值是:%d", num1);
else
printf("较大值是:%d", num2);
return 0 ;
}
第二种#include<stdio.h>
int Max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
int main(void)
{
int num1 = 10;
int num2 = 20;
int max = 0;
max = Max(num1, num2);
printf("max=%d\n", max);
return 0 ;
}