文档库 最新最全的文档下载
当前位置:文档库 › 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的结果就是0.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;对滴,x就是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、printf可以只有一个参数,也可以有两个参数。(选择题考过一次)

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

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

c、等号和赋值的区别!一定记住“=”就是赋值,“= =”才是等号。虽然很多人可以背

诵,但我依然要大家一定好好记住,否则,做错了,我一定会强烈的鄙视你!

2)逻辑表达式:

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

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

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

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

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

0

10比较得到的总是真(为1)。所以一定要用(0

3)if 语句

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

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

c、if(a

if(a

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

标准的if语句:if(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 1: …. 不可以是变量。

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 a=123;

while(i!=0)

{

printf(“%d”,i%10);

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 是当作地址来使用。可以用在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分。

大学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 栈和队列栈是限定在一端进行插入与删除的线性表,允许

基础会计笔记(精简版)

第一章 总论 第一节 会计的产生与发展 一.会计的产生 1.是适应社会生产实践和经济管理的客观需要而产生 2.产生的两个前提条件:出现剩余产品和生产社会化 3.产生的必要性:生产的需要;资源的稀缺性的需要;生产专业化的需要 二.会计的发展 (一)古代会计(古 1494复式簿记):发展缓慢,没有形成统一的计量单位,单式簿记,没有形成单独的学科。 (二)近代会计(复式簿记运用 20C40年代) 会计史上的两大里程碑:① 1494 年,意大利数学家卢卡.帕乔利(会计之父)出版了《算 术.几何.比与比例概要》。 ② 1854年,英国苏格兰成立了爱丁堡会计师协会,会计职业出现。 (三)现代会计(20C40年代 今) 1.管理会计体系形成,分为财务会计和管理会计。 2.会计信息系统形成。 3.会计准则首先在美国颁布。 三.会计的产生与发展 1.附带职能 独立职能 独立学科 2.实物计量 货币的综合计量 3.原始计录与计量 单式记账 复式记账 目标管理 4.手工操作 机械操作 电算化 第二节 会计的涵义 一.会计的定义:会计是以货币为主要计量单位,对企事业、机关单位或其他经济组织的经 济活动进行连续、系统、全面地反映和监督的一项经济管理活动。 二.会计的属性(性质) 技术性(自然性):反映生产力的技术与组织的需求,与生产力相联系。 社会性:反映单位经济管理活动,与生产关系相联系。 三.会计学及其分支 1.含义:是人们在长期会计工作的实践中,经过不断的探索和总结,逐渐形成的专门研究会 计原理与方法的一门应用性学科,它属于管理学科。 2. 分支(P6) 第三节 会计的职能与目标 一.会计的职能(即内在功能) 1.核算(反映)职能 提供会计信息 四个程序:确认、计量、记录、报告 报告 ① 实现条件 三个阶段:记账、算帐、报账输出(报账) ② 特点:以货币作为主要计量单位;反映过去已经发生的经济活动;完整性,连续性和 系统性。 2.监督职能 经济业务的真实性 ①监督内容 财务收支的合法性 公共财产的完整性

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

大学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)÷。

会计基础必背知识点整理教学内容

会计基础必背知识点 整理

第一章总论 1、会计是以货币为主要计量单位,反映和监督一个单位经济活动的一种经济管理工作。 2、会计按报告对象不同,分为财(国家)务会计(侧重于外部、过去信息)与管理会计(侧重于内部、未来信息) 3、会计的基本职能包括核算(基础)和监督(质保),会计还有预测经济前景、参于经济决策、评价经营业绩的职能。 4、会计的对象是价值运动或资金运动(投入—运用—退出) (空间范围,法人可以作为会计主体,但会计主体不一定是法人)、5、会计核算的基本前提是会计主体 持续经营(核算基础)、会计分期、货币计量(必要手段) 6、会计要素是对会计对象的具体化、基本分类,分为资产、负债、所有者权益、收入、费用、利润六大会计要素。 7、会计等式是设置账户、进行复式记账和编制会计报表的理论依据。资产=权益(金额不变:资产一增一减、权益一增一减益同减)资产=负债所有者权益(第一等式也是基本等式,静态要素,反映财务状况,编制资产负债表依据)收入-费用=利润(第二等式,动态要素,反映经营成果,编制利润债表(损益表)依据)取得收入表现为资产增加或负债减少发生费用表现为资产减少或负债增加。 第二章会计核算内容与要求

1、款项和有价证券是流动性最强的资产。款项主要包括现金、银行存款、银行汇票存款、银行本票存款、信用卡存款、信用证保证金存款、备用金等;有价证券是指国库券、股票、企业债券等。 2、收入是指日常活动中所形成的经济利益的总流入。支出是指企业所实际发生的各项开支和损失,费用是指日常活动所发生的经济利益的总流出。成本是指企业为生产产品、提供劳务而发生的各种耗费,是按一定的产品或劳务对象所归集的费用,是对象化了的费用。收入、支出、费用、成本是判断经营成果及盈亏状况的主要依据。 3、财务成果的计算和处理一般包括:利润的计算、所得税的计算和交纳、利润分配或亏损弥补 4、会计记录的文字应当使用中文。在民族自治地区,会计记录可以同时使用当地通用的一种民族文字。在中华人民共和国境内的外商投资企业、外国企业和其他外国组织的会计记录,可以同时使用一种外国文字。 第三章会计科目与账户 1、会计科目是对会计要素的具体内容进行分类 2、会计科目的设置原则是合法性、相关性、实用性。 3、账户根据会计科目设置的,具有一定格式和结构,用于记录经济业务的。 4、会计科目(账户)按反映业务详细程度分为总账和明细账。按会计要素不同可分为资产、负债、所有者权益、成本、损益。 5、账户的四个金额要素及关系:期末余额=期初余额本期增加发生额-本期减少发生额。

谭浩强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语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)

贵州大学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 语言程序可以实现

会计基础知识要点笔记总结

第一章总论 第一节会计概述 一、会计的概念及特征 (一)会计的概念 (二)会计的基本特征 1.会计以货币作为主要计量单位 2.会计拥有一系列专门方法 3.会计具有核算与监督的基本职能 4.会计的本质就就是管理活动 二、会计的基本职能 (一)会计的核算职能 (二)会计的监督职能 (三)会计核算与监督职能的关系 三、会计对象与会计核算的具体内容 (一)会计对象 (二)会计核算的具体内容 1.款项与有价证券的收付 2.财物的收发、增减与使用 3.债权、债务的发生与结算 4.资本的增减 5.收入、支出、费用、成本的计算 6.财务成果的计算与处理 7.需要办理会计手续、进行会计核算的其她事项第二节会计基本假设 一、会计主体 二、持续经营 三、会计分期 四、货币计量 第三节会计基础 一、会计基础的概念与种类 二、权责发生制 三、收付实现制 第二章会计要素与会计科目 第一节会计要素 一、会计要素的确认 (一)资产 1.资产的定义 2.资产的分类 (二)负债 1.负债的定义 2.负债的分类 (三)所有者权益

1.所有者权益的定义 2.所有者权益的分类 (四)收入 1.收入的定义 2.收入的分类 (五)费用 1.费用的定义 2.费用的分类 (六)利润 1.利润的定义 2.利润的分类 二、会计要素的计量 (一)历史成本 (二)重置成本 (三)可变现净值 (四)现值 (五)公允价值 第二节会计科目 一、会计科目的概念 二、会计科目的分类 (一)按其归属的会计要素分类 1.资产类科目:按资产的流动性分为反映流动资产的科目与反映非流动资产的科目。 2.负债类科目:按负债的偿还期限分为反映流动负债的科目与反映长期负债的科目。 3.所有者权益类科目:按所有者权益的形成与性质可分为反映资本的科目与反映留存收益的科目。 4.成本类科目:按成本的不同内容与性质可以分为反映制造成本的科目与反映劳务成本的科目。 5.损益类科目:按损益的不同内容可以分为反映收入的科目与反映费用的科目。 (二)按提供信息的详细程度及其统驭关系分类 1.总分类科目,又称一级科目或总账科目,它就是对会计要素具体内容进行总括分类、提供总括信息的会计科目;总分类科目反映各种经济业务的概括情况,就是进行总分类核算的依据。 2.明细分类科目,又称明细科目,就是对总分类科目作进一步分类、提供更详细与更具体会计信息的科目。 3.总分类科目与明细分类科目的关系就是,总分类科目对其所属的明细分类科目具有统驭与控制的作用,而明细分类科目就是对其所归属的总分类科目的补充与说明。 三、会计科目的设置 (一)会计科目的设置原则 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,如果

基础会计学课程笔记整理

《基础会计学》课程笔记整理 第一章——总论 概念解释 A、会计的定义:一种管理活动。以货币为主要计量单位,并利用专门的方法和程序,对企业和行政,事业 单位的经济活动进行完整的,连续的,系统的反映和监督,以提高经济效益和提供经济信息为目的。 会计的职能:反映和监督 B、反映职能:通过专门的会计方法和程序,从数量上反映会计主体也发生或完成的经济活动,为经营管理 提供经济信息的功能。反映职能具有完整性、连续性和系统性。是监督职能存在的依据和基础。 监督职能:利用反映职能提供的经济信息,对会计主体的经济活动进行控制和提供经营决策。主要表现在货币监督。事前,事中和事后监督。 C、会计发展的两个标志 1、单式记账法过渡到复式记账法,是近代会计形成的标志。 2、成本会计的出现,管理会计的形成并单独成科是现代会计形成的标志。 3、管理会计,主要偏重于为经营者提供经营决策,对企业经营活动进行控制。它的数据来源于财务会计和 一种经济评估,数据不需要完全真实,可以是估计。 4、财务会计,主要表现在对企业经营活动的一种核算,所有数据来源必须真实和客观,同时也是主管部门 进行经济审核的依据。 D、会计对象:会计反映和监督的内容。也可以称作会计客体。实质上是企业能用货币表现的经济活动。会 计对象可以简单的概括为六大基本要素:资产,负债,所有者权益,收入、费用,利润。 F、会计任务 1、反映和监督各单位的经济活动和财务支出,提供会计信息,加强经济核算。 2、反映和监督各单位对财经政策,法令,制度的执行情况,维护财经纪律。 3、利用会计信息资料和其他相关资料,预测经济前景,参与经营决策。 二、会计核算的基本前提 1、会计主体:会计服务的特定单位。明确了会计工作的空间范围。形成会计主体的三个条件:?具有一定 数量的经济资源;?进行独立的生产经营活动或其他活动;?实行独立核算,提供反映本主体经济情况的会计报表。 2、持续经营:明确了会计工作的时间范围。为会计分期和权责发生制奠定了基础。 3、会计分期:对时间范围的具体细分化,会计法将会计分期划分为,会计年,季度,月,为收付实现制和 权责发生制,配比原则提供了比较基础。 4、货币计量:会计核算以人民币作为记账本位币《企业会计准则》规定。 三、会计核算的一般原则 1、客观性原则:真实性原则。 2、重要性原则:对重要的会计事项应单独核算,反映。 3、有用性原则:相关性原则。 4、可比性原则:会计核算应按照规定处理办法进行,会计指标应当口径一致,方便在不同企业间进行横向 比较。 5、一贯性原则:同一企业间,在不同会计分期,财务处理方法要一直,方便不同会计分期间的纵向比较。 如有变更需单独备注。 6、及时性原则 7、清晰性原则 8、划分收益性支出和资本性支出原则 收益性支出:为取得本期收益而发生的支出,只与本会计年度相关。 资本性支出:为形成经营能力,在几个会计年度形成收益。 9、配比性原则:对一个会计期间的收入和与其相关的成本,费用应配合进行比较。 10、权责发生制原则:主要确定本期收入与费用的确定时间。 11、历史成本原则:主要针对资产,按取得时的实际成本计价。

C语言基础知识

常量和变量 1.常量: 程序执行过程中,值不变的量。 3 ,'a' 变量:值可以改变的量。 一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。 2.常量类型: a.整型:12,0,-3 b.实型:4.6,-1.2 c.字符型: 'a','d' d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写) 3.变量: 先定义,后使用。一个变量只能被指定为一确定类型。 4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。 a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。 b.大写字母、小写字母被认为是两个不同的字符。 c.长度一般小于8个。 数据类型 一.整型: 1.整型常量 a.十进制:12,-3,0 b.八进制:以0开头。 c.十六进制:以0x开头。 2.整型变量 a. int -32768——32767 b. short int -32768——32767 c. long int d. unsigned int 0——65535 e. unsigned short 0——65535 f. unsigned long int、short int、long int 第一位为符号位 0000001 (0为正,1为负) unsigned 第一位不是符号位 0000001 所以int型和unsigned型的000001不是同一个值。 二.实型: 1.实型常量:

a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0 b.指数:e之前必须有数字,e后面必须为整数。12e3 2.实型变量: a.单精度:float 7位有效数字 111111.1可,111111.11不可。 b.双精度:double 15—16位有效数字。 三.字符型: 1.字符常量: a. 'a' , 'x' , '*' ,'$' 。 b. 转义字符:‘\n'换。 '\t'从第九列开始。'\r'回车。 '\b'退一格。 2.字符变量: char char='a' 一个字符变量在内存占一个字节。 。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码 放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出, 又可以以整数形式输出。 四.字符串常量: "how are you", "a","&12" 。不能把一个字符串赋给一个字符变量。 char c='a'对,char c="how" 错。 。'a' :在内存中存a。 “a”:在内存中存a\0。 ‘\0’是C语言中判断字符串是否结束的标志。 变量赋初值 a. int a=3; float f=7.2; char c='a'; b. int a,b,c=5; 相当于 int a,b,c; c=5; c. int a=3;b=3;c=3; 不可写: int a=b=c=3;

C语言循环知识点总结

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

一些例子:

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

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

会计基础笔记(最新整理)

会计基础笔记 ★表示经常考或重点;()表示填空 第一章 ★1、会计是以(货币)为主要计量单位,反映和监督一个单位(经济活动)的一种经济管理工作。不是唯一的计量单位,而是主要计量单位———填空、判断 2、会计是单位经济活动的一种管理工作。会计的本质是(一种经济管理工作)。 ★3、编制资产负债表的基础 最基本的会计等式资产=负债+所有者权益 资产负债表的理伦依据 编制利润表的基础: 收入-费用=利润。 资产与权益的恒等关系,是复式记账法的理论基础,也是编制资产负债表的依据;无论经济业务采用哪种方式发生,都不会破坏“资产=负债+所有者权益”这一会计等式的平衡关系。 企业在取得收入时可能会影响到的会计要素是(资产、负债、所有者权益);费用不受影响。 4、经济越发展,会计越重要。 ★5、会计的基本职能: 进行会计核算和会计监督。———填空 会计核算职能:

指会计以(货币)为主要计量单位,通过(确认、记录、计量、报告)等环节,对特定主体的经济活动进行(记账、算账、报账),为各有关方面提供(会计信息)的功能。———填空 会计核算主要表现为(记账、算账、结账、报账)等具体工作。 会计核算是会计工作的(起点)和(基础)。———填空 会计监督职能: 指会计人员在进行会计核算的同时,对特定主体经济活动的(合法性、合理性)进行审查。———填空、多选 会计核算是进行会计监督的基础,没有会计核算所提供的会计资料、信息,会计监督就没有依据;同时,如果只有会计核算而没有会计监督,会计就不能发挥在经济管理活动中的应有 的作用。 会计的核算和监督职能是相辅相成,不可分割的;核算职能是会计最基本的职能;会计核算是会计监督的前提。 6、会计对象新增职能: 预测、决策、控制、分析、评价。 7、(会计对象)是指会计所(核算)和(监督)的内容。凡是特定能够以货币表现的(经济活动),通常称为(价值运动)或(资金运动)。———填空、多选 凡是特定对象能够以货币表现的经济活动,都是会计核算与监督的内容。√———判断资金的耗用不属于资金运动。 8、并非企业生产经营过程中所有的活动都是会计核算的对象,只有能以货币表现的经济活动,才是会计核算的内容,即会计对象。√———判断 9、会计核算的基本前提:

上海理工大学 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时,其生存期得到延长,而其作用域并没有改

相关文档