完整版高级编程c语言入门.docx
- 文档编号:30314653
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:14
- 大小:24.75KB
完整版高级编程c语言入门.docx
《完整版高级编程c语言入门.docx》由会员分享,可在线阅读,更多相关《完整版高级编程c语言入门.docx(14页珍藏版)》请在冰豆网上搜索。
完整版高级编程c语言入门
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)
Intr=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:
l.for循环执行顺序,先执行初始条件和循环条
件,然后执行循环体,执行完之后再判断。
1.求和变量初始值设为0,求积变量初始值设为1.
2.For循环中的条件可以省略一个
Eg:
for(;n<5;i++)注意符号。
4.循环的选择方法
如果有固定的次数,用for
如果必须执行一次,用do_while
其他情况用while
4.进一步的判断与循环
1.逻辑类型
bool
#include
之后就可以使用bool和true,false
2.逻辑运算
逻辑运算是对逻辑量的运算,结果只有0或1
逻辑量是关系运算或逻辑运算的结果
运算符
描述
示例
结果
!
•
逻辑非
!
a
如果a是true结果就是false,如果a是false结果就是true
&&
逻辑与
a&&b
如果a和b都是
true,结果就是
true;否则就是false
II
逻辑或
A||b
如果a和b有一个是true,结果是true;两个都是false,结果为false.
Attention:
||逻辑或的运算规则是,有一个为真,就输出结果。
对于||两边的计算式,只计算左边的,右边的会被忽略。
Eg:
intx=0,c=2;
x+=1||(x=c+2);
printf("%d",x);
输出结果为1
3.优先级
!
>&&>||
优先级
运算符
结和性
1
()
从左到右
2
|+-++--
•
从右到左(单目的+和-)
3
*/%
从左到右
4
+-
从左到右
5
<<=>>=
从左到右
6
==!
=
从左到右
7
&&
从左到右
8
II
从左到右
9
=+=-=*=/=%=
从右到左
10(条件运算符)
?
;(三目运算符)
从右到左
Tips:
对于&&左边是false时就不做右边
对于||,左边是true时就不做右边
表达式1?
表达式2:
表达式3
若表达式1的值不为0,则执行表达式2,否则,执行表达
式3.
4.条件运算符
Count=(count>20)?
Count-10:
count+10;
条件,条件满足时的值和条件不满足时的值
lf(count>20)
Count=count-10;
Else
Count=count+10;
Attention:
条件运算符的优先级高于赋值运算符,但是低于其他运算符
条件运算符自右向左结合
5.逗号运算符
逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。
逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗
号运算的结果。
6.多路分支(适用于分散型变量)
switch(type变量)..…且type必须为int类型。
{
case1:
printf(“你好”);
break;
case2:
case后面的数必须为常量,可以数
字,表达式或有明确定义的字符。
printf(“早上好”);
break;
case3:
printf(“晚上好”);
break;
case4:
printf(“再见”);
break;
default:
printf(“what?
”);
Break;
}
Return0;
Tips:
在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里面去,直到遇到一个break,或者switch结束为止。
7.循环的例子
1.可以通过将递减变量的初始值赋给新的变量,来达到输出其初始值的目的。
2.随机数
每次召唤rand()就的到一个随机的整数
#include
#include
#include
intmain()
{
srand(time(0));
inta=rand();
return0
}
8.整数的分解
对一个整数做%10的操作,就得到它的个位数;对一个整数做/10的操作,就去掉了它的个位数;然后再对2的结果做%10,就得到原来数的十位数了;5.0
1.循环控制
break;直接跳出循环。
Continue;continue下面的语句不执行。
Tips:
break和continue只能对其所在的那层循环启作用。
goto:
使用方法goto标识符;
标识符:
程序即可跳到标识符所在的位置。
6.0
1.数组
intnumber[100];....100代表这个数组有100个int值
但计数从零开始,所以最大计数为intnumber[99]
number[i]=x...i表示第几个数,x表示待赋值。
Eg:
1.用数组统计每个数字出现的个数
#include
intmain()
{
intx,i;
intcount[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出现了%4次\n",i,count[i]);
}
}
return0;
}
2.用数组求平均值并输出比平均值大的数据
#include
intmain()
{
intx,i,b=0,sum=0;
intcount[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
if(count[i]>sum/b){
printf("大于平均值的数据有%d\n",count[i]);
}
}
return0;
}
Tips:
数组在记录数据时尽量从零开始
2.函数
1.函数定义
从函数中返回值int类型函数带有返回值
return停止函数的执行,并送回一个值
1.#include
_函数名
intsUm(intbegin,intend)―
~
intsum=O;
for(;beginv=end;begin++){一'>函数主体
sum+=begin;
printf("%d\n",begin);
returnsum;>
}
返回值
intmain()
返回后赋值给c
{
intc;
c=sum(2,5);
printf("和为%d\n",c);
return0;
}
2.
#include
voidsQm(intbegin,intend)
不带返回值的函数类
intsum=0;
for(;begin<=end;begin++){sum+=begin;
printf("%d\n",begin);
}
printf("和为%d\n",sum);
}
intmain()
{
sum(2,5);
return0;
}
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:
函数原型
doublemax(doublea,doubleb);
intmain()
{
inta,b,c;
a=5;
b=6;
c=max(10,20);
printf(“%cT,c);
max(12,13);
return0;
}
doublemax(doublea,doubleb);
(函数体)
Tips:
在这种情况下,函数体可以放在所写的程序后面,只需要在intmain()前说明函数原型即可。
5.传值
1.每个函数都有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系
2.过去,对于函数参数表中的参数,叫做形式参数,调用函数时给的值,叫做实际参数
3.但容易造成误解,在调用函数时,只是把值传了进来,而不是将变量连同值一起。
6.本地变量的规则
1.本地变量是定义在块内,它可以是定义在函数的块内,也可以定义在语句的块内,甚至可以随便拉一对大括号来定义变量。
2.程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。
3.块外面定义的变量在里面仍然有效
4.块里面和外面定义了同名变量则掩盖了外面的
7.细枝末节
1.没有参数时
voidf(void)表示没有参数
voidf()表示参数未知
2.逗号运算符
调用函数时的圆括号里的逗号是标点符号,不是运算符,f(a,b)。
但f((a,b))中的逗号是运算符。
3.函数里的函数
在c语言中不允许函数嵌套定义
4.关于main
intmain()也是一个函数,return返回的值在某些情况下是有用的。
7.0
1.数组运算
1.在数组内搜索值#include
intsearch(int,int,inta[]);
intmain()
{
intx,length;
printf("请输入需要查找的数据\n");
scanf("%d",&x);
inta[]={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);
return0;
intsearch(intlength,intx,inta[]){
inti;
for(i=0;i {if(a[i]==x){ printf("存在这个数据%d,在数组的第%4位\n",x,i+1); break; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 高级 编程 语言 入门