成都的建站公司,做淘宝网站,湖南网络推广服务,关键词查找网站目录 零#xff1a;移步
一.修炼必备
二.问题思考#xff08;先思考#xff09;
三.问题解答 零#xff1a;移步 CSDN由于我的排版不怎么好看#xff0c;我的有道云笔记相当的美观#xff0c;请移步有道云笔记 一.修炼必备 1.入门必备#xff1a;VS2019社区版#x…
目录 零移步
一.修炼必备
二.问题思考先思考
三.问题解答 零移步 CSDN由于我的排版不怎么好看我的有道云笔记相当的美观请移步有道云笔记 一.修炼必备 1.入门必备VS2019社区版下载地址Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com) 2.趁手武器印象笔记/有道云笔记 3.修炼秘籍牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推求职就业一站解决_牛客网 (nowcoder.com) 4.雷劫必备leetcode 力扣LeetCode官网 - 全球极客挚爱的技术成长平台 注遇到瓶颈怎么办百度百科_全球领先的中文百科全书 (baidu.com) 二.问题思考先思考 注所有问题需代码证明 1.短路运算符的特点 2.%操作符和/操作符的特点 1%的特点 2 /的特点a.整数除法 b.小数除法 【观察结果得出结论】 3. 逗号表达式的特点 4.当函数的返回值没有写的时候默认返回的是int 5.字符串或数组在进行传参的时候把数组名传过去形参中接收到的是什么 6.建议当指针的内容无需改变的时候加constconst使指针指向的内容不能改变即加上const后具有健壮性 7.怎么证明数据在内存中存储的是补码 8.既然内存中存储的是补码那么在控制台上打印的数值是补码吗为什么 9.补码变成原码的两种形式 10.正整数和负整数的二进制表示形式 1整数的表示形式是原码、反码、补码 2正整数的表示形式均相同 3负整数的表示形式原码反码 原码符号位不变 其他位按位取反 11.正/负整数的原码、反码、补码规则 12.说说C语言中#include stdio.h是什么意思 13.为什么long型的数据类型明明比int型的数据类型大为什么两者的所占的字节数相等 14.求出C语言中各个数据类型所占的字节空间 15.全局变量和局部变量的区别 16.全局变量和局部变量的作用域和生命周期 17.C语言中常量的种类及它们的使用形式 18.scanf()和printf()函数的返回值是什么类型并查看它们的函数模型 19.C语言中的字符串结束标志是什么如何查看一个字符串中是否有结束标志 20.代码验证为什么C语言中0表示假非0表示真 三.问题解答 1.短路运算符的特点 如果第一个操作符为假则不执行后面的代码 ||如果第一个操作符为真则不执行后面的代码 #include stdio.h
int main()
{int a 0, b 1, c 2;//int d a b c;//a0为假后置先使用再//printf(a%d,b%d,c%d,d%d\n, a, b, c, d);//1120int d a || b || c;//a为0为假b1为真printf(a%d,b%d,c%d,d%d\n, a, b, c, d);//1,2,2,1return 0;
} 2.%操作符和/操作符的特点 1除法的特点 a.整数除法得到的结果是整数舍弃了小数部分 b.小数除法得到的结果是小数两个操作数中必有一个浮点数 2%的特点只能进行整数之间的取模浮点数之间不能进行取模 #include stdio.h
int main()
{int a 9;int b 2;int c a / b;//整数除法double d a / 2.0;//小数除法有一方为浮点数printf(%d %lf\n, c, d);int e a % b;//整数能进行取模运算//int f a % 3.0;//浮点数不能进行取模运算return 0;
}3.逗号表达式的特点 ——当运算中有多个逗号隔开的表达式最后一个表达式是结果
#include stdio.h
int main()
{int a 1;int b 1;int num (a, b, a);//最后一个表达式a为结果printf(%d\n, num);//2return 0;
} 4.当函数的返回值没有写的时候默认返回的是int
#include stdio.h
swap()
{int num 10;//当没有写返回值的时候结果返回的是随机值return num;
}
int main()
{int res swap();printf(%d\n, res);//10return 0;
} 5.字符串或数组在进行传参的时候把数组名传过去形参中接收到的是什么 ——形参收到的是数组或字符串的首元素地址
#include stdio.h
void test1(char* ch)
{//查看形参的地址printf(%p\n, ch);
}void test2(int* arr)
{//查看形参的地址printf(%p\n, arr);
}int main()
{char ch[100] abcdef;int arr[10] { 1,2,3,4,5,6,7,8,9,10 };//形参的地址和字符串/数组首元素的地址进行比较test1(ch);printf(ch[0] %p\n, ch[0]);test2(arr);printf(arr[0] %p\n, arr[0]);return 0;
} 6..建议当指针的内容不需要改变的时候加上constconst使指针指向的内容不能改变即加上const后具有健壮性
#include stdio.h
void test(const char* arr)
{//*arr a;//错误加上const后不能修改arr的值
}int main()
{char arr[100] abcdfhgeh;test(arr);return 0;
} 7.怎么证明数据在内存中存储的是补码 使用负数证明把补码中存储的值按照十六进行打印 注我们还可以使用调试来查看a在内存中的存储 #include stdio.h
int main()
{int a -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码//四个二进制位是一个16进制位//ffffffffprintf(%x\n, a);//ffffffffreturn 0;
} 8.内存中存储的是补码那么在控制台上打印的数值是补码吗为什么 ——不是打印是十进制数补码需要转化为原码在由原码转化为十进制
#include stdio.h
int main()
{int a -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码printf(%d\n, a);//-1//注意若是按照十六进制打印则打印的补码因为%x是打印无符号数原码、反码、补码均相同return 0;
}9.补码变成原码的两种形式 1-1取反 2取反1 #include stdio.h
int main()
{int a -2;//11111111 11111111 11111111 11111110 补码//变回原码:法一//11111111 11111111 11111111 11111110 补码//11111111 11111111 11111111 11111101 反码//10000000 00000000 00000000 00000010 原码 -2//法二// 11111111 11111111 11111111 11111110 补码// 10000000 00000000 00000000 00000001 取反// 10000000 00000000 00000000 00000010 1 -2return 0;
} 10.整数的二进制表示形式 11.正/负整数的原码、反码、补码规则 1整数的表示形式是原码、反码、补码 2正整数的表示形式均相同 3负整数的表示形式原码反码 原码符号位不变 其他位按位取反 #include stdio.h
int main()
{int a 1;//00000000 00000000 00000000 00000001 补码printf(%x\n, a);//%x把补码按照十六进制打印 1int b -1;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码//ffffff -- 十六进制形式printf(%x\n, b);//ffffffffreturn 0;
}12.说说C语言中#include 是什么意思 1#include 是预处理指令 2stdio : standard input output -- 标准输入输出 3.h表示这是一个头文件 13.为什么long型的排名明明在int型的后面为什么两者的所占的字节数相等 ——C语言标准下 sizeof(long) sizeof(int)
#include stdio.h
int main()
{//int的值最大值是2147483647int a 2147483647;long b 2147483647;//注两者的最大值均是2^31-1;printf(%d\n, a);return 0;
} 14.求出C语言中各个数据类型所占的字节空间
#include stdio.h
int main()
{printf(%d\n, sizeof(char));//1printf(%d\n, sizeof(short));//2printf(%d\n, sizeof(int));//4printf(%d\n, sizeof(long));//4printf(%d\n, sizeof(long long));//8printf(%d\n, sizeof(float));//4printf(%d\n, sizeof(double));//8return 0;
}15.全局变量和局部变量的区别 1全局变量具有全局性在源程序中均可使用全局变量 2局部变量具有局部性即局限于一个{}中只能在{}中使用 3注当局部变量和全局变量名字相同时在使用时优先使用局部变量 #include stdio.h
int num 10;
int main()
{{int num 20;printf(%d\n, num);//20}printf(%d\n, num);//10return 0;
} 16.全局变量和局部变量的作用域和生命周期 1作用域 a.全局变量全局变量的作用域在整个工程内即整个工程内那点均可使用 b.局部变量在自己的{}中 2生命周期 a.全局变量全局变量的生命周期和整个工程的生命周期一样 b.局部变量出了{}后没有作用 #include stdio.h
int main()
{{int num 10;}//printf(%d\n, num);//错误num的变量的作用域和生命周期在自己所在{}中return 0;
}
//注我们不推荐大量使用全局变量因为全局变量容易被改变一不小心就会使程序崩溃 17.C语言中常量的种类及它们的使用形式 1字面常量35a,abcd 2const定义的常变量const int a 10; a不可在改变 3#define定义的标识符常量 #define MAX 10 4枚举常量 enum Grade{ A,B,C,D}; 注常量一般需要使用大写字面表示 #include stdio.h
int main()
{//字面常量3, 5, agcgs;//const定义的常变量const int num 10;//num 11;//不可改变//#define定义的标识符常量
#define MAX 10printf(%d\n, MAX);//10//枚举常量enum Grade{A,//0B,//1C,//2D//3};printf(%d\n, A);//0printf(%d\n, B);//1printf(%d\n, C);//2printf(%d\n, D);//3return 0;
}18.scanf()和printf()函数的返回值是什么类型并查看它们的函数模型 ——scanf()和printf()函数的返回类型是int
#include stdio.h
int main()
{int num 0;int ret scanf(%d, num);int res printf(%d\n, num);printf(%d %d\n, ret, res);//1 2return 0;
} 函数模型 19.C语言中的字符串结束标志是什么如何查看一个字符串中是否有结束标志 ——结束标志\0
#include stdio.h
int main()
{char str[100] abcdhdde;return 0;
} 调式过程 20. 代码验证为什么C语言中0表示假非0表示真
#include stdio.h
int main()
{int a 0;int b -1;int c 1;if (a){printf(haha\n);}if (!a){printf(hehe\n);}if (b){printf(hihi\n);}if (c){printf(hoho\n);}return 0;
} 恭喜成功突破至筑基八层