4、goto语句定义无条件跳转语句意思是想跳到哪里就跳到哪里语法 goto 标签语句标签语句标识符命名方式遵循标识符命名规则什么时候用出错处理goto label; printf(hello\n); //不执行这一句 label: printf(how are you\n);//执行注意1.goto无条件跳转语句造成程序逻辑混乱代码可读性差少用5.循环嵌套执行流程外层循环每执行一次内层循环执行一轮//1~10000之间的回文数 #includestdio.h int main() { int num0; int new0; int tmp0; for(num1;num10000;num) { new0; tmpnum; while(tmp!0) { newnew*10tmp%10; tmptmp/10; } if(numnew) { printf(%d\n,num); } } return 0; }//九九乘法表 #includestdio.h int main() { int i0; int j0; for(i1;i9;i) { for(j1;j9;j) { if(ji) { printf(%d*%d%d ,j,i,j*i); } } printf(\n); } printf(\n); return 0; }6.三种循环辅助语句1break循环断路语句用法用于跳出当前循环当多层循环嵌套时仅跳出内层循环for(i0;i3;i) { for(j0;j10;j) { if(2j%3) { break; } printf(%d,j); } printf(\n); } //结果 01 01 012continue循环短路语句用法跳出本次循环下次循环还是会继续执行for(i0;i10;i) { if(2i%3) { continue; } printf(%d,i); } //结果01346793return用法跳出函数return后面需要加返回值类型返回值类型与函数类型保持一致当return在main()主函数中使用时一旦遇到return结束整个函数//从终端输入一个数判断是否为素数 #includestdio.h int main() { int num0; int i0; scanf(%d,num); for(i2;inum-1;i) { if(0num%i) { printf(not su shu\n); return 0; } } printf(su shu\n); return 0; }四、数组作用保存多个数据类型相同的数据数组基础1.语法类型说明符 数组名[常量]注意1类型说明符可以是基本数据类型、构造数据类型不可以是void类型。代表了数组中 保存数据的数据类型2数组名遵循标识符命名规则字母、数字、下划线不能以数字开头3[常量]数组中可以保存元素的个数int a[10] //40字节 sizeof(a) //40字节 char[32] //32字节 float array[5] //20字节2.数组元素的访问数组名[下标][ ]下标运算符用来访问数组元素下标代表要访问第几个元素可以是常量、变量、表达式注意1下标从0开始到元素个数减1超出范围会造成数组越界访问2不能给数组名直接赋值3.数组的初始化若不初始化数组默认存放随机值1、全部初始化int a[10]{1,2,3,4,5,6,7,8,9,0};int a[ ]{1,2,3,4,5,6,7,8,9,0};数组越界(1初始化数组时初始化元素个数超出数组本身元素个数(2访问数组元素时[ ]里的下标超出了数组元素个数2.部分初始化int a[10]{1,2,3,4,5}未初始化的元素默认存放03.全0初始化int a[10]{0};int a[10]{0,0,0,0,0,0,0,0,0,0};4.数组的存储形式数组在内存中的存储满足单一性、有序性、连续性1.单一性数组中每个元素的数据类型都是一致的2.有序性按照a[0]~a[n]的顺序进行存储3.连续性数组在内存中选取连续的内存空间