初识C语言(2)
文章目录
- 前言
- 六、选择语句
- 七、循环语句
- 八、函数
- 九、数组
-
- 9.1 数组定义
- 9.2 数组的下标
- 十、操作符
- 总结
前言
在初识C语言(1)中(链接: link)已经介绍了五节内容,接下来我将继续来分享后面的内容。还是一样,本篇只是让大家有个大概的了解,后面我会逐一细讲。若本文有什么错误之处或者您有更好的建议,希望您可以在评论,或者私信我,我会第一时间回复的。谢谢!٩(๑❛ᴗ❛๑)۶
六、选择语句
示例代码:
#include int main(){int learn = 0;printf("你会去学习吗?(选择1 or 0):");scanf("%d", &learn);if (learn == 1){printf("坚持,你会有好offer\n");}else{printf("放弃,回家放牛\n");}return 0;}
代码运行结果如下:
七、循环语句
C语言中如何实现循环呢?
● while语句
● for语句(后期会具体介绍)
● do … while语句(后期会具体介绍)
//while循环的实例#include int main(){printf("好好学习\n");int line = 0;while (line <= 20){line++;printf("我要继续努力敲代码\n");}if (line > 20)printf("好offer\n");return 0;}
代码运行结果如下:
八、函数
C语言中,把一些独立的功能也能封装成一个独立的函数。
● 函数的特点就是简化代码,代码复用。
示例代码:
#include int main(){int num1 = 0;int num2 = 0;int sum = 0;scanf("%d %d", &num1, &num2); //输入sum = num1 + num2; //求和printf("sum = %d\n", sum); //打印 return 0;}//上述代码,若写成函数如下:#include //定义函数int Add(int x, int y){int z = x + y; return z;//return (x + y); //上面两段代码可以用这个来代替,效果是一样的}int main(){int num1 = 0;int num2 = 0;int sum = 0;scanf("%d %d", &num1, &num2);sum = Add(num1, num2); //自定义一个Add函数,完成和运算printf("sum = %d\n", sum); return 0;}
代码运行结果如下:
函数各组成部分的名称:
九、数组
9.1 数组定义
什么叫数组?
数组就是:一组相同类型元素的集合。int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; //定义一个整型数组,最多放10个元素
arr就是10个元素的整型数组。char ch[5] = { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’ }; //存字符 - 字符数组。
int arr[10] = { 0 }; //数组不完全初始化的形式。
9.2 数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问的。
比如:
示例代码:
#include int main(){//arr就是10个元素的整型数组int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//数组的下标为0 - 9int i = 0;while (i <= 9){printf("%d ", arr[i]); //通过下标将数组元素一一打印出来i += 1;}return;}
代码运行结果如下:
十、操作符
C语言包含了非常丰富的操作符 本节简单介绍为主,点到为止,后面会重点讨论!
取模(%):
示例代码:
#include int main(){// % - 取模(余数)int n = 7 % 2; //7/2 商3,余1printf("%d\n", n); //所以n=1//取模操作符只能作用于整型int n = 7.0 % 2; //注意,这样写是错误的!!return 0;}
移位操作符:
示例代码:
//移位操作符,其实作用于一个数的二进制位的#include int main(){int a = 3;int b = a << 1; //左移一位printf("%d\n", b);return 0;}
代码运行结果如下:
左移操作符,实现过程如下:
位操作符:
示例代码:
#include int main(){int a = 3;int b = 5;//这里的位指的也是二进制位int c = a & b; //按位与,对应的二进制位有0,则为0,全1才为1int d = a | b; //按位或,对应的二进制有1,则为1,全0才为0;int e = a ^ b; //按位异或,相同为0,相异为1printf("c = %d\nd = %d\ne = %d\n", c, d, e);return 0;}
代码运行结果如下:
上述位操作符实现过程:
sizeof:
示例代码:
#include int main(){int a = 10;//sizeof 计算的是变量或者类型所创建变量占据内存的大小 - 单位是字节(byte)printf("%d\n", sizeof(a));printf("%d\n", sizeof(int));return 0;}
代码运行结果如下:
~操作符:
~ 按位取反,其实都是操作内存中的二进制位,是对存在内存中的补码进行取反的
#include int main(){ int a = -1;//-1是负整数//负整数的二进制有原码,反码,补码//内存中存储的是二进制的补码//10000000000000000000000000000001 -原码//11111111111111111111111111111110 -反码//11111111111111111111111111111111 -补码int b = ~a;printf("%d\n", b);return 0;}
代码运行结果如下:
加加(++)
++a //前置++,先++,后使用;
a++ //后置++,先使用,后++;
减减(–)同理。
关于强制类型转换 -(类型):
如上图:3.14是double类型,而n是int类型,如果这样写,编译器会出现警告。因为它们两个的类型不相同,那么如何让它们的类型相同呢?这时,我们就可以使用强制类型转换的方法,如下图所示。
条件操作符:
如果我们要想比较两个数字的大小,将较大者输出屏幕,我们可以用if语句,如上图;
我们还可以使用三目操作符来进行运算。它的运算过程是:如果exp1为真,则exp2的结果是整个表达式的结果,反之,若exp1为假,则exp3的结果是整个表达式的结果。
代码示例:
#include int main(){//条件操作符// exp1 ? exp2 : exp3//简化if语句int a = 0;int b = 0;int max = 0;scanf("%d %d", &a, &b); //输入//比较//if (a > b)//max = a;//else//max = b;max = (a > b ? a : b); //三目操作符//打印printf("%d\n", max);return 0;}
逗号表达式:
逗号表达式会从左向右依次计算;整个逗号表达式的结果是最后一个表达式的结果。
代码示例如下图所示:
函数调用操作符:
函数调用操作符的操作数至少有一个,就是它的函数名。一般函数操作符有三个操作数,
比如:Add(3, 5);它的三个操作数分别是:Add函数名,3和5。
总结
好啦,以上就是今天要讲的内容,本文仅仅简单介绍了初识C语言的部分内容,还有一小部分内容初识C就完结啦,敬请期待。我们一起努力,互相学习,共同进步!!