您的位置:

第一章c语言基础详解,第一章c语言基础详解pdf

本文目录一览:

C语言程序设计这门课程第一章C语言编程基础(初级)的知识点有哪些?

C语言程序设计这门课第一章C语言编程基础(初级)的知识点包含【初级】第1讲-C程序的结构,【初级】第2讲-运算符,【初级】第3讲-创建和调用函数,【初级】第4讲-输入输出函数,【初级】第5讲-整型变量,【初级】第6讲-浮点型变量,【初级】第7讲-字符型变量,【初级】第8讲-类型转换,【初级】第9讲-常量,。

C语言知识总结

c语言概要

第一章、 概述

1、 c语言的基本知识

1.1、 c语言的执行步骤

编辑-程序代码的录入,生成源程序*.c

编译-语法分析查错,翻译生成目标程序*.obj

(语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等)

链接-与其他目标程序或库链接装配,生成可执行程序*.exe

执行

1.2、 main函数的基本知识

main()函数的位置

c程序总是从main( )函数开始执行

一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数

1.3、 c程序的结构

函数与主函数

程序由一个或多个函数组成

必须有一个且只能有一个主函数main()

程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行

程序语句

C程序由语句组成

用“;”作为语句终止符

注释

//

/* */ 为注释,不能嵌套

不产生编译代码

1.4、c 程序书写的规则

习惯用小写字母,大小写敏感

不使用行号,无程序行概念:通常一个语句占一行

可使用空行和空格

常用锯齿形的书写格式;同一层次结构的语句上下对齐。

第二章、基本数据类型与运算

2.1、c程序的数据类型

注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字)

变量占用的存储空间

数据类型

基本类型:整型、字符型、浮点型(单精度型,双精度型)

构造类型:数组类型、结构体类型

指针类型

空类型

注意基本类型赋初值的方式

基本数据类型的表示形式

整形数据

十进制:以非0数字开头,如:123,-9,0

八进制;以0数字开头,如:0123,067

十六进制:以0x开头,如:0x123,0xff

实型数据

十进制:必须带小数点,如:123.0,-9.0

指数形式;如:1.23E3,0.9e-2,5e2

字符型数据

普通字符:如:’a’,’2’,’H’,’#’

转义字符:如:’\n’,’\167’,’\xlf,’\\’

(实现几列的对齐:指定宽度。如%100\ ‘\t’制表位)

(字符串长度。“abc\n\t\\” strlen 6; sizeof 7)

基本数据类型的存储长度

整型

Int 字节数 2 位数 16 数的表示范围 -32768—32767

Short 2 16 -32768—32767

Long 4 32 -2147483648—2147483647

实型

Float 4 32 3.4e-38---3.4e38

Double 8 64 1.7e-308---1.7e308

字符型

Char 1 8 -128----127

2.2、标识符命名规则

C语言标志符命名规则

标识符有数字,字母,下划线组成

标识符的首字符必须为字母和下划线

标识符不能为c语言的保留字(关键字)

如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed

算术运算符 + - * / %

关系运算符 == = = !=

逻辑运算符 ! ||

位运算符 ~ | ^

赋值运算符 = 及其扩展赋值运算符

条件运算符 ? :

逗号运算符 ,

指针运算符 *

求字节数运算符 sizeof

强制类型转换运算符 (类型)

分量运算符 . -

下标运算符 [ ]

其他 如函数调用运算符()

运算符的优先级

由高到低:单目运算符,算数运算符,关系运算符,赋值运算符

说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左

如:++--I 先—i.。

算术运算 结合方向自左至右

2.3基本运算和表达式

关系表达式和逻辑表达式

(ab)(xy) (a==b)||(x==y) !=a||(ab)

Ab.a为0.不执行b

A||b a为1.不执行b

在 c 中逻辑运算结果:1代表“真”,0代表“假”;

判断一个表达式是否真:0代表“假”,非0代表“真”

条件表达式 逗号表达式

如:k=5,k++

逗号值为5;k为6.

表达式1?表达式2 :表达式3

K=56 ? 1 : 0

2.4、混合运算的数据类型转换

2/3+0.5 双精度浮点型

第三章、顺序结构程序设计

3.1、c语句的分类

简单语句

表达式语句 表达式+分号

空语句 只有分号的语句

复合语句 用花括号将若干语句括起来

流程控制语句

选择语句 if ,switch

循环语句 while, do while , for

转移语句 break ,continue ,return goto

3.2、格式输入函数scanf

一般形式:scanf(“格式控制字符串“,地址列表);

使用scanf函数时,需要注意:

格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。

输入实行数据时,可以不带小数点,即按整型数据输入

数值型数据与字符或字符串混合输入时,需要注意输入方式。

3.3、格式输出函数printf

Printf(“格式控制字符串“,输出列表);

指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。

%[标志][输出最小宽度][.精度][长度]类型

标志:- 左对齐;+ 右对齐;

%f, %d, %c, %s

3.4、其他输入输出函数

Putchar getchar puts gets

第四章、选择结构程序设计

If选择结构

单分支

If(表达式)

语句

双分支

If(表达式)

语句1

Else

语句2

多分支

If (表达式1)

语句1

Else if(表达式2)

语句2

。。。

Else if(表达式m)

语句m

Else

语句n

Switch(表达式)

{

Case 常量表达式1:语句1;break;

Case 常量表达式2:语句2;break;

。。。

Case 常量表达式m:语句m;break;

Default:语句n;break;

}

注意break的使用

第五章、循环结构程序设计

循环三要素

初始条件 ;终止条件 ;在初始条件和终止条件间反复做某件事情(循环体)

While(表达式)

语句

Do

语句

While(表达式);

For(循环体变量赋初值;循环条件;循环变量增量)

( for( ) ; // ; 进行时间延迟。在信息交换等时用。如for(i=0,i100) ; 互相通讯的时间延迟。 Delay )

Break语句 :不能用于循环语句和switch语句之外的任何其他语句;跳出循环。

Continue语句 :跳过循环体中剩余的语句而强行执行下一次循环;跳出本次循环。

第六章、函数与编译预处理

6.1、函数的定义和调用

类型标识符 函数名 (形式参数列表)

{ 声明部分

语句

}

例:

Int max (int x,int y)

{int z;brZ=xy?x:y;brReturn(z);}

6.2、局部变量和全局变量

注意函数中静态变量的定义和使用

6.3、变量的存储类型

局部变量的存储类型

自动变量(auto) 动态存储

局部静态变量(static) 静态存储

寄存器变量(register) 静态存储

全局变量的存储类型

自动变量(auto) 动态存储

外部变量 (extern) 静态存储

全局静态变量(static )静态存储

Extern 外部引用

Static 不能用extern 引用。

第七章、数组

7.1、一维数组的定义和使用

特别需要注意循环体的初值,终止条件

例:

Main()

{

Int I,a[10];

For(i=0;i=9;i++)

A=I;

For(i=9;i=0;i--)

Printf(“%d”,a);

}

注意下标问题

7.2、二维数组的定义和使用

二维数组的初始化

例如:

Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};

例如:int a[3][3]={{1},{2},{3}};

是对每一行的第一列元素赋值,未赋值的元素取0

7.3、字符数组和 字符串

字符串用字符数组来处理,结束标志符 ‘\0’

如:char c[ ]={“I am happy”};

用字符串常量使字符数组初值化

Char c[ ]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’,’\0’};

第八章、指针

8.1、地址和指针的概念

Int I;

Int *i_point;

8.2、指针变量和变量的地址

操作符:*

8.3、指针和一维数组

若有定义

Int a[10];

Int *p=a;

分析下面表达式的含义:

A, a,

*(a+i), a+I,

*(p+i), p+i

A=*(a+i)=*(P+i)

a=a+i=p+i

8.4、指针与字符串

Main()

{

Char string[ ]=”I love china!”;

Printf(“%s\n”,string);

}

Main()

{ char *string=”I love china!”;

Printf(“%s\n”,string);

}

8.5、指针变量作为函数参数

形参的定义方式;实参的形式;参数的传递方式。

第九章、结构体

9.1、结构体类型和变量的定义

Struct 结构体名

{成员列表};

Struct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Stuct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Struct student stu1, stu2;

9.2、结构体变量的引用

一般形式为:

结构体变量名.成员名

9.3、结构体数组

结构体数组 结构体数组元素.成员名

指向结构体的指针变量

(*p).成员名

p-成员名

其他

Strcpy(字符数组1,字符串2)

Strcat(字符数组1,字符数组2)

Strcmp(字符串1,字符串2)

Strlen(字符数组)

新手如何入门C语言?

如果是想通过计算机等级考试 就买一本全国计算机等级考试二级试题认真做就可以了 当然也要加强上机实践。

怎样才能学好C语言

第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。

第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的indows, Unix, Linux, Mac, os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。

第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?

1:工欲善其事,必先利其器

这里介绍几个学习C语言必备的东东:

一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。

一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。

除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典

学习计算机语言最好的方法是什么?答曰:读程序。

没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。

是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。