2022/2/8学习笔记(C语言)

22/2/8学习笔记(Part 2)

注释

注释用以解释复杂代码。

 //int a = 10;
 //C++注释风格
 /*
 int b = 10;
 */ 
 //C语言注释风格-不支持嵌套注释

数组

数组是一组相同类型的元素的集合。

  • int arr ——数字数组
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
  • char ch——字符数组
 char ch[5] = {‘a’,’b‘,’c‘}; //不完全初始化时,后面的剩余默认为0

转义字符

转义字符(转变了原来的意思)

转义字符释义
\ ?在书写连续多个问号时使用,防止他们被解析成三字母词
\ ’用于表示字符常量‘
\ "用于表示一个字符串内部的双引号
\ \用于表示一个反斜杠,防止它被解释为一个转义序列符
\ a警告字符,蜂鸣
\ b退格符
\ f进纸符
\ n换行
\ r回车
\ t水平制表符
\ v垂直制表符
\ dddddd表示1~3个八进制的数字。如:\130X
\ xdddd表示2个十六进制的数字。如: \x30 0

✳三字母词如 "??) 会被解析成 ]

简单操作符

类型具体
算数操作符+ - * / %
移位操作符>> <<
位操作符&(按位与) 、
赋值操作符=、+=、-=、*=、/=、&=、^=、l=、>>=、<<=
单目操作符【见下表】
关系操作符>、>=、<、<=、!=(测试不相等)、==(测试相等)
逻辑操作符&&(逻辑与)、ll(逻辑或)
条件操作符exp(表达式)1?exp2:exp3
逗号表达式exp1,exp2,exp3,…,expN
其他操作符[]下标引用、()函数调用、.结构成员、->结构成员
单目操作符释义
!逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以二字节为单位)
~对一个数的二进制按位取反
- -前置- -、后置- -
++前置++、后置++
*间接访问操作符(解引用操作符)
(类型)强制类型转换

✳1、算数操作时候需要根据浮点精度来进行编程:

float a = 9 / 2.0;  //首先float为小数计算前提,其次当除号两边都为整数时所得结果为整数,当有浮点精确位出现时,结果便浮点到该位。
printf("%f\n",a);

✳2、%的算数操作符意义为“取模”,即“取余”。

int a = 9 % 2;
printf("%d\n",a);   //此时屏幕呈现出的结果为1

✳3、+=此类含义是:

a=10;
a = a + 1;
// 即可写成 a += 1
a = a % 3;
// 即可写成 a %= 3

✳4、a + b 此时 + 为双目操作符,同理,单目操作符指只有一个操作数。

✳5、一个元素的大小是4字节。

int arr[10] = {0};
printf("%d\n",sizeof(arr)); //计算的是数组的总大小,单位是字节,此时结果为40 //10(个元素)*4(单位字节)=40
printf("%d\n",sizeof(arr[0])) //结果是4

✳6、~按位取反的意思是把所有二进制位中数字的1变成0,0变成1

int main()
{
int a = 0;
printf("%d\n",~a);
return 0;
}    //输出结果为-1
// 0 的二进制为:00000000000000000000000000000000
//~0 的二进制为:1111111111111111111111111111111111111

✳7、++的用法

int main()
{
int a = 10;
int b = ++a; //前置++,先++,后使用
printf(“%d\n”,b);    // 结果为11
printf("%d\n",a);   //结果为11
return 0;
}
int main()
{
int a = 10;
int b = a++; //后置++,先使用,后++
printf(“%d\n”,b);    // 结果为10
printf("%d\n",a);   //结果为11
return 0;
}

✳8、强制类型转换

int main()
{
int a = (int) 3.14; //本是不同类型,使用(int)强制转换
printf("%d\n",a);
return 0;
}

✳9、条件操作符又叫三目操作符
exp1?exp2:exp3
exp1成立,exp2计算,整个表达式的结果为exp2的结果。
exp1不成立,exp3计算,整个表达式的结果为exp3的结果。

✳10、逗号表达式依次从左向右计算,整个表达式的结果是最后一个表达式的结果。

Little tips

  • 为什么VC6.0写的程序不能运行时,显示这个文件不存在
    一、打开VC6.0后,在创建新文件时,需要注意创建的文件不是“C Header File”格式,而是“C source File”格式
    二、对自己的文件添加文件名和存储文件的位置,此时可以看到是以“c或cpp”为后缀的后缀名文件,而不是以“txt或h”为后缀的后缀名文件。
    三、保证代码格式正确。
    四、运行程序时,若提示显示“无法执行程序”,按CTRL加F7组合键,进行组建,再按快捷键CTRL加F5组合键,最后按Y,即程序可以执行成功。

  • 一个整数的二进制表示有3种:原码、反码、补码。
    整数在内存中存储的是补码。
    负数的计算方式(正整数的原码、反码、补码相同):-1为例:
    10000000000000000000000000001(原码)
    11111111111111111111111111110(反码)
    11111111111111111111111111111(反码+1为补码)

  • printf在打印数据的时候,可以指定格式。

printf("%d",100);
printf("%c",'a');
printf("%s","abc");
  • ASCII表(字符进制转化)
  • int 表标识;sacnf 表输入
    在这里插入图片描述
    当上图转化为用函数(函数作为被调用模块,在复杂代码中十分重要)表示的时候:
#include<stdio.h>;
Add(int x,int y)
{
	int z = 0;
	z = x + y;
	return z;
}                 //和函数
int main()
{
	int num1 = 0; //标识数字1
	int num2 = 0; //标识数字2
	scanf("%d%d", &num1, &num2); //输入 数字1 数字2     
    int sum = Add(num1,num2); //标识使用和函数
	printf("%d\n",sum); //打印出和
	return 0;
}

⭐题目

下面这个程序输出什么?

 #include<stdio.h>;
 int main()
 {
 printf("%d\n",strlen("abcdef"));
 // \32被解析成一个转义字符
 printf(“%d\n”,strlen("c:\text\328\text.c"));
 return 0;
 }

⭐答案

输出:
6(“abcdef”是六位,所有长度为6)
14(有转义字符,具有长度的14位字符分别为:‘c’、‘:’、‘\t’、‘e’、‘x’、‘t’、‘\32’、‘8’、‘\t’、‘e’、‘x’、‘t’、‘.’、‘c’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值