|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习计算机技术,C语言可以说是必备的,他已经成为现在计算机行业人学习必备的,而且应用也是十分的广泛,今天就来看看拥有几年c语言工作经验的大神整理的C语言入门基础知识,没有学不会,只有不肯学。
. K. H l G+ H/ J* D结构化程序设计方法: [- ]0 u* I) c# o
(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。
. T3 M+ r0 D' l3 w/ y8 j最常见的数据类型,这是你必须要知道的:2 m% u f# Q7 m9 L3 x
常量:常量包括字面常量、直接常量和符号常量;0 q5 L( g, R2 _- a
变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元;% X+ c) B7 o+ e' Q- s
整数类型:整数常量有十进制、八进制和十六进制;“%d”# k3 `& e+ a/ P4 {& s7 G# D* x3 \' l; L
整形变量:数据在内存中存放形式是以二进制形式存放;有int型、short int型和long int型,无符号整型变量的范围是-32768—32767,有符号型为0~65535.通常把long定义为32位,把short定义为16位,int可以是32位也可以为16位,这都主要取决于机器字长。1 z1 g* Q) R2 b* k: E
实型常量的表示方法:(1)十进制,0.0;(2)指数形式,123e3. A9 b. I" p+ Z' X: M9 x
实型变量:实数型数据在内存中的存放形式,一般在内存中占4个字节,分成整数部分和小数部分存放。实型变量分为float型、double型long double型。实型数据会存在舍入误差。 D7 y+ t+ k4 D3 V# I
实型常量的类型:C编译系统将实型常量作为双精度来处理。4 {6 y! T' Z6 Y ^0 q' d! g, {$ u# w' r
字符型数组:
% G% f4 Q; g2 i& l1 r0 l4 s(一)字符常量:转义字符(\n——换行,\t——tab,\r——回车,\f——换页,\b——退格,\ddd——1到3位8进制的数代表的字符)
7 g0 }3 m4 z. T: E N(二)字符变量:字符数据存储形式实际是以ASCII码存储。“%c”
$ D% Z- z( m; g$ M5 n, q字符串常量:双撇号括起来的一系列字符序列。' s5 Y1 o- g- R+ V! \1 P- E
算法结构:' w$ u0 d9 V; n
一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、for循环结构;程序流程图;+ ?+ \$ k' {* D/ n$ P; J8 K$ `
控制语句:/ L& F# J9 u/ p% H# G4 @/ e7 }# j! g
完成一定的控制功能。5 o( F& {5 `/ a6 U. a
1、if()~else~
- X1 i8 E& M& S0 _+ M# p+ O3 n2、for()~- U! h+ b! @6 M$ d9 i
3、while()~; d6 p2 @3 A$ X. i) U; ]
4、do~while()
( e) w+ o! P! X* U% {" d5、continue. F4 _, e8 i7 r+ [2 r
6、break
7 O# _* n; F5 e* \( {' s' F" c7、switch0 b- M' p, r$ ]4 s) A
8、goto7 Q- W: i, e/ l G" g
9、return
7 t; i) a( g" S: v字符数据的输入输出:
, p- Q: g( f0 }# D1、putchar()输入字符变量* a* ^5 M4 A# b; x1 }# p0 l. H6 ^0 }
2、getchar()只能接受一个字符/ m' i5 s3 y4 z( k5 b) @! j8 ^6 q
格式输入输出:% A; L# [* E e2 N
1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)! G/ v4 s+ d' i
2、scanf(格式控制,地址列表)) S' T: S1 f9 s/ h
数组
7 y. E) ]+ ?- C8 i. E/ F一维数组的定义:类型说明符 数组名【常量表达式】;先定义后引用;一维数组初始化时可以只对一部分元素初始化,在对全部数组元素初始化的时候可以部规定长度;但是若被定义的数组长度与提供的初始值不一样时,则数组长度不能省略。# `- x9 h$ |: W
二维数组的定义:类型说明符 数组名【常量表达式】【常量表达式】C语言中存放二维数组是先存放第一行的元素,紧接着是第二行,其实也是以一维的方式存放。如果初始化时能指定所有元素的初始值,第一维大小可以省略,但是第二维不能省略。
! a; W/ i2 V9 ~9 w1 m1 C字符数组:定义和初始化跟数组差不多,只是需要加单引号。字符和字符串结束标志,C语言规定,以‘\0’代表。
* h# n1 a3 C6 A! u' x' sC的运算符有以下几种:1 l" q3 y M" I- Z' W. }8 ~/ I5 E
1、算术运算符(+ - * / %)结合方向自左向右/ m6 G4 K' }3 ~1 E
2、关系运算符(> < == >= <= !=) [# @0 X) J( A0 j7 {# u
3、逻辑运算符(! && ||)
7 m2 B- F" w6 V. H1 y! N, V. i4、位运算符(<< >> ~ | ^ &)
/ ]/ P8 x) d |# ]5 A5、赋值运算符(=及符号扩展赋值运算符)
0 r# ?7 ]% r1 i( {' }$ C5 {8 a6、条件运算符(? : )* k5 }# W @5 H
7、逗号运算符( , ); E' c! s/ X9 K8 p) D
8、指针运算符(* &)5 K4 w' I" T! o* {# A& {
9、求字节运算符(sizeof)3 N3 m( J0 x' x8 X
10、强制类型转换运算符((类型))
8 g/ K. W2 T" g V H! Y11、分量运算符( . ->)
. M0 o3 G: ?6 z' `1 k5 Y6 H12、下标运算符([])
6 b6 K# I2 s1 A1 ~* U$ ?13、其他, t% d# x% i' `/ G- a
- p) K2 \; U) ~# |) \7 }. _( {
9 P0 Q0 S1 M a$ { P
% E2 T- y7 z7 ?/ Z/ \字符串处理函数:
) G1 q1 @ O* S1、puts()将一个字符串输出到终端4 C2 y* `% R& X- W% F
2、gets()从终端输入一个字符串到字符数组,并且得到一个函数值。
8 U3 {7 C& J' X7 Z3、strcat()链接两个字符数组中的字符串。
3 k7 m+ Z7 o% e6 C4、strcpy()字符串复制函数。' j$ M% a$ z' w8 @" o
5、strcmp()比较字符串作用。& w+ m- U9 k* K& ~. s- m3 P
6、strlen()测试字符串长度的函数不包括“\0”2 v5 T$ x3 C; G' G" y6 l2 c
7、strlwr()将字符串中的大写字母转换为小写字母。# C1 B: Y6 m: v7 V3 L9 K
8、strupr()将字符串中的小写字母转换为大写字母。
$ g, y9 D7 ]. X0 z7 A函数$ q# q; `7 `7 Q) @3 X4 Z
(1)一个源程序由多个函数组成。
0 u7 o: a1 b6 u2 ~8 @) r& m(2)C程序的执行从main()函数开始;
4 a: @& q( h. L' q8 R& H6 q) ?(3)所有函数都是平行的;
8 w5 j, o+ B8 A. r: a' d C w; O(4)函数分类;可以分为标准和自定义,还可以分为有参函数和无参函数。
1 i' d6 A% ~0 N# d" [/ q/ X函数定义的一般形式:
5 ~! L% b' Y! I(1)类型标志符 函数名(): k# R6 X; H$ a+ ^- y
{
! A- x" ~! w5 d" {" v声明部分0 l8 }0 E) M% j; i, o8 E
语句
" v% x2 \) {& Z D* a2 ~}
0 X$ d! t+ h$ K; G3 t+ m( R(2)类型标志符 函数名(形式参数列表)
. i! l# @: E7 K S+ K{, u2 C8 c% A$ t5 |7 }
声明部分
1 X3 x- G8 F6 r& x语句
$ O, } T; t: o4 h& {9 G. T}
9 ?1 u2 f% ?( T. K) W- L局部变量和全局变量:+ D$ {- g0 c7 B
(一)局部变量在一个函数内部定义的变量是内部变量,它只是在本函数范围内的有效,主函数也不能使用其它函数中定义的变量;不同函数中可以使用相同的名字的变量,他们代表不同的对象,互不干扰;形式参数也是局部变量;在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合句也可以称为“分程序”或“程序块”;! U, B5 N7 n# n
(二)全局变量,在函数之外定义的变量称为外部变量,全局变量可以增加函数间数据联系的渠道,一般不再必要时不要使用,他在程序的全部执行过程中占用存储单元,是函数的通用性,使用全局变量会使程序的清晰性降低。还要注意若果同一源文件中,外部变量和局部变量同名,则在局部变量作用范围内,外部变量被“屏蔽”,不起任何作用。, h4 d+ Y! ]. g% Z* T
函数的返回值:
; r4 e* S; N, i/ a9 J; ^- r希望通过函数调用使主调函数得到一个确定的值。(1)函数的返回值是通过函数中的return语句获取的。(2)函数值的类型;(3)如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。(4)如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。(5)如不需要带回任何值,用void。
# r2 H& F; N- Y4 k1 h函数的调用:; V# E: d* T2 }$ {; O* _3 H* d( H* G
调用方式1、函数语句;2、函数表达式;3、函数参数。
2 Q3 r \9 q) N4 ^+ x7 J4 x0 H被调用的函数的声明:9 @ Q- s6 b$ W
一个函数调用另一个函数所具备的条件:% H0 y) N2 h) U2 j. K$ R/ W
1、首先被调用的函数必须是已经存在的函数;
! b# V/ m+ ` l9 N% ?! R* `2、如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。$ [ i: @& y' y! Z3 d
3、如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。: ]& V, C9 F/ q2 x
4、如果被调用的函数定义出现在主调函数之前可以不必声明。# d* K2 @1 X* d/ I
5、如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明。 x j1 a; W3 }7 T6 n: {; H! q
|
|