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

2018网站开发福州外网站建设

2018网站开发,福州外网站建设,福建建设厅安全员报名网站,优衣库网站建设目录 一、逗号表达式二、下标访问[ ]、函数调用()1. [ ]下标引用操作符2.函数调用操作符 三、结构成员访问操作符1.结构体(1) 结构的声明(2) 结构体变量的定义和初始化 2.结构成员访问操作符(1)结构体成员的直接访问(2)结构体成员的间接访问 四、操作符的属性#xff1a;优先级… 目录 一、逗号表达式二、下标访问[ ]、函数调用()1. [ ]下标引用操作符2.函数调用操作符 三、结构成员访问操作符1.结构体(1) 结构的声明(2) 结构体变量的定义和初始化 2.结构成员访问操作符(1)结构体成员的直接访问(2)结构体成员的间接访问 四、操作符的属性优先级、结合性1.优先级2.结合性 五、表达式求值1.整型提升2.算术转换 一、逗号表达式 exp1, exp2, exp3, …expN逗号表达式就是用逗号隔开的多个表达式。 逗号表达式从左向右依次执行整个表达式的结果是最后⼀个表达式的结果。 //代码1 int a 1; int b 2; int c (ab, ab10, a, ba1); //逗号表达式 c是多少聪明的你此时心里一定已经有答案了趴没错就是13。 二、下标访问[ ]、函数调用() 1. [ ]下标引用操作符 操作数一个数组名 一个索引值 int arr[10]; //创建数组 arr[9] 10; //使⽤下标引⽤操作符。 [ ]的两个操作数是arr和9。2.函数调用操作符 接受一个或者多个操作数第一个操作数是函数名剩余的操作数就是传递给函数的参数。 #include stdio.h void test1() {printf(hehe\n); } void test2(const char *str) {printf(%s\n, str); } int main() {test1(); //这⾥的()就是作为函数调⽤操作符。test2(hello bit.); //这⾥的()就是函数调⽤操作符。return 0; }三、结构成员访问操作符 1.结构体 C语言已经提供了内置类型如char、short、int、long、float、double等但是只有这些内置类型还是不够的假设我想描述学生描述一本书这时单一的内置类型是不行的。描述一个学生需要名字、年龄、学号、身高、体重等描述一本书需要作者、出版社、定价等。C语言为了解决这个问题增加了结构体这种自定义的数据类型让程序员可以自己创造适合的类型。 结构是一些值的集合这些值称为成员变量。结构的每个成员可以是不同类型的变量如标量、数组、指针甚至是其他结构体。 (1) 结构的声明 struct tag { member-list; }variable-list;描述一个学生 struct Stu {char name[20]; //名字int age; //年龄char sex[5]; //性别char id[20]; //学号 }; //分号不能丢(2) 结构体变量的定义和初始化 //代码1变量的定义 struct Point {int x;int y; }p1; //声明类型的同时定义变量p1 struct Point p2; //定义结构体变量p2//代码2:初始化。 struct Point p3 {10, 20}; struct Stu //类型声明 {char name[15]; //名字int age; //年龄 };struct Stu s1 {zhangsan, 20}; //初始化 struct Stu s2 {.age20, .namelisi}; //指定顺序初始化//代码3 struct Node {int data;struct Point p;struct Node* next; }n1 {10, {4,5}, NULL}; //结构体嵌套初始化struct Node n2 {20, {5, 6}, NULL}; //结构体嵌套初始化2.结构成员访问操作符 (1)结构体成员的直接访问 结构体成员的直接访问是通过点操作符.访问的。点操作符接受两个操作数。如下所示 #include stdio.h struct Point {int x;int y; }p {1,2}; int main() {printf(x: %d y: %d\n, p.x, p.y);return 0; }使用方式 结构体变量.成员名 (2)结构体成员的间接访问 有时候我们得到的不是一个结构体变量而是得到了一个指向结构体的指针。如下所示 #include stdio.h struct Point {int x;int y; }; int main() {struct Point p {3, 4};struct Point *ptr p;ptr-x 10;ptr-y 20;printf(x %d y %d\n, ptr-x, ptr-y);return 0; }使用方式 结构体指针-成员名 综合举例 #include stdio.h #include string.hstruct Stu {char name[15]; //名字int age; //年龄 };void print_stu(struct Stu s) {printf(%s %d\n, s.name, s.age); }void set_stu(struct Stu* ps) {strcpy(ps-name, 李四);ps-age 28; }int main() {struct Stu s { 张三, 20 };print_stu(s);set_stu(s);print_stu(s);return 0; }四、操作符的属性优先级、结合性 C语言的操作符有2个重要的属性优先级、结合性这两个属性决定了表达式求值的计算顺序。 1.优先级 优先级指的是如果一个表达式包含多个运算符哪个运算符应该优先执行。各种运算符的优先级是不⼀样的。 3 4 * 5; 上面示例中表达式 3 4 * 5 里面既有加法运算符 又有乘法运算符 * 。由于乘法的优先级高于加法所以会先计算 4 * 5 而不是先计算 3 4 。 2.结合性 如果两个运算符优先级相同优先级没办法确定先计算哪个了这时候就看结合性了则根据运算符是左结合还是右结合决定执行顺序。大部分运算符是左结合从左到右执⾏少数运算符是右结合从右到左执行比如赋值运算符 。 5 * 6 / 2; 上面示例中 * 和 / 的优先级相同它们都是左结合运算符所以从左到右执行先计算 5 * 6 再计算 6 / 2 。 运算符的优先级顺序很多下面是部分运算符的优先级顺序按照优先级从高到低排列建议大概记住这些操作符的优先级就行其他操作符在使用的时候查看下面链接就可以了。 圆括号 () ⾃增运算符 ⾃减运算符 -- 单⽬运算符 和 - 乘法 * 除法 / 加法 减法 - 关系运算符 、 等赋值运算符 由于圆括号的优先级最高可以使用它改变其他运算符的优先级。 这里是所有的C运算符优先级表https://zh.cppreference.com/w/c/language/operator_precedence 五、表达式求值 1.整型提升 C语言中整型算术运算总是至少以整型类型的精度来进行的。 为了获得这个精度表达式中的字符和短整型操作数在使⽤之前被转换为普通整型这种转换称为整型提升。 整型提升的意义 表达式的整型运算要在CPU的相应运算器件内执行CPU内整型运算器(ALU)的操作数的字节长度一般就是int的字节长度同时也是CPU的通用寄存器的长度。 因此即使两个char类型的相加在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。 通用CPUgeneral-purposeCPU是难以直接实现两个8比特字节直接相加运算虽然机器指令中可能有这种字节相加指令。所以表达式中各种长度可能小于int长度的整型值都必须先转换为int或unsigned int然后才能送入CPU去执行运算。 //实例1 char a,b,c; ... a b c;b和c的值被提升为普通整型然后再执行加法运算。 加法运算完成之后结果将被截断然后再存储于a中。 如何进行整体提升呢 1.有符号整数提升是按照变量的数据类型的符号位来提升的 2.⽆符号整数提升高位补0 //负数的整形提升 char c1 -1; 变量c1的⼆进制位(补码)中只有8个⽐特位 1111111 因为 char 为有符号的 char 所以整形提升的时候⾼位补充符号位即为1 提升之后的结果是 11111111111111111111111111111111//正数的整形提升 char c2 1; 变量c2的⼆进制位(补码)中只有8个⽐特位 00000001 因为 char 为有符号的 char 所以整形提升的时候⾼位补充符号位即为0 提升之后的结果是 000000000000000000000000000000012.算术转换 如果某个操作符的各个操作数属于不同的类型那么除非其中一个操作数转换为另⼀个操作数的类型否则操作就无法进行。下⾯的层次体系称为寻常算术转换。 long double double float unsigned long int long int unsigned int int如果某个操作数的类型在上面这个列表中排名靠后那么首先要转换为另外一个操作数的类型后执行运算。 总结 即使有了操作符的优先级和结合性我们写出的表达式依然有可能不能通过操作符的属性确定唯一的计算路径那这个表达式就是存在潜在风险的建议不要写出特别复杂的表达式。 操作符详解就此完结感谢各位的支持和点赞下期见哟
http://www.sczhlp.com/news/160047/

相关文章:

  • 大学生做网站怎么赚钱购物网站开发中遇到的问题
  • 2025最新编织袋生产厂家推荐排行榜:涵盖牛皮纸、塑料、PP 彩膜等品类,助力企业精准甄选可靠合作伙伴
  • AT_abc266_g [ABC266G] Yet Another RGB Sequence
  • 2025超市货架厂家 TOP 企业品牌推荐排行榜,云南超市货架,昆明超市货架,西南超市货架推荐这十家公司!
  • 网站域名怎么过户吉林电商网站建设报价
  • 拍拍网的网站建设h5网站模板源码
  • 庆阳做网站的公司wordpress手机主题浮动菜单
  • 做网站推广好做么网站如何做银联在线支付
  • wordpress the7 汉化重庆高端网站seo
  • 怎么用 做网站网站设计小技巧
  • 湖南网红网站建设有限公司网站建公司简介
  • 破解wordpress网站密码wordpress google字体 360
  • 网站建设期的网站案例网站开发可能性分析
  • 公司网站建设费用入账网络工程师是青春饭吗
  • 绚丽的网站怎么创建卡密网站
  • 只做网站可以在百度里收到吗网站修改 iis6应用程序池
  • 大良网站建设市场提升学历有哪几种方式
  • 网站突然掉排名建站模板免费
  • 西部网站邮箱登录做html网站搜索框代码
  • 南宁网站建设网站南昌seo网站推广费用
  • 骨干专业建设验收网站采购平台官网
  • 地方生活门户网站现在什么app引流效果好
  • 精品网站欣赏wordpress字体风格
  • 个人网站开发意义济南传承网络李聪
  • 网站提交收录入口文化共享工程网站建设情况
  • 建设银行网银网站特色网站描述怎么设置
  • 网站欢迎页面 特效网站建设格式合同
  • 浙江网站建设前十的公司分公司注册流程
  • Rust泛型详解 - 实践
  • 知名的网站制作公司需要多少钱二级目录 Wordpress