c语言学习专栏
文章平均质量分 63
这个专栏专门是作学习内容的栏目
靳向阳
喜欢编程,喜欢思考。思考创造财富。
展开
-
ps学习笔记
这样也更加人性化一些,选择仅组 ,就直接删除组,图层留下,如果选择组和内容则效果直接和拖进垃圾桶的效果是一样的,不询问,直接删。连续的话,你激活它,那么就会从局部变成全局的变色,所有图层也是一样的。你选择的是图层,那么首先选择的就是图层,你想选择组,那么你选择组里的对象,它首先选择的就是你选择图册所在的组。因为合并了难以恢复,比如你关闭了,比如历史记录超了,再比如。所以直接建立连接比较好。直接删除,如果选择图层,再点击垃圾桶,则会出现对话框。鼠标画一个举行框住你想要选择的对象,你就能一起选中,并且移动了。原创 2024-07-26 19:33:32 · 749 阅读 · 0 评论 -
p28 vs环境-C语言实用调试技巧
Debug通常称为调试版本,它包含调试信息,并且不做任何优化,便于程序员调试程序。Release称为发布版本,它往往 是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好的使用。代码:int main()return 0;Debug版本的可执行程序 可调试的,因为文件中包含了调试信息Release版本的可执行程序int i=0;for(i=0;i<=12;return 0;//F5-启动调试-和F9配合使用的。原创 2024-07-25 19:33:45 · 820 阅读 · 0 评论 -
p27vs环境(1)
学习c语言,用好c语言,可以去考研找工作都没问题的原创 2024-07-25 11:33:38 · 304 阅读 · 0 评论 -
p26初始结构体
调试是什么?有多重要?所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧,就必然需要掩盖,那就一定有迹象,迹象越多就越容易顺腾而上,这就是推理的途径。顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。一名优秀的程序员是一名出色的侦探每一次调试都是尝试破案的过程。原创 2024-07-23 19:53:28 · 177 阅读 · 0 评论 -
p24 p25作业讲解(2)
标称实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。写一个递归函数DigitSum(n),输入一个非负整数,返回组成他的数字之和。获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列。输入:1729 输出19。原创 2024-07-23 19:23:36 · 317 阅读 · 0 评论 -
p23作业
3.实现reverse()函数完成数组元素的逆置。1.实现函数init()初始化数组为全0。2.实现print()打印数组的每个院。要求:自己设计以上函数的参数,返回值。读代码看看结果适是多少?原创 2024-07-22 13:07:39 · 382 阅读 · 0 评论 -
p21 p22初始指针(1)(2)
指针的类型决定了指针向前或者向后走一步有多大(距离)。int *p=arr;//数组名-首元素的地址int i=0;for(i=0;i<10;i++)*(p+i)=1;return 0;总结:指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字节),比如:char *的指针解引用就只能访问一个自己而,而int *的指针的解引用就能访问四个字节。原创 2024-07-22 11:26:26 · 1669 阅读 · 0 评论 -
p20 c语言操作符详解(2)
sizeof()里面的数不参与运算int a=0;//~按(2进制)位取反//00000000000000000000000-补码//11111111111111111111110-反码//10000000000000000000001-原码//-1return 0;int a=11;a=a|(1<<2);得出结果:15 11int a=10;//前置++,先++,后使用return 0;11 11//强制转换。原创 2024-07-20 13:10:32 · 680 阅读 · 0 评论 -
p19 C语言操作符详解
赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值,也就是你可以给自己重新赋值。//10000000000000000000000001//原码。//11111111111111111111111110//反码。//11111111111111111111111111//补码。-- 前置、后置--//sizeof 计算的变量所占空间大小,单位是字节。//sizeof 计算的变量所占空间大小,单位是字节。//解引用操作符 a的值变为20。原创 2024-07-17 16:58:39 · 634 阅读 · 0 评论 -
p18扫雷游戏
【代码】p18扫雷游戏。原创 2024-07-17 14:39:47 · 202 阅读 · 0 评论 -
p17面试题
品茗面试题。原创 2024-07-16 16:30:59 · 962 阅读 · 0 评论 -
p15 p16 c语言实现三子棋
具体的实现代码。原创 2024-07-11 22:13:50 · 253 阅读 · 0 评论 -
p14数组(2)
break语句只用于for和switch,在if语句中不能使用,因为if不是循环语句,所以不能用break来结束。//1.sizeof(数组名)-数组名表示整个数组,sizeof数组名计算的是整个数组的大小,单位是字节。//2.&数组名,数组名代表真个数组,&数组名,取出的是整个数组的地址。原创 2024-07-11 11:13:07 · 465 阅读 · 0 评论 -
p13 数组
2.strlen是求字符串长度-只能针对字符串求长度-库函数-使用引头文件。3.sizeof 计算变量、数组、类型的大小-单位是字节-操作符。//const_n 是一个常量表达式,用来指定数组的大小。数组是一组相同类型元素的集合。///1.strlen和sizeof没什么关联。//创建一个数组-存放整型-10个。//type_t 是指数组的元素类型。原创 2024-07-11 09:49:18 · 552 阅读 · 0 评论 -
p12初步认识c语言
c语言是一门计算机语言计算机语言是什么人和计算机交流语言语言发展:二进制语言硬件-电-正电/负电1010001010101010101010101010手册科学家1010100010-ADD -助记符-汇编语言B语言C语言C++、---高级语言c语言---->早期不是很成熟---->成熟---->流行国际标准C99/C11并不流行--不少编译器不支持写C代码1.创建工程2.创建文件int main()return 0;int main(){//主函数-程序的入口。原创 2024-07-11 01:19:14 · 1094 阅读 · 0 评论 -
p11函数和递归
算出第46个数字需要计算7亿次,多磨夸张吧。这只青蛙要跳第n个台阶,有多少种跳法。1次也可以跳2个台阶。原创 2024-07-08 19:25:01 · 174 阅读 · 0 评论 -
p10 函数和递归
自定义函数和库函数是一样的,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己设计。这给程序员一个很大的发挥空间。statement;//语句项ret_type 返回类型fun_name 函数名para1函数参数函数声明:1.告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,无关紧要。2.函数的声明一般出现在函数的使用之前。要满足先声明后使用。3.函数的生命一般要放在头文件中的。函数定义:函数的定义是指函数的具体实现,交代函数的功能实现。原创 2024-07-07 22:47:30 · 552 阅读 · 0 评论 -
p9函数(1)
int z=0;z=x+y;return z;int b=20;return 0;原创 2024-07-07 11:04:02 · 869 阅读 · 0 评论 -
p8分支和循环(3)
运行。原创 2024-06-29 00:00:33 · 274 阅读 · 0 评论 -
分支和循环后序p7(1坤)
int k=7;//写一个代码,在arr数组(有序的)中找到7int i=0;for(i=0;i<sz;i++)printf("找到了,下标是:%d\n",i);break;if(i==sz)printf("找不到\n");return 0;如果输入k=17。原创 2024-06-28 01:07:25 · 637 阅读 · 0 评论 -
C语言结构体
这里面的getchar()只能读取一个字符,而字符最后还有一个'\n'。为了读取掉\n使用一个getchar()无限循环haha,hehe.因为这个代码执行非5,再赋值成为5,输出haha。悬空else是与其就近的未匹配的if匹配。printf("未成年\n");printf("成年\n");然后就是识别成功,输入y,最后是确认成功。以上的代码告诉我们,i,j不能随便省略。我在后面再加一条语句,就会报错。输出1-100的数,且是奇数。定时写博客,总结自己的代码。非法的数据为输入错误。do while循环。原创 2024-03-26 00:52:31 · 797 阅读 · 0 评论 -
指针程序设计
设计pMax()函数原型:int pv_max(int *p,int n)功能:在长度为n、由p指向的一维数组中求元素最大值用main()函数作为主控函数int a[N],i;for(i=0;i<N;i<n;return max;字符串指针作函数参数字符串指针做函数的参数,与前面介绍的数组指针做函数参数没有本质的区别,函数传递的都是地址值,所不同的近视指针指向对象的类型不同而已。原创 2024-03-08 21:40:02 · 243 阅读 · 0 评论 -
C语言第一课(初始c语言)
101000001 01010100101010101010101010101110-手册。101000001-ADD-助记符-汇编语言。c99/c11并不流行--不少的编译器不支持。B语言、C++ --高级语言。c语言是一门计算机语言。人和计算机交流的语言。硬件-电-正电/负电。原创 2024-03-08 21:39:43 · 126 阅读 · 0 评论 -
形参运行练习
a++;int main(){int i=0;i++;return 0;原创 2024-03-08 21:39:18 · 170 阅读 · 0 评论 -
18.指针
一般格式:数据类型 *指针变量名1,*指针变量2,......示例float *q;指针变量可以和其他变量同时定义:注意:“数据类型”是指针变量要指向的变量的数据。基类型大小p1+1=p1+sizeof(类型);原创 2023-09-09 19:06:47 · 179 阅读 · 0 评论 -
函数应用 排序
sort()函数原型 void sort(int a[],int n)(2)函数 input()实现数组输入、output实现数组输出。(3)主函数main(),在其中定义数组data。(1)使用冒泡排序法设计排序函数sort()调用output()函数输出data数组。调用output()函数输出排序后的结果。调用input()函数建立data数组。调用sort()函数对data数组排序。设计对一维数组排序的sort()函数.原创 2023-09-09 16:05:04 · 109 阅读 · 0 评论 -
数组元素作为函数参数
数组元素作为函数的参数时,只传送作为实参的数组元素,和其他简单变量作为函数参数没有区别,值参。示例:利用判断素数的函数,找出一个整型数组的所有素数。设计判断素数的函数prime(),原型:int prime(int k);功能:当K为素数时,函数值为1;否则,函数值为0.在主函数main()中建立一个自然数数组natural,然后将其每一个数组元素作为参数调用prime()。原创 2023-09-09 15:36:35 · 606 阅读 · 0 评论 -
递归函数01
递归函数:在定义一个函数的过程中直接或间接地调用了被定义的函数本身。自己调用自己。原创 2023-09-09 12:56:23 · 57 阅读 · 0 评论 -
函数嵌套的使用
在一个用户函数的函数体中,出现对另外用户函数的调用。如函数a调用函数b,函数b又调用函数c。例:定义输出"*"三角形图案的函数,并在自主函数中调用该函数输出一个5行 的"*"三角形图案。其中,每行"*"字符串的输出也要通过用户函数实现。定义在一行上连续输出n个“*”字符的函数pStar(),原型:void pStar(int n)定义输出m行"*"三角星团的函数pMRStar(),在其中调用pMRStar()函数实现每一行图案的输出。原型:void pMRStar(int m)原创 2023-07-31 12:16:49 · 167 阅读 · 0 评论 -
形参实参练习
这个比较方便一些,我直接把*改成一个字母,改成其他的都可以输出。定义求两个数最大输的函数max(),并调用max求三个数的最大值。编写输出n个连续的任意字符的函数pString()调用pString()输出一个5行的"*"三角形图案。//可以写成s=s+i;定义求和函数sum,求1+2+...n。定义求两个实数的最大函数max()直接调换位置,主函数也不用声明了。例子四:解决这个问题。原创 2023-07-31 11:47:32 · 51 阅读 · 0 评论 -
第六章函数程序设计
回顾前面所学:顺序结构分支结构循环结构预处理符号 ##include头文件有包含 输入输出包含字符串数学符号变量定义赋初值预处理预算符:数字运算符、赋值运算符关系运算符逻辑运算符(与或)三目运算a : b。原创 2023-07-21 11:42:16 · 65 阅读 · 1 评论 -
二维数组解决问题:杨辉三角
define N 6 //六行六列。原创 2023-06-07 18:54:00 · 138 阅读 · 2 评论 -
数组应用:统计
分析:设长度为n的字符串,含有word个单词,该字符串存储于字符数组text,各字符元素分别为text[0]-text[n-1]text的开始字符为非空格符,即一开始就出现了单词,word的初值置为1。text为空串,即text[0]='\0',则word的统计结果为0。text的开始字符为空格,表示开始时没有出现单词,word初值置为0。重复上一步,直至text[i]为'\0'时结束。原创 2023-06-07 17:57:26 · 59 阅读 · 0 评论 -
二维数组存储
第1趟:从0下标开始,依次比较相邻的两个数据,逆序则交换,最终将最大值放入下标n-1处。第i趟:从0下标开始,依次比较相邻的两个数据,逆序则交换,最终将第i大值放入下标n-i处。第2趟:从下标开始,依次比较相邻的两个数据,逆序则交换,最终将次大值放入下标n-2处。计算机根据二维数组的大小,分配一段连续的内存空间,二维数组个元素按行逐列顺序存储。第n-1趟:从0下标开始,比较前两个数据,逆序则交换,最终将最小值放入下标0处。冒泡排序:以升序为例,对n个给定数据进行排序。//数组应用实例:查找。原创 2023-06-07 16:39:40 · 516 阅读 · 0 评论 -
二维数组的应用
/一行显示4个数,换行。数组中,不一定都是字符,可以没有'\0',ascll码值可以为0。//要是这里是把所有的行加起来,那么该怎么写呢?i++)//按行按列输出。//这一个结果就是我们输入前两行,2.数组长度在定义时,必须是常量。1.数组名字时,地址常量不可修改。//行我需要求得数 0,1,2。前4列加起来就是第三行。//最后一行结果就是。原创 2023-06-06 14:44:54 · 66 阅读 · 0 评论 -
字符串一维数组的应用
地址参数,能够共享空间;*t=c2指向相同字符串复制函数strcpy()功能:将字符串s2复制到字符数组s1中说明>s1是字符数组名或字符数组的开始地址,s2可以是数组名,也可以是一个字符串>s1不能是字符串>s1数组的长度应不小于s2的,以保证能够存储s2,否则会出现意想不到的错误结果。c2直接覆盖掉c1如果我去掉example后的ple看看结果是怎样的?结果是完全覆盖模拟一下计算机执行的过程char *t=c2;*t!='\0';i++,t++)原创 2023-06-05 13:22:52 · 72 阅读 · 0 评论 -
使用goto语句编写一个程序,求出某班级的单门课程平均值。当输入-1停止运行程序。
这个是自己多加练习,就能自己写出一段完美的程序了。原创 2023-06-03 15:03:32 · 112 阅读 · 0 评论 -
gets()和scanf_s()的差别是什么?
puts():自动在字符串末尾输出回车,格式puts(字符数组名)scanf_s("%s",str);gets(str):str[]为abcedf 123456\0。printf():格式printf("%s",字符数组名);gets():以回车为结束符,格式gets(字符数组名)格式:scanf_s("%s",字符数组名);scanf_s()和printf();格式:strcat(s1,s2)gets()和puts();原创 2023-06-04 19:31:55 · 35 阅读 · 0 评论 -
一维数组定义
c语言规定,数组元素的下标从0开始,当数组长度为n时,最末元素的下标是n-1;//给数组元素赋值,并通过相邻元素交换的方法,将最大值移到数组最后。a数组的元素:a[0]、a[1]........a[8]、a[9]数值型数组的输入、输出通过每一个数组元素的输入、输出实现。下表是数组元素的序号,可以是一个整形常量,或整型表达式。数据类型 数组名[数组长度],数组名是地址常量表达式。数组:包含多项同类数据的数据结构。例如:int a[10];一维:一个下表区分分量。原创 2023-06-04 16:53:52 · 502 阅读 · 0 评论 -
解决问题:从键盘输入10个整数,按相反顺序依次输出
这是最简单粗暴的一种方式,直接输入,输出,但是缺点显而易见就是你需要检查。而且需要不断地读取数据,非常的耗费时间。原创 2023-06-04 10:10:54 · 2191 阅读 · 1 评论