C语言-004

网友投稿 762 2022-09-14

C语言-004

C语言-004

April 02

一,初识结构体

代码

#include #include //用于引用strcpy函数//结构体 描述复杂对象,自己创造struct Book{ char name[20];//名字 char author[10];//作者 short price;//价格};int main(){ /*struct结构体使用 April 01 */ struct Book B01 = { "C语言程序设计","小钟",55 }; printf("书名==%s\n", B01.name); printf("作者==%s\n", B01.author); printf("价格==%d\n", B01.price); //修改结构体变量内容 B01.price = 155; printf("价格==%d\n", B01.price); //用指针修改内容修改 struct Book*Bp = &B01; (*Bp).price = 50;// 解引用* printf("价格==%d\n", B01.price); printf("价格==%d\n", (*Bp).price); //用->来打印结构体内容 printf("书名=%s\n",Bp->name); printf("作者=%s\n", Bp->author); printf("价格=%d\n", Bp->price); //修改结构体的数组变量 strcpy(B01.author, "大钟");// string-copy 字符拷贝函数 printf("作者=%s\n", Bp->author); return 0;}

结果:

二,分支和循环

21.分支语句

个人理解:if-else就是两条路径,按照条件走路径,elseif则是前者的推广

代码

#define _CRT_SECURE_NO_WARNINGS#include /*分支语句 if--elseif--else April 02 */int main(){ int i = 0; int num01 = 0; int num02 = 0; //判断一个数的奇偶 printf("请输入一个整数数据:\n"); scanf("%d", &num01); //不怎么会用 if (0 == num01%2) { printf("我能整除2,偶数==%d\n",num01); } else { printf("我是奇数:%d\n", num01); } return 0; }

结果

2.2多分支语句

个人理解:按照case后面表达式选择,但判断条件单一,case后面只跟数字123....

代码

#define _CRT_SECURE_NO_WARNINGS#include /*多分支switch语句 April 02表达通式如下:switch(表达式){ case 整型数值1: 语句 1; case 整型数值2: 语句 2; ...... case 整型数值n: 语句 n; default: 语句 n+1; } */ int main(){ int day = 0; int i = 6; printf("请输入一个整数数据:\n"); scanf("%d", &day); switch (day)//多分支的入口,括号里面整型变量,与case后面数比较,相等就执行。7 { case 1://case后面也要是整型 printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); break;//多分支出口,直接跳出整个循环语句 case 4: printf("星期四\n"); break; case 5: printf("星期五\n"); break; case 6: if (6 == i) printf("switch语句可以出现if语句\n"); printf("星期六\n"); break; case 7: printf("星期天\n"); break; case 8: printf("没有break,就都执行一遍,不跳出\n"); case 9: printf("没有break,就都执行一遍,不跳出\n"); case 10: printf("没有break,就都执行一遍,不跳出\n"); case 11: printf("这里我加了break,执行完整个case情况,就跳出分支\n"); break; case 12: printf("case后面不一定要有语句,case后面无语句时,后面可以不加break\n"); break; default://默认子句 用于错误提示 printf("数字不在case情况内,请输入一个更小的值\n"); break; } return 0;}

结果:

(1)无break时

(2)有break时

(3)if的嵌套

(4)default默认语句

2.3while循环语句

代码

注意continue和break在while循环语句的不同作用

#define _CRT_SECURE_NO_WARNINGS#include /*while循环语句 April 02表达通式如下:while(表达式){ 语句块;}*/int main(){ int i = 0; int j = 0; //输出0~10的数字 while (i <= 10)//先判断条件 { printf("%d\n", i); //i += 1; if (5 == i)//变量放右边 { printf("搞个死循环看看,用continue语句的特性\n"); continue;//只结束一次循环,不跳出整个循环 } i++; //因为continue的存在 所以代码不可能执行到i++,所以死循环了 } return 0;}

结果

2.4 for循环语句

代码

注:for循环括号里的3个表达式(初始化,判断,调整)都可以不写,但判断部分省略时,则判断条件恒为真,直接死循环。

建议三个表达式都写,增加代码可读性

#define _CRT_SECURE_NO_WARNINGS#include /*for循环 April 02 输出一个数组的内容表达通式如下:for(表达式1; 表达式2; 表达式3){ 语句块;}表达式1==初始化表达式2==判断语句表达式3==调整语句*/int main(){ int arr[10] = {1,2,3,4,5,6,7,7,9}; int i; for (i=0; i <= 9; i++) { printf("%d\n", arr[i]); } return 0;}

结果

2.5 do while循环语句

代码

注:与while语句一样,不过do while先执行一次再判断,while语句先判断再执行。

#define _CRT_SECURE_NO_WARNINGS#include /*do while循环 April 02表达通式如下:do{ 语句块}while(表达式);*/int main() { int i = 0; do { printf("哈哈哈哈,先执行一次,再判断\n"); printf("i的值==%d\n", i); i++; } while (i < 5); return 0;}do{ 语句块}while(表达式);

结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决 Rsync chown/chgrp (22) 同步错误
下一篇:同一服务器下发布两个不同网站(war包)的方法(这里采用的是二级域名的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~