> 文档中心 > 初识C语言(2)

初识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语言(2)

七、循环语句

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;}

代码运行结果如下:
初识C语言(2)
函数各组成部分的名称:
初识C语言(2)

九、数组

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开始的。 数组可以通过下标来访问的。

比如:
初识C语言(2)
示例代码:

#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语言(2)

十、操作符

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;}

代码运行结果如下:
初识C语言(2)
左移操作符,实现过程如下:
初识C语言(2)
位操作符:
示例代码:

#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;}

代码运行结果如下:
初识C语言(2)
~操作符:
~ 按位取反,其实都是操作内存中的二进制位,是对存在内存中的补码进行取反的

#include int main(){ int a = -1;//-1是负整数//负整数的二进制有原码,反码,补码//内存中存储的是二进制的补码//10000000000000000000000000000001 -原码//11111111111111111111111111111110 -反码//11111111111111111111111111111111 -补码int b = ~a;printf("%d\n", b);return 0;}

代码运行结果如下:
初识C语言(2)

加加(++)
++a //前置++,先++,后使用;
a++ //后置++,先使用,后++;
减减(–)同理。

关于强制类型转换 -(类型):
在这里插入图片描述
如上图:3.14是double类型,而n是int类型,如果这样写,编译器会出现警告。因为它们两个的类型不相同,那么如何让它们的类型相同呢?这时,我们就可以使用强制类型转换的方法,如下图所示。
在这里插入图片描述

初识C语言(2)
初识C语言(2)
条件操作符:
在这里插入图片描述
如果我们要想比较两个数字的大小,将较大者输出屏幕,我们可以用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就完结啦,敬请期待。我们一起努力,互相学习,共同进步!!

Alt