首页 > 其他分享 >2023.10.22博客

2023.10.22博客

时间:2023-10-22 19:23:44浏览次数:33  
标签:arr return 函数 22 int 2023.10 博客 printf include

有一段时间没写博客了,主要原因是忘了写了,哈哈哈。这段时间把分支与循环的内容收了尾,并开启了一个全新篇章函数,我会将我的笔记贴在下面:

库函数( cplusplus.com/reference/clibrary/库函数查询) 常见库函数   strcpy //strcpy-string copy-字符串拷贝 #include<stdio.h> #include<string.h> int main() {     char arr1[]="bit";//保证源头字符串长度比目的地长度短或者目的地空间足够大     char arr2[20]="######";//否者会溢出     //             bit\0##-实际上拷贝了4个字符,\0是字符串结束标志     strcpy(arr2,arr1);     printf("%s\n",arr2);     return 0; }   memset 即:把“ptr”所指向那块空间的前“num”个字节的内容设置成特定的“value”   #include<stdio.h> #include<string.h> int main() {     char arr[]="hello world";     memset(arr,'*',5);     printf("%s\n",arr);     return 0; }   自定义函数 写一个函数,交换两个整型变量的内容 #include<stdio.h> void Swep(int x,int y)//不需要返回值类型,用void {     int tmp=0;//临时变量tmp     tmp=x;     x=y;     y=tmp; } int main() {     int a=10;     int b=20;     Swep(a,b);     printf("%d %d",a,b);     return 0; } //无法完成交换的原因:x,y与a,b储存空间不一样(没有关系),故:a,b无法完成交换   解决方案:使函数内外建立联系(解引用操作) //解引用操作 #include<stdio.h> int main() {     int a=0;     int* pa=&a;//pa指针变量--->存储a的地址:16进制数字     *pa=20;//解引用操作:从pa更改a的值     printf("%d\n",a);     return 0; }   //解决方案:使内外建立联系--->应用 解引用操作 #include<stdio.h> void Swep2(int*pa,int*pb)//不需要返回值类型,用void {     int tmp=0;     tmp=*pa;//*pa:a的地址,*pb:b的地址     *pa=*pb;     *pb=tmp; } int main() {     int a=10;     int b=20;     Swep2(&a,&b);     printf("%d %d",a,b);     return 0; }   函数的参数     函数的调用   //用函数的方法输出素数 #include<stdio.h> #include<math.h> int is_prime(int n)//是素数返回1,否则返回0 {     //产生2--n-1的数字     int j=0;     for (  j=2; j<=sqrt(n); j++)//i=a*b,例如:16=2*8=4*4                                 //如果i不是素数,那么a或者b中一定有一个<=开平方i     {         if (n%j==0)//判断j能否被n整除             return 0;//结束能力强于break,直接结束整个函数     }     return 1;//找遍了2——n-1的数字,发现没有其他因数,故为素数 } int main() {     int i=0;     for ( i = 0; i<=200; i++)     {         if(is_prime(i)==1)//专门用来判断素数的         {             printf("%d\n",i);         }     }     return 0; }   //用函数的方式判断是否为闰年 #include<stdio.h> int is_leap_year(int x) {     if ((x%4==0 && x%100!=0)||(x%400==0))         return 1;     else         return 0; } int main() {     int year=0;     for (year=1000;year<=2000;year++)     {         if (1 == is_leap_year(year))         {             printf("%d\n",year);         }     }     return 0; }   //写一个函数,实现一个整形有序数组的二分查找 #include<stdio.h>                 //本质上这里的arr是个指针 int binary_search(int arr[],int k) {     //算法的真正实现     int sz=sizeof(arr)/sizeof(arr[0]);     int left=0;     int right=sz-1;     int mid=(left+right)/2;     while (left<=right)     {         if(arr[mid]<k)         {             left=mid+1;         }         else if (arr[mid]>k)         {             right=mid-1;         }         else         {             return mid;         }     }     return -1; } int main() {     //二分查找的前提     //在一个有序数组中查找具体某个数     //找到了返回下标,找不到返回-1     int arr[]={1,2,3,4,5,6,7,8,9,10};     int k=7;     int ret=binary_search(arr,k);//ret——>接收返回值     //                    实际上传递的是数组首元素的地址     if (ret==-1)     {         printf("找不到指定的数字\n");     }     else     {         printf("找到了,下标是:%d\n",ret);     }     return 0; }   纠正: #include<stdio.h> int binary_search(int arr[],int k,int sz) {     //算法的真正实现     int left=0;     int right=sz-1;     while (left<=right)     {         int mid=(left+right)/2;//不能放在循环外         //每次循环都得求一次mid         if(arr[mid]<k)         {             left=mid+1;         }         else if (arr[mid]>k)         {             right=mid-1;         }         else         {             return mid;         }     }     return -1; } int main() {     int arr[]={1,2,3,4,5,6,7,8,9,10};     int k=7;     int sz=sizeof(arr)/sizeof(arr[0]);     int ret=binary_search(arr,k,sz);//ret——>接收返回值     if (ret==-1)     {         printf("找不到指定的数字\n");     }     else     {         printf("找到了,下标是:%d\n",ret);     }     return 0; }   //写一个函数,使其每调用一次,num的值增加1 #include<stdio.h> void Add(int* p)//不需要用返回值,所以用void {     (*p)++;//++的优先级更高,故*p++中++作用于p,则应该写(*p)++ } int main() {     int num=0;     Add(&num);     printf("num=%d\n",num);     Add(&num);     printf("num=%d\n",num);     return 0; }   函数的嵌套调用和链式访问   嵌套调用:(函数函数的有机组合) #include<stdio.h> void one_line() {     printf("hehe\n"); } void three_line() {     int i;     for ( i = 1; i <= 3; i++)     {         one_line();     } } int main() {     three_line();     return 0; }   链式访问(把一个函数的返回值作为另一个函数的参数): #include<stdio.h> #include<string.h> int main() {     int len=0;     //1     len=strlen("abc");     printf("%d\n",len);     //2--链式访问     printf("%d\n",strlen("abc"));     return 0; }   对printf返回值的描述 返回值为打印的字符的个数   #include<stdio.h> int main() {     printf("%d",printf("%d",printf("%d",43)));     //由内到外依次打印     return 0; }     函数的声明和定义   #include<stdio.h> //函数声明 int Add(int x,int y);//x,y可以省略   int main() {     int a=10;     int b=20;     int sum=0;     //函数调用     sum=Add(a,b);     printf("%d\n",sum);     return 0; } //函数的定义 int Add(int x,int y) {     int z=x+y;     return z; } 函数的调用真正的作用观看函数(1)3:21:00 那对于函数的调用的真正用法我之前也是有了解的,但是今天学了之后才发现没有我想象那么简单(当然也没有那么难),我觉得最麻烦的是函数声明和函数体要放在两个文件中,也算是增加了一点工作量嘛。但是有一说一,这确实让我们写代码时省了不少功夫,码农们不再需要每次都去写一个新的函数,可以直接调用同伴们写好的函数,既可以减少重复的、无意义的工作,还可以加强我们之间的联系                  

标签:arr,return,函数,22,int,2023.10,博客,printf,include
From: https://www.cnblogs.com/3013304651hc/p/17780885.html

相关文章

  • 自动化交易程序开发记录-23年10月22日
    陷入停滞的自动化交易项目从十月份上半月开始,自动化程序开发陷入了停滞,现在主要是有了以下成果:自动交易基于binance的行情接口和现货交易接口,能够根据行情和预先编写的策略进行判定并执行交易回测框架在binance上下载历史行情数据,导入到mysql,来验证策略的收益从实际效果上......
  • Ubuntu 22.10 阿里云源
    Ubuntu22.10更换阿里云源sudovim/etc/apt/sources.list```debhttp://mirrors.aliyun.com/ubuntu/kineticmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/kineticmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubunt......
  • 10.22日记
    寄存器是一种高速存储器,用于暂时存储指令、数据和中间结果。控制器负责从内存中提取指令,并将其解码为操作信号,以控制其他部件的工作。运算器则负责执行算术和逻辑运算,包括加法、减法、乘法、除法和比较等操作。时钟是CPU的主时钟,用于同步各个部件的操作,确保它们按照正确的顺序......
  • 10月22日记10月21日
    昨天上午起来之后整理了以下距离完成建民老师留的作业还差哪些操作,然后去网上搜集了一些相关资料,然后下午去自习室经过四个小时的苦战,终于前端能够正常调用后端,并且向后端传值了,其中大部分源于@CrossOrigin没有添加和错误添加导致的传值错误.......
  • CentOS 8 Stream vs Anolis8.8 对比(2023.10)
    硬件环境Honor笔记本电脑,16GRAM,512GSSD,本机自带无线网卡,外接USB有线网卡安装Anolis8.8到一个128GKingstonU盘,出现如下现象显卡驱动无法支持笔记本的外接显示器;中文输入法无法自动工作;内核版本为5.10;本机的无线网卡未自动识别重新安装CentOS8Stream......
  • 开始写博客的第一天
    开始写博客的第一天就随便写写吧写写之后打算记录的事情:C++的基础语法Django的基本用法HTML的基础语法QT的使用给自己先定个目标,每天都要写,一定要坚持下来!!!......
  • # 2023-2024-1 20231322 《计算机基础与程序设计》第四周学习总结
    作业信息|2023-2024-1-计算机基础与程序设计|(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP))||2023-2024-1计算机基础与程序设计第四周作业||这个作业的目标|总结第四周学习过程中的疑问及收获||作业正文|(https://www.cnblogs.com/cjl03/p/17780446.html)|教材学习......
  • 2023-10-22-周日
    首先,,以后的日记可能会做一个大的调整了,,,,也就是说,,,我可能不再天天去写日记了...虽然最近也没有天天写,,O(∩_∩)O哈哈~为什么没有天天去写日记呢......每次晚上回寝室,,,就很累,,,就想着娱乐一下,,,同时又想早点睡觉所以呢....晚上就懒得写,,,第二天起来写的话感觉又......
  • 10-22|处理脏话其他方法
    当然,除了基本的词汇列表过滤方法,还有其他几种处理脏话的方法:1.**机器学习**: 使用机器学习模型进行文本分类,将文本分为"有毒"和"无毒"。这需要大量标注的数据,即已经被标记为有毒或无毒的文本。你可以使用开源数据集,例如Jigsaw的有毒评论分类挑战数据集。然后,可以使用模型如BER......
  • 10.22算法
    有效的括号给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例1:输入:s="()"输出:true示例 2:输入:s="()[]{}"输出:tru......