DAY 1
复习
首先跟随B站上的视频学习了一些基础的语法,没有参照书籍,在网络上有寻找知识笔记。
编译器:VS2019;
学习资料
1、B站视频(P5-P11)见链接 【求知讲堂2021C语言/C++视频99天完整版(不断更新中)学完可就业-哔哩哔哩】https://b23.tv/4DzQDY;
2、学习笔记见链接 https://www.imooc.com/article/23511;
新学习
scanf 函数
使用scanf 函数进行下列程序时报错,提示更换函数 scanf _s 最后调试成功。
float main(void)
{
float X;
float Y;
float Z1;
scanf_s("%f%f", &X,&Y);
Z1 = ADD(X, Y);
printf("%f\n", Z1);
}
说明: scanfs()里的内容
1、%f 是按十进制格式输入的数值类型(还有%d、%c、%s)。输入时,在两个数据之间可以用一个或多个空格、tab键和回车键分格;
2、& 为取地址符号,表示获得 & 符号后的变量的地址;
3、如果 %f,%f,%f 之间使用逗号隔开,在键盘输入时也需要加入 “ ,” ;
4、在使用 %c,%s 时,空格和转义字符将作为有效字符输入。
类型 | %d | %f | %s | %c |
---|---|---|---|---|
输入参数类型 | int | float | char | char |
extern函数
形如
extern float pi;
表示声明变量,有两种情况:
1、需要建立储存空间的,即定义变量,不需要加extern;
2、不需要建立存储空间的,即声明变量,需要加extern;如果想在一个源文件中使用另一个源文件中的变量,就需要使用extern,或者在头文件中用extern声明该变量。
表示声明函数的,如果想在一个源文件中使用另一个源文件中的函数,就需要在使用前声明该函数,此时声明函数加不加extern都没关系。
unsigned解释
整型 int 的每一种都有无符号 unsigned 和有符号 signed 两种类型,区别在于无符号类型可以比有符号类型多存储2倍量的变量数据。
位运算
位运算符有:& 、 | 、 ^ 、~ 、<< 、 >>。
a | b | a&b | a /b | a^b |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
& :按位与运算符,按二进制位进行与运算。
| :按位或运算符,按二进制位进行或运算。
^ :异或运算符,按二进制进行“异或”运算。
~ :取反运算符,按二进制位进行取反运算。
<<:二进制左移运算符,将对象的各二进制全部左移若干位,左边的二进制位丢弃,右边的加0补齐。
>>:二进制右移运算符,将对象的各二进制全部右移若干位,正数左补0,负数左补1,右边的二进制位丢弃。
例如:A=60,B=13;
二进制A=0011 1100,B=0000 1101;
A&B=0000 1100 , 12;A|B=0011 1101 ,61 ;A^B=0011 0001 , 49 ;~A=1100 0011 , -61 ;A<< = 1111 0000 ,240 ;A>> = 0000 1111 , 15 ;
练习
#include<stdio.h>
#define PI 3.1415926
// 加法函数
float ADD( float x, float y)
{
float result;
result= x + y;
return result;
}
//减法函数
float SUB( float x, float y)
{
float result;
result = x - y;
return result;
}
//乘法函数
float MUL(float x, float y)
{
float result;
result = x * y;
return result;
}
//除法函数
float DIV(float x,float y)
{
float result;
result = x / y;
return result;
}
//================主函数===============================================================
//float main(void)
//{
// float X;
// float Y;
// float Z1, Z2, Z3, Z4;
// scanf_s("%f", &X);
// scanf_s("%f", &Y);
// Z1 = ADD(X, Y);
// Z2 = SUB(X, Y);
// Z3 = MUL(X, Y);
// Z4 = DIV(X, Y);
//
// printf("%f,%f,%f,%f\n", Z1, Z2, Z3, Z4);
//}
//float main(void)
//{
// float X;
// float Y;
// float Z1;
// scanf_s("%f%f", &X,&Y);
// Z1 = ADD(X, Y);
//
// printf("%f\n", Z1);
//}
extern float pi;
float X;
float Y;
float main(void)
{
extern X;
extern Y;
float Z1;
scanf_s("%f%f", &X, &Y);
Z1 = ADD(X, Y);
printf("%f\n", pi);
printf("%f\n", Z1);
return 0;
}