当前位置: 首页 > news >正文

做企业网站哪家公司专业网络推广策划案范文5篇

做企业网站哪家公司专业,网络推广策划案范文5篇,久久建筑网资料下载,佛山网站建设怎样做系列文章目录 第一章 “C“浒传——初识C语言#xff08;更适合初学者体质哦#xff01;#xff09; 第二章 详细认识分支语句和循环语句以及他们的易错点 第三章 初阶C语言——特别详细地介绍函数 第四章 初始C语言——详细地讲解数组的内容以及易错点 第五章 初始C语言—…系列文章目录 第一章 “C“浒传——初识C语言更适合初学者体质哦 第二章 详细认识分支语句和循环语句以及他们的易错点  第三章 初阶C语言——特别详细地介绍函数 第四章 初始C语言——详细地讲解数组的内容以及易错点 第五章 初始C语言——详细讲解操作符以及操作符的易错点 目录 系列文章目录 前言 一、操作符分类 二、算术操作符两个操作数 三、移位操作符两个操作数 3.1 左移操作符 3.2 右移操作符 3.3 警告  四、位操作符两个操作数 4.1 按位与 按位与的具体应用 4.2 按位或  | 4.3 按位异或 ^  按位异或的具体应用 4.4 有关二进制位的练习  五、赋值操作符 复合赋值符 六、单目操作符一个操作数 6.1 单目操作符介绍 6.2 逻辑反操作符   6.3 取地址操作符 和解引用操作符 *  6.4 计算操作数的类型长度 sizeof 6.5 和 -- 操作符 七、关系操作符两个操作符 八、逻辑操作符两个操作符 8.1 逻辑与操作符 8.2 逻辑或操作符 ||  8.3 逻辑短路  九、条件操作符三目操作符 十、逗号表达式  十一、下标引用、函数调用和结构成员  11.1 [ ]下标引用操作符两个操作数 11.2 函数调用操作符至少一个操作数 11.3 访问一个结构的成员  总结 前言 在上一章内小编带领大家详细地学习了有关数组的相关内容学习了一维数组和二维数组的创建与初始化一维数组和二维数组在内存中如何存储数组越界数组作为函数参数怎么办        而在这一章内小编将要带领大家进行学习操作符的内容大家从目录也不难看出这章内容也是很多已经囊括了所有操作符希望大家也能有耐心地将这一章看完。 一、操作符分类 为什么要学习操作符是为了进行表达式求值。在学习操作符之前先跟着小编进行学习操作符的分类吧 算术操作符、-、*、/、%移位操作符、位操作符、|、^赋值操作符、、-、/、*、%……单目操作符、-、、sizeof、~、类型关系操作符、、、、!、逻辑操作符、||条件操作符exp1exp2exp3逗号表达式exp1exp2exp3……expN下标引用、函数调用和结构成员[ ]、、.、- 二、算术操作符两个操作数 在这一部分小编认为没什么可以讲的但是这篇博客是详细讲解操作符所以还是要讲解一下易错点吧算术操作符顾名思义就是数学上的一些运算、-、*、/、%。、-、*这三个运算符没有什么可以讲的接下来小编重点讲解/、%。  除了 % 操作符之外其他的几个操作符可以作用于整数和浮点数。对于 / 操作符如果两个操作数都为整数执行整数除法。而两个数中只要有浮点数执行的就是浮点数除法。% 操作符的两个操作数必须为整数返回的是整除之后的余数。 三、移位操作符两个操作数 小编在讲之前先提一嘴移位操作符移动的是二进制的位。在这里我们先来讲一下C语言的二进制。 对于一个整数来说是四个字节也就是32bit位。一个整数写成二进制序列的时候就是32个bit位。下面看图理解        1对于有符号的整数来说最高位的一位是符号位符号位是1表示负数符号位是0表示正数。         2对于无符号整数来说没有符号位所有位都是有效位。 整数的二进制表示形式有三种原码、反码、补码。 原码按照数值的正负直接写出的二进制序列就是原码。 反码原码的符号位不变其他位按位取反。 补码反码的二进制 1 就是补码。         从例子中我们可以看出对于正的整数原码反码补码是相同的无需计算对于负的整数原码反码补码是需要进行计算的。                整数在内存中存放的都是补码整数在计算的时候也是用二进制进行计算。 3.1 左移操作符 移位规则左边抛弃右边补0。 在常规的数字里面是不会出现特殊情况的一般地在效果上左移一位相当于乘2。对于正数来说还是对于负数来说其实都一样只是在一些特别大的数是不一样的基本都遵循丢弃符号位不管左边高位是什么后面补的数字成为符号位。 下面举个例子 3.2 右移操作符 小编先说一句右移操作符比较难。首先右移运算分为两种1.逻辑右移2.算术右移。这两种主要的区别是关键看左边补什么。 移位规则1.逻辑移位左边用0填充右边丢弃2.算术移位左边用原该值的符号位填充右边丢弃。 同样地在常规的数字里面是不会出现特殊情况的一般地在效果上右移一位相当于除以2。对于正数来说遵循丢弃右边一位左边直接补0。而对于负数来说有两种情况所以一般请先了解你所使用的编译器是哪种右移运算方法在下面。遵循如果是算术右移左边用原改制的符号位填充如果是逻辑右移左边补0。 下面举个例子 对于正整数来说这两种右移操作都一样而对于负整数来说这两种右移操作不太一样所以要重点来看负整数。我们可以根据这个差异编写一个代码看你们所使用的编译器支持哪种右移操作。vs用的是算术右移大部分编译器用的都是算术右移。下面看代码 #include stdio.h int main() {int a -10 1;if (a 0)printf(该编译器用的是算术右移!\n);elseprintf(该编译器用的是逻辑右移!\n);return 0; } 3.3 警告  对于移位操作符不要移动负数位这个是标准未定义的。看下图 四、位操作符两个操作数 在初学C语言时老师应该是不会讲这一部分的起码我们老师没有讲但这一部分是非常重要的 他在二进制的一些题目中有大作用。但大家不要将位操作符与逻辑操作符搞混下面就由小编我来带领大家进行分开学习吧 4.1 按位与 运算规则同时为1才为1一旦有0则为0。 我们记住这个运算规则后进行计算即可下面进行代码讲解 int main() {int a 7;int b -10;int c a b;//按二进制的位与//00000000 00000000 00000000 00000111 ----- 7的补码//10000000 00000000 00000000 00001010//11111111 11111111 11111111 11110101//*************************************//*11111111 11111111 11111111 11110110*----- -10的补码//*00000000 00000000 00000000 00000111*----- 7的补码//*************************************//同1为1有0则0//00000000 00000000 00000000 00000110 ----- 6printf(%d, c);return 0; } 按位与的具体应用 如果我想得到某个数的二进制补码上某一位到底是1还是0我们可以使用按位与运算进行得到。为什么呢 基本思路是因为按位与的运算规则是同1为1有0则0。假如你想要求某个数的二进制补码上最后一位的数你只需按位与上1(2^0)则可以得出某个数的二进制补码上最后一位的数是什么如果按位与上1等于1的话最后一个数是1如果是0则最后一个数是0。同理如果你想要求某个数的二进制补码上倒数第二位的数你只需按位与上2(2^1)。 题目一求某个数的二进制补码上某一位的数是什么 ******************************************************************************************************** 方法由上面的基本思路可以总结出一个公式如果你想要求某个数的二进制补码上倒数第N位的数你只需要用某个数按位与上2的(N-1)次方(2^(N-1))即可。 ******************************************************************************************************** 代码 int main() {int num 10;//如果想要求10的二进制补码中最后一位数int ans num 1;printf(ans %d\n, ans);return 0; } 题目二 求出某一个数的二进制补码的最后一个为1的位置的数。 ******************************************************************************************************** 方法 ******************************************************************************************************** 代码 int onlyone eor (~eor 1); 4.2 按位或  | 运算规则同时为0才为0一旦有1则为1。 这种运算是不需要进行讲解的只要记住运算规则就会做运算下面进行代码讲解 int main() {int a 7;int b -10;int c a | b;//按二进制的位或//00000000 00000000 00000000 00000111 ----- 7的补码//10000000 00000000 00000000 00001010//11111111 11111111 11111111 11110101//*************************************//*11111111 11111111 11111111 11110110*----- -10的补码//*00000000 00000000 00000000 00000111*----- 7的补码//*************************************//同0为0有1则1// 11111111 11111111 11111111 11110111 补码// 11111111 11111111 11111111 11110110 反码// 10000000 00000000 00000000 00001001 原码 --- -9printf(%d, c);return 0; } 4.3 按位异或 ^  运算规则相同为0不同为1。在这里提两个式子要记住a ^ a 0;a ^ 0 a。 性质按位运算遵循交换律和结合律。 虽然按位异或的运算规则比较简单但是以后还要学习一个按位同或的运算规则相同为1不同为0。所以这两种运算容易搞混。 那怎么记按位异或呢按位异或——就是无进制相加。怎么理解无进制相加呢看下图 int main() {int a 7;int b -10;int c a ^ b;//按二进制的位异或//00000000 00000000 00000000 00000111 ----- 7的补码//10000000 00000000 00000000 00001010//11111111 11111111 11111111 11110101//*************************************//*11111111 11111111 11111111 11110110*----- -10的补码//*00000000 00000000 00000000 00000111*----- 7的补码//*************************************//相同为0不同为1// 11111111 11111111 11111111 11110001 补码// 11111111 11111111 11111111 11110000 反码// 10000000 00000000 00000000 00001111 原码 --- -15printf(%d, c);return 0; } 按位异或的具体应用 一道很变态的面试题  题目一不能创建临时变量第三个变量实现两个数的交换。 ******************************************************************************************************** 方法1先将ab两个数进行相加赋给a然后用a减去b赋给b这样b中存的就是a然后再用a减去bb的值此时是a赋给a则a的值就是b的值了。 ******************************************************************************************************** 代码 int main() {int a 10;int b 90;printf(交换前a %d, b %d\n, a, b);//方法一a a b;b a - b;a a - b;printf(交换后a %d, b %d\n, a, b);return 0; } 缺陷如果变量的值非常大的话就会出现数据截断。 ******************************************************************************************************** 方法2用按位异或根据a ^ a 0a ^ 0 a就可以得出。在这个过程中不会产生进位则数据不会溢出。 ******************************************************************************************************** 代码 int main() {int a 10;int b 90;printf(交换前a %d, b %d\n, a, b);//方法二a a ^ b;b a ^ b;a a ^ b;printf(交换后a %d, b %d\n, a, b);return 0; } 缺陷这个代码可读性不高效率也不高。 题目二 给定一个数字arr其中只有两个数字出现了奇数次其它数字都出现了偶数次按照从小到大顺序输出这两个数。 ******************************************************************************************************** 方法先将这些数全部异或一下可以得到出现奇数次的两个数的异或结果赋给eor说明这两个数一定不相等而且eor的二进制中一定有一个位置是1求出此位置为1的数看4.1 按位与的具体应用然后将数组里的数分成两个部分一个部分是此位置为1的数另一部分是此位置为0的数。那么这两个数就分开了随便挑一组数据进行异或就可以求出一个数再用eor异或就求出了另一个数。 ******************************************************************************************************** 代码 #include stdio.h int main() {int n 0;int eor 0, eor1 0;int temp 0, ans 0;scanf(%d, n);int arr[100000];for(int i 0; i n; i){scanf(%d, arr[i]);}for(int i 0; i n; i){eor ^ arr[i];}int onlyone eor (~eor 1);for(int i 0; i n; i){if((onlyone arr[i]) ! 0)eor1 ^ arr[i];}ans eor ^ eor1;if(eor1 ans){temp eor1;eor1 ans;ans temp;}printf(%d %d\n, eor1, ans);return 0; } 4.4 有关二进制位的练习  题目编写代码实现求一个整数存储在内存中的二进制中1的个数。 五、赋值操作符 赋值操作符是一个很棒的操作符如果之前的值你不满意使用这个操作符你可以给自己重新赋值。 举个例子 int weight 120;//体重 weight 80;//不满意就赋值 double salary 100000.0; salary 200000.0; //使用赋值操作符赋值 赋值操作符可以连续使用不过要从右向左依次执行。  int a 10;int x 0;int y 20;a x y 1; //连续赋值可读性不高//改进x y 1;a x;//这样写更加清晰爽朗而且便于调试 复合赋值符 - * / %| ^ 这些运算符都可以写成复合的效果使代码更加整洁。 举个例子 int x 10;x x 10;x 10; //这样写比较整洁 六、单目操作符一个操作数 6.1 单目操作符介绍 6.2 逻辑反操作符   运算规则将真的变成假的将假的变成真的。 下面看使用场景 int main() {int a 0;if(!a)printf(hehe\n);return 0; } 6.3 取地址操作符 和解引用操作符 *  取地址操作符是将一个变量的地址取出来存放在p中解引用操作符是通过p所存放的地址找到p所指向的对象。 6.4 计算操作数的类型长度 sizeof int main() {int a 10;printf(%d\n, sizeof(a));printf(%d\n, sizeof a); //这种写法是正确的证明了sizeof不是函数函数后的括号省略不了printf(%d\n, sizeof(int));return 0; } 由上图代码可知sizeof既能计算变量的长度也能计算类型长度。此代码运行后为什么会出现下图情况 因为sizeof计算的结果是size_t类型的size_t是无符号整形的对size_t类型的数据进行打印可以使用%zd。 在一些古老的编译器是不支持%zd的也可以使用%u。 6.5 和 -- 操作符 运算规则前置--先-1后使用后置--先使用后-1。  七、关系操作符两个操作符 这些操作符比较简单没有什么可以讲的但是我们要注意一些运算符使用时候的陷阱。 警告在编程的过程中 和 不小心写错导致的错误。 八、逻辑操作符两个操作符 8.1 逻辑与操作符 运算规则 逻辑与就是并且全真为真有假即假。 区分逻辑与和按位与 1 2 --------0 1 2 --------1 8.2 逻辑或操作符 ||  运算规则逻辑或就是或者全假为假有真即真。 区分逻辑或和按位或 1 | 2 --------3 1 || 2 -------1 8.3 逻辑短路  运算规则 左边操作数如果为假右边的运算式可以不算|| 右边操作数如果为真右边的运算式可以不算 。 学到这个操作符后我突然想到了我同学问我的一道题目 我刚看到这个题是有疑惑的因为b和c选项感觉都是错的其实并不是。因为c选项是涉及一些知识点是我不知道的因为有逻辑短路在C语言中我们进行运算的时候我们需要进行优化代码不让这个程序进行超负荷的运算。在程序中因为a||(b c)是这个逻辑运算为什么会有逻辑短路呢为了减少程序的计算量在进行这个逻辑运算的时候C语言采用了在保持原逻辑运算正确的同时通过已确定表达式的确切值的情况下不计算后面的运算来简化运算。 在或运算中如果a为真后面的值不管是什么我们都不需要进行计算因为程序的结果已经知道了就应该进行逻辑短路然后就不计算b c,所以没有将c赋值给b, b还是等于原值。如果a为假说明后面的结果可能会影响整个结果所以就不能进行逻辑短路。 下面有一道笔试题 题目 int main() {int i 0, a 0, b 2, c 3, d 4;i a b d;printf( a %d\n b %d\n c %d\n d %d\n, a, b, c, d);return 0; } 答案 九、条件操作符三目操作符 我感觉这个操作符是用来简化代码的具体看下面代码 if (a 5)b 3; elseb -3; //等价于 b a 5 ? 3 : -3; 具体应用  题目使用条件表达式实现找两个数中的较大值 方法利用条件表达式 代码 int main() {int a 90, b 78;int ans a b ? a : b;printf(%d\n, ans);return 0; } 十、逗号表达式  运算规则从左向右依次执行计算整个表达式的结果是最后一个表达式的结果前面的计算可能会影响后面的结果。  下面看使用场景 a get_val();couny_val(a);while (a 0){//业务处理a get_val();couny_val(a);}//如果使用逗号表达式改写while (a get_val(), couny_val(a), a 0){//业务处理} 十一、下标引用、函数调用和结构成员  11.1 [ ]下标引用操作符两个操作数 操作数一个数组名 一个索引值 int arr[10]; //创建数组 arr[9] 10; //使用下标引用操作符 [ ]的两个操作数是arr和9。 11.2 函数调用操作符至少一个操作数 接受一个或者多个操作数第一个操作数是函数名剩余的操作数就是传递给函数的参数。 11.3 访问一个结构的成员  .         结构体.成员名 -       结构体指针-成员名 总结 在这一部分小编详细地编写了有关操作符详解的一篇博客。希望大家看完以后进行点评谢谢大家
http://www.pierceye.com/news/122417/

相关文章:

  • 建信建设投资有限公司网站网站建设app小程序
  • wordpress文章所有图片seo中文含义
  • 免费网站建设开发个人 网站备案 幕布
  • 公司网站设计 优帮云网站开发合同注意事件有哪些
  • 网站建设费用用温州建设局老网站
  • 做网站全部乱码怎么办网络平台销售
  • wordpress建立移动m站wordpress免费主题企业
  • 珠海市网站建设重庆建站公司网站模板
  • 网页设计与网站开发pdf备案网站可以做接码平台么
  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网
  • 潢川手机网站建设戴尔公司网站开发的经营目标
  • 创建网站代码是什么问题wordpress屏蔽广告插件下载
  • 网站接入服务提供商纪检网站建设计划
  • 佛山做网站公司有哪些做拆分盘网站
  • 沈阳做微网站注册一个有限公司需要多少钱
  • 网站首页logo怎么修改优化方案英语答案
  • 东南亚网站建设市场用照片做视频的模板下载网站
  • 做seo网站的公司2网站建设公司
  • phpmysql旅游网站开发wordpress 需要多大数据库
  • 做预算查市场价格的网站阿里巴巴旗下跨境电商平台有哪些
  • 搜狗网站提交入口有哪些做问卷调查赚钱的网站6
  • 上海市住房和城乡建设厅官方网站码上游二维码制作
  • wordpress生活插件上海做网站优化
  • 长武网站建设做网站吉林
  • 定制做网站技术建网站不做广告怎么赚钱
  • 南宁市做网站的公司yellow的视频播放
  • 网络营销的效果是什么杭州seo网站建设
  • 南沙免费网站建设阿里巴巴网站工作流程