C语言学习期末总结

 C语言作为一门编程语言,是所有编程语言的基础,而C++是以C语言为基础的改进,学好C语言对以后学习其他计算机语言都有些重要的意义。可以说,只要学好C语言和C++,那么再学习其他计算机编程语言将会觉得很简单,所有计算机专业的学生都是从C语言和C++开始学起的大一上学期C语言学习已经结束,我对C语言从一窍不通到有些基本的了解。从C语言的学习中我也学到很多,领会了很多,在此进行报告总结。

一、C语言的基本知识点。
(一)C语言的入门知识点。
1.变量、输入输出和赋值语句。使用变量之前需先声明变量才能使用,所有变量必须在第一条可执行语句前都声明好;使用cin,cout或scanf,printf进行输入输出时需调用的投文件不同,cin,cout需调用,scanf,printf需调用<stdio.h>。C语言中,输入格式为scanf(“格式”,&变量),输出printf(“格式”,变量);C++中,输入"cin>>…;",输出"cout<<…<<endl;"。赋值语句为:变量=表达式,其中“=”为赋值号,多层赋值时从右向左赋值。
2.算术运算和表达式,介绍了各种运算符+(加法),-(相反数,减法),*(乘法),/(除法),%(求余),增1减1为n++,n–,++n,–n,需注意求余运算的操作数必须是整数。
3.选择控制结构,if语句和switch语句。使用if语句时"if()“不能加”;",主要有if,if-else,if-else-if这三种形式,根据情况选择;switch语句格式为:switch(表达式),其中表达式为离散型数值表达式,“{}”里为“case 常量:可执行语句;”在可执行语句后一定要加break,使其跳出循环。
(二)循环控制结构。
1.while语句。为当型循环。格式为:
while(循环控制表达式)
{
循环语句
}
当循环控制表达式成立时则执行循环,while便于多组循环输入。
2.do-while语句。属于直到型循环。格式为:
do
{
循环语句
}while(循环控制表达式)
先执行一次循环再进行判断,若循环条件成立则继续循环,循环体内的语句至少循环执行一次。
3.for语句。属于当型循环。格式为:
for(初始化表达式;循环控制表达式;增值表达式)
{
循环语句
}
即循环控制表达式成立时则执行循环,根据增量表达式确定循环几次之后结束循环,一般来说for(…)已经确定了循环执行次数和终止条件。注意三个表达式之间是用分号隔开。
注意:1.循环变量可在循环体中做一般变量使用,这时循环变量变化唯一。
2.和变量赋初值在重复累加之前,作为重复累加的第一条语句。
3.break为跳出循环语句,终止循环。
(三)数组。
1.一维数组,二维数组。数组是一组具有相同类型的变量的集合。数组包含数组名和数组的下标,数组的每个数据项叫做属于元素。定义格式为:(一维数组)数组类型 数组名下标数组类型 数组名[下标1][下标2]。一维数组表示的是一行数据,而二维数组表示的是一个数据表格。注意:1.定义数组时,元素个数一定为常量。2.C语言中数组的下标都是从0开始的。3.数组定义完成后大小不能改变。4.定义的范围要稍大一些,防止下标越界。数组初始化可直接赋值,eg:int score[5]={90,80,70,100,95}或int score[]={90,80,70,100,95}或static int score[5]。数组的赋值用循环语句,不能直接赋值。
2.字符数组。字符数组需要调用这个投文件。初始化有两种形式,即:char chr[5]={‘a’,‘b’,‘c’,‘d’,‘e’};或char chr[5]=“abcd”;其中,字符串中包含五个元素,即在字符串后面有一个’\0’。字符数组的输入:1.scanf("%s",字符数组名),对于scanf语句得到的字符串不存在空格。2.gets语句输入gets(字符数组名),输入一个字符串,可包含空格,遇到回车终止。3.puts语句:puts(字符串名字),输入一个字符串和一个换行符。
(四)函数。
1.函数的定义与调用。函数主要有标准库函数和自定义函数。函数定义格式为:函数类型 函数名(形式参数)。eg:long fact(int n)。实际参数与形式参数个数,类型,位置一致。还说调用的实参是有确定值的,不带类型。函数基本实现原理是对形参做处理结果以return语句形式返回。传值参数,把实参赋给形参,并根据形参类型进行强制类型转换。函数的引用,类型名&引用名=某变量名。
2.指针变量。内容指向地址(位置),所指向的变量叫做目标变量。定义:类型标识符 变量名。&、有两种作用,作说明符和运算符均可出现。说明:&(引用),(指针);运算:&(关联),(地址)。
int i;
int *i_point=&i(取地址运算)
i_point=3(去内容运算)
++(–)指向下一个(或上一个)同种类型数据。
(五)扩充知识点。
1.关于memset的用法,首先要调用投文件,格式memset(数组名,被赋的值,sizeof(数组名)),其中,被赋的值只能是0过-1,若输入其他的值则错误。bool类型只占用一个字节,节省内存,只有两个值0个1或者两个状态true和false。a[j]=!a[j]是取值取反的意思。int
a为给定数组的首地址。sprintf(s,"%d",x)是将整数x转化为字符s。
2.二分查找是:使用三个指针,将一组数据先有序排列起来,三个指针分别位于数据的首位,末位和中间,判断所要查找的数与中间的数的大小关系,如果大于中间的数则首位指针移动到中位的后一位,中位的指针再移动到后半部分的中位,反之亦然,以此类推,直到找到这个数,或者末位指针小于首位指针则结束程序。
3.筛法求素数eg:输出1到100的素数。从2开始判断,2是素数,则2的倍数均不是素数,筛掉;3是素数,3的倍数都不是素数,筛掉;4是2的倍数,已经判断过了;在继续判断5……以此类推。
二、学习感悟。
大一第一学期C语言的学习已经结束,我学到了很多,也收获了很多。
(一)C语言的知识点是基础。
知识点是基础,学不好知识点就谈不上编码。所以要认真学习教材,熟练掌握知识点,学习各种问题解决的流程与方法,明白程序运行的步骤和流程。然后就是做题,很多看课本不能明白的问题或者是没有掌握好的知识,通过做题,我们能够更直观,更深刻的理解,所以可以通过刷题来巩固自己的知识,提高自己的能力,编码本就是一件熟能生巧的事。
(二)再就是做题。
做题一定要严谨,对于自己的代码,很多时候能够运行出来并不代表没有问题,所以要自己进行测试,自己制造数据,把每种情况都包含进去,全部运行无误才算正确的程序,如果有错误,及时改正,调试程序也是一项程序员应必备的技能。很多时候我们写出来的程序又长又冗杂,而且很多地方都是重复的。这个时候就需要我们去优化,比如说,对于同样的一段需要引用多次的代码,我们可以先写一个函数,放在代码最前或最后面,主函数中直接引用这个自定义的函数,这样就使我们的程序得到了简化,使之更为美观。
(三)要学会知识总结。
总结是对知识点的回顾和巩固,在任何时候都是必要的。所以说,没当我们结束一部分内容的学习,都要进行总结,对学过的知识进行梳理,对于以前不明白或者有些模糊的概念进行再次学习与认识。这样就可以把以前学过的知识串联起来,形成一个完整的知识网络。进行学习总结的时候我们也需要根据不同的代码进行复习,可以参考别人的代码,学习别人的优化方法,将其内化成自己的,从而提升自己的水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值