c语言(全)——比特鹏哥
c语言随堂笔记
课堂随笔
不要相信天道酬勤,但行前路无问西东。
展开
-
(C语言)将一个数分解为两个素数的乘积
【代码】(C语言)将一个数分解为两个素数的乘积。原创 2024-08-20 22:34:46 · 219 阅读 · 0 评论 -
(C语言)分别求一个双精度浮点数的整数部分和小数部分
【代码】(C语言)分别求一个双精度浮点数的整数部分和小数部分。原创 2024-08-20 22:33:00 · 180 阅读 · 0 评论 -
(C语言)判断是否为连续递增字母子序列
【代码】(C语言)判断是否为连续递增字母子序列。原创 2024-08-19 21:46:12 · 190 阅读 · 0 评论 -
(C语言)查找子串数量
【代码】(C语言)查找子串数量。原创 2024-08-19 21:44:51 · 178 阅读 · 0 评论 -
(C语言)删除一维数组中相同的数
【代码】(C语言)删除一维数组中相同的数。原创 2024-08-18 23:36:58 · 188 阅读 · 0 评论 -
(c语言)计算多项式
【代码】(c语言)计算多项式。原创 2024-08-18 23:32:41 · 249 阅读 · 0 评论 -
(C语言)删除字符串中所有空格
【代码】(C语言)删除字符串中所有空格。原创 2024-08-17 23:35:53 · 265 阅读 · 0 评论 -
(C语言)找出最长字符串
【代码】(C语言)找出最长字符串。原创 2024-08-17 23:33:32 · 189 阅读 · 0 评论 -
(C语言)输出小于指定值的素数
【代码】(C语言)输出小于指定值的素数。原创 2024-08-10 23:57:55 · 202 阅读 · 0 评论 -
(C语言)四舍五入
【代码】(C语言)四舍五入。原创 2024-08-08 23:57:33 · 315 阅读 · 0 评论 -
(C语言)求周边元素的平均值
【代码】(C语言)求周边元素的平均值。原创 2024-07-18 23:33:41 · 234 阅读 · 0 评论 -
(C语言)数组右上半三角元素中的值乘m
【代码】(C语言)数组右上半三角元素中的值乘m。原创 2024-07-15 23:15:15 · 160 阅读 · 0 评论 -
(C语言)统计字符串中单词的个数
【代码】(C语言)统计字符串中单词的个数。原创 2024-07-15 23:08:01 · 205 阅读 · 0 评论 -
(c语言)typedef的用法
/由于unsigned int 的类型名太长,所以用typedef改变类型名,简化uint。typedef struct NODE //由于struct NODE的类型名太长,所以用typedef改变类型名,简化为node。//typedef可以改变类型名,只能改变类型名。原创 2023-09-03 10:30:35 · 284 阅读 · 0 评论 -
(c语言)双目操作符 三目操作符 逗号表达式
/如果a>b为真则返回a,为假则返回b。//逗号表达式的特点是:从左往右依次计算,整个表达式的结果是最后一个表达式的结果。if (a || b) //或,并集,只要其中一个为真。if (a && b) //且,交集,要两个都为真。//逗号表达式就是逗号隔开的一串表达式。原创 2023-09-03 10:33:28 · 60 阅读 · 0 评论 -
(c语言)static修饰局部变量,全局变量,自定义函数
/注:自定义函数是有外部链接属性的,若没有用static修饰,则可以用extern来声明外部变量。//注:全局变量是有外部链接属性的,若没有用static修饰,则可以用extern来声明外部变量。例:extern int a;//此段代码输出结果为十个2,因为a为局部变量,每次执行自定义函数test时,a都会被重新赋值为1;//(3)static修饰自定义函数时,该函数只在本文件内被访问,不能在其他文件被直接访问。//(2)static修饰全局变量时,该变量只在本文件内被访问,不能在其他文件被直接访问。原创 2023-09-03 14:05:32 · 85 阅读 · 0 评论 -
(c语言)a=b++;与a=++b的区别
/先执行赋值b=a,再执行a++//先执行c++,再执行赋值d=c。原创 2023-09-03 14:10:41 · 750 阅读 · 0 评论 -
(c语言)sizeof单目操作符的应用
/10 可计算出元素个数。//4 其中一个元素所占空间的大小。//4 计算一个整形数据所占的字节数。//40 整个数组所占的空间大小。//sizeof是单目操作符,不是函数。原创 2023-09-03 14:11:22 · 37 阅读 · 0 评论 -
(c语言)scanf函数缓冲区问题
*当我们输入完 1 2后按下回车键,输入缓冲区里存放着1 2 \n, 第一次scanf读走1给a,2给b,中间的空格丢弃,/*我们第一个scanf函数给a,b赋值1,2后,再用第二个函数给c赋值3结果输出的结果却只有a,b*/,发现缓冲区里还有\n,而且正好匹配% c,于是直接读走\n给c,故在输出c时读取的是\n*/printf("%d %d %c\n", a, b, c);// //这里用户输入一个字符。// //这里用户输入一个字符。原创 2023-09-03 14:13:35 · 569 阅读 · 0 评论 -
(c语言)gets() 和puts() 函数的应用
(1) gets() 可以接收空格、Tab键, 碰到回车键输入才结束;printf需要添加"\n'用来换行,而puts在 输出的时候会将字符串末尾的\0'自动换成\n'。/*1、gets() 的作用是从键盘上读取字符串,跟scanf() 相似, 但又有所不同。(2) gets() 和scanf() 都不能检测越界。2、puts() 的作用是 向显示屏输出字符串并换行。//gets() 和puts() 函数的应用。gets(字符串的首地址);puts(字符串的首地址);原创 2023-09-03 14:14:25 · 2092 阅读 · 0 评论 -
(c语言)素数判断的四种方法
include //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数。#include //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数。int main() // //因为我们只需要循环到i原创 2023-09-03 14:15:47 · 41404 阅读 · 12 评论 -
(c语言)自定义函数处理最大公约数与最小公倍数
/是一个输出直接调用fun1,//第二个调用fun2.//输出求的是最小公倍数,把两数相乘再除以最大公约数就得出答案。= 0)//注意判断的是n是否为0,不为0则不做while语句,scanf("%d%d", &m, &n);//输入两个数 m n。printf("最大公约数=%d 最小公倍数=%d",y,bei);//返回的是m的值,m为最大公约数。//方法一:普通方法。原创 2023-09-03 14:16:46 · 2683 阅读 · 0 评论 -
(c语言)冒泡排序法
j++) /*j控制相互比较的数据,(c-1-1)-i是为了让沉底的数不再比较,每一轮比较的数少一个*/i a[j + 1]) /*此处是为了挨个比较,找出较大的那个,存入a[j+1]*/a[j] = a[j + 1];原创 2023-09-03 14:18:11 · 58 阅读 · 0 评论 -
(c语言)递归训练——青蛙跳台阶
/当求青蛙跳到n阶的方法时,要将从n-1和n-2处跳到n阶的方法加起来。} //因为此题中要求青蛙一次只能跳一格或者两格,故只用考虑n-1和n-2处。#include //递归练习---青蛙跳台阶。printf("青蛙跳到第%d阶的方法有%d种",n,b);printf("请输入台阶数\n");原创 2023-09-03 14:19:10 · 71 阅读 · 0 评论 -
(c语言)递归训练——汉诺塔
void hanoi(int n, char A, char B, char C) //n为盘子数,第一个字符为拿取盘子的位置,第二个字符为跳过的位置,第三个字符为放置盘子的位置。//否则,将最大的盘子之上的部分看做一个整体(n-1),把这个整体先绕过C移到B处。//此处的A C指的是最近函数的位置,与上一层函数无关。原创 2023-09-03 14:19:45 · 75 阅读 · 0 评论 -
(c语言)求第n个斐波那契数
printf("第n个斐波那契数列为%.2lf",f);printf("第n个斐波那契数列为%.2lf",F);//(2)递归法 执行语句过于冗杂,容易栈溢出。printf("请输入n\n");//(1)迭代法 最优解。//斐波那契数列前两位都是1。//斐波那契数列前两位都是1。//求第n个斐波那契数列。原创 2023-09-03 14:20:34 · 106 阅读 · 0 评论 -
(c语言)二维数组的行列转换
main() /*二维数组的行距转换*/b[j][i] = a[i][j];{ /*分行*/printf("原始矩阵a为:\n");printf("原始矩阵b为:\n");原创 2023-09-03 14:21:20 · 227 阅读 · 0 评论 -
(c语言)define定义常量和宏
define NUM 100 //定义一个标识符NUM为常量100,NUM==100。#define ADD(x,y) ((x)+(y)) //用法与自定义函数相同。//可容纳100个元素的数组。//define定义标识符常量。//#define 定义宏。原创 2023-09-03 15:20:42 · 107 阅读 · 0 评论 -
(c语言)printf函数在执行时会有返回值,为输出元素的个数
int main()//12return 0;原创 2023-09-04 07:03:09 · 101 阅读 · 1 评论 -
(c语言)scanf函数与getchar函数的缓存区读取问题
'\n') //吸收scanf从缓冲区读取剩下的,清空缓存区。//因为往缓存区中输入数据需要按回车,故在scanf读取后会剩下一个\n,此时需要getchar来读取清空剩下的\n。if (ret =='Y') //此处要求是字符的ASCLL码值等于getchar的返回值时。//输入时除了Y/N,还有敲回车时输入的\0。//scanf函数读取缓存区中的数据然后输出,遇到空格(\0)和回车(\n)停止读取。printf("请确定密码(Y/N):>");原创 2023-09-04 07:03:31 · 127 阅读 · 1 评论 -
(c语言)while循环
/continue用于跳过本次循环,直接判断循环条件,进入下一次循环。//break用于跳出循环。原创 2023-09-04 07:03:50 · 207 阅读 · 1 评论 -
(c语言)Switch语句
/如果不加break,则会一直往下进行。#include //Switch语句用于多分支结构。switch (n) //n为几就进入相应的case。printf("输入错误");printf("星期一\n");printf("星期二\n");printf("星期三\n");printf("星期四\n");printf("星期五\n");printf("星期六\n");printf("星期天\n");原创 2023-09-04 07:04:12 · 93 阅读 · 1 评论 -
(c语言)if语句的应用
include //一般if语句后只能跟一个语句,若有多条语句则用{}构成语句块。printf("青少年\n");printf("青年\n");printf("中年\n");printf("壮年\n");printf("老年\n");printf("老寿星");原创 2023-09-04 07:04:35 · 83 阅读 · 1 评论 -
(c语言)结构体应用
struct student a1 = { "ycy",19,"男","17797638830" };//以typedef开头,分号后面的stu不是实例化。//输出方式二:指针解引用,使用前提为知道结构体变量。//实例化时:stu a={"ycy",19};//实例化时:stu a={"ycy",19};//输出方式三:箭头,结构体指针变量->成员名。//结构体类型名如果用不到的话可以为空。//而是被更改后的变量名。原创 2023-09-04 07:05:02 · 52 阅读 · 0 评论 -
(c语言)给定两个整数a、b,计算a除以b的整数商和余数
printf("整数商=%d 余数=%d",a/b,a%b);原创 2023-09-04 07:05:15 · 2694 阅读 · 0 评论 -
(c语言)指针的相关应用
/输出结果:32位--4,64位--8。//输出结果:32位--4,64位--8。//输出结果:32位--4,64位--8。//输出结果:32位--4,64位--8。//输出结果:32位--4,64位--8。//解地址操作符,通过p中存放的地址,找到p所指的对象,*p==a。原创 2023-09-04 07:05:36 · 155 阅读 · 0 评论 -
(c语言)for循环
/注:不可写为for(int i=0;i++),c编译器会报错。原创 2023-09-04 19:44:53 · 58 阅读 · 0 评论 -
(c语言)do while循环
/而do while函数的特点为先执行后判断,故i大于10后会再执行一遍语句块。输出结果为1 2 3 4 ,i++到5时因为i++的语句在判断语句之后,故i的值无法改变,陷入死循环。输出结果为 2 3 4 6 7 8 9 10 11,i++到5时跳过本次循环,输出结果为1 2 3 4,i++到5跳出循环。原创 2023-09-04 20:03:18 · 109 阅读 · 0 评论 -
(c语言)求n的阶乘
/初始化存储和的结果的变量不能为0,只能为1,不然sum*=i时sum的值永远为0;int i = 1;//求n的阶乘:1*2*.....n,设第一个数为1。int main() //方法一:do while循环。printf("n的阶乘为%d",sum);int main() //方法二:for循环。printf("n的阶乘为%d",sum);printf("请输入n\n");printf("请输入n\n");原创 2023-09-04 20:37:12 · 2286 阅读 · 0 评论 -
(c语言)求1!+2!+....n!
/利用每次循环后ref的数据遗留,在此基础上再乘一次就有了下一次阶乘的值。//ref存储每轮单个阶乘。//sum存储总阶乘的和。sum += ref;int main() //求1!printf("请输入n\n");原创 2023-09-05 09:07:54 · 855 阅读 · 0 评论