欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > C++研发笔记9——C语言程序设计初阶学习笔记7

C++研发笔记9——C语言程序设计初阶学习笔记7

2025/2/24 11:00:43 来源:https://blog.csdn.net/Lbs_gemini0603/article/details/143259771  浏览:    关键词:C++研发笔记9——C语言程序设计初阶学习笔记7

        我们继续第二部分《初识C语言》的学习,上一篇学习笔记当中我们详细学习了字符串+转义字符+注释的剩余知识并大概了解了选择语句以及循环语句的内容,今天我们继续后面内容的学习,后面的内容还包括:函数 、数组 、操作符 、常见关键字 、define 定义常量和宏 、指针 、结构体。

第二部分  初识C语言

八、函数

// 函数
// 数学中的函数 —— y = f(x)——即一个 x ,有一个对应的 y// 我们来看下面这段代码,这是我们正常学习的好理解的格式
// 这段代码实现了输入两个整数,实现输入两个整数相加
#include <stdio.h>int main()
{int num1 = 0;int num2 = 0;int sum = 0;printf("输入两个操作数:>>");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("sum = %d\n", sum);return 0;
}// 这里补充一点,有时候我们将输入函数写成这个样子scanf("%d,%d", &num1, &num2);
// 那么此时我们输入两个整数的时候就必须使用逗号分隔// 为了实现上面这个功能,我们可以写成函数如下:#include <stdio.h>int Add(int x, int y) // 在这里定义了函数需要使用的两个变量
// 这里就是定义了一个函数,相当于一个工厂
// 在我们输入参数之后,可以实现返回一个结果
{int z = 0;z = x + y;return z;
}// 另外还有一种简化的写法int Add(int x, int y) 
{return (x + y);
}int main()
{int num1 = 0;int num2 = 0;int sum = 0;printf("输入两个操作数:>>");scanf("%d %d", &num1, &num2);sum = Add(num1, num2);int a = 0;a = Add(10, 20); // 函数的作用就可以简化代码,代码复用int b = Add(30, 20); // 函数的作用就可以简化代码,代码复用// 以后再使用类似的功能的时候,直接使用一句话调用即可printf("sum = %d\n", sum);printf("a = %d , b = %d\n", a,b);return 0;
}

九、数组

// 数组的概念 —— 数组中可以存放一组相同类型的元素
// 数组 —— 一组相同类型元素的集合#include<stdio.h>int main()
{// 当我们想要存放 1-5 的整数的时候// 如果不使用数组,只能逐个定义int a = 1;int b = 2;int c = 3;int d = 4;int e = 5;// 但是使用数组只用一句话就可以实现// 这就实现了一个数组的创建和初始化int arr1[5] = { 1,2,3,4,5 }; // 这就定义了一个整型数组,里面存放了5个元素int arr2[5] = { 1,2,3,4 };// arr2 定义了该数组有五个元素,但初始化只有四个元素,这是一个不完全初始化// 那么编译器会默认将后面的元素初始化为0char ch[5] = { 'a','b','c' };// 这也是一个不完全初始化,后面的元素默认为"\0"/*另外数组当中还有一个需要注意的问题是:每一个元素都是具有对应下标的,例如第一个元素对应的下标为0即元素对应的下标时元素实际位置-1我们也可以通过访问下标来实现找到元素*/// 例如接下来我要查找打印 arr1 中的第 5 个元素printf("%d\n", arr1[4]);// 接下来我要打印 arr3 的全部元素int arr3[10] = { 1,2,3,4,5,6,7,8,9,10 }; // 这里的 10 是在指定数组内元素个数的int i = 0; // 这里的i是在指定下标,是可以使用变量的int j = 1;while (i < 10){printf("数组的第%d个元素是:%d\n", j, arr3[i]);i = i + 1;j = j + 1;}// 这个打印全部元素也是通过下标访问元素的一个实例// 以上这个打印数组内全部元素也可以通过 for 循环来实现// 具体操作方法如下:int arr4[10] = { 1,2,3,4,5,6,7,8,9,10 };for (i = 0; i < 10; i++){printf("%d ", arr4[i]);}return 0;
}
// 我们关于数组的知识初步了解到这里即可,后面还会有更加深入的学习

十、常见操作符

// C语言提供了非常丰富的操作符,增强了C语言的灵活性#include<stdio.h>int main()
{// 最简单的操作符便是算术操作符,包含:+ - *  / %int a = 17;int b = 4;printf("a+b=%d\n", a + b); //实现两数相加printf("a-b=%d\n", a - b); //实现两数相减printf("a*b=%d\n", a * b); //实现两数相乘printf("a/b=%d\n", a / b); //实现两数相除printf("a%%b=%d\n", a % b); //实现两数取余// 打印一个 % 的办法是 printf("%%");// 通过上面的代码,我们注意到实现两数相除的时候,仅保留了整数部分// 如果我们想要实现打印输出后面结果的时候,需要如下操作double c = 17.00;double d = 4.00;printf("c/d=%lf\n", c / d);// 除号的两边如果都是整数,那么无论定义的什么类型,都会执行整数除法// 至少除号两边有一个是浮点数,才会进行浮点数的除法运算// 也可以稍加改动实现要求小数点后小数点后位数// 例如下面实现了 17 / 4 的结果保留两位小数printf("c/d=%.2lf\n", c / d);// 还有一个需要注意的地方,取余符号的两侧必须为整型,其他类型变量不能进行取余运算return 0;
}/*
除了算术操作符,还有移位操作符( >>  << )和位操作符( & ^ !)
这些操作符是与二进制有关的,我们将在后面的学习中进行详解
*/// 接下来我们学习赋值操作符#include<stdio.h>int main()
{int a = 0; // 这里对 a 进行初始化a = 10; // 这里是对 a 进行赋值,这里的 = 就是一种赋值操作符// 另外赋值操作符还包括了几个复合赋值符号// += -= *=  /=a += 5; // 这句话相当于  a = a + 5;a -= 5; // 这句话相当于  a = a - 5;a *= 5; // 这句话相当于  a = a * 5;a /= 5; // 这句话相当于  a = a / 5;// 赋值操作符还包括 &= ^=  |=    >>=   <<=// 这几个赋值操作符和上面的移位操作符和位操作符有关系,我们放在后面学习return 0;
}/*
接下来再来简单了解一下单目操作符(仅有一个操作数):!           逻辑反操作
· C语言中 1(非0)表示真 0表示假-           负值+           正值
· 正号在我们输入的时候往往会被忽略掉&           取地址sizeof      操作数的类型长度(以字节为单位)
· 计算变量所占空间的大小
· sizeof 是操作符,而strlen是库函数,是统计字符串内在\0之前的字符个数~           对一个数的二进制按位取反--          前置、后置--++          前置、后置++*           间接访问操作符(解引用操作符)(类型)       强制类型转换
*/#include<stdio.h>int main()
{int flag = 5;if (flag) // 如果flag为真printf("hehe\n");if (!flag) // 如果flag为假printf("haha\n");int a = -10;int b = -a;int c = +a;printf("%d %d", b, c); // 打印结果为 10 -10int d = 100;int e = d++; //后置++ 先使用 后自增1// 以上相当于 e = d; d = d + 1;printf("%d %d", d, e); // 输出结果为 101 100int f = ++d; // 前置++ 先自增1 后使用// 以上相当于 d = d + 1; f = d;printf("%d %d", d, f); // 输出结果为 101 101// 前置-- 和 后置-- 同理,这里不做赘述int g = (int)3.14; // 这里将 3.14 强制转化为整数return 0;
}/*
下面是关系操作符:> >= < <=
需要特别注意的是 == 和 !=== 是用来判断测试是否相等  != 是用来判断测试是否不相等
*//*
逻辑操作符:&&(逻辑与) ||(逻辑或)
&& 就是我们日常生活中的并且
|| 就是我们日常生活中的或者
*/#include<stdio.h>int main()
{int a = 0;int b = 5;if (a && b) // 两边同时为真才为真printf("hehe\n");if (a || b)  // 两边有一个为真即为真,同时为假才为假printf("haha\n");// 我们来看一个逻辑操作符的实例// 输入一个年龄,如果在18与36之间,就要输出青年,实现代码如下:int age = 0;scanf("%d", &age);if (age >= 18 && age <= 36)// 这里不能写为 18 <= age <= 36// 这样写如果输入一个大于18的数,将恒为真printf("青年");return 0;
}/*
另外的操作符还包括:
· 条件操作符:exp1 ? exp2 : exp3
· 逗号表达式:exp1, exp2, exp3, …expN
· 下标引用、函数调用和结构成员:[] () . ->
这些操作符在后面的学习中我们会慢慢遇到慢慢掌握即可
其实下标引用操作符和函数调用操作符我们在上面函数和数组的学习中都有涉及到
*/// 下面我们来看一个条件操作符的实例——实现输出两个整数中的较大者#include<stdio.h>int main()
{int a = 0;int b = 0;int max = 0;scanf("%d %d", &a, &b);max = (a > b ? a : b);/* 这句话相当于if(a > b)printf("max = %d",a);if(a < b)printf("max = %d",b);*/printf("max = %d", max);return 0;
}

        以上是本篇笔记的内容,我们学习了函数、数组以及常见操作符,这分别是我们4-6三个部分要主要学习的内容,在接下来的笔记中,我们依旧会继续第二部分的学习,接下来的内容还包括: 常见关键字 、define 定义常量和宏 、指针 、结构体。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词