首页 > 其他分享 >B站C语言第十课

B站C语言第十课

时间:2023-11-04 10:32:37浏览次数:30  
标签:arr return int C语言 第十课 num printf main

1,函数

#include <stdio.h>

#include <string.h>

#include <stdlib.h>


//

int Add(int x, int y)

{

int z = 0;

z = x + y;

return z;


}

int main()

{

int a = 10;

int b = 20;

int sum = Add(a, b);

printf("%d\n", sum);

return 0;


}

2,牢记字符串结束后有\0在作为结束标志

strcpy函数使用

#define _use_c

#include <stdio.h>

#include <string.h>

int main()

{

char arr1[] = "bit";

char arr2[20] = "###########";

strcpy(arr2,arr1);//---括号里第一位放目的地,第二位放要拷贝的内容

//strcpy - string copy - 字符串拷贝

//strlen - string length - 字符串长度有关

printf("%s\n", arr2);

return 0;



}

3,memset函数

#include <stdio.h>

#include <string.h>

//

//memset

//memory -- 内存  set -- 设置


int main()

{

char arr[] = "hello world";

memset(arr,'*',5);

printf("%s\n", arr);


return 0;



}

“*”ASCII码值

B站C语言第十课_嵌套

4.自定义函数

例子1

//定义函数

int get_max(int x, int y)

{

if(x>y)

 return x;

else

 return y;

}


int main()

{

int a = 10;

int b = 20;

//函数的使用场景

int max = get_max(a, b);

printf("max = %d\n", max);

return 0;

}

例子2

/*void Swap1(int x, int y)  //不能完成任务

{

int tmp = 0;

tmp = x;

x = y;

y = tmp;

}*/

void Swap2(int* pa, int* pb)

{

int tmp = 0;

tmp = *pa;

*pa = *pb;

*pb = tmp;

}

int main()

{

int a = 10;

int b = 20;

//int tmp = 0;

printf("a=%d b=%d\n", a, b);

//Swap1(a, b);

Swap2(&a, &b);

/*tmp = a;

a = b;

b = tmp;*/

printf("a=%d b=%d\n", a, b);


return 0;

}


/*int main()

{

int a = 10;

int* pa = &a;//pa指针变量

*pa = 20;//解引用操作

printf("%d/n", a);

return 0;


}*/

传值调用

传值址调用

例子1

//是素数返回一,不是素数返回0

#include <math.h>

int is_prime(int n)

{

int j = 0;

for(j=2;j<=sqrt(n);j++)

{

 if(n%j==0)

  return 0;

}

return 1;

}

int main()

{

//打印100-200之间的素数

int i = 0;

for(i=100; i<=200; i++)

{

 if(is_prime(i) ==1)

  printf("%d\n", i);

}

return 0;


}

例子2

int  is_leap_year(int y)

{

if((y%4==0&&y%100!=0) ||(y%400==0))

 return 1;

else

 return 0;

}


int main()

{

int year=0;

for(year=1000; year<=2000; year++)

{

 //判断year是否为闰年

 if(1 == is_leap_year(year))

 {

  printf("%d ",year);

 }


}


}

例子3

#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;//中间元素的下标

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

if(ret == -1)

{

 printf("找不到指定的数字\n");

}

else

{

 printf("找到了,下标是:%d\n", ret);

}

return 0;

}

例子4

void Add(int* p)

{

(*p)++;

}

int main()

{

int num = 0;

Add(&num);

printf("num = %d\n", num);//1

Add(&num);

printf("num = %d\n", num);//2

Add(&num);

printf("num = %d\n", num);//2

return 0;

}

5,函数的嵌套调用和链式访问

函数和函数之间可以有机的组合的

(1)嵌套调用

(2)链式访问

例子1

#include <string.h>

int main()

{

int len = 0;

len = strlen("abc");

//1

printf("%d\n", len);

//2

printf("%d\n", strlen("abc"));

return 0;


}

例子2

int main()

{

printf("%d", printf("%d", printf("%d",43)));


return 0;


}

B站C语言第十课_嵌套_02

调用函数

//函数声明

int Add(int x, int 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;


}



标签:arr,return,int,C语言,第十课,num,printf,main
From: https://blog.51cto.com/u_16316543/8180023

相关文章

  • 贪心算法(C语言)
    一、会议安排问题1.1问题(1)对于每个会议i,起始时间bi和结束时间ei,且bi<ei(2)[bi,ei]与[bj,ej]不相交,则会议i和会议j相容,bi≥ej或bj≥ei(3)目标:在有限的时间内,尽可能多地安排会议1.2分析选择最早结束的会议1.3实现(1)初始化:按结束时间递增排序(2)选中第一......
  • C语言笔记3
    关键字1.C语言预先规定的,具有特定意义的字母组合(32个)。2.保留给语言本身使用,也称为保留字。标识符定义:为程序的构成成分命名。变量变量是程序执行期间其值可以改变的量,必须先定义后使用。变量定义本格式类型说明符变量名1变量名2...如inta,b,c;floatx;功能:指定......
  • 实验3—C语言函数应用编程
    1、实验任务1源代码1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN806voidprint_text(intline,intcol,chartext[]);//函数声明7voidprint_spaces(intn);//函数声明8voidprint_b......
  • C语言 循环队列
    什么是队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。什么是循环队列在实际使用队列时,为了使队列空间能重复使用,往往对......
  • C语言基础之基础的输入输出
    前言学一门编程语言,不能编写让用户输入数据然后输出处理后的数据的程序那么就等于没学,而在C语言中可以用printf()和scanf()函数进行输入和输出操作。这两个函数是内置的库函数,定义在stdio.h(头文件)中。printf()函数printf()函数用于输出操作。它将给定的语句打印到控制台......
  • C语言基础之第一个C程序
    前言在开始学习C语言的基础知识之前,我们需要学习如何编写、编译和运行第一个C程序。要编写第一个C程序,打开C控制台并编写以下代码,我这里直接使用vs2022进行代码的编写:#include<stdio.h>intmain(){ printf("Hello,World!"); return0;}运行效果如下:代码解......
  • C语言10进制转化为2进制
    #include<stdio.h>intmain(){ intx,i,flag=0x8000; scanf_s("%d",&x); for(i=0;i<16;i++){ if((flag&x)==0)printf("0"); elseprintf("1"); flag>>=1; } return0;}7,8,9行没怎么看懂,有......
  • C语言基础之理论概述
    C语言介绍C语言是一种高级程序设计语言,由贝尔实验室的DennisRitchie在1972年开发。C语言是结构化编程语言,支持变量、数据类型、运算符、表达式、流程控制语句和函数等基本程序设计元素。C语言广泛用于系统软件、应用程序、驱动程序和嵌入式系统开发等领域。C语言具有可移植性强......
  • C语言小案例
    1.设计一个函数,使用以下无穷极数计算sinx的值,sinx=x/1!-(x^3)/3!+(x^5)/5!-(x^7)/7!+....。舍去的绝对值应小于m,m的值由用户指定。#include<stdio.h>#include<math.h>doublecomputeSin(doublex,doublem){doubleterm=x;//第一项为xdoublesinx=term;//初......
  • 重学C语言——计算机中的单位与进制介绍
    单位生活中,有许多单位为我们提供测量的精度,m、dm、cm、mm等是长度单位;kg、g是重量单位;l、ml是容量单位。那么计算机中的计量单位有哪些呢?我们一起来看看吧~bit(比特)——>计算机中最小的单位:大家还记得之前我们在前言的计算机语言发展中提到过的硬件和机器语言嘛?就是用1代替正电、用0......