#jitoa#c语言的刷题感悟 原创

我是X1
发布于 2023-12-30 22:15
浏览
0收藏

1.最基础的代码编译器:Dev-C++
#jitoa#c语言的刷题感悟-鸿蒙开发者社区
#jitoa#c语言的刷题感悟-鸿蒙开发者社区#jitoa#c语言的刷题感悟-鸿蒙开发者社区
要学会使用编译器,学C语言可以跟着mooc的温恺老师

2.要自己学会找错,改错
不能一遇到问题就向其他人求助,要学会直接尝试查改错误。
第一个方法就是单步调试,一步一步地调试#jitoa#c语言的刷题感悟-鸿蒙开发者社区
但是这个会比较麻烦,要一步一步地找,次数较多,对于较长的代码很不友好,我们通常不用这种
还有一种比较常用的就是用printf来调试,在需要调试的地方加上一个printf,直接看输出的结果来判断这段代码是否有误。

3.理论知识固然重要,但是实践必不可缺
讲解很容易就懂,但是当真正操作起来就很容易问题,比如:细节上的错误,知识点的正确使用,运算符号的混淆。
细节上的错误很常见,比如:for循环括号中的";“和for循环的{},每一行代码写完要加”;“,代码要用英文状态下写等等。
知识点的正确使用,比如:三个循环,for循环,while循环,do-while循环的使用区别;continue和break的区别;if-else和swith-case用法等等。
for循环:for(初始化;条件;初始值的改变),条件不满足时退出循环。
while循环:while(条件),只要不满足条件就不进行循环。
do-while循环:do{}while(条件);不管最初是否满足条件,都进行一次循环体。
if-else和switch-case:若条件判断>=3次,建议使用switch-case,不然容易代码过长。使用switch时需要注意,每一个选项后面要加break;否则容易选择多次。
break:终止所在层的循环,终止整个循环的执行。
continue:结束本次循环,而不终止整个循环的执行。而是结束本次循环,进行下一次循环。
另外,运算符要注意优先级以及其含义和使用,容易犯小错误,比如等于是”==“不是”=“,”="是赋值号;
还有一些单目运算符和三目运算符的使用:!(表示非)像5>2=2也是可以运算的,5>2为真,结果为1,1不等于2,结果为0;

4.要多刷题
c语言的基础知识点不难理解使用,但是有很多书籍上没有统一归纳的,像一些函数和算法要在刷题的时候才会遇到。
一些基本函数:strcmp(比较字符串大小),strcpy(粘贴复制),strlen,sizeof(计算字符串的长度),strcat(字符串连接函数)等等。
strcmp:strcmp(a,b);
比较a,b的ASCII码值;
strcmp的用法:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[100],str2[100];
	gets(str1);
	gets(str2);
	if(strcmp(str1,str2)>0)//正数为str1大
		printf("str1比str2大");
	if(strcmp(str1,str2)==0)
		printf("str1和str2一样大");
	if(strcmp(str1,str2)<0)//负数为str2大
		printf("str1比str2小");
		
	return 0;
}

strcpy:strcpy(a,b);
将b粘贴复制给a;(常用于字符串的赋值)
strlen,sizeof:int a=strlen(s);
这两者的区别:

#include<stdio.h>
#include<string.h>
int main()
{
	int len;//长度
	char str[1000];//定义一个字符串,这个字符串最多能存放1000个字节
	scanf("%s",str);
	len=strlen(str);//返回字符串的长度,一直遍历到"\0"停止 
	printf("%d\n",len);
	len=sizeof(str);//能容纳实现所建立的最大对象的字节大小
	printf("%d",len); 
	return 0;
}

strcat:strcat(a,b);
将字符串b连接到字符串a后;
算法:冒泡排序,选择排序,全排序等等。
要多多刷题,不同类型的题,甚至很多时候,刷一道题,就能学会一项知识点,就是一个新知识。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
收藏
回复
举报
回复
    相关推荐