女生也可以自信突破C语言

依稀记得一个月前开始学C的忐忑,惶恐,从耳边传来很多声音,"女生学C比较吃力”,“这个很考逻辑....”

“我可以吗?”。

课程安排如期而至。“不管别人怎么说,我还是要自己尝试,经历,努力再做定论!”抱着这样的心态,一直到现在C的课程考核结束,准备开始项目。

当自己系统学完C,我发现很多时候只有自己亲自去学习,才会发现自己究竟有多大的学习潜力。而别人的话终究只是前车之鉴。仅供参考罢了。

我们学习的C总分成9个章节。

第一章:软件开发概述

这一章节作为第一章节,自然重点不是很多,除了了解计算机语言分为:机器语言、汇编语言、高级语言;二进制与十进制的相互转换之外,更需要了解掌握

算法中的一种表示——流程图。会看流程图,会由题画流程图都是一项基本技能。除此之外,我们在这一章节也可以简单了解如何创建一个C程序:

1、编写源代码;

2、将源代码编译成目标代码;

3、链接目标代码成为可执行程序。

第二章:编程语言概述

这一章节我们可以知道”为什么把C作为示例“,“编程语言的基本组成”,“C程序的基本结构“,”C语言的上机执行过程“这4大板块。

首先,我们必须知道其实C并不是最原始的编程语言,在C之前还有B语言。而C作为一种中级语言,把高级语言的基本结构与低级语言的高效实用性很好的结合起来,不失为一个出色而有效的现代通用程序设计语言。所以我们从C着手,先学习大多数编程语言所共同拥有的基础知识,以至于在以后学习其他编程语言,不用每次都从最基础的东西入手啦!

第二,编程语言的基本组成:

1、字符集,又包括:数字字符、拉丁字符、运算符、特殊符号和不可显示字符;

2、标识符,C中规定,标识符由C语言字符集中的字母、数字或下划线组成,它的第一个字符必须是字母或下划线;

3、关键字,开始接触觉得这个关键字一抹多,但是学到后面的章节,才发现就是天天打照面,不熟悉才奇怪的感觉!但是切记:关键字不可以作为标识符。

4、语句,语句是组成程序的基本单位。关键字和标识符按照一定的语法规则组成语句。

5、标准库函数,这是由公司整理出来一些常用的应用功能,编写成标准的程序发布,从而方便我们的开发,减少代码量。

第三,C程序的基本结构

较书上的详细介绍之后,全由个人目前理解看来,C程序需要的基本结构如下:

1、#include指示和头文件;

2、main()函数;

3、注释、花括号、程序体、代码块;

4、声明(这是C中最重要的功能之一)

5、赋值

6、printf()函数与return 语句。

最后,C语言的上机执行过程:编辑C源程序——编辑C源程序——程序链接——运行程序。

第三章:数据存储与输入输出

这一章节我觉得总的就分为标题中的俩版块:”数据存储“与”数据的输入与输出“,但必须掌握编程语言中对数据的各种分类(这个之后再谈)。

第一, 对于数据存储,我们需知道数据在计算机中以字节的形式存储。(1 字节==8位)

我们需要知道任何数据对用户呈现形式有2种:常量或变量。常量是指:程序运行时其值不会变的量,并且是数据在编程语言的表现形式,而变量则相反,是程序运行时其值可以改变的量,我们可以用变量存储数据。

常量总的来说分为字面量和符号常量。

字面量又细分为:整型常量、实型常量、字符常量、字符串常量。而前3种都是我们常用的基本数据类型,最后一种之后再第八章复杂数据类型——数组中的字符数组来表示。

符号常量中我们经常使用宏定义进行定义,形式如:#define 标识符 常量

变量中,我们需掌握为变量定义、变量声明、变量赋值、(在变量中我们可以先声明后赋值,也可以在声明变量的同时对变量赋值)、变量的引用。

第二,数据的输入与输出,我们常用scanf()函数与printf()函数。两种函数的表现形式如下:

printf(”格式控制字符串“,输出表列)

scanf("格式控制字符串",地址表列)

两者最大的区别就是:printf()函数中的格式控制字符串有显示作用,而scanf()中却没有。

第四章:运算符、表达式、语句

第一,我们需要知道简单表达式由常量或变量组成(即包含简单的操作数);复杂表达式由多个简单的表达式组成,表达式之间用运算符连接。

第二,我们需要了解各类运算符及其优先级别的大小:

算术运算符中包括:+ - * /运算符、取模运算符%(用于整数运算) eg:13%5的答案就是:3;

赋值运算符:eg: a=2; 即将2的值赋值给a;

增量和减量运算符,分为前缀:eg: ++i、--i;和后缀形式:i++、i--;

关系运算符:(>=、>、<=、<、)的优先级高于(==、!=)

逻辑运算符:&&、||、!;

条件运算符:表达式1?表达式2:表达式3;

这几类运算符的优先级别从大到小依次为:!、算术运算符、关系运算符、&&和||、条件运算符、赋值运算符;

还有一类:特殊运算符:sizeof(opr)  与 取址运算符&(均为单目运算符)。

第三:语句,语句的分类:

流程控制语句:选择类语句、循环语句、转移语句;

表达式语句;

复合语句;

空语句。

第五章:选择结构的程序设计

这章主要运用if和swith 进行设计选择语句,同时掌握两种设计语句的嵌套关系。

第六章:循环结构的程序设计

循环这章节,掌握do_while、while、for三种基本循环,其中for 是最灵活最常用的一种循环,但是只是多用于循环次数确定的情况下;

除此之外,区别和有效利用break、continue语句;

break语句,是指跳出循环体,可以提前结束运行的语句,break也可适用在switch中,而continue语句是指结束本次循环,进行下一次循环。

循环的功能的强大,使用量频繁,只要是有重复性规律性的事情都可以用上循环。而深入理解循环,更是突破C的一项重要技能。

第七章 :数组和字符串

当大多数人卡壳在循环的时候,我却在数组这块停滞不前。

数组是一种复杂 的数据类型,它就是按一定顺序排列,具有某种相同性质的同类型变量的集合。这些变量具有相同的名字和数据类型,在内存中顺序排列,并通过下标区分,所以也叫下标变量。eg:int a [8];

数组学习时,我们会接触一维数组和二维数组。

其一维数组就是定义一个整形常量表达式,而二维数组就是多定义一个整形常量表达式,分别代表行和列;

无论一维数组或二维数组,都是变量的一种,我们都要学会对其进行初始化与应用,而这些需要大量的练习来支撑。

而字符与字符串已经在第三章简单讲解过,字符数组就是专门用来存储字符串的,也称为”字符串变量“;同时我们也在这里知道了strcmp是用来进行2个字符串比较;而strlen是用来输出字符串的长度。

数组这章,是最让我学起来吃力的一章节。突然改变的数据类型,总感觉数组是深不可测的,但是在反复看书的基础上,进行适当的练习,其实很多问题就迎刃而解了。

第八章:复杂数据类型

进入这一章,我们可以把第三章没有提全的数据类型全部了解。

C语言数据类型分为四个大块:

基本类型:整数型  int、 浮点型 float、 double、字符型 char

指针类型

构造类型:数组、结构型 struct、 联合型 union、枚举型enum、

空类型 void,

结构体和共用体的区别:

前者变量所占的内存长度大于或等于各成员的内存长度之和;

后者变量所占的内存等于最长的成员的长度。

枚举类,顾名思义就是把这种类型的数据可取的值一一列举出来。形式如下:

eg: enum   weekday ( mon, tue, wed, thu);

指针类型的我也没有完全理解与掌握,暂且不提。

第九章 :模块化程序设计方法与函数

C程序是由函数组成的,函数是C语言中重要的概念,而是程序设计的重要手段。使用函数可以提高程序设计的效率,省去做相同程序段的重复书写、输入和编辑。

模块化程序设计是指:通常将一个大的程序按功能分成 若干较小的模块,每个模块编写成结构清晰、接口简单、容易理解的程序段---函数。

函数有两类:一类是系统提供的标准函数,另一类是用户自己定义的函数。

函数在使用过程中,包括函数定义、函数声明、函数调用。

从函数的形式上看,函数分为两类:无参函数、有参函数。

定义函数时的参数称为形式参数,简称形参;调用函数的参数称为实参,形参和实参的关系是:个数必须一致、类型必须一致、顺序必须一致;

从函数的值来看,函数分为:无返回值的函数与有返回值的函数。

以下是我学C的真实感受:

学C开始真的摸不到头脑,换一种开发环境的茫然,到后面稍有熟悉的时候,做一些关于逻辑训练,比如:实心菱形等,有时候一做就是1个多小时,但是结果往往不尽人意,总有各种各样的报错与警告。但是平复一下心情,再换一种思路继续开始,往往就有“柳暗花明又一村”的感觉。

其实,我觉得反复失败也是通往成功发唯一道路,虽然心里备受打击,但是换个心态,正是每次从失败中学到东西才是自己保持前进的资本。

我觉得除了重视实际操作,千万别忘了看书!!!!!!所有的知识点都是来源于书上,没有理论作为支撑,那也只是“纸上谈兵”罢了。

很期待马上的项目实训,纵使还是很多失败在等着自己,但那又何惧呢?

时间: 2024-10-12 20:06:39

女生也可以自信突破C语言的相关文章

Java语言的十二大特色

1.Java是简单的 Java与C++极为相似,但却简单得多.高级编程语言的所有特性中,不是绝对需要的都已删去了.例如,Java没有算符过载.标题文件.预处理.指针运算.结构.联合.多维数组.模板及隐式类型变换.如果你知道一点C.C++或Pascal,你很快就会驾驭Java.这里是一个简单的JavaHelloWorld程序: publicclassHelloInternet { publicstaticvoidmain(Stringargv[]) { System.out.println("He

Go语言学习之路-2-变量与常量

标识符与关键字 标识符 定义变量时,我们定义了: name.age 这样的名字,它们都是程序员自己起的,能够表达出变量的作用,这叫做标识符(Identifier) 标识符就是程序员自己起的名字,名字也不能随便起,要遵守规范,在Go语言中标识符由 只能以“字母”和“_”开头 由“字母”.“数字”.“_”组成 Go语言保留的标识符,25个相对其他语言来很少 func return defer go if else for range continue goto break switch select

[转]深入理解双指针(上)

转载:http://blog.csdn.net/feiyinzilgd/archive/2010/02/09/5302369.aspx  对于C语言的参数传递都是值传递,当传传递一个指针给函数的时,其实质上还是值传递,除非使用双指针. 在讲双指针之前,还是先讲讲关于C语言函数调用的本质.函 数调用操作包括从一块代码到另一块代码之间的双向数据传递和执行控制转移.数据传递通过函数参数和返回值来进行,包括局部变量的空间分配与回收,都是通过 栈来实现的.绝大多数CPU上的程序实现使用栈来支持函数调用操作

理解使用static import 机制(转)

J2SE 1.5里引入了“Static Import”机制,借助这一机制,可以用略掉所在的类或接口名的方式,来使用静态成员.本文介绍这一机制的使用方法,以及使用过程中的注意事项. 在Java程序中,是不允许定义独立的函数和常量(当然,准确的说,只是被final修饰.只能赋值一次的变量)的.即使从它们本身的功能来看,完全不需要依附于什么东西,也要找个类或接口作为挂靠单位才行(在类里可以挂靠各种成员,而接口里则只能挂靠常量). 挂靠的方法,是把它们加上static修饰符,定义为这个类或接口的静态成员

springMVC 视图整合(1)

Spring为在Web MVC应用程序中很可能要用到的大多数视图技术提供了一流的支持. SpringMVC同时支持多视图例如JSP,Velocity,Freemarker等.通过不同的请求路径配置规则,映射到不同的视图文件.通过Controller返回的视图模型将页面显示出来. JSP JSP被编译为servlet并拥有完整的java语言能力,因此领域逻辑甚至数据访问逻辑都可以方便的被编码为JSP.应用程序的JSP都被放在war文件的WEB-INF目录中,客户访问不到.也就是JSP将Contro

谷歌 Web 开发技术变迁史与踩坑史

文章的作者 CJ 是 Google 八年的资深工程师,现回国创办了在线协作文档「一起写」,这篇文章也是他与 geek 范的同事们在「一起写」协作完成的.点击 NEXT 产品集「Google 开源项目」,完整查看文中提到的技术与开源项目. 过去十几年来, Web 开发技术从最初的纯 HTML 到 CGI.PHP / JSP / ASP.Ajax.Rails.Node.js,已经发展到了一个非常成熟的阶段.去年的 Google I/O,谷歌开发者中心推出了关于 Web 开发的最佳实践手册:而今年的

Container的新机遇:Docker

从技术上看,Container并非近几年的创新,OpenVZ.FreeBSD jails.Solaris Zones等都是Container技术(轻量级虚拟化技术,OS层虚拟化技术)的 实现,而Fedora和Mozilla中国的区代表 Gerard Braad在接受CSDN采访时进一步扩展了Container的概念: 浏览器的沙箱从资源隔离的角度,以及Java的J2EE Container从标准抽象化的角度,其实跟Container的概念是一致的. 当下,PaaS越来越多的和Container联

GOLANG编译安装

GO这个编译器搞的比较混乱,GO本身是汇编+C开发出来的,后来因为觉得自己牛逼,然后用GO语言又写了一次编译器,所以中途抛弃了C,不过这种做法好与不好很难说,go真的这么有自信用自己语言写自己的编译器更好? 先不说鸡蛋先好,还是鸡先有好,先看怎么能编译出来. 版本介绍 go1.4.x编译器用c写的,所以安装gcc编译安装即可. export GOROOT=/usr/local/go1.4/bin export GOPATH=/usr/local/go1.4 cd /usr/local/go1.4

(转载)你好,C++(1)C++是什么?C++的“前世今生”

你好,C++(1)C++是什么?C++的“前世今生” The world is built on C++. ——Herb Sutter the chairman of the ISO C++ standards committee and chief native languages architect at Microsoft 前传  C++世界地图 如果我们要到某个陌生的地方去旅行,我们往往有很多疑问:这个地方有什么好玩的?在哪儿可以吃饭?在哪儿又可以住店?这时我们只需要一张内容详尽的旅行地