C语言基础知识点总结

C语言基础知识点总结
C语言基础知识点总结

重庆市二级C语言基础知识点总结

第一部分 C语言基础知识

C程序的基本结构

1.(1)一个C程序由一个或者多个函数构成,有且仅有一个主函数main()。

(2)一个函数由函数的首部和函数体组成。

(3)函数是从主函数(main())开始执行,回到主函数(main())结束;(与main()函数在程序中定义的位置无关)

(4)一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束;

(5)算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;

有效性

(6)算法(程序)的几个结构:选择结构,顺序结构,循环结构

2.用户标识符,由数字,字母,下划线构成,第一个不能是数字(一般会出选择题让

你判断哪个标识符定义正确),字母要区分大小写。不能与32个关键字相同。例:P24 第2题P122、2,模拟题第一题

3.注释符://注释一行;/*和*/注释多行,注释不可以嵌套书写。注释没有任何语法功

能。

C语言的基本数据类型

1.数据类型:分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类

型(结构体类型,数组类型,共用体类型),空类型(空类型合法哦,不要忘记了这个特殊哦)。

一般只需要记int类型是2个字节,float是4个字节,double是8个字节

注意int的最大表示范围是-32768――+32767,当超过这个范围的时候,即以%d输出+32768时结果为-32768

长整型(long)表示方法是在数字后面加L,如果一个变量a=3,那么表示的是一个整型的3,如果是a=3L,那么就是长整型的3;当分别以%o,%ld,%x (8进制,长整型,16进制)输出的时候,结果没有前面的0,0X,和后面的L

例:int a=075,b=ox14;long int c=5L;

printf(“%o,%x,%ld”,a b c); 结果为(75,14,5)

P22第5、11、9题等

2.转义字符:\n \t \\ \’\”\ddd(1-3位八进制所代表的字符) \xhh(1-2位

十六进制所代表的字符)这个书上习题特别多,P25 第19题,P120第3题,P138第16题P147第14题P152第2题等

3.sizeof()和strlen():sizeof()测试字符串的存储长度;strlen()测试字符串长度,只计算遇

到的第一个\0前面的字符个数。

例:strlen(“abc\089”)=3 strlen(“abc\012”)=4

注意这个例题:char a[30]=“abc\0b”;

sizeof(a)=30 ; sizeof(“abc\0b”)=6;

strlen(a)=3 strlen(“abc\0b”)=3 ;

4.运算符和表达式:记忆书上附录里的运算符优先级(一定要记住常用的)

(1)算术运算符和算术表达式:注意自增++,自减--,自反-,

++,--,当++,--,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当++,--,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握++,--结合性是右结合,若i+++j等价于(i++)+j;

(2)关系运算符:>,<,<=,>=,= =,!= ,==和!=优先级最低。

注意=与==的区别:=是赋值的意思,表达式的值是对变量赋的值,==是关系运算符,关系运算表达式的值为0或者1(关系运算的结果本应是逻辑值,但C语言中没有逻辑数据类型,因此用整型数据来表示关系运算的结果)。

(3)逻辑运算符:&& ,||,!在这几个中优先级!大于&& 大于||,优先级是体现在结合性上而不是运算的先后性上。例如

a=b=c=1;d=++a||++b&&++c

在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从++a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d=1,a=2,b=1,c=1

(4)赋值运算符:简单赋值运算符“=”其左边必须是变量。一般形式:变量名=表达式

复合赋值运算符:+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。注意当等号后面接的是表达式的时候要把表达式看成一个整体即x *=y+8等价于x=x*(y+8),y+8是一个整体

(5)条件运算符:由两个符号“?”和“:”构成,

一般形式:表达式1?表达式2:表达式3

先计算表达式1的值,如果值为真(非0),则将表达式2的值作为条件表达式的值,否则将表达式3的值作为条件表达式的值。

(6)逗号运算符和逗号表达式

一般形式:表达式1,表达式2,……,表达式n

求值时从左至右依次计算,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值。

例:#include

void main()

{ int a;

printf(“%d\n”,(a=3*8,a*4,a+5));

}该程序的输出结果为29,变量a的值为24,注意此处考察了逗号表达式、逗号和赋值符号的优先级。=优先级高于,的优先级。

(7)位运算符和位表达式(参考教材P17-18)

位运算符有| (或)即只要有一个1就是1,&(与)要全部为1才为1 ^(异或)要不相同才为1 ;注意的是当向左移动n位就是乘以2的n次方;向右移动n位就是除以2的n次方。

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

强制类型转换的一般形式:(类型名)表达式

表达式(double)(x+y),是将x+y的值转换为double类型后得到的值,变量x,y 和表达式x+y都保持原来的数据类型。

C程序的输出

printf()函数的一般形式为:printf(“格式控制字符串”,输出表列);

格式控制包括两种信息:(1)格式说明:由%和格式字符组成。如%d、%f等。作用是将输出的数据转换为指定的格式输出。格式说明总是由%字符开始。(2)普通字符:即需要原样输出的字符。如逗号、空格和换行符。所以在写程序输出结果时,这种字符要原样写出来。

putchar()函数的作用是向终端输出一个字符。一般形式:putchar(c),输出字符变量c的值,c可以是字符型变量或整型变量。

%d,%md,%m.nd, %e,以及相应的几种格式是什么意思

C程序的输入

scanf()函数的一般形式为:scanf(“格式控制字符串”,变量地址表);

这里的格式控制与printf()中的一样。变量地址表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

getchar()函数的作用是从终端输入一个字符。gechar函数没有参数,一般形式:getchar()

常用数学类标准库函数的简单应用:

abs()、fabs()、fmod()、sin()、cos()、tan()、exp()、pow()、log()、log10()、sqrt()。

参考教材

第二部分 C程序的基本控制结构

分支结构

1.if语句与程序的单分支结构

形式:if(表达式)

语句

功能:若表达式的值为真,则执行语句。

注意,当函数作为if里面的表达式的时候即if(printf(“*”))的时候,则是以函数的返回值判断if的真假,printf输出以1个字符则返回为1,所以这个if是真的;

2.if……else语句与程序的双分支结构

形式:if(表达式)

语句1

else

语句2

功能:若表达式的值为真,则执行语句1,否则执行语句2

3.复合语句及其在程序中的使用

复合语句是用一对花括号“{}”将若干条C语句括起来形成的语句序列。复合语句的基本形式如下所示:

{ 语句1;

语句i;

语句n;

}

注意:

C语言的复合语句右括号“}”后不需要用分号“;”结尾,如果在程序中有如下形式的语句格式出现,则应认为是复合语句后面跟了一个空语句:

{ 语句序列;};/* 最后的分号是空语句*/

4.if语句的嵌套与程序的多分支结构

C语法规定else 必须与最近的if相匹配。

5.switch语句与程序的多分支结构

形式:

switch(表达式)

{ case 常量表达式1:语句组1;

case 常量表达式2:语句组2;

………

case 常量表达式n:语句组n;

default:语句组n+1;

}

a)常量表达式必须为整型、字符型或者枚举型,且值必须互不相同

b)c ase后可包含多个可执行语句,且不必加{ }

c)多个case可共用一组执行语句

d)当表达式的值和某个case后面的语句相匹配时,则执行相应case后面的语句,并继

续执行之后的语句。若不希望继续执行之后的语句,则使用break语句跳出switch 语句。参考P40,11题

循环结构(执行过程参考课件)

1.while型循环

形式:while(表达式)

语句

注意在while()后面没有;号,当函数或者赋值表达式放在while的()中时与if的判断方法一样,判断函数的返回值或表达式值的逻辑值;若表达式的值为真(非0),则执行语句(循环体),否则结束循环;

2.do….while型循环

形式:do

语句

while(表达式)

先执行语句(循环体)一次,再判断表达式的值是否为真(非0),若为真,则继续循环否则终止循环。同while()型循环相比,while()是先判断条件后执行语句,而do…while则是先执行语句后判断条件,无论如何都会先执行一次。

3.for型循环

形式:for(表达式1;表达式2;表达式3)

例:for(i=1;i<100;i++)

s=s+i;(注意for括号的后面没有;号)

当有两个for语句即嵌套的for循环的时候

例:for(i=1;i<4;i++)

for(j=0;j<5;j++)

s=s+i ;

这个时候是先做i=1;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i++;所以s=s+i ;这个语句做了20次。

不论是笔试的编程还是上机题,都会考到循环。所以一定要认真复习控制结构这一部分内容。如下面的一段程序,输出结果是什么?我们学习一定要把每一个知识点牢固掌握。书上的练习特别多,大家要学会举一反三。

#include

void main()

{

int a[5]={1,2,3,4,5};

int i,j;

for(i=0;i<5;i++)

{

for(j=i;j<5;j++)

printf("%d ",a[j]);

if(j==5)

for(j=0;j

printf("%d ",a[j]);

printf("\n");

}

}

4.空语句及其在程序中的使用

所谓的空语句就是说没有执行代码,只有一个语句结束的标志:分号

例如模拟题选择第15题

5.循环的嵌套(只要求到3层)这类题,书上有很多的习题,主要是掌握程序的执行

过程。参考课件,书上的习题多做练习

6.总结if,for,whlie,后面如果没有{}的时候,即是只有一个简单的语句的时候,if,

for,whlie的作用效力范围是到与之最近的分号结束;当有{ }的时候即是把{ }看成一个整体,控制范围是整个{ }里面的所有语句。

其他简单控制结构(重点)

1.break(参考课件)

功能:在循环语句和switch语句中,终止并跳出循环体或开关体

break只能终止并跳出最近一层的结构

break不能用于循环语句和switch语句之外的任何其它语句之中

2.continue(参考课件)

功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断

仅用于循环语句中

控制结构应用举例(重点)

1.累加、累乘、最大公约数、最小公倍数、阶乘、素数等简单问题求解方法

参考书上P36-38

2.穷举思想及程序实现

3.迭代思想及程序实现(其中包括:一元高阶方程求根的二分迭代解法)。

第三部分函数与程序结构

函数的定义与调用

1.(1)定义:(看课件、C语言教材)

无参函数的定义:

[类型标识符或void] 函数名()

{

说明语句;

执行语句;

}

有参函数定义:

[类型标识符或void] 函数名(类型形参1,类型形参2,…)

{

说明语句;

执行语句;

}

当主函数里面带参数的形式,main(int argc,char *argv[])中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例,

void main(int argc,char *argv[])

{ char **p ;

while(--argc)

{ *p=argv[argc];

puts(*p);

}

}

若输入为china Beijing flie 则结果为:flie Beijing ;

(2)声明经常考填空题,无论是上机还是笔试

(3)调用常考题,容易考填空和写输出结果题,注意在调用的时候,函数名(实参列表)括号里面一定是实参,要特别注意哦,参考书上的习题认真练习。

(4)返回值(包括基本类型、空类型)参考课件及相关教材

2.函数调用时的值参数传递,一定要注意,做这种题,要先弄清楚形参和实参。

(1)分清形参和实参的区别:

?形参是在定义或声明中,实参是在引用当中;当函数名前有int ,float,char等

类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数

中,

?形参是不确定的值,因此不能为常量,实参是确定的值所以可以为常量。

(2)当实参是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变实参的值;当是实参是地址传递的时候就要改变

例:(1)int sub(int x,int y)

{ int c=x;x=y;y=c;}

void main()

{ int a=3,b=2;sub(a,b);

printf(“%d,%d”,a,b);} 结果是3,2

(2)int sub(int* x,int *y)

{int c=*x;*x=*y;*y=c;}

void main()

{int a=3,b=2;sub(&a,&b);

printf(“%d,%d”,a,b);} 结果是2,3

书上这类题特别多,认真练习!

注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别void 和return;(参考教材和课件)

3.嵌套调用

常考阅读程序题,理解书上P75的图

4.递归调用理解概念,会做模拟题选择第18题类似题目

5.简单问题的递归函数设计(例:阶乘、Fibonacci数列、整型数据的数字拆分处理等)

书上有很多关于数字拆分、阶乘的题目,一定要掌握。

变量的作用域和生存期

1.作用域(全局变量的定义和使用、局部变量的定义和使用)

要严格区分全局变量和局部变量,分清楚各自的作用范围

2.生存期(存储类别符extern和static对全局变量的作用;存储类别符auto和static

对局部变量的作用)

特别注意static和extern

编译预处理

1.宏定义预处理命令的概念和简单应用(包括带参和不带参宏定义);

(1)宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格;

例:#define xx(m) m*m

……int i=5;

i=i+xx(4+5);

结果为i=5+4+5*4+5=34;

(2)宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的;

2.文件包含预处理命令的使用方法;

文件包含命令的一般形式为:

#include “文件名”或者#include <文件名>,注意这两种表示形式是有区别的。

第四部分指针与函数

指针变量的定义和引用

1.指针变量的定义、初始化、赋值和引用;

基本概念参考书上,注意指针变量的初始化和赋值。例int a,*p=&a,这是定义了一个指针变量并进行了初始化,特别注意这个时候的初始化用的是*p=&a,这里面的*代表的是指针类型,而不是取值。例 int a,*p;p=&a,定义完变量之后再引用的话就不要加*了。我们的*有两种含义,一种是定义变量的时候,是我们的指针标志,除了定义之外,我们的*代表取指针变量所指地址中的内容,与&为互逆运算。

2.C语言中的地址运算;

&:取变量的地址。单目运算符、优先级为2、右结合性。例:i=5; pi=&i;

*:取指针变量所指地址中的内容,与&为互逆运算。单目运算符、优先级为 2、右结合性

指针变量作函数的参数

1.函数调用时的地址参数传递;

P91第13、14、15、16等,这类例题特别多,要特别注意

2.指针变量与指针指向变量的区别;

(1)存放变量地址(指针)的变量称为指针变量。

例:int *i_pointer;

则变量i_pointer就是指针变量,它的值是某个整型变量的地址,即i_pointer可指向一个整型变量。到底指向哪一个整型变量,应由i_pointer中赋予的变量地址来决定。

(2)若一个指针或指针变量指向某个变量,可通过该指针访问这个变量,这种访问称为间接访问。如将i的地址(指针)赋给i_pointer,即 i_pointer=&i, 则i_pointer所指向的变量就是i,用* i_pointer表示,此时与i(直接访问)等价。

函数的指针

1.指向函数的指针变量的定义;

用于存储函数指针的变量称为指向函数的指针变量,定义方法为:

类型说明符 (*指针变量名)(形式参数列表)

例:int (*p)(int,int);表示定义了一个指针变量p,能够指向的函数特征是由两个整型形式参数,返回值是整型数据

2.用指向函数的指针变量来调用函数;

调用方法(*p)(实参表)

3.指向函数的指针变量作函数参数;

P90,第11题

4.返回指针值的函数;

P94 第1题

区别函数指针和指针函数的技巧:

1.函数指针和指针函数都是偏正短语。函数指针的中心词是指针,保存函数的地址。而指

针函数的中心词是函数,是一个返回值是指针的函数。在判断时,按照优先级的结合性来判断:

2.如:int *p()因为()的优先级高,先与p结合,所以p()是一个函数,函数作为中心词,

又因为前有*,所以是一个返回值是指针的函数。

3.int (*p)()因为*先与p结合,所以整体是一个指针,指针是中心词,又因为后面有(),

所以是一个函数指针,保存函数的地址。

如执行语句p=&a;

1.&*p的含义是什么?&和*两个运算符的优先级别相同,但按自右而左方向结合,因此先

进行*p的运算,它就是变量a,再执行&运算。因此,&*p与&a相同,即变量a的地址。

2.*&a的含义是什么?先进行&a运算,得a的地址,再进行*运算,即&a所指向的变量,

也就是变量a。*&a和*p的作用是一样的,他们都等价于变量a,即*&a与a等价。

3.(*p)++相当于a++。注意括号是必要的,如果没有括号,就成为了*p++,而++和*为同一

优先级别,而结合方向为自右而左,因此它相当于*(p++)。由于++在p的右侧,是“后加”,因此先对p的原值进行*运算,得到a的值,然后使p的值改变,这样p不再指向a了。

第五部分数组及简单应用

数组

1.一维数组的输入输出,当数组是int(整型的时候)

一个有n个元素的一维数组:

输入:for(i=0;i

scanf(“%d”,&a[i]);

输出:for(i=0;i

printf(“%d”,a[i]);注意int类型要以%d的格式

2.一个有n行m列的二维数组:

输入:for(i=0; i

for(j=0;j

scanf(“%d”,&a[i][j]);

输出:for(i=0; i

for(j=0; j

printf(“%d”,a[i][j]);(注意在输入的时候才有&符号,输出的时候没有)3.对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两

种方式:

(1)for(i=0;i

a[i]; (都是指从a[0]访问到a[n-1]) a[i];

4.char a[10]; while(a[i])和while(a[i]!=’\0’)都是表示当a数组不结束的情况下继续循环,一

般就是指访问整个数组

5.自编函数实现求字符串的长度:

int fun(char *a) int fun(char *s)

{ int k; { char *p;

p=s

whlie(a[k]) whlie(*p)

k++; p++;

retrun(k-1); } retrun(p-s); }

6.维数的判断,当*,[]前面有int ,char,float等常见的类型名的时候表示是在定义,一个

* 或者[]表示升一维,当表达式前面没有int ,char,float的时候则是在引用(或称为使用)一个*或者[ ]表示降一维;

数组的简单应用(本部分内容参考书上程序)

1.数组元素值的随机生成法(标准库函数srand. rand. 和time 的使用方法);

2.常用排序方法(冒泡排序法和选择排序法);

3.常用查找法(直接查找法和二分查找法);

第六部分字符数据、字符串(字符数组)数据及其简单应用C语言字符串表示方法

1.字符串(字符数组)的定义和初始化方法;

2.字符串数据的输入方法(scanf函数和gets函数的使用);

一个字符数组即char a[10];对这个的输入有两种方式

(1)for(i=0;i

scanf(“%c”,&a[i]);

(2)gets(a); scanf(“%s”,a)(注意这两种方式的括号里面的只能是一个数组名)

3.字符串数据的输出方法(printf函数和puts函数的使用);

输出也对应有两种方式:

(1)for(i=0;i

printf(“%c”,a[i]);

(2)puts(a);printf(“%s”,a);(注意这两种方式的括号里面的只能是一个数组名);

字符串的常用处理方法(本部分内容参考书上程序)

1.字符类别的判断方法和大小写字母的转换方法;

2.字符串中有效数字字符的统计方法;

3.字符串的复制方法;

4.字符串的连接方法;

5.字符串中字符的查找、插入和删除方法;

6.字符串中子字符串的查找、插入和删除方法;

特别注意字符串的反转、一个字符串在另一个字符串中出现的次数等问题

7.常用字符和字符串处理标准库函数

包括:isalpha 、isdigit、isalnum、isspace、isupper、islower、toupper、tolower、strlen、strcpy、strcat、strcmp、strchr、strstr、atoi、atoll、atof 等。

第七部分指针与数组

一维数组与指针的关系及简单应用

1.用指向一维数组的指针变量表示数组元素地址和数组元素值的方法;

(1)指针变量可指向数组起始位置,即指向a[0],也可指向任意数组元素a[i]。

int a[10],*p=a;或int a[10],*p=&a[0];(初始化方式)

int a[10],*p=a+3;或int a[10],*p=&a[3];(初始化方式)

若p指向数组元素的起始位置,则p+i等价于a+i,即a[i]的地址;p[i]和*(p+i)等价于*(a+i),即a[i]

(2)*(p++)与*(++p)作用不同。

若p的初值为a,则*(p++)等价于a[0]、p++;*(++p)等价于p++、a[1];(*p)++表示p所指向的元素值加1。

若p当前指向a数组中的第i个元素,则*(p--)相当于a[i--];*(++p)相当于a[++i]; *(--p)相当于a[--i]。

2.一维数组简单应用的指针变量表示和处理方法(常用的排序和查找方法);

参考书上例题和习题

二维数组与指针的关系及简单应用

1.用指向二维数组的指针变量表示数组元素地址和数组元素值的方法;

注意:int a[3][3],**p=a则,a[0]等价于*p表示的是这个2维数组的第一行或者说是这个2维数组的首元素的地址;a[i]等价与*(p+i)都表示是数组的第i行或者是第i行的首元素的地址;所以要引用这个a数组的元素应该用a[i][j]或者**p

2.指向若干元素构成数组的指针变量定义方法和简单使用;

指针数组与命令行参数

1.指针数组的定义、初始化和简单应用;

2.命令行参数的概念和简单应用;

第八部分构造类型和文件

结构体数据类型的基本概念

结构体变量的长度是各个成员长度的和;当结构体指针和数组的时候注意分清. 和->的区别;

结构体数据类型的简单应用

1.用于存储分配的标准库函数(包括:malloc、realloc、free);

2.单链表的概念和创建;

3.单链表的遍历(结点值的依次输出)方法;

4.单链表中节点的插入方法;

5.单链表中节点的删除方法;

共用体数据类型

共用体变量的长度是由成员中的最长的成员决定;

注意书上P137第7题。一定要记住书上P105第8题的公式,如果x.c[0]=0x39;

x.c[1]=0x38;也就是说把后面的赋值写成我们的十六进制形式,一定要把十六进制转换为十进制带入计算。则x.i=x.c[1]*256+x.c[0]=56*256+57=14393

共用体类型与结构体类型的区别;

枚举类型

参考书上P102介绍,P105第9题

文件

1.C语言中可以认识两种文件存储类型(1)文本文件(2)二进制文件;

2.文件打开与关闭的概念和方法(fopen函数和fclose函数的使用方法);

if((fp=fopen(“文件名”,”r”))==NULL);当等于NULL的时候就不能打开;注意文件打开之后必须关闭,即是fclose(fp);这两个必然是成对出现;

3.文件内部记录指针(读写指针)的概念和文件尾的判别方法(EOF和feof函数的使用);

文件在什么情况下结束

(1)fp==EOF的时候结束fp!=EOF的时候不结束。

(2)当feof(fp)返回值为0时不结束,返回非零时就是结束;

4.文件中单个字符的读写操作(fgetc函数和fputc函数的使用);

5.文件中字符串读写操作(fgets函数和fputs函数的使用);

6.文件中的格式化读写操作(fscanf函数和fprintf函数的使用);

7.文件中数据块读写操作(fread函数和fwrite函数的使用);

8.文件内部记录指针(读写指针)的移动和定位(fseek函数和ftell函数的使用);

4-8了解各函数的功能即可

w,r,a分别表示对文本文件的读,写,追加;fputs(ch,fp)指将ch变量输出到文件fp中;ch=fgets(fp)指的是从文件中得到一个字符赋给变量ch;fread或fwrite(buffer,size,num,fp)中,buffer指的是文件读出/写入的数据的地址,是一个数组名或者指针;size,指读出或者写入每个数的字节数;num指读出和写入多少个数;fp指文件指针。

文件的简单应用

1.文件的随机读写(文件处理标准函数的综合应用);

2.文件内容按制定要求进行合并的方法;

3.文件内容拷贝的处理方法;

4.文件内容比较的处理方法;

大学c语言必背基础知识_c语言基础知识大全

大学c语言必背基础知识_c语言基础知识大全 对于刚学计算机编程的同学来说,没一个编程知识都觉得很重要,其实不是的。下面小编为大家整理了相关大学c语言必背基础知识,希望大家喜欢。 大学c语言必背基础知识举例说明: printf(“-”,123 ); 第二部分有三位,大于指定的两位,原样输出123 printf(“]”,123 ); 第二部分有三位,小于指定的五位,左边补两个空格123 printf(“f”,1.25 ); 小数要求补足6位的,没有六位的补0,。结果为1.250000 printf(“%5.3f”,125 ); 小数三位,整个五位,结果为1.250(小数点算一位) printf(“%3.1f”,1.25 );小数一位,整个三位,结果为1.3(要进行四舍五入) 第三节数据输入1、scanf(“a=%d,b=%d”,">2、scanf(“%d,%d”,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d”,注意写成这样才可以! 3、特别注意指针在scanf的考察例如:int x=2;int *p=scanf(“%d”,x); 错误scanf(“%d”,p);正确scanf(“%d”,错误scanf(“%d”,*p)错误 4、指定输入的长度(考试重点)终端输入:1234567scanf(“-M%d”,x为12,y为3456,z为7终端输入:1 234567 由于1和2中间有空格,所以只有1位给xscanf(“-M%d”,x 为1,y为2345,z为67 5、字符和整型是近亲:int x=97;printf(“%d”,x); 结果为97printf(“%c”,x); 结果为a 6、输入时候字符和整数的区别(考试超级重点) scanf(“%d”,这个时候输入1,特别注意表示的是整数1 scanf(“%c”,这个时候输入1,特别注意表示的是字符‘1’ASCII为整数48。 补充说明: 1)scanf函数的格式考察: 注意该函数的第二个部分是scanf(“%d%d%*d%d”,跳过输入的第三个数据。 2)putchar ,getchar 函数的考查:

c语言公共基础知识

二级公共基础知识总结 第一章数据结构与算法 1.1 算法算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。指令系统:一个计算机系统能执行的所有指令的集合。基本运算包括:算术运算、逻辑运算、关系运算、数据传输。算法的控制结构:顺序结构、选择结构、循环结构。算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量。算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;

(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。数据结构是指相互有关联的数据元素的集合。数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。数据的存储结构有顺序、链接、索引等。线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。非空线性表的结构特征:(1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。顺序表的运算:插入、删除。 (4)1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许

计算机二级C语言高效考点

计算机二级C语言高效考点 2017年计算机二级C语言高效考点锦集 C语言基本知识 【考点1】C程序 C语言程序结构有三种:顺序结构,循环结构(三个循环结构),选 择结构(if和switch) 【考点2】main函数 每个C语言程序中main函数是有且只有一个。读程序都要从 main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做 选择)。 【考点3】存储形式 计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为0或者1构成。byte是指字节,一个字节=八 个位。数据存放的位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行, 注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 关键字不可以作为用户标识符号。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 【考点7】实型数据 实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。 2.333e-1就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。 【考点8】字符 字符数据的合法形式:: '1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。 字符型和整数是近亲: chara=65; printf(“%c”,a);得到的输出结果:a

大学c语言考试基础知识复习

C 语言最重要的知识点复习资料总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从()入口, 然后从最上面顺序往下读(碰到循环做循环, 碰到选择做选择),有且只有一个函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)是位是指为0 或者1 。是指字节, 一个字节= 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以数值存放在文本文件中。 2、 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、可用于循环结构和语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C 语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个函数,是程序运行的起点。第二节、熟悉 1、是软件,用来运行写的C语言程序。 2、每个C 语言程序写完后,都是先编译,后链接,最后运行。()这个过程中注意和文件时无法运行的,只有文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。有其它元 素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。都不是关键字。迷惑你的地方是 可以做为用户标识符。因为中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。二进制、八进制、十六进制转换 成十进制。 第五节:整数与实数 1)C 语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次) a 、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有 8 的,逢8 进1。 b 、C语言中的十六进制规定要以Ox开头。 2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。

c语言基础知识及考点整理

第一周 int定义整型变量所有字母都要先定义再使用。 算法:描述完成任务的步骤序列。 算法的三个基本结构:顺序、分支、循环。 算法的表示:自然语言、程序流图、N-S图 程序流图中判定框用菱形,开始结束用圆角矩形,赋值用矩形。 main:主函数,后面一定是英文输入法下的() int:定义“整形变量” printf:输出语句 scanf:输入语句 %:占位符一个占位符就是占据一个字符的位置,格式化输出时显示为个空格. 具体用法如下: %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数%x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合

%% 读%符号(c此内容来自baidu) &:“取地址”运算符:这个运算发可以这样理解,比如说&a的含义就是a在内存中的地址。因为&运算符能够取出一个变量在内存中的地址,所以叫做取地址运算符。 输入语句scanf("%d %d",&a,&b); 输出语句printf("%d", c); 输出内容由“”引出 注意一个;就是一个语句,每句话后都要有分号,不能丢。括号是英文的, 一个程序主要由顺序分支循环3种结构构成 { }不能忘,限制变量作用范围 进入CodeBlocks之后新建一个项目,在project选项中选择控制台应用程序Console application进行编写。 输入语句scanf和输出语句printf中的“f”指的是format格式。 程序编写完成后点击Build——Build and run 或F9进行运行,并可点击View——log看到编程日志,检查错误。 分号;不能少 .如果觉得编写过程中字符显示太小可以按住ctrl并将鼠标滚轮向下滚来放大~ 第二周 计算一元二次方程的根的题目中,遵守四则运算法则,求根公式.../2a中的2a要用()括起来 华氏温标(Fahrenheit temperature scale)符号℉,1724年,德国人华伦海特制定了华氏温标,他把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32 ℉,把标准大气压下水沸腾的温度定为212℉,中间分为180等份,每一等份代表1度,这就是华氏温标,用符号F表示,这就是华氏温度 摄氏温度(℃)和华氏温度(℉)之间的换算关系为: 华氏度(℉)=32+摄氏度(℃)×,摄氏度(℃)=(华氏度(℉)-32)÷。

谭浩强C语言知识点总结

谭浩强C语言知识点总 结 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

C语言最重要的知识点总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI ; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---?.obj---?.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)

机械工程基础知识点汇总

第一章常用机构 一、零件、构件、部件 零件,是指机器中每一个最基本的制造单元体。 在机器中,由一个或几个零件所构成的运动单元体,称为构件。 部件,指机器中由若干零件所组成的装配单元体。 二、机器、机构、机械 机器具有以下特征: (一)它是由许多构件经人工组合而成的; (二)构件之间具有确定的相对运动; (三)用来代替人的劳动去转换产生机械能或完成有用的机械功。 具有机器前两个特征的多构件组合体,称为机构。 机器和机构一般总称为机械。 三、运动副 使两构件直接接触而又能产生一定相对运动的联接称为运动副。 四、铰链四杆机构 由四个构件相互用铰销联接而成的机构,这种机构称为铰链四杆机构。 四杆机构的基本型式有以下三种: (一)曲柄摇杆机构 两个特点:具有急回特性,存在死点位置。 (二)双曲柄机构 (三)双摇杆机构 铰链四杆机构基本形式的判别: a+d≤b+ca+d>b双曲柄机构曲柄摇杆机构双摇杆机构双摇杆机构 最短杆固定与最短杆相邻的杆固 定 与最短杆相对的杆固 定 任意杆固定 注:a—最短杆长度;d—最长杆长度;b、c—其余两杆长度。 五、曲柄滑块机构 曲柄滑块机构是由曲柄、连杆、滑块及机架组成的另一种平面连杆机构。 六、凸轮机构 (一)按凸轮的形状分:盘形凸轮机构,移动凸轮机构,圆柱凸轮机构。 (二)按从动杆的型式分:尖顶从动杆凸轮机构,滚子从动杆凸轮机构,平底从动杆凸轮机构。 七、螺旋机构 螺旋机构的基本工作特性是将回转运动变为直线移动。 螺纹的导程和升角:螺纹的导程L与螺距P及线数n的关系是 L = nP 根据从动件运动状况的不同,螺旋机构有单速式、差速式和增速式三种基本型式。

贵州大学2012-2013C语言考试A卷 附 重要考点复习资料

贵州大学2012-20103学年第一学期考试试卷 A C语言程序设计 满分100分,考试时间为120分钟。 一、单项选择题(选出一个正确答案,每小题2分,共20分) 1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译 B. 连接、运行 C. 编译、运行 D. 编译、连接 2.下列说法正确的是() A.一个c语言程序并非总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置不可以任意 3.下面是合法C语言标识符的是() A. 2A_K; B. _M+N; C. –M3; D. AC_2; 4.下列格式符中,可以用于控制字符输出的是( ) A. %d B. %f C. %o D. %c 5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( ) A. 4; B. 16; C. 30; D. 50; 6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( ) A. 10,5 B. 15,6 C. 15,5 D. 10,6 7.若有定义 int x,*p;,则以下正确的赋值表达式是( ) A. p=x; B. p=&x; C. *p=&x; D. *p=*x; 8.以下对结构体类型变量的定义中,不正确的是( ) A. typedef struct aa B. #define AA struct aa { int n; AA { int n; float m; float m; }AA; } stud; AA stud; C. struct D. struct { int n; { int n; float m; float m; }aa; }stud; struct aa stud; 9.有如下函数调用语句: func(rec1,rec2+rec3,(rec4+rec5)); 函数调用语句中,含有的实参个数是( ) A. 3 B. 4 C. 5 D. 以上均不是 10.对于以下宏定义: #define SQ(x) x*x #define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( ) A.25 B.11 C.43 D.以上均不是

C语言基础知识整理

C 语言基础知识 1. 每个C 程序有且只有一个主函数main() ,且程序必须从main() 函数开始执行,并在main() 函数中结束。 2. 在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。 3. 用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。 4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。 6. 用sizeof(int) 计算int 类型数据的字节数。 7. C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空 间。 9. feo f函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。 10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。 11. 在赋值表达式中,赋值运算符"=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12. 静态局部变量,只有当程序结束后,其值才释放。 13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。 14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法 正确的程序最终一定会结束。15. 在 C 语言中,预处理命令行都以“#”开头;当需要时才用 #include; 预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义 的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。 18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量)();,因此其为指向函数的 指针变量。 19. 用C 语言编写的代码程序是源程序,只有通过编译、连接才能进行。 20. 在说明为static 时,其生存期得到延长,而其作用域并没有改变,在定义后系统会自动帮它赋值为0,static 为关键字不能被用作它用。 21. 频繁地使用空语句会降低程序的可读性和运算速度。22. 运算符%两边都应是整数,赋值语 句左边应该是变量,而非表达式,强制转换语句强制类型应加括号。 23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式即可。 24. 函数fread (&larray,2,16,fp)的功能是,从fp所指的数据文件中读取16次2字节的数据 存储到数组larray中。25.整个流式文件也可以随机存取数据,C语言文件中有好多函数可以达 到写入数据时,未经输入数据,达到不覆盖的目的,在进行写操作时,系统会自动关闭文件。 26. 使用putchar、getchat、puts、gets、printf、seanf函数时,必须在程序的开头岀现包含头文件 #inelude "stdio.h ”的命令行,而使用字符串处理函数时,必须在程序的开头岀现包含头文件 #include”string.h ”命令行,而使用数学函数时,必须在程序的开头岀现包含头文件#include”math.h” 的命令行。 27. 一个斜杠与小于等于127 任意数字按一个字符计算,一个斜杠与任意一个字符按一个字符计 28. 一个C 程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C 语言程序可以实现

C语言知识点总结 完美版

PS这个文档是我从百度文库找的,其中存在一些错误在我能力范围之内的已被纠正过来了,并且有些内容我做了适当的修改。来不及复习的同学如果觉得书太多懒得看,可以看看这个,已经复习的同学也可以查漏补缺哈。复习的话建议书本加网上作业。预祝大家考试过过过! C语言最重要的知识点 总体上必须清楚的: 1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是它的地址. 4)bit是位是指为0或者1。byte是指字节,一个字节=八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI3.1415926;这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。(但能嵌套调用) 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。(continue不能用于switch语句) 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。

大学c语言学习心得感悟

大学c语言学习心得感悟 通过这次大学c语言计算机实习学习,我们了解了一些关于c 语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。下面是WTTWTT为大家收集整理的大学c语言学习心得感悟,欢迎大家阅读。 大学c语言学习心得感悟篇1 林林总总的计算机语言,林林总总的计算机技术,林林总总的计算机书籍让我们初入计算机的菜鸟一次就吓的没有勇气。迷茫和徘徊让我们丧失了时间和信心。没有诀窍吗?有的,看你怎么把握了,接下来我就以C语言为例子,讲一下有关学习的方法和技巧,同时也分享一下我学C的感想。 许多人第一次接触C语言都会觉得C语言难懂和不容易使用,其实就我个人的看法,C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。 通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,但是由于大部分人因为以前没有接触过电脑或电

脑语言的相关知识所以缺乏抽象逻辑思维能力,不知道如何将所学到C语言的知识如何组织和构成一个完整的函数,那么如何来有效的锻炼自己的抽象逻辑思维能力呢? 在这里是我个人的一套自学心得,通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。例如下面这段代码是手工输入两个整数数字并计算两个数字之间从最小的数字开始到最大的数结束其中所有奇数相加的和: void main { 首先INT是表示整数形数据的定义,那么接下来有两个未知的整数和一个已知的整数0;这里出现的3个整数数字用C语言里的变量来替代它们,这时第一个数字就用取名为NUM1的变量,第二个数字就用取名为NUM2的变量,第三个数字就用取名为X的变量并且用赋值符号来为它赋予0这个值。 int num1,num2,x=0; 由于知道了有两个未知的整数,所以要通过键盘输入使这两个未知的整数变成已知的整数并且储存在前面所提到的变量中。 scanf("%d%d ",&;num1,&;num2) ; 得到数字后下面就开始进行一系列的运算和判断,如果NUM1小于NUM2的话最小的数字就是NUM1最大的数字就是NUM2,如果

土建工程基础 知识点总结

. 根据材料的1.化学成分,可分为有机材料、无机材料以及复合材料三大类。 墙体材料和功能材料大体上可分为结构材料,根据建筑材料在建筑物中的部位或使用功能,三类。与质量有关的物理性质:实际密度,表观密度,体积密度,堆积密度,材料的密实度与空2. 。隙率(密实率,孔隙率)与水有关的物理性质:3. 吸水性:材料在水中吸收水分的性质称为吸水性,其大小用吸水率表示。 表示:材料所吸湿性:材料在潮湿空气中吸收水分的性质称为吸湿性,其大小用含水率W b含水的质量占材料干燥质量的百分率,称为材料的含水率。用软化其强度也不显著降低的性质称为耐水性,耐水性:材料在长期饱和水作用下不破坏,表示:系数K 以单位面积上所受的力来表示:材料在外力4.(荷载)作用下抵抗破坏的能力称强度, 产生的变形不因外力的消除而消失的性质称为塑形 5.材料在外力作用下产生的变形可随外力的消除而完全消失的性质称弹性 无明显的变形特征而突然破坏的性质称脆性 在冲击、振动荷载作用下,材料能吸收较多的能量,产生一定的变形而不致被破坏的性能称韧性。 6.影响材料长期使用的破坏因素复杂多样,可分为物理作用、化学作用及生物作用等。 7.水泥按其用途和性能可分为通用水泥、专用水泥、特性水泥三类。 水泥强度是评定其力学性能的重要指标。 8.混凝土通常是由胶凝材料、粗、细骨料、水以及其他材料,按适当比例搅拌配制并经一定时间硬化而成的具有所需的形体、强度和耐久性的人造石材。 9.混凝土用粗骨料的最大粒径的选用原则:质量相同的石子,粒径越大,总表面积越小,越节约水泥,故尽量选用大粒径石子。 10.和易性是一项综合技术性能,包括以下三方面的性质:流动性、黏聚性、保水性。 11.提高混凝土强度的措施: (1)采用高强度等级水泥或早强型水泥。 (2)采用低水胶比的干硬性混凝土。 (3)采用湿热处理——蒸汽养护和蒸压养护混凝土 (4)掺加混凝土外加剂(早强剂、减水剂)、掺合料(如硅粉、优质粉煤灰、超细磨矿渣等)。(5)采用机械搅拌和振捣。 12建筑砂浆按用途分为砌筑砂浆、抹面砂浆(如装饰砂浆、普通抹面砂浆、防水砂浆等)及特种砂浆(如绝热砂浆、耐酸砂浆等)。 13.建筑砂浆按胶结材料不同,可分为水泥砂浆、水泥混合砂浆、非水泥砂浆。 14.砂浆的和易性: . .

C语言循环知识点总结

循环 特点:在满足特定条件的情况下,反复执行某程序段。 While循环 While循环的格式是这样的:while(条件表达式){语句代码},意思是满足括号内的条件时,执行花括号内的语句代码。或者更专业一点来说,当括号内的条件表达式返回值为真时,执行花括号内的代码,一直到条件表达式的返回值为假时,跳出循环。 While循环很容易出现死循环这种状况,就是因为忘记写了“增量”这个东西。 上面的代码就是少了count++,这个增量,所以,条件表达式一直满足,就一直执行,就造成了死循环。 此时,应该这样改进:

一些例子:

Do-while循环 与while不同的只有一个地方,就是先执行一遍代码,再进行判断。也就是说,不管你while的条件表达式成不成立,返回值为不为假,我都执行一遍循环体的代码。 随机数arc4random() 产生随机数的方法,arc4random()可以产生int范围内的任意一个随机数,包括有正数和负数,为什么会出现负数呢?因为,在存储的时候,生成的数的最高位的数字为1,此时,会认为这个1是符号位的负,因此会出现负数。这时,我们应该把这些情况避免掉,在输出之前,用unsigned 来定义一个变量来接收产出的随机数;在输出的过程中,占位符不再用%d,而是用%u来代替。 另一个值得注意的是,随机数产生的时候,数字会很大,而我们在代码过程中,

不需要这么大的数,此时,想要把这个数减小,可以用取余的办法来限制。 在产生一个随机数的时候,可以让它在固定的区间内产生,那么就会用到这个公式: 若是规定在负空间生成随机数,那么就将公式改成: 一些例子:

C语言知识点总结【完美版】

C语言最重要的知识点 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。 C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)(程序编辑-程序编译-程序连接-程序运行) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字(保留字)、预定义标识符、用户定义标识符。关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。(关键字都是小写) 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

上海理工大学 c语言复习卷以及答案

参考解答 一、单选题 1. 以下C程序中预处理命令写法正确的是: D 。[知识点:编译预处理命令] A. #include “studio.h” B. #include [stdio.h] C. #include {stdio.h} D. #include “stdio.h” 2.执行下列语句序列后,不可能出现的运行结果是___ C ____。[知识点:开关语句] int n; scanf( "%d", &n); switch ( n ) { case 1: case 2: putchar('X'); case 3: case 4: putchar('Y'); break; default: putchar('Z'); A. 显示:z B. 显示:xy C. 显示:x D. 显示:y 3.设a,b为整型变量, 且二者均不为0, 以下关系表达式中恒成立的是___ C ___。[知识点:运算与数据类型] A. a/b*b/a==1 B. a/b*b==a C. a*b/a==b D. a*b/ a*b ==1 4.设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___B____。[知识点:if语句] if ( x>y ) z=x; x=y; y=z; printf("%d,%d,%d",x, y, z ); A. 20,30,20 B. 20,30,30 C. 20,30,10 D. 10,20,30 5.下列程序的输出结果是__ B ____。[知识点:整型常量的表示和自增运算] main() { int a = 011; printf( "%d\n", ++a ); } A. 9

C语言基础知识归纳

C语言基础知识 1.每个C程序有且只有一个主函数main(),且程序必须从main() 函数开始执行,并在main()函数中结束。 2.在C语言中,用e来表示科学计数法时,规定在e的前面必 须有数字,后面必须为整数。 3.用单引号括起来的一个字符常量只能存放一个字符;C语言中 没有字符串变量,只能用字符数组来存储字符串。 4.外部变量在编译时由系统分配永久的内存空间,所以外部变 量的类型不是自动存储类别。 5.在一个函数内的复合语句中定义的变量,只能在这个复合语 句范围内有效。 6.用sizeof(int)计算int类型数据的字节数。 7.C语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8.预处理命令行的位置没有规定,只是习惯放在前面;在源文 件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9.feof函数的作用是检查文件是否结束,当结束时返回的 值为非零,否则为零。

10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数 组名。 11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在 求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12.静态局部变量,只有当程序结束后,其值才释放。 13.当调用函数时,实参是一个数组名,则向函数传送的是数组 每一个元素的地址。 14.算法的特点为有零个或多个输入,有一个或多个输出,当相 同的输入时,其结果相同;算法正确的程序最终一定会结束。 15.在C语言中,预处理命令行都以“#”开头;当需要时才用 #include;预处理的作用就是实现宏定义和条件编译。 16.当数组元素的下标超出了定义的下标范围时,系统不给出“下 标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17.共用体变量不能作为函数的参数,也不能使函数带回共用体 变量。 18.指向函数的指针变量的定义形式为:数据类型(*指针变量) ();,因此其为指向函数的指针变量。 19.用C语言编写的代码程序是源程序,只有通过编译、连接才 能进行。 20.在说明为static时,其生存期得到延长,而其作用域并没有改

苏科大 C语言知识整理

五、思考与实践 一.在()里填写正确答案。 1. 一个C语言编写的程序总是从(main函数)开始执行。 2. 在C语言程序中,用关键字(int )定义基本整型变量,用关键字(float)定义单精度实型变量,用关键字(double)定义双精度实型变量。 3. 通常一个字节包含(8)个二进制位。在一个字节中存放的最大(十进制)整数是(127),最小(十进制)整数是(-128)。 4. 在C语言中,注释部分两侧的分界符号分别为(/*)和(*/)。 5. 用字符串的形式表示China(“China”) 6. 字符串“ab\034\\\x79”的长度为(5)。 7. 若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为(1) 8. 若a,b,c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a,b,c的值分别为(6)(4)(2)。 9. 若有定义int x=3, y=2; float a=2.5, b=3.5;则表达式 (x+y)%2+(int)a/(int)b的值为(1)。 10. 若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后的值为(0)。 11. 假设所有变量的类型均为整型,则表达式 (a=2,b=5,a++,b++,a+b)的值为(9)。 12. 以下所有变量的类型均为整型,则sum=pad=5; pad=sum++, pad++, ++pad; 后,pad的值为(7)。 13. 已知int a,b=1; 执行语句a=-b++;后a的值为(-1)。 14. 已知int m=5, y=2; 则执行y+=y-=m*=y后y 的值为(16)。 15. 表达式8.0*(1/2)的值为(0.0)。 二.下列程序完成交换两个变量的功能,请填空。 #include void main() {int x,y; x=10;y=15; printf("before swap:x=%d,y=%d\n",x,y); x+=y ;y=x-y ; x=x-y ; printf("after swap:x=%d,y=%d\n",x,y); } 注意:在填写程序中不可修改其它行的程序,包括增加变量定义等。 四、思考与实践 1 在C语言中,关系运算符有() 2 在C语言中,当表达式值为()时表示“假”,当表达式值为()时表示“真”。 3 逻辑运算符优先级从高到低:() 4 计算下面表达式的值。设a=1,b=2,c=3。(设每小题开始时a,b,c均为此值) (1)a = a!=b?b:c (2)a>b?b+1:c+1 (3)(a=4) ? a--:b-- 5 写出满足下面条件的关系或逻辑表达式。 (1)a在区间(3,10)内。 (2)x是3的倍数。 (3)x和y的和大于100且x大于45。 (4)a等于c或b不等于0 (5)a是小写字母 6 计算下面逻辑表达式的值。设a=0,b=1,c=2,d=4。(设每小题开始时a,b,c,d均为此值) (1)a>=b (2)c-b==a (3)c!=d-b (4)b>a && c>b (5)a && d-c (6)!a && b>c (7)(b>a) || cd (10)(a||b) && cd 五、思考与实践 填空题:(每空2分) 1. C语言中的语句可分为5类,即(控制语句)、(函数调