概述
1.逗号运算符与逗号表达式
/*
逗号运算符:c语言提供的一种特殊的运算符,用于将两个及以上的表达式连接起来,优先级别最低
逗号表达式:由逗号运算符连接起来的两个及以上的表达式
要领:1.从左往右逐个计算
2.它是一个整体,值为最后一个表达式的值
3.在所有运算符中优先级别最低
*/
//举例
int x = 0, a = 0;
x = (a = 3,6 * 3)
//括号内为逗号表达式,其值为18,再将18赋给x
x = a = 3, 6 * 3
//整个式子为逗号表达式,前一个式子将3赋值给x和a,后一个式子计算6 * 3的值,整个式子值为18,x值为3
if( a == 3, 5 > 1, 1 < 2){
printf("为真n");
//判断条件为逗号表达式,其值为最后一个表达式的值,即 1 < 2 为真
}
2.退出循环的几种方式及区别
/*
1.continue:跳出本次循环,继续进行下一个循环
*/
//举例
for(int i = 0;i < 5; i ++){
if(i == 3){
continue;
//当i等于3时,跳出了本次循环,因此输出0,1,2,4
}
printf("i = %dn",i);
}
/*
2.break:跳出整个循环,执行循环体下面的语句。但是break跳出的只是它自身所在的循环,对外层循环没有影响
*/
//举例1
for(int i = 0;i < 5; i ++){
if(i == 3){
continue;
//当i等于3时,跳出了整个循环,因此输出0,1,2
}
printf("i = %dn",i);
}
//举例2
for(int j = 0;j < 5; j ++){
for(int i = 0;i < 5; i ++){
if(i == 3){
break;
}
}
printf("i = %d, j = %dn",i,j);
//i等于3时跳出了整个内层的for循环,但是外层循环没有受到影响,因此输出i始终为3,j为0 - 4
}
/*
3.return:return表示的是在当前函数的返回(如果在main函数中使用,等于停止整个程序,如果不是则返回上一层调用)
*/
//举例
#include <stdio.h>
int test(){
for(int i = 0; i < 5; i ++){
if(i == 3){
return 0;
//i等于3时,退出整个test函数,返回0,则输出0, 1, 2
}
printf("i = %dn",i);
}
}
int main (void){
int a;
a = test();
printf("a = %dn",a);
return 0;
//此处return 0,表示结束整个程序
}
/*
4.exit:表示强行退出整个程序(需要导入头文件<stdlib.h>)
exit(1) 表示非正常运行导致程序退出
exit(0) 表示正常运行程序并退出程序
*/
//举例
#include <stdio.h>
#include <stdlib.h>
int test(){
for(int i = 0; i < 5; i ++){
if(i == 3){
exit (0);
//i等于3时,退出整个程序,输出0,1,2
}
printf("i = %dn",i);
}
return 0;
}
int main (void){
int a;
a = test();
printf("a = %dn",a);
//i等于3时,退出了整个程序,因此这个语句并没有执行
return 0;
}
/*
return 和 exit 的区别
exit:整个程序的结束
return:某个函数的结束,并返回结果
1. return返回函数值,是关键字;exit是一个函数。
2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
3. return是函数的退出(返回);exit是进程的退出。
4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。
6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的
详见:https://blog.csdn.net/youngyoungla/article/details/52446632
*/
/*
5.goto:无条件转向语句,使程序立即跳转到函数内部的任意一条可执语句,一般不建议使用
*/
//举例
for(int i = 0;i < 5; i ++){
if(i == 3){
goto test;
//i等于3时,使用goto语句跳转到了标号test所在的地方,则输出0,1,2
}
printf("i = %dn",i);
}
test: printf("跳到这了n");
最后
以上就是合适毛豆为你收集整理的【笔记】c语言学习笔记part3的全部内容,希望文章能够帮你解决【笔记】c语言学习笔记part3所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复