c语言错题集
文章平均质量分 65
积累错题
Code_Solitude
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言:指针题型总结
/*(a+0) 本来串的是第一行元素, a会退化成首元素地址。内存填充: a[3][2] = {1,3,5,0,0,0} //剩余的填充0进去。题型4:三级指针 char*** 多级指针链式解引用(你那个ENTER/NEW题)int a[3][2]={{0,1},{2,3},{4,5}};题型3:二维数组 + &aa+1 / *aa+1 区分(必考)❌ 误区:误以为 (0,1) 是一行两个元素(只有 {} 才是分组)题型6:结构体指针 + 指针步长(强制转换指针,步长由类型决定)原创 2026-10-22 16:05:52 · 154 阅读 · 0 评论 -
传智杯备赛代码整理(前4题)
另外还有个赛道:AIoT嵌入式系统创新大赛,这个是团队作品赛,不是写代码OJ,如果是这个赛道我就换嵌入式题目。题目描述:小A准备给n个人发橙子,第1个人1个,第2个人2个,第i个人i个。//注意数组是用下标的,所以关于数组的循环一定要看看会不会出界,一般起始位置从0开始,第二个小于。题目描述:计算机存储单位换算,1GB=1024MB,1MB=1024KB,1KB=1024B。题目描述:给定a、b,把b的正负号转移到a上,结果= b>0?输入n,再输入n个整数,输出数组里面最大值,推荐用指针遍历。原创 2026-10-19 18:58:20 · 209 阅读 · 0 评论 -
c语言:数组指针和指针数组的书写模板
如果是把15个int全部复制,不仅拷贝量太大,而且容易占大量内存,容易栈溢出。比如 :arr[i][j]等价于 (*(arr+i)+j)int * arr[ 3];注意:int(*arr)[]这个是数组指针。但是在日常代码中,直接写数组的形式就可以了。数组名大部分情况都会退化为为指针。1.二维数组传参的3种书写模板。p+1还是看成指针加减的形式。arr[]会变成 (*p)例如 arr[3][5]3.为什么数组名会退化。这个是计算机设计的机制。只是考试要会辨别就行了。原创 2026-10-17 13:38:44 · 147 阅读 · 0 评论 -
c语音日历排版,printf
在sun前面有两个空位,所以sun在第二个字符,由于每个字母占一个字符,后面有加了2个空位,所以之后每一天都要多5个字符。1.printf有两种宽度写法:第一种是固定宽度。宽度是后面第一个数,第二个参数是要参与打印的。这种表示占n个字符宽度,右对齐,空位补空格。所以 宽度=2+5*weekdany。但是其余时候代码运行时它都是解引用。定义时它是说明数组存的是指针。原创 2026-10-16 12:20:57 · 169 阅读 · 0 评论 -
C语言图像打印类(二重循环)题型
1.对角线打印:逻辑是先找到对角线的坐标,看它的行列和输入的值大小关系。一.底层逻辑:i表示行,j表示列,找星号坐标的关系式,if判断打印。4.\镜像反转(相当于把三角形和矩形反转了)打印在第一行,最后一行,第一列,最后一列。把条件换成(j<=n-i-1)还是先弄两个for循环,然后。等腰金字塔(n代表了多少行)2.矩形和正方形打印。5.把字母打印成数字。原创 2026-10-13 09:49:29 · 19 阅读 · 0 评论 -
C语言分支结构练习题(华师版)
中等题:卡点在于后置++,第一个if不满足,但是后置++后第二个满足,很多人就直接踩坑进去了。后置–是先运算再–,所以它是先打印的,打印也是一种运算。else的二义性,C语言规定,C程序中的 else总是与 () 组成配对关系。若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 ()A它考的是break和穿透,break只是停掉当前的循环,但是外面的那个不会出去。,则执行下列程序后,变量i的正确结果是——。中等题:但是它的坑点在于if后面如果不用大括号,就只能接一个语句。原创 2026-10-15 21:24:45 · 158 阅读 · 0 评论 -
C语言常量、标识符、转义字符错题规则
核心: \ 开头的一整串转义序列,整体只代表【1个字符】坑:数字里面不能加逗号, 987,023 直接非法。转义:斜杠开头算1个,八进制0到7,十六进制a-f。整型:0八0x十六,八进制无八九,长整型末尾L。四、字符常量 & 转义字符(高频错题区)标识符:字母下划线开头,数线下划线字母。C语言常量、标识符、转义字符。一、标识符(变量名)规则。三、实型(浮点数)常量。浮点:e后必须是整数。原创 2026-10-14 10:26:07 · 162 阅读 · 0 评论 -
C语言运算符表达式作业错题整理
解析:后置自增 x++:先用原值参与计算,整个表达式算完,x才+1(先运算,x再加1,一定是x而不是表达式)解析: 它看的是优先级,*和/优先级相等,所以从左到右,不可以看成数学那种,必须一个一个往后算。口诀:算术最高(加减乘除),然后关系(大于小于等于),再逻辑(或与),(赋值,复合)最低。解析: || 逻辑短路:左边表达式为真,右侧完全不执行(非0为真,是真的就直接短路)然后 x += 2 ,x变成4,整个表达式结果是4。解析:逗号运算符,从左往右执行,整个表达式的值 = 最右侧表达式的值。原创 2026-10-14 10:05:26 · 223 阅读 · 0 评论 -
最近遇到的知识点
4.scanf有占位符,scanf遇到空白格就会停下,无法过滤它,它是要头文件的,它的占位符和后面的参数的地址一一对应。5.printf的占位符就是%d,它们本生可以被后面的参数替代,但是如果有n个占位符,会有n+1个参数总量。先分清前置自增和后置自增的区别,对于自增的那个数来说,都是自增,区别就是被赋值的那个数变化不同。先看第4步,b取++c,后面就只是c 和a自己的变化了。这里有%a%b 10 20这3个参数。3.%是两个整数的除法,这个求得的是余数。这个指的是:打印的时候最少打印5个参数。原创 2026-09-03 20:23:57 · 28 阅读 · 0 评论 -
简单的题型2
九九乘法表是计算机直接输出这样一个表,不是说自己输入一个数,不用scanf。2.求1-1\2+1\3-1\4+…+1\99内的奇数和减偶数和。注意:打印那里是有3个数,所以后面也要有3个数。原创 2026-09-06 22:55:56 · 27 阅读 · 0 评论 -
简单的题型(1)
1.关于奇数偶数的判断核心:a%20)不是闰年就直接用else4.循环问题例子:如果女朋友生气了,要买奶茶,最多10杯会消气,用3种循环表示出来int main()int n=0;{printf(“消气了”);return 0;原创 2026-08-31 08:47:28 · 36 阅读 · 0 评论 -
二分查找的递归实现,汉若塔,青蛙跳阶
模型:类似一维数组的表格,上层是数据,下层是下标。最左边,最右边,中间:left right middle。定义时原位置只是放了个盒子,不是说它就是那个意思,只是说那里可以放两个参数left也可以是mid。运用函数 left right middle target return -1。和数学的那个比大小有点像,通过放缩不断缩小比较范围。定义时要把全部信息写完整,但调用时只写参数。3.顺序从上往下,因此这就导致了多杆问题。公式:hanoi(n,源,辅助,目标);注意:定义函数和调用不一样。原创 2026-08-07 21:05:15 · 32 阅读 · 0 评论 -
c语言常见模板
也可以用 sum=sum+n;5.OJ判题固定坑套路(必查清单)1.第一行给t,以t为次序往后减。2.用EOF去表示文件结尾。原创 2026-09-21 21:35:44 · 27 阅读 · 0 评论 -
关于扫雷游戏的创作
/这里的只是一个名字,Getminecount运行的时候本来就会有一个int,函数调用不用写数据类型。艾斯克码表:用这个来判断有多少个雷,因为’1’是49,'0’是48,如果用1表示雷,0表示非雷,就可以用它们的差表示有多少个雷。//这里布置雷,要有原本的雷图,每行和每列,是第一个数组的。//这里打印雷,要有第二个数组的行列。//找雷要有第二个数组的行列。,如果是雷就会爆炸,如果不是就显示附近雷的个数,当点完全部非雷的地方,游戏成功。if (mine[x][y]==0) //只有空的才可以布置雷。原创 2026-09-19 16:46:05 · 160 阅读 · 0 评论 -
C语言:关于二维数组的作业总结
1.若定义int a[2][3]={1,2,3,4,5,6};D.在一个函数内复合语句中定义的变量在本函数范围内有效。它是横着数的,第4个是4,是arr[1][0];(只要在不同的函数内,里面就算名字一样也无所谓)C.在一个函数内定义的变量只在本函数范围内有效。A.在不同的函数中可以使用相同名字的变量。(复合语句指函数中的成对括号构成的代码)所以上面的sizeof为8,后面的为7。它考的是sizeof要考虑后面的\0。B.函数中的形式参数是在栈中保存。以下叙述中不正确的是:( D)原创 2026-10-04 20:00:05 · 233 阅读 · 0 评论 -
C语言作业(数组+循环+随机数)
3.数组下标是从0开始的,arr[10]代表一共有10个元素,但是最大是arr[9],不可以选超过arr[9]的。1.随机数rand是伪随机数,要调用srand才可以实现真正随机。4.数组的内存是连续的,如果arr[]这样默认是的一个元素的数组。5.三角形判断:两边之和大于等于第三边。原创 2026-09-21 23:09:02 · 138 阅读 · 0 评论 -
青蛙跳阶问题
到n阶的全部走法 = 到n-1阶所有走法 + 到n-2阶所有走法,边界单独定死,不要直接套用斐波那契的初始条件。重点:递推式子长得一样,但初始值不一样,所以数列本身和标准斐波那契不是一回事。标准斐波那契:F(1)=1,F(2)=1;青蛙跳:f(1)=1,f(2)=2。逆向推导:到n阶,最后一步可以从 n-1 / n-2 / …青蛙一次只能跳 1级 或 2级,求跳到第 n 级台阶一共有多少种跳法。缺点:不断重复计算相同的f(k),n大之后效率极低。如果每次跳的是偶数格,则n为奇数是都为0。原创 2026-10-06 14:12:38 · 189 阅读 · 0 评论 -
14道oj题型总结
月份天数用数组构建:int run[13]={0,31,29,31,30,31,30,31,31,31,30,31}// mid是中间下标,整数除法。mid=(right+left)1.0/2 \如果是整形的就不用1.0。#define EPS 1e-6 // 精度,10的-6次方。//这里求除过素数因子后的数(用短除法的思想)// 中点和左端点异号,根在左边 [left, mid]// 循环结束,left/right/mid都可以当作根。int flag=0;// 0=没找到,1=找到。原创 2026-09-30 15:00:39 · 225 阅读 · 0 评论 -
【无标题】改错
4变长数组一旦确定后,它大小固定无法改变,但是在编译的时,他是无法确定的。变长数组可以用来处理多种不同类型的数据。5函数调用exec((vl,v2),(v3,v4),v5,v6);中,实参的个数是4(看括号和逗号。3Switch函数中他的关键词不包含continue变成数组。1C语言中源文件的后缀是点C,头文件的后缀是点H。2Main函数位置可以任意Main函数是程序的入口。原创 2026-07-28 18:08:11 · 41 阅读 · 0 评论 -
c语言错题1
但是对于int 来说,它是以补码来储存,计算,以原码来进行打印。(用补码是因为计算机底层只能进行加法,所以把符号位个忽略了)1.在c语言中,符合long的常量是以L,l结尾,看结尾的单位(123L,6l)这里i就是j的原值,但j自己会++,这里关系到后置加加的先运算后加加。6.c语言中一行不是只能写一条语句,用;对于char来说,以ASCLL码进行储存。3.合法表示符:只有字母,底横杠,数字;8.存在强制转类型和自动类型转化两种。强制转化用(),自动转化就从小到大。关键词不可以当标识符。原创 2026-10-08 16:16:03 · 209 阅读 · 0 评论
分享