C语言学习感悟

发布于 2020-07-13  166 次阅读


学习C语言已有两个月左右。对于C语言,从一无所知到能够自己编码,感觉在这两个月里学到了很多知识,于此,进行总结。

关于《C语言程序设计》:
第一章讲述了为什么要学习C语言,主要是C语言的历史和发展,让我对C语言有了基本了解。
第二章讲述的是C数据类型。
需要注意的是,使用变量之前需先声明变量才能使用,所有变量必须在第一条可执行语句都声明好;使用cin,cout或scanf,printf进行输入输出时需调用的投文件不同,cin,cout需调用iostream,scanf,printf需调用stdio.h;
赋值语句为:变量=表达式,其中“=”为赋值号,多层赋值时从右向左赋值。

第三章为简单的算术运算和表达式,介绍了各种运算符+(加法),-(相反数,减法),*(乘法),/(除法),%(求余),增1减1为n++,n–,++n,–n,需注意求余运算的操作数必须是整数。

第四章是关于键盘输入和屏幕输出。
C语言中,输入格式为scanf("格式",&变量),输出printf("格式",变量);C++中,输入"cin>>…;",输出"cout<<…<<endl;"。

第五章为选择控制结构,有if语句和switch语句。使用if语句时"if()“不能加”;",主要有if,if-else,if-else-if这三种形式,根据情况选择;switch语句格式为:switch(表达式),其中表达式为离散型数值表达式,“{}”里为“case 常量:可执行语句;”在可执行语句后一定要加break,使其跳出循环。
程序、代码的意义在于用来解决生活中的实际问题。对于目前学习的选择结构,我们应学以致用,应用于实际生活中。我认为,选择结构可以用来解决诸如分段函数,选择某种方式,判断类型的问题。比如openjudge中有道题,题目为:
计算邮资:输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
此时便使用选择结构

int a,m;
char b;
cin>>a>>b;
if(a<=1000&&b=='n')
{
	cout<<8<<endl;
    }
if(a<=1000&&b=='y')
{
	cout<<13<<endl;
}
if(a>1000&&b=='n')
{
	if(a%500==0)
	{
		m=8+4*(a-1000)/500;
		cout<<m<<endl;
	}
	if(a%500!=0)
	{
		m=8+4*((a-1000)/500+1);
		cout<<m<<endl;
	}
	}
	if(a>1000&&b=='y')
	{		
	    if(a%500==0)
		{
			m=13+4*(a-1000)/500;
			cout<<m<<endl;
		}
		if(a%500!=0)
		{
			m=13+4*((a-1000)/500+1);
			cout<<m<<endl;
		}
     }

此时在if语句中又嵌套了if语句,用于判断,用if语句解决这类问题比较方便。
学习C语言的时间虽然不长,对于C语言从零基础到能够编码,我也感觉学到了很多东西,C语言的知识点是基础,上文已经提及,除此之外,对于C语言的学习,也有了自己的见解。

首先,要认真学习教材,熟练掌握知识点,明白程序运行的流程。然后就是做题,很多看课本不能明白的问题或者是没有掌握好的知识,通过做题,我们能够更直观,更深刻的理解,所以可以通过刷题来巩固自己的知识,提高自己的能力,编码本就是一件熟能生巧的事。其次,做题一定要严谨,对于自己的代码,很多时候能够运行出来并不代表没有问题,所以要自己进行测试,自己制造数据,每种情况都包含,全部运行无误才算正确的程序,如果有错误,及时改正,调试程序也是一项程序员应必备的技能。再次,做题时要仔细分析,一个问题可能是有几十种或几百种方法来解,我们不应单单只追求把题做出来,更应追求解发的多样性,用不同的方式去解一道题,通过多个程序之前的比较,寻求最简的解法,用最简单的程序和最少的时间去解决问题,这应该是我们所追求的最高境界。

以后的日子,我也定当脚踏实地,学好C语言,为以后的学习打下坚实的基础!


qi_gai Blogger