收藏 分销(赏)

高级编程c语言入门.doc

上传人:天**** 文档编号:10820375 上传时间:2025-06-18 格式:DOC 页数:16 大小:98.01KB 下载积分:8 金币
下载 相关 举报
高级编程c语言入门.doc_第1页
第1页 / 共16页
高级编程c语言入门.doc_第2页
第2页 / 共16页


点击查看更多>>
资源描述
2.4 1.复合赋值 5个算数运算符可以和赋值运算符”=“结合起来,形成复合赋值运算符 Eg:total +=5; total =total+5; 但要注意两个运算符中间不要有空格 2. 递增递减运算符 “++””--”是两个单目运算符,算子必须为变量(++a),他们的作用是给变量+1或-1 Count++(后缀型) ++count(前缀型) a++表示a加一以前的值,++a表示加一以后的值。 3.2 做比较运算符 1.计算两个值之间的关系,所以叫关系运算。 == 相等 != 不相等 > 大于 < 小于 >= 大于等于 <= 小于等于 ?: 2.关系运算结果 当两个值的关系符合关系运算符的预期时,关系运算结果为整数一,否则为整数0 Eg:printf(“%d”,5==5); printf(“%d”,5>=3); 3.优先级 1.所有的关系运算符的优先级比算术运算的低,但是比赋值运算高7>=3+4;(如果7>=3先算,则原式变成1+4=5) Int r=a>0;(把a>0的结果赋给r) 2. 判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的 Eg:5>3==6>4(比较5>3与6>4是否相等) 6>5>4(先判断6>5,成立则变成了1与4的比较) a==b==6(如果a和b相等则变成了判断1与6是否相等) a==b>0(如果a和b相等,则变成了1与0的比较) 3.3循环 1.do-while和while循环很像,区别在于循环一边结束后才来判断条件。也就是说,无论如何,循环体都会执行至少一遍。 形式:do{....(循环体)....}while(); 2.for循环 For(i=1;n<5;i++)........(初始条件 ,循环条件,循环比做的条件) { 循环体;} 3.Attention:1.for循环执行顺序,先执行初始条件和循环条件,然后执行循环体,执行完之后再判断。 1.求和变量初始值设为0,求积变量初始值设为1. 2.For循环中的条件可以省略一个 Eg:for(;n<5;i++)注意符号。 4.循环的选择方法 如果有固定的次数,用for 如果必须执行一次,用do_while 其他情况用while 4.进一步的判断与循环 1. 逻辑类型 bool #include<stdbool.h> 之后就可以使用bool和true,false 2.逻辑运算 逻辑运算是对逻辑量的运算,结果只有0或1 逻辑量是关系运算或逻辑运算的结果 运算符 描述 示例 结果 ! 逻辑非 !a 如果a是true 结果就是false,如果a是false结果就是true && 逻辑与 a&&b 如果a和b都是true,结果就是true;否则就是false || 逻辑或 A||b 如果a和b有一个是true,结果是true;两个都是false,结果为false. Attention:||逻辑或的运算规则是,有一个为真,就输出结果。对于||两边的计算式,只计算左边的,右边的会被忽略。 Eg: int x=0,c=2; x+=1||(x=c+2); printf("%d",x); 输出结果为1 3. 优先级 !>&&>|| 优先级 运算符 结和性 1 () 从左到右 2 !+ - ++ -- 从右到左(单目的+和-) 3 * / % 从左到右 4 + - 从左到右 5 <<= >>= 从左到右 6 == != 从左到右 7 && 从左到右 8 || 从左到右 9 = += -= *= /= %= 从右到左 10(条件运算符) ?;(三目运算符) 从右到左 Tips:对于&&,左边是false时就不做右边 对于||,左边是true时就不做右边 表达式1?表达式2:表达式3 若表达式1的值不为0,则执行表达式2,否则,执行表达式3. 4.条件运算符 Count=(count>20)?Count-10:count+10; 条件,条件满足时的值和条件不满足时的值 If(count>20) Count=count-10; Else Count=count+10; Attention: 条件运算符的优先级高于赋值运算符,但是低于其他运算符 条件运算符自右向左结合 5. 逗号运算符 逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。 6. 多路分支(适用于分散型变量) switch (type变量).....且type必须为int类型。 { case 1: printf(“你好”); break; case 2:.............case后面的数必须为常量,可以数字,表达式或有明确定义的字符。 printf(“早上好”); break; case 3: printf(“晚上好”); break; case 4: printf(“再见”); break; default: printf(“what?”); Break; } Return 0; Tips:在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里面去,直到遇到一个break,或者switch结束为止。 7. 循环的例子 1. 可以通过将递减变量的初始值赋给新的变量,来达到输出其初始值的目的。 2. 随机数 每次召唤rand()就的到一个随机的整数 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand(time(0)); int a = rand(); return 0 } 8. 整数的分解 对一个整数做%10的操作,就得到它的个位数; 对一个整数做/10的操作,就去掉了它的个位数; 然后再对2的结果做%10,就得到原来数的十位数了; 5.0 1. 循环控制 break;直接跳出循环。 Continue;continue下面的语句不执行。 Tips:break和continue只能对其所在的那层循环启作用。 goto:使用方法goto 标识符; 标识符:程序即可跳到标识符所在的位置。 6.0 1. 数组 int number [100];....100代表这个数组有100个int值。 但计数从零开始,所以最大计数为int number[99] number [i]=x...i表示第几个数,x表示待赋值。 Eg: 1.用数组统计每个数字出现的个数 #include<stdio.h> int main() { int x,i; int count[10]; printf("请输入数据\n"); scanf("%d",&x); for(i=0;i<10;i++){ count[i]=0; } while(x!=-1){ if(x>=0 && x<=9){ count[x]++; } scanf("%d",&x); } for(i=0;i<10;i++){ if(count[i]>0){ printf("数字%d出现了%d次\n",i,count[i]); } } return 0; } 2. 用数组求平均值并输出比平均值大的数据 #include<stdio.h> int main() { int x,i,b=0,sum=0; int count[4]; printf("请输入数据\n"); scanf("%d",&x); while(x!=-1){ count[b]=x; b++; sum+=x; scanf("%d",&x); } printf("平均值为%d\n",sum/b); for(i=0;i<b;i++){ if(count[i]>sum/b){ printf("大于平均值的数据有%d\n",count[i]); } } return 0; } Tips:数组在记录数据时尽量从零开始 2.函数 int类型函数带有返回值 1.函数定义 从函数中返回值 return停止函数的执行,并送回一个值 函数名 1.#include<stdio.h> 函数头 int sum(int begin,int end) { 函数主体 int sum=0; for(;begin<=end;begin++){ sum+=begin; printf("%d\n",begin); } 返回值 return sum; } int main() { int c; 返回后赋值给c c=sum(2,5); printf("和为%d\n",c); return 0; } 2. 不带返回值的函数类型 #include<stdio.h> void sum(int begin,int end) { int sum=0; for(;begin<=end;begin++){ sum+=begin; printf("%d\n",begin); } printf("和为%d\n",sum); } int main() { sum(2,5); return 0; } 3. 调用函数 1. 函数名 2. ()起到了表示函数调用的重要作用 3. 即使没有参数也需要() 4. 如果有参数,则需要给出正确的数量和顺序 5. 这些值会被依次用来初始化函数中的参数 6. 可以传递给函数的值是表达式的结果,这包括: 字面量;变量;函数的返回值;计算的结果 Eg:c=max(a,b); c=max(c,23); c=max(max(23,45),a); c=max(23+45,b); 4. 函数原型 1. 函数头,以分号“;”结尾,就构成了函数的原型 2. 函数原型的目的是告诉编译器这个函数长什么样 3. 名称 4. 参数(数量及类型) 函数原型 5. 返回类型 Eg: double max (double a, double b); int main() { int a,b,c; a=5; b=6; c=max(10,20); printf(“%d”,c); max(12,13); return 0; } double max (double a, double b); ..........(函数体) Tips:在这种情况下,函数体可以放在所写的程序后面,只需要在int main()前说明函数原型即可。 5.传值 1.每个函数都有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系 2.过去,对于函数参数表中的参数,叫做形式参数,调用函数时给的值,叫做实际参数 3.但容易造成误解,在调用函数时,只是把值传了进来,而不是将变量连同值一起。 6.本地变量的规则 1.本地变量是定义在块内,它可以是定义在函数的块内,也可以定义在语句的块内,甚至可以随便拉一对大括号来定义变量。 2.程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。 3.块外面定义的变量在里面仍然有效 4.块里面和外面定义了同名变量则掩盖了外面的 7.细枝末节 1.没有参数时 void f(void)表示没有参数 void f()表示参数未知 2. 逗号运算符 调用函数时的圆括号里的逗号是标点符号,不是运算符,f(a,b)。 但f((a,b))中的逗号是运算符。 3. 函数里的函数 在c语言中不允许函数嵌套定义 4. 关于main int main()也是一个函数,return返回的值在某些情况下是有用的。 7.0 1. 数组运算 1. 在数组内搜索值 #include<stdio.h> int search(int,int,int a[]); int main() { int x,length; printf("请输入需要查找的数据\n"); scanf("%d",&x); int a[]={2,3,4,5,6,7,8,9,10}; printf("数组中有%d个数据\n",sizeof(a)/sizeof(a[0])); length=sizeof(a)/sizeof(a[0]); search(length,x,a); return 0; } int search(int length,int x,int a[]){ int i; for(i=0;i<length;i++) { if(a[i]==x){ printf("存在这个数据%d,在数组的第%d位\n",x,i+1); break; } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服