当前位置:文档之家› C语言考试重点(考前必看,吃透必过)

C语言考试重点(考前必看,吃透必过)

C语言考试重点(考前必看,吃透必过)
C语言考试重点(考前必看,吃透必过)

C语言最重要的知识点

总体上必须清楚的:

1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。

2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.

4)bit是位是指为0 或者1。 byte是指字节, 一个字节 = 八个位.

概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。

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、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。

b、C语言中的十六进制规定要以0x开头。

2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。

1.0在C语言中可写成1.

0.1在C语言中可以写成.1。

3)实型数据的合法形式:

a、2.333e-1 就是合法的,且数据是2.333×10-1。

b、考试口诀:e前e后必有数,e后必为整数。请结合书上的例子。

4)整型一般是4个字节, 字符型是1个字节,双精度一般是8个字节:long int x; 表示x是长整型。

unsigned int x; 表示x是无符号整型。

第六、七节:算术表达式和赋值表达式

核心:表达式一定有数值!

1、算术表达式:+,-,*,/,%

考试一定要注意:?/?两边都是整型的话,结果就是一个整型。 3/2的结果就是1.

?/?如果有一边是小数,那么结果就是小数。 3/2.0的结果就是1.5

?%?符号请一定要注意是余数,考试最容易算成了除号。)%

符号两边要求是整数。不是整数就错了。[注

意!!!]

2、赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

1、int x=y=10: 错啦,定义时,不可以连续赋值。

2、int x,y;

x=y=10; 对滴,定义完成后,可以连续赋值。

3、赋值的左边只能是一个变量。

4、int x=7.7;对滴,x就是7

5、float y=7;对滴,y就是7.0

3、复合的赋值表达式:

int a=2;

a*=2+3;运行完成后,a的值是12。

一定要注意,首先要在2+3的上面打上括号。变成(2+3)再运算。

4、自加表达式:

自加、自减表达式:假设a=5,++a(是为6), a++(为5);

运行的机理:++a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,

再放到变量a中。进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。

考试口诀:++在前先加后用,++在后先用后加。

5、逗号表达式:

优先级别最低。表达式的数值逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

z=(2,3,4)(整个是赋值表达式) 这个时候z的值为4。(有点难度哦!)

z= 2,3,4(整个是逗号表达式)这个时候z的值为2。

补充:

1、空语句不可以随意执行,会导致逻辑错误。

2、注释是最近几年考试的重点,注释不是C语言,不占运行时间,没有分号。不可以嵌套!

3、强制类型转换:

一定是(int)a不是 int(a),注意类型上一定有括号的。

注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a 转型再加b。

4、三种取整丢小数的情况:

1、int a =1.6;

2、(int)a;

3、1/2; 3/2;

第八节、字符

1)字符数据的合法形式::

'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

一般考试表示单个字符错误的形式:'65' "1"

字符是可以进行算术运算的,记住:'0'-0=48

大写字母和小写字母转换的方法:'A'+32='a' 相互之间一般是相差32。

2)转义字符:

转义字符分为一般转义字符、八进制转义字符、十六进

制转义字符。

一般转义字符:背诵\0、 \n、 \’、 \?、 \\。

八进制转义字符:‘\141’是合法的,前导的0是不能写的。

十六进制转义字符:’\x6d’才是合法的,前导的0不能写,并且x是小写。

3、字符型和整数是近亲:两个具有很大的相似之处

char a = 65 ;

printf(?%c?, a); 得到的输出结果:a

printf(?%d?, a); 得到的输出结果:65

第九章、位运算

1)位运算的考查:会有一到二题考试题目。

总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。

例1:char a = 6, b;

b = a<<2; 这种题目的计算是先要把a的十进制6化成二进制,再做位运算。

例2:一定要记住,异或的位运算符号? ^ ?。0 异或 1得到1。

0 异或 0得到0。两个女的生不出来。

考试记忆方法:一男(1)一女(0)才可以生个小孩(1)。

例3:在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。

第二章

第一节:数据输出(一)(二)

1、使用printf和scanf函数时,要在最前面加上#include?stdio.h?

2、print f可以只有一个参数,也可以有两个参数。(选择题考过一次)

3、printf(?第一部分?,第二部分);把第二部分的变量、表达式、常量以第一部分的形式展现出来!

4、printf(?a=%d,b=%d?,12, 34)考试重点!

一定要记住是将12和34以第一部分的形式现在在终端也就是黑色的屏幕上。考试核心为:一模一样。在黑色屏幕上面显示为 a=12,b=34

printf(?a=%d,\n b=%d?,12, 34)那么输出的结果就是:a=12,

b=34

5、int x=017;一定要弄清楚为什么是这个结果!过程很重要

printf(?%d?, x);15

printf(?%o?, x);17

printf(?%#o?,x);017

printf(?%x?, x);11

printf(?%#x?,x);0x11

6、int x=12,y=34;注意这种题型

char z=‘a’;

printf(?%d ?,x,y);一个格式说明,两个输出变量,后面的y不输出

printf(?%c?,z);结果为:12a

7

printf(?%2d?,123 );第二部分有三位,大于指定的两位,原样输出123 printf(?%5d?,123 );第二部分有三位,小于指定的五位,左边补两个空格 123

printf(?%10f?,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?,&a,&b)考试超级重点!

一定要记住是以第一部分的格式在终端输入数据。考试核心为:一模一样。

在黑色屏幕上面输入的为a=12,b=34才可以把12和34正确给a和b 。有一点不同也不行。

2、scanf(?%d,%d?,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!

scanf(?%d,%d?,&x,&y);注意写成这样才可以!

3、特别注意指针在scanf的考察

例如: int x=2;int *p=&x;

scanf(?%d?,x);错误 scanf(?%d?,p);正确

scanf(?%d?,&p);错误 scanf(?%d?,*p)错误

4、指定输入的长度(考试重点)

终端输入:1234567

scanf(?%2d%4d%d?,&x,&y,&z);x为12,y为3456,z为7

终端输入:1 234567 由于1和2中间有空格,所以只有1位给x

scanf(?%2d%4d%d?,&x,&y,&z);x为1,y为2345,z为67

5、字符和整型是近亲:

int x=97;

printf(?%d?,x);结果为97

printf(?%c?,x);结果为 a

6、输入时候字符和整数的区别(考试超级重点)

scanf(?%d?,&x);这个时候输入1,特别注意表示的是整数1

scanf(?%c?,&x);这个时候输入1,特别注意表示的是字符‘1’ASCII为整数48。

补充说明:

1)scanf函数的格式考察:

注意该函数的第二个部分是&a这样的地址,不是a;

scanf(?%d%d%*d%d?,&a,&b,&c); 跳过输入的第三个数据。

2)putchar ,getchar 函数的考查:

char a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。

putchar(‘y’)把字符y输出到屏幕中。

3)如何实现两个变量x ,y中数值的互换(要求背下来)

不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。

4)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)

y=(int)(x*100+0.5)/100.0 这个保留两位,对第三位四舍五入 y=(int)(x*1000+0.5)/1000.0 这个保留三位,对第四位四舍五入y=(int)(x*10000+0.5)/10000.0 这个保留四位,对第五位四舍五入

这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。

第三章

特别要注意:C

C语言有构造类型,没有逻辑类型。

关系运算符号:注意<=的写法,==和=的区别!(考试重点)

if只管后面一个语句,要管多个,请用大括号!

1)关系表达式:

a、表达式的数值只能为1(表示为真),或0(表示假)。

如 9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1。

如 7<6这个关系表达式是假的,所以7<6这个表达式的数值就是0

b、考试最容易错的:就是int x=1,y=0,z=2;

x

发肯定是

错的,但是如果是C语言那么就是正确的!因为要1<0为假得到0,表达式

就变成

了0<2那么运算结果就是1,称为了真的了!

c、等号和赋值的区别!一定记住?=?就是赋值,?= =?才是等

号。虽然很多人可以背诵,但我依然要大家一定好好记住,否则,做错了,我一定会强烈的鄙视你!

2)逻辑表达式:

核心:表达式的数值只能为1(表示为真),或0(表示假)。

a)共有&& || !三种逻辑运算符号。

b)!>&&>|| 优先的级别。

c)注意短路现象。考试比较喜欢考到。详细请见书上例子,一定要会做例1

和例2

d)表示 x 小于0大于10的方法。

0

3)if 语句

a、else 是与最接近的if且没有else的语句匹配。

b、交换的程序写法:t=x;x=y;y=t;

c、if(a

if(a

d、单独的if语句:if(a

t=a;

标准的if语句:if(a

min=a;

else min=b;

嵌套的if语句:if(a

if(b>c)printf(?ok!?);

多选一的if语句if(a= =t)printf(?a?);

else if(b= =t)printf(?b?);

else if(c= =t)printf(?c?);

else pritnf(?d?);

通过习题,要熟悉以上几种if语句!

经典考题:结合上面四种if语句题型做题,答错了,请自行了断!预备,开始!

int a=1,b=0;

if(!a)b++;

else if(a= =0)

if(a)b+=2;

else b+=3;请问b的值是多少?

如果没有看懂题目,你千万不要自行了断,这样看得懂不会做的人才会有理由的活着。

正确的是b为3。

int a=1,b=0;

if(!a)b++;是假的不执行

else if(a= =0)是假的执行

if(a)b+=2;属于else if的嵌套if语句,不执行。

else b+=3; if-else-if语句没有一个正确的,就执行else的语句!4)条件表达式:

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

a、考试口诀:真前假后。

b、注意是当表达式1的数值是非0时,才采用表达式2的数值做为整个运算结

果,当表达式1的数值为0时,就用表达式3的数值做为整个的结果。

c、int a=1,b=2,c=3,d=4,e=5;

k=a>b?c:d>e?d:e;求k的数值时多少?答案为san

5)switch语句:

a) 执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂!

b)注意有break 和没有break的差别,书上的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。break在C语言中就是分手,一刀两断的意思。

c) switch只可以和break一起用,不可以和continue用。

d) switch(x) x:是整型常量,字符型常量,枚举型数据。

…. 不可以是变量。

case 2: ….

}

e)switch是必考题型,请大家一定要完成书上的课后的switch的习题。

第四章

1)三种循环结构:

a)for(); while(); do- while()三种。

b)for循环当中必须是两个分号,千万不要忘记。

c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。

d) do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错),do-while循环是至少执行一次循环。

2) break 和continue的差别

记忆方法:

break:是打破的意思,(破了整个循环)所以看见break就退出整个一层循环。

continue:是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。3)嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。

4) while((c=getchar())!=’\n’)和

while(c=getchar() !=’\n’)的差别

先看a = 3 != 2 和(a=3)!=2 的区别:

(!=号的级别高于=号所以第一个先计算 3!=2)第一个a的数值是得到的

1;第二个a的数值是3。

考试注意点:括号在这里的重要性。

5)每行输出五个的写法:

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

{ printf(?%d?,i);

if((i+1)%5==0)printf(?\n?); 如果i是从1开始的话,就是

if(i%5==0)printf(?\n?);

}

6)如何整除一个数: i%5==0表示整除5

I%2==0表示整除2,同时表示是偶数!

7)输入123,输出321逆序输出数据

int i=123;

while(i!=0)

{

printf(?%d?

i=i/10;}

8)for只管后面一个语句:

int i=3;

for(i=3;i<6;i++):

printf(?#?):请问最终打印几个#号?答案为一个!

9)不停的输入,直到输入# 停止输入!不停的输入,直到输入$停止输入!

while( (x=getchar())!=’# ’) while( (x=getchar())!=’ $ ’ )

不停的输入,直到遇到?停止输入!

while( (x=getchar())!=’ ? ’) 解说:一定要注意这种给出了条件,然

后如何去写的方法!

10)for循环和switch语句的和在一起考题!

11)多次出现的考题:

int k=1 int k=1;

while(- -k); while(k- -);

printf(?%d?,k); printf(?%d?,k);

结果为0 结果为-1

第五章

1、函数:是具有一定功能的一个程序块,是C语言的基本组成单位。

2、函数不可以嵌套定义。但是可以嵌套调用。

3、函数名缺省返回值类型,默认为 int。

4、C语言由函数组成,但有且仅有一个main函数!是程序运行的开始!

5、如何判断a是否为质数:背诵这个程序!

void iszhishu( int a )

{ for(i=2;i

if(a%i==0) printf(?不是质数?);

printf(?是质数!?); }

6、如何求阶层:n! 背诵这个程序!

int fun(int n)

{ int p=1;

for(i=1;i<=n;i++) p=p*i;

return p;

}

7、函数的参数可以是常量,变量,表达式,甚至是函数调用。

add (int x ,int y ){return x+y ;}

main ()

{ int sum ;

sum=add (add (7,8),9);请问sum 的结果是多少? 结果为24

}

8、 函数的参数,返回数值(示意图):

9、一定要注意参数之间的传递

实参和形参之间

(考试的重点)

传数值的话,形参的变化不会改变实参的变化。

传地址的话,形参的变化就会有可能改变实参的变化。

10、函数声明的考查:

一定要有:函数名,函数的返回类型,函数的参数类型。不一定要有:形参的

名称。

填空题也可能会考到!以下是终极难度的考题。打横线是函数声明怎么写!

int *fun (int a[] , int b[])

{

…………..

}已经知道函数是这样。这个函数的正确的函数声明怎么写?

int *fun(int *a , int *b)这里是函数声明的写法,注意数组就是指针

int *fun(int a[] , int b[])这种写法也是正确的

int *fun(int b[] , int c[])这种写法也是正确的,参数的名称可以随便写

int *fun(int * , int *)这种写法也是正确的,参数的名称可以不写

11、要求掌握的库函数:

a、库函数是已经写好了函数,放在仓库中,我们只需要如何去使用就可以了!

b、以下这些库函数经常考到,所以要背诵下来。

abs()、 sqrt()、fabs()、pow()、sin() 其中pow(a,b)是重点。23是由pow(2,3)表示的。

第六章

指针变量的本质是用来放地址,而一般的变量是放数值的。

1、int *p 中 *p和p的差别:简单说*p是数值,p是地址!

*p

p是当作地址来使用。可以用在scanf函数中:scanf(?%d?,p);

2、*p++ 和(*p)++

*p++是地址会变化。口诀:取当前值,然后再移动地址!

(*p)++ 是数值会要变化。口诀:取当前值,然后再使数值增加1。

例题:int *p,a[]={1,3,5,7,9};

p=a;

请问*p++和(*p)++的数值分别为多少?

*p++:这个本身的数值为1。由于是地址会增加一,所以指针指向数值3了。

(*p)++ 这个本身的数值为1。由于有个++表示数值会增加,指针不移动,但数值1由于自加了一次变成了2。

3、二级指针:

*p:一级指针:存放变量的地址。

**q:二级指针:存放一级指针的地址。

常考题目: int x=7;

int*p=&x,**q=p;

问你:*p为多少?*q为多少?**q为多少?

7 p 7

再问你:**q=&x的写法可以吗?

不可以,因为二级指针只能存放一级指针的地址。

4、三名主义:(考试的重点)

函数名:表示该函数的入口地址。

字符串常量名:表示第一个字符的地址。

5、移动指针(经常加入到考试中其他题目综合考试)

char *s=?meikanshu?

while(*s){printf(?%c?,*s);s++;}

这个s首先会指向第一个字母m然后通过循环会一次打印出一个字符,s++是地址移动,打印了一个字母后,就会移动到下一个字母!

6、指针变量两种初始化(一定要看懂)

方法一:int a=2,*p=&a;(定义的同时初始化)

方法二:int a=2,*p; (定义之后初始化)

p=&a;

7、传数值和传地址(每年必考好多题目)

void fun(int a,int b) void fun(int *a,int *b){ int t ; { int t ;

t=a;a=b;b=t; t=*a;*a=*b;*b=t;} }

main() main()

{ int x=1,y=3, { int x=1,y=3,

fun(x,y); fun(&x,&y)

printf(?%d,%d?,x,y); printf(?%d,%d?,x,y);} }

这个题目答案是1和3。这个题目的答案就是3和1。传数值,fun是用变量接受,所以fun中传地址,fun用指针接受!这个时

候fun

的交换不会影响到main中的x和y 。中的交换,就会影响到main中的x

和y。

传数值,形参的变化不会影响实参。传地址形参的变化绝大多数会影响到实参!

8、函数返回值是地址,一定注意这个*号(上机考试重点)

int *fun(int *a,int *b)可以发现函数前面有个*,这个就说明函数运算结果是地址

{ if(*a>*b)return a; return a 可以知道返回的是a地址。

else return b;

}

main()

{ int x=7,y=8,*max;

max = fun(&x,&y);由于fun(&x,&y)的运算结果是地址,所以用max 来接收。

printf(?%d,%d?,)

}

9、考试重要的话语:

指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p的地方都可以用它等价的代替。例如:int a=2,*p=&a;

*p=*p+2;

(由于*p指向变量a,所以指向哪个就等价哪个,这里*p等价于a,可以相当于是a=a+2)

第七章

数组:存放的类型是一致的。多个数组元素的地址是连续的。

1、一维数组的初始化:

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

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

int a[]={1,2,3,4,5}; 合法,常考,后面决定前面的大小!

int a[5]={1,2,3,4,5,6};不合法,赋值的个数多余数组的个数了

2、一维数组的定义;

int a[5];注意这个地方有一个重要考点,定义时数组的个数不是变量一定是常量。int a[5] 合法,最正常的数组

int a[1+1] 合法,个数是常量2,是个算术表达式

int a[1/2+4] 合法,同样是算术表达式

int x=5,int a[x]; 不合法,因为个数是x,是个变量,非法的,define P 5 int a[P] 合法,define 后的的P是符号常量,只是长得像变量

3、二维数组的初始化

int a[2][3]={1,2,3,4,5,6}; 合法,很标准的二维的赋值。

int a[2][3]={1,2,3,4,5, }; 合法,后面一个默认为0。

int a[2][3]={{1,2,3,} {4,5,6}}; 合法,每行三个。

int a[2][3]={{1,2,}{3,4,5}}; 合法,第一行最后一个默认为0。int a[2][3]={1,2,3,4,5,6,7}; 不合法,赋值的个数多余数组的个数了。

int a[][3]={1,2,3,4,5,6}; 不合法,不可以缺省行的个数。

int a[2][]={1,2,3,4,5,6}; 合法,可以缺省列的个数。

补充:

1)一维数组的重要概念:

对a[10]这个数组的讨论。

1、a表示数组名,是第一个元素的地址,也就是元素a[0]的地址。(等价于&a)2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。

对a[3][3]的讨论。

1、a表示数组名,是第一个元素的地址,也就是元素a[0][0]的地址。

2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。

2) 二维数组做题目的技巧:

如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。

步骤一:把他们写成:第一列第二列第三列

a[0]→ 1 2 3 ->第一行

a[1]→ 4 5 6 —>第二行

a[2]→ 7 8 9 ->第三行

步骤二:这样作题目间很简单:

*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是1。

*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,所以是6。

一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。

3) 数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写

int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。但int a[4][]={2,3,4}非法。

4) 二维数组中的行指针

int a[1][2];

其中a现在就是一个行指针,a+1跳一行数组元素。

a[0],a[1]现在就是一个列指针。a[0]+1

5) 还有记住脱衣服法则:超级无敌重要

a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再可以变成 *(*(a+2)+3)

这个思想很重要!

其它考试重点

文件的复习方法:

把上课时候讲的文件这一章的题目要做一遍,一定要做,基本上考试的都会在练习当中。

1)字符串的 strlen() 和 strcat()和strcmp()和strcpy()的使用方法一定要记住。他们的参数都是地址。其中strcat()和strcmp()有两个参数。

2)strlen 和 sizeof的区别也是考试的重点;

3)define f(x)(x*x)和 define f(x) x*x 之间的差别。一定要好好的注意这写容易错的地方,替换的时候有括号和没有括号是很大的区别。

4)int *p;

p = (int *)malloc(4);

p = (int *)malloc(sizeof(int));以上两个等价

当心填空题目,malloc的返回类型是 void *

6)函数的递归调用一定要记得有结束的条件,并且要会算简单的递归题目。要会作递归的题目

7)结构体和共用体以及链表要掌握最简单的。typedef考的很多,而且一定要知道如何引用结构体中的各个变量,链表中如何填加和删除节点,以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。

8)函数指针的用法(*f)()记住一个例子:

int add(int x, int y)

{....}

main()

{ int (*f)();

f=add;

}

赋值之后:合法的调用形式为1、add(2,3);

2、f(2,3);

3、(*f)(2,3)

9)两种重要的数组长度:

char a[]={‘a’,’b’,’c’};数组长度为3,字符串长度不定。sizeof(a)为3。

char a[5]={ ‘a’,’b’,’c’} 数组长度为5,字符串长度3。sizeof(a)为5。

10)scanf 和gets的数据:

如果输入的是good good study!

那么scanf(?%s?,a); 只会接收good. 考点:不可以接收空格。

gets(a); 会接收good good study! 考点:可以接收空格。

11)共用体的考查:

union TT

{ int a;

char ch[2];}

考点一:sizeof (struct TT) = 4;

12)?文件包含?的考查点:

no1.c no2.c

这里一个C 语言程序是有两个文件组成,分别是no1.c , no2.c 。那么no1.c 中最开始有个#include ?no2.c ?他表示把第二个文件的内容给包含过来,那么no1.c 中调用add()函数的时候就可以了把数值传到no2.c 中的被调用函数add()了。

一个文件必须要有main 函数。 这句话错了。 例如:no2.c 就没有。 头文件一定是以.h 结束的。 这句话错了。例如:no1.c 中就是#include ?no2.c ?以.c 结尾的。

13)指针迷惑的考点:

char ch[]=?iamhandsome ?;

char *p=ch;

问你 *(p+2) 和 *p+2的结果是多少?

‘m ’ ‘k ’ 结果是这两个,想不通的同学请作死的想!想通为止!

14)数组中放数组一定要看懂:

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

int b[5]={0};

b[a[3]]++ 这个写法要看懂,结果要知道是什么?b[4]++,本身是0,运行完后,b[4]为1了。

15)字符串的赋值

C 语言中没有字符串变量,所以用数组和指针存放字符串:

1、char ch[10]={?abcdefgh ?}; 对

2、char ch[10]=?abcdefgh ?; 对

3、char ch[10]={‘a ’,’b ’,’c ’,’d ’,’e ’,’f ’,’g ’,’h ’}; 对

4、char *p=?abcdefgh ?; 对

5、char *p; 对

p=?abcdefgh ?;

6、char ch[10]; 错了!数组名不可以赋值! ch=?abcdefgh ?;

7、char *p={?abcdefgh ?}; 错了!不能够出现大括号!

16)字符串赋值的函数背诵:一定要背诵,当心笔试填空题目。

把s 指针中的字符串复制到t 指针中的方法

1、while ( (*t=*s )!=null ){s++;t++;} 完整版本

2、while ( *t=*s ){s++;t++;} 简单版本

3、

while ( *t++=*s++); 高级版本

17)typedef 是取别名,不会产生新的类型,他同时也是关键字考点一:typedef int qq 那么 int x 就可以写成 qq x 考点二:typedef int *qq 那么 int *x就可以写成 qq x 18)static 考点是一定会考的!复习相关的习题。

static int x;默认值为0。

int x:默认值为不定值。

19)函数的递归调用一定会考!至少是2分。

工程地质与土力学期末考复习提纲

选择题 1.下面不属于矿物物理性质的是() A.光泽 B.颜色 C.软化性D.硬度 2.下列构造中,属于岩浆岩构造的是() A.片麻状构造B.层面构造 C.流纹状构造D.板状构造 3.表示岩层在空间倾斜角大小的是() A.走向B.倾角 C.倾向D.走向角 4.用以衡量土透水性大小的指标是() A.水力梯度B.相对密实度 C.动水力D.渗透系数 5.按照摩氏硬度等级比较,下列四种矿物中硬度最小的是()A.石英B.正长石 C.方解石D.萤石 6.按冷凝成岩的地质环境的不同,岩浆岩可分为深成岩、浅成岩和()A.白云岩B.喷出岩 C.大理岩D.火山角砾岩 7.上盘沿断层面相对下滑,下盘沿断层面相对上升的断层称为 A.正断层 B.逆断层 C.平移断层 D.逆掩断层 8.下列属于沉积岩构造的是() A.片麻状构造B.层理构造 C.流纹状构造D.块状构造 9.上盘相对上移、下盘相对下移的断层是( ) A.正断层B.逆断层 C.平移断层D.走向断层 10.在岩浆岩中,常常具有杏仁状或气孔状构造的岩石类型是( ) A.深成岩B.浅成岩 C.喷出岩D.花岗斑岩 11.变质岩的分类首先考虑是( )。 A 矿物组成 B 构造特征 C 结构特征 D 化学成分 12.下列哪种构造不是沉积岩构造()。 A 层理构造B块状构造 C 片理构造 D 层面构造 13.土的天然容重是通过()试验测定。 A环刀法B比重瓶法C比重计法D烘干法 14.若某砂土的天然孔隙比与其所能达到的最大孔隙比相等,则该土()。 A 处于最密实的状态B处于最松散的状态 C处于中等密实的状态D相对密实度Dr=1 15.粘性土的天然含水量增大时,随之增大的是()。 A 塑限 B 液限 C 塑性指数 D 液性指数 16.标准贯入锤击数越大,土的孔隙比()。 A 越大B越小C不变D不能确定 17.对无粘性土的工程性质影响最大的因素是()。 A含水量 B 密实度C矿物成分 D 颗粒的均匀程度 18.土的重度(或密度)是通过()试验测定。 A 环刀法 B 比重瓶法C比重计法 D 烘干法

计算机c语言二级考试复习资料

第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

土力学知识点 期末总复习

1、 被誉为现代土力学之父的是太沙基。 1773年,Coulomb 向法兰西科学院提交了论文“最大最小原理在某些与建筑有关的静力 学问题中的应用”,文中研究了土的抗剪强度,并提出了土的抗剪强度准则(即库仑定 律),还对挡土结构上的土压力的确定进行了系统研究,首次提出了主动土压力和被动 土压力的概念及其计算方法(即库仑土压理论)。该文在3年后的1776年由科学院刊出, 被认为是古典土力学的基础,他因此也称为“土力学之始祖”。 2、 土是由固相、液相、气相组成的三相分散系。 3、 干土是固体颗粒和空气二相组成,饱和土是固体颗粒和水二相组成。 4、 土的颗粒分析方法有筛析法和水分法。不同类型的土,采用不同的分析方法测定粒度成 分:筛析法适用于粒径大于0.075mm 的土,水分法适用于粒径小于0.075mm 的土。 5、 土中各种粒组的重量占该土总重量的百分数,称为土粒的级配。土粒级配常用土粒粒径 分布曲线(又称为土的级配曲线或颗分曲线)表示。 6、 同时满足Cu ≧5,Cc=1~3 7、 一般认为Cu <5,称为均匀土;Cu ≥5,称为不均匀土,8、 曲率系数Cc 9、 粒径级配累积曲线及指标的用途: 1)粒组含量用于土的分类定名; 2)不均匀系数C u 用于判定土的不均匀程度: C u ≥ 5, 不均匀土; C u < 5, 均匀土; 3)曲率系数C c 用于判定土的连续程度: C c = 1 ~ 3, 级配连续土; C c > 3 或 C c < 1,级 配不连续土; 4)不均匀系数C u 和曲率系数C c 用于判定土的级配优劣:如果 C u ≥ 5且C c = 1 ~ 3 , 级配 良好的土;如果 C u < 5 或 C c > 3 或 C c < 1, 级配不良的土。 10、较大土颗粒的比表面积小,较小土颗粒的比表面积大。 11、石英、长石、云母为原生矿物;高岭石、伊利石和蒙脱石为次生矿物。 12、土中常见的黏土矿物有高岭石、伊利石和蒙脱石三大类。 13、结合水是指吸附于土粒表面成薄膜状的水。强结合水的密度大于1.0g/cm 3。一般弱结合 水膜越薄,土粒间距越小,引力越大,土粒之间的连接强度就越高。 14、通常认为自由气体与大气连通,对土的性质无大影响;密闭气体的体积与压力有关, 压力增加,则体积缩小,压力减小,则体积胀大。因此,密闭气体的存在增加了土的弹性, 同时还可阻塞土中的渗流通道,减小上的渗透性。 15、某湿土样重180g ,已知某含水量为18%,现需制备含水量为25%的土样,需加水多少? 16、某一原状土样,经试验测得的基本指标如下:密度ρ=1.75g/cm 3,含水率ω=15.5%,土粒 比重d s =2.70。试求土的孔隙比e 、孔隙率n 、饱和度S r 、干密度ρd 。 17、几种重度在数值上有如下关系: 18、土的构造指土层的层理、裂隙和大孔隙等宏观特征亦称宏观结构。土的结构指土颗粒或 集合体的大小和形状、表面特征、排列形式以及它们之间的连接特征(微观结构)。 19、测得某中砂的最大、最小及天然状态的孔隙比分别为0.89、0.63、0.75,其相应的相对 密实度为多少。 20、已知含水率ω=15.5%,密度ρ=1.75g/cm 3,土粒比重d s =2.70。把松散的风干砂放入击实 试验容器内(1000cm 3),击实后质量1710g ,松散时为1430g ,求D r 并判断土的密实度。 21、使粘土具有可塑性,抗剪强度减小,粘性土的一系列物理特性与弱结合水有关。我国目

C语言考试重点(考前必看,吃透必过)

C语言最重要的知识点 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 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。记住预定义标识符可以做为用户标识符。

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

土力学改良期末考试知识点

1.基底压力的分布影响因素:与荷载的大小和分布,基础的刚度,基础的埋置深度以及地基土的性质多种因素有关。基地压力分布规律的假设条件:刚性基础,埋置深度,弹性理论中圣维男原理 2.土中应力按起因分为:自重应力和附加应力。按土骨架和土中孔隙的分担作用分为有效应力和孔隙应力。 3.土的三个重要特点:散体性多相性自然变异性 4.土的结构:单粒结构蜂窝结构絮状结构 5. 土的粒度成分或颗粒级配分析:筛分法:粒径大于0.075mm的巨粒组和粗粒组,沉降分析法:粒径小于0.075mm的细粒组。 6.不均匀系数Cu=d60/d10 。Cu<5的土均粒土级配不良,Cu>10的土级配良好。(缓的级配好) 7.固定层和扩散层中所含阳离子与土里表面的负电荷的电位相反,故称为反离子,固定层和扩散层又合称为反离子层。扩散层水膜的厚度对黏性土的工程性质影响很大,扩散层厚度大土的塑形就大膨胀与收缩性也大。 8.三项比例指标:土粒相对密度d s土的含水量w 密度P由实验直接测定其数值。 9.塑性指数Ip=w l-w p’塑性指数越大土处于可塑状态的含水量范围越大。液性指数:黏性土的天然含水量和塑限的差值与塑性指数之比。 I L-=W-W P/W L-W P=W-W P/I P黏性土根据液性指数数值划分软硬状态。 10.土密度划分:孔隙比,相对密度Dr,砂土密实度按标准贯入击数N划分。 11.达西定律:层流条件下,土中水渗流速度与能量(水头)损失之间关系的渗流规律,q=kA I v=q/A=ki ,从实际平均流速V r大于V(假想平均流速)q单位渗水量i水力梯度k反映土的透水性的比例系数,称为土的渗流系数,单位cm/s 12.室内渗透:变水头法适用透水性小的黏土。常水头法适用于透水性大的砂类土。 13.单位土体内的渗流力J土粒对水流阻力T T=J=r w i 渗流力是一种体积力量纲与r w相同单位KN/M3 14.使土开始发生流砂现象时的水力梯度称为临界水力梯度i cr=r’/r w=(d s-1)(1-n) 15.土的固结试验可以测定土的压缩系数a,压缩模量E S 压缩指数c c,都有侧限条件 16.采用压力段p1=0.1MPa(开始接近直线)增加到p2=0.2MPa时压缩系数a1-2来评定土的压缩性:a1-2<0.1MPa-1时为低压缩性土,大于等于0.1小于0.5之间为中压缩性土,大于等于0.5时为高压缩性土。 17.超固结比OCR=Pc/p1 p c为先期固结压力kpa,正常固结土,超固结土和欠固结土的超固结比分别为OCR=1,OCR>1,OCR<1 18.地基固结(压密)度:是指地基土层在某一压力作用下,经历时间t产生的固结变形量与最终固结变形量之比值。 19.朗肯土压力条件:墙背光滑垂直填补表面水平。 20.浅基础的地基破坏模式:整体剪切破坏局部剪切破坏冲切剪切破坏。 21.地基承载力影响因素:基础埋深和宽度 22.土坡稳定:理论上土坡的稳定性与颇高无关当坡角与土的內摩擦角相等(β=ψ)时,稳定安全系数K=1 23.毕肖普条分法使用条件:考虑竖向力,忽略水平力

最新C语言考试复习题

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

D.语句的书写对程序的运行不起作用,因此可以随便写都可以 7.以下各标识符中,合法的用户标识符组为。 A.PAd,P#d,b-b,abc,_0123,ssiped B.cin,a10,CPP,float,del_word,signed C.void,max,hiy,,list,*jer D.a,temp,_isw,INT,keep,wind 8.字符串“\”E OF= -\61\””的长度是。 A.8 B.9 C.12 D.非法字符串9.数学式x sin在C程序中对应的不正确的表达式为。 A.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx)) C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x))) 10.下列是C语言的有效标识符? A._No1 B.No.1 C.12345 D.int 11.C语言中,表示一条语句结束的标号是 A.# B.; C.// D.} 12.每个C程序中都必须有且仅有一个 A.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是。 A.字符型B.整型C.实型D.数组 14.下列字符列中,可作为C语言程序自定义标识符是。 A.switch B.file C.break D.do 15.运算符+、<=、=、% 中,优先级最低的运算符是。 A.+ B.<= C.= D.% 16.下列字符列中,可以作为“字符串常量”的是。 A.ABC B.″xyz″ C.′uvw′ D.′a′ 17.设变量m,n,a,b,c,d均为0,执行(m = a= =b)||(n=c= =d)后,m,n的值是。 A.0,0 B.0,1 C.1,0 D.1,1 18.字符串"vm\x43\\\np\102q"的长度是。 A.8 B.10 C.17 D.16

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

土力学知识点总结

土力学知识点总结 1、土力学是利用力学一般原理,研究土的物理化学和力学性质及土体在荷载、水、温度等外界因素作用下工程性状的应用科学。 2、任何建筑都建造在一定的地层上。通常把支撑基础的土体或岩体成为地基(天然地基、人工地基)。 3、基础是将结构承受的各种作用传递到地基上的结构组成部分,一般应埋入地下一定深度,进入较好的地基。 4、地基和基础设计必须满足的三个基本条件:①作用与地基上的荷载效应不得超过地基容许承载力或地基承载力特征值;②基础沉降不得超过地基变形容许值;③挡土墙、边坡以及地基基础保证具有足够防止失稳破坏的安全储备。 5、地基和基础是建筑物的根本,统称为基础工程。 6、土是连续、坚固的岩石在风化作用下形成的大小悬殊的颗粒、经过不同的搬运方式,在各种自然坏境中生成的沉积物。 7、土的三相组成:固相(固体颗粒)、液相(水)、气相(气体)。 8、土的矿物成分:原生矿物、次生矿物。 9、黏土矿物是一种复合的铝—硅酸盐晶体。可分为:蒙脱石、伊利石和高岭石。

10、土力的大小称为粒度。工程上常把大小、性质相近的土粒合并为一组,称为粒组。划分粒组的分界尺寸称为界限粒径。土粒粒组分为巨粒、粗粒和细粒。 11、土中所含各粒组的相对含量,以土粒总重的百分数表示,称为土的颗粒级配。级配曲线的纵坐标表示小于某土粒的累计质量百分比,横坐标则是用对数值表示土的粒径。 12、颗粒分析实验:筛分法和沉降分析法。 13、土中水按存在形态分为液态水、固态水和气态水。固态水又称矿物内部结晶水或内部结合水。液态水分为结合水和自由水。自由水分为重力水和毛细水。 14、重力水是存在于地下水位以下、土颗粒电分子引力范围以外的水,因为在本身重力作用下运动,故称为重力水。 15、毛细水是受到水与空气交界面处表面张力的作用、存在于地下水位以下的透水层中自由水。土的毛细现象是指土中水在表面张力作用下,沿着细的孔隙向上及向其他方向移动的现象。 16、影响冻胀的因素:土的因素、水的因素、温度的因素。 17、土的结构是指土颗粒或集合体的大小和形状、表面特征、排列形式及他们之间的连接特征,而构造是指土层的层理、裂隙和大孔隙等宏观特征,亦称宏观结构。 18、结构的类型:单粒结构、蜂窝结构、絮凝结构。

C语言复习

2. 下列可用于C语言用户标识符的一组是 A)void, define, WORD B)a3_b3, _123,Car C)For, -abc, IF Case D)2a, DO, sizeof 3. 若有说明语句:char c='\72';则变量c A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 4. 有字符串如下,"\n\\as1xabc",则字符串的长度为 A)8 B)9 C)10 D)11 5. C语言中运算对象必须是整型的运算符是 A)%= B)/ C)= D)<= 6. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b 7. 若变量a,i已正确定义,且i已正确赋值,合法的语句是 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 8. 若有定义:int a=7; float x=2.5,y=4.7; , 则表达式x+a%3*(int)(x+y)%2/4的值是 A)2.500000 B)2.750000 C)3.500000 D)0.000000 9. 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为 A)2 B)3 C)4 D)5 10. 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为 A)int B)float C)double D)不确定 11. 设有int x=11;则表达式(x++*1/3)的值是 A)3 B)4 C)11 D)12 12. 以下程序的输出结果是 void main() { int a=21,b=11; printf("%d\n",- -a+b,- -b+a); } A)30 B)31 C)32 D)33 13. 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为 A)36 B)0 C)-24 D)-60 14. 在内存中,存储字符′x′要占用1个字节,存储字符串″X″要占用个字节

土力学知识点总结归纳

不均匀系数:反映土颗粒粒径分布均匀性的系数定义为限制粒径d60与有效粒径d10之比 塑限:可塑状态与半固体状态间的分界含水量称为塑限。 液限:指粘性土从流塑状态过度到可塑状态时的界限含水量。 基底压力:建筑物荷载由基础传递给地基,基础底面传递给地基表面的压力。 基底附加应力:由于建筑物产生的基底压力与基础底面处原来的自重应力之差 称为附加应力,也就是在原有的自重应力的基础上新增的应力。 渗透固结:饱和土在受到外荷载作用时,孔隙水从空隙中排除,同时土体中的 孔隙水压减小,有效应力增大,土体发生压缩变形,这一时间过程称为渗透固结。 固结:饱和黏质土在压力作用下,孔隙水逐渐排出,土体积逐渐减小的过程。 固结度:指地基在外荷载作用下,经历时间t产生的沉降量St与基础的最终沉降 量S的比值。 库伦定律:在一般的荷载范围内,土的抗剪强度与法向应力之间呈直线关系,即 τf=c+tanυ式中c,υ分别为土的粘聚力和内摩擦角。 粒径级配:各粒组的质量占土粒总质量的百分数。 静止土压力:当挡土结构物在土压力作用下无任何移动或转动,墙后土体由于墙背 的侧限作用而处于弹性平衡状态时,墙背所受的土压力称为静止土压力。 主动土压力:若挡土墙受墙后填土作用离开土体方向偏移至土体达到极限平衡状态时 ,作用在墙背上的土压力称为主动土压力。 被动土压力:挡土墙在外力作用下向后移动或转动,达到一定位移时,墙后土体处于 极限平衡状态,此时作用在墙背上的土压力。 土的颗粒级配:土中各粒组相对含量百分数。 土体抗剪强度:土体抵抗剪切破坏的极限能力。 液性指数:是粘性土的天然含水量和塑限的差值与塑性指数之比,用符号IL表示。 基础埋深:指从室外设计地坪至基础底面的垂直距离。 角点法:角点法的实质是利用角点下的应力计算公式和应力叠加原理推求地基中任意 点的附加应力的方法 压缩系数:表示土的压缩性大小的主要指标,压缩系数大,表明在某压力变化范围内 孔隙比减少得越多,压缩性就越高。 土的极限状态:土体中的剪应力等于土的抗剪强度时的临界状态称之为土的极限平衡状态。 软弱下卧层:地基受力层范围内存在有承载力低于持力层的土层。 持力层:直接承受基础荷载的一定厚度的地基土层。 1.土的三相实测指标是什么?其余指标的导出思路主要是什么? 答案:三相实测指标是土的密度、土粒密度和含水量。 换算指标包括土的干密度(干重度)、饱和密度(饱和重度)、有效重度、孔隙比、孔隙率和饱和度。换算指标可以从其基本定义出发通过三相组成的体积、重量关系导出。 2.地基中自重应力的分布有什么特点? 答案:自重应力沿深度方向为线性分布(三角形分布)在土层的分层界面和地下水位处有转折。 集中荷载作用下地基中附加应力的分布规律? 答案:1)在集中荷载作用线上(r=0),附加应力随深度的增加而减小;2)在r>0的竖直线上, 附加应力随深度的增加而先增加后减小;3)在同一水平面上(z=常数),竖直向集中力作用线 上的附加应力最大,向两边则逐渐减小。 简述均布矩形荷载下地基附加应力的分布规律? 答案:①附加应力σz自基底起算,随深度呈曲线衰减;②σz具有一定的扩散性。它不仅分布在 基底范围内,而且分布在基底荷载面积以外相当大的范围之下;③基底下任意深度水平面上的σz ,在基底中轴线上最大,随距中轴线距离越远而越小。 3. 朗肯土压力理论和库仑土压力理论的异同点是什么? 答案:相同点:两种土压力理论都是极限平衡状态下作用在挡土墙是的土压力,都属于极限平衡理论。不同点:朗肯是从一点的应力状态出发,先求出土压力强度,再求总土压力,属于极限应力法;库 仑考虑整个滑动楔体静力平衡,直接求出总土压力,需要时在求解土压力强度,属于滑动楔体法。 4. 土压力计算中,朗肯理论和库仑理论的假设及适用条件有何不同? 答:朗肯理论假定挡土墙的墙背竖直、光滑,墙后填土表面水平且延伸到无限远处,适用于粘性土 和无粘性土。库仑理论假定滑裂面为一通过墙踵的平面,滑动土楔体是由墙背和滑裂面两个平面 所夹的土体所组成,墙后填土为砂土。适用于各类工程形成的不同的挡土墙,应用面较广,但只适 用于填土为无粘性土的情况 5. 分层总和法计算地基最终沉降量时进行了哪些假设? ①计算土中应力时,地基土是均质、各向同性的半无限体;②地基土在压缩变形时不允许侧向膨胀 ,计算时采用完全侧限条件下的压缩性指标;③采用基底中心点下的附加应力计算地基的变形量。 6. 简述变形模量与压缩模量的关系。 答:试验条件不同:土的变形模量E0是土体在无侧限条件下的应力与应变的比值;而土的压缩模量Es是土体在完全侧限条件下的应力与应变的比值。二者同为土的压缩性指标,在理论上是完全可以 相互换算的。 7. 地基最终沉降量通常是由哪三部分组成? 答:瞬时沉降;次固结沉降;固结沉降。 8. 请问确定基础埋置深度应考虑哪些因素? 答:确定基础埋置深度应综合考虑以下因素:(1)上部结构情况:如建筑物的用途、结构类型及荷载的大小和性质;(2)工程地质和水文地质条件:如地基土的分布情况和物理力学性质;(3)当地冻结深度及河流的冲刷深度;(4)建筑场地的环境条件。 9. 固结沉降是指什么? 答:地基受荷后产生的附加应力,使土体的孔隙减小而产生的沉降称为固结沉降,通常这部分沉降是地基沉降的主要部分。 10. . 三轴压缩试验按排水条件的不同,可分为哪几种试验方法?工程应用时,如何根据地基土排水条件的不同,选择土的抗剪强度指标? 答:三轴压缩试验按排水条件的不同,可分为不固结不排水剪、固结不排水剪和固结排水剪三种试验方法。工程应用时,当地基土的透水性和排水条件不良而施工速度较快时,可选用不固结不排水剪 切试验指标;当地基土的透水性和排水条件较好而施工速度较慢时,可选用固结排水剪切试验指 标;当地基土的透水性和排水条件及施工速度界于两者之间时,可选用固结不排水剪切试验指标。11.地基破坏形式有那几种?各自发生在何种土类地基? 有整体剪切破坏,局部剪切破坏和冲剪破坏 第一章 1.三相比例指标:土的三相物质在体积和质量上的比例关系。 试验指标:通过试验测得的指标有土的密度,土粒密度和含水量。换算指标:包括土的干密度,饱和密度,有效重度,空隙比,空隙率,饱和度。 2.颗粒级配:土粒的大小组成通常以土中各个粒组的相对含量来表示称为土的颗粒级配。 不均匀系数C u反应了不同粒组的分布情况,Cu<5的土称为匀粒土,级配不良。Cu>10的土级配良 好且C s=1~3 3.土结构的三种类型:单粒结构,蜂窝结构,絮状结构。 4.界限含水量:从一种状态到另一种状态的分界点称为分界含水量,流动状态与可塑状态间的分界 含水量称为液限ωL可塑状态与半固体状态间的分界含水量称为塑限ωP 塑性指标I P=ωL-ωP 液性指标I L = 5.砂土密度判别方法:根据砂土的相对密实度可以将砂土划分为密实,中密,松散三种密实度。 但由于测定砂土的最大空隙率和最小空隙比试验方法的缺陷,实验结果有很大的出入,同时由于 很难在地下水位以下的砂层中取得原状砂样,砂土的天然空隙比很难准确的测定,相对密实度的 应用受到限制。因此在工程实践中通常用标准贯入击数来划分砂土的密实度。 6.地基分类原则: 第三章 1.自重应力:由土体重力引起的应力。附加应力:外荷载作用下,在土中产生的应力增量。 基底压力:建筑物荷载通过基础传递给地基的压力。基底附加应力:上部结构和基础传递到基底 的地基反力与基底处原先存在于土中的自重应力之差。 2.自重应力对地基变形的影响: 第四章 1.土压缩性:我们把这种在外力作用下土的体积缩小的特性称为土的压缩性。原因: 2.分层综合假定(p82) 3.固结:饱和黏质土在压力作用下,孔隙水逐渐排出,土体积逐渐减小的过程。包括主固结或 次固结。 固结度:饱和土层或试样在固结过程中,某一时刻的孔隙水压力平均消散值(或压缩量)与初始 孔隙水压力(或最终压缩量)比值,以百分率表示。 第五章 1.土的抗剪强度:土体对于外荷载所产生的剪应力的极限抵抗能力。 2.土的抗剪强度指标试验方法 按排水条件:直剪p109,三轴剪切使用条件p111 压缩系数a:表示土体压缩性大小的指标,是压缩试验所得e-p曲线上某一压力段割线的斜率;一般 采用压力间隔P1=100kPa至P2=200kPa时对应的压缩系数a1-2来评价土的压缩性。 压缩模量Es: 土的压缩模量指在侧限条件下土的垂直向应力与应变之比,是通过室内压缩试验得到 的,是判断土的压缩性和计算地基压缩变形量的重要指标之一。 变形模量E0:通过现场载荷试验求得的压缩性指标,即在部分侧限条件下,其应力增量与相应的应 变增量的比值。能较真实地反映天然土层的变形特性。 2、固结:饱和黏质土在压力作用下,孔隙水逐渐排出,土体积逐渐减小的过程。包括主固结或次固结。 固结度:饱和土层或试样在固结过程中,某一时刻的孔隙水压力平均消散值(或压缩量)与初始孔 隙水压力(或最终压缩量)比值,以百分率表示。 3、分层法假定,Zn的确定;规范法假定,Zn的确定;固结度计算。 分层总和法是指将地基沉降计算深度内的土层按土质和应力变化情况划分为若干分层,分别计 算各分层的压缩量,然后求其总和得出地基最终沉降量。这是计算地基最终沉降量的基本且常用的方法。 第五章土的抗剪强度 1、土抗剪强度:是指土体抵抗剪切破坏的极限强度,包括内摩擦力和内聚力。抗剪强度可通过剪切试 验测定。 土抗剪强度构成:由土的抗剪强度表达式可以看出,砂土的抗剪强度是由内摩阻力构成,而粘性土 的抗剪强度则由内摩阻力和粘聚力两个部分所构成。 内摩阻力包括土粒之间的表面摩擦力和由于土粒之间的连锁作用而产生的咬合力。咬合力是指当土体相对滑动时,将嵌在其它颗粒之间的土粒拔出所需的力,土越密实。连锁作用则越强。 粘聚力包括原始粘聚力、固化粘聚力和毛细粘聚力。 2、土的极限平衡条件——由莫尔圆抗剪强度相切几何关系确定。当土体达到极限平衡状态,土的抗剪强 度指标C、&与土的应力1,3的关系。 第六章土压力计算 1、静止土压力:挡土结构在土压力作用下,其本身不发生变形和任何位移,土体处于弹性平衡状态,此 时作用在挡土结构上的土压力称为静止土压力。 主动土压力:挡土结构物向离开土体的方向移动,致使侧压力逐渐减小至极限平衡状态时的土压力,它 是侧压力的最小值。 被动土压力:挡土结构物向土体推移,致使侧压力逐渐增大至被动极限平衡状态时的土压力,它是侧压 力的最大值。 三者辨析:挡土墙上的土压力按照墙的位移情况可分为静止、主动和被动三种。静止土压力是指挡土墙 不发生任何方向的位移,墙后土体施于墙背上的土压力;主动土压力是指挡土墙在墙后土体作用下向前发 生移动,致使墙后填土的应力达到极限平衡状态时,墙后土体施于墙背上的土压力;被动土压力是指挡土 墙在某种外力作用下向后发生移动而推挤填土,致使墙后土体的应力达到极限平衡状态时,填土施于墙背 上的土压力。这里应该注意是三种土压力在量值上的关系为Pa

C语言考试总结复习要点总结.doc

C语言考试复习要点 1.程序结构是三种:顺序结构, 循环结构 (三个循环结构 ), 选择结构 (if 2.读程序都要从main() 入口 , 然后从最上面顺序往下读(碰到循环做循环 3.计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是是位是指为0或者1。byte是指字节,一个字节=八个位. 5.一定要记住二进制如何划成十进制。和 switch) ,碰到选择做选择 他的地址 . )。 概念常考到的: 编译预处理不是 C 语言的一部分,不占运行时间,不要加分号。 C 语言编译的程序称为源程序,它以ASCII 数值存放在文本文件中。 每个 C 语言程序中main 函数是有且只有一个。 在函数中不可以再定义函数。 算法的是一定要有输出的,他可以没有输入。 break 可用于循环结构和switch 语句。 逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。 main define scanf printf 都不是关键字。迷惑你的地方 If 是可以做为用户标识符。因为 If 中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 就是合法的,且数据是×10-1 。 考试口诀: e 前 e 后必有数, e 后必为整数 3)字符数据的合法形式:: '1' 是字符占一个字节,"1" 是字符串占两个字节(含有一个结束符号 )。 '0' 的 ASCII 数值表示为48, 'a' 的 ASCII 数值是 97, 'A' 的 ASCII 数值是 65。 一般考试表示单个字符错误的形式:'65'"1" 字符是可以进行算术运算的,记住:'0'-0=48 大写字母和小写字母转换的方法:'A'+32='a' 相互之间一般是相差32。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是 4 个字节: 考试时候一般会说,在 16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是 4 个字节就可以了。5)转义字符的考查: 在程序中 int a = 0x6d ,是把一个十六进制的数给变量 a 注意这里的0x 必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’ x6d’才是合法的,0 不能写,并且x 是小写。 141’是合法的,0 是不能写的。 ‘108’是非法的,因为不可以出现8 。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 7)强制类型转换: 一定是(int)a不是int (a),注意类型上一定有括号的。 注意( int )( a+b )和( int ) a+b的区别。前是把a+b转型,后是把 a 转型再加b。8)表达式的考查:

C语言期末考试全部知识点复习

C语言知识点复习资料 考试就是难得得训练自己得机会,在特定得时间、特定得地点、特定得气氛下,您需要调动各方面得能力。而在每一次考试中,我都下意识地应用自己摸索出来得“目标控制法”,做到了每次考试有有收获与进步。每次考试前,我都会在一张白纸上写满通过本次考试要达到得目标:要注意克服哪些易犯得错误,尤其就是要克服前几次考试中暴露出来得共性得失误;要积累哪些经验,应用哪些技巧,比如选择题中得特征值法;要在多长得时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中得选择题与填空题;要培养锻炼哪些考试应试得心理素质等。 也就就是说,我们要把考试瞧成就是一个完整得流程,包括考前准备、考场发挥与考后调整三个阶段。同学中存在得误区往往就是只注意考前得准备与考场得发挥两个阶段,对考后调整注意不够。事实上,高考之前得每一次模拟考试,最重要得就就是考试后得总结与反思,只有这样,才能认识到自己得薄弱环节,不断提高考试能力。所以,有心得同学一定要注意做好健全得考后调整,不断提高自己得实力。 总体上必须清楚得: 1.程序中基本得控制结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。 2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3.计算机得数据在电脑中保存就是以二进制得形式、数据存放得位置就就是它得地址、 4.bit就是位就是指为0 或者1。 byte 就是指字节, 一个字节 = 八个位、5、编译预处理不就是C语言得一部分,不占运行时间,不要加分号。(常考!) #define PI 3、1415926; 这个写法就是错误得,一定不能出现分号。 6、每个C语言程序中main函数就是有且只有一个。 7、用C语言编写得程序称为源程序,扩展名就是、c。C程序必须经过编辑、 编译、链接、运行四个步骤才可得到运行结果。注意、c与、obj文件时无法运行得,只有、exe文件才可以运行。(常考!) 8、 C语言书写格式就是自由得,每行可以写多个语句,一条语句也可以写在多行。 9、一个C语言程序有且只有一个main函数,就是程序运行得起点。

相关主题
文本预览
相关文档 最新文档