01_计算机二级考试_C语言知识点复习提纲

01_计算机二级考试_C语言知识点复习提纲
01_计算机二级考试_C语言知识点复习提纲

C语言知识点复习提纲

(亲们,寒假必须把这些把红色教程这本书上平时上课讲的知识点按照这个提纲来写,让我们的假期一小部分时间在C语言中飞起来!回来的冲刺课的第一堂课上我会一个一个检查,没写的同学回去写好再来上课!把这个提纲打印出来,但填空的只能按照这个提纲来手写!边写边记忆,你不是来完成任务的,是为自己拿到这个国家二级证书打基础的,一切的做题和考试都是以这些知识点为基准!)

第1章 C语言的基础知识

复习导读:这一章主要的内容就是:1、标识符的定义及分类 2、有哪些常量及哪些变量 3、表达式有哪些4、数制转换、强制类型、注释、什么是C语言语句

一、标识符:

1、标识符的定义两点:①②

2、标识符的分类(三类):

(1)关键字两点笔记:①②

有哪些常见关键字:

(2)预定义标识符常见的有哪些:

(3)用户标识符(这是重点,必考)有三点:

①②③

(顺便看看我上课给大家出的题目,回忆回忆当初的美好!)

二、常量及变量

1、常量(1.3.2节):

引入常量讲的是 #define PI 3.1415926,我们说PI叫常量。我们上课有个笔记写的是:

2、(1)①整型常量有三类:

②每一类的定义:

(2)①实型常量有两种形式:

②每一种形式的表现形式(写两个例子):

(3)①字符常量有两种形式:

②每一类的表现形式:【1】“单单”对应常见的ASCCI码有哪些:

【2】一般转义字符常见的有:

八进制转义字符的定义:

十六进制转义字符的定义:

(4)①字符串常量有两种形式(合法的字符串判断):

②字符串的存放、处理:【1】对于一串的字符串存放(是书上哪些例子):

【2】对于多串的字符串存放(是书上哪些例子):

3、变量:

变量用的关键字占用几个字节格式转换说明%

整型变量

实型变量

字符变量

指针变量不填不填

三、表达式

表达式的核心是:

1、算术表达式的运算符和考点(1.6.1节)

2+3值为,2*3值为,2/3为,1/2为,-1/2为,2/-1为,1.0/2为,1/2.0为,-1.0/2为,1.0/-2为;1%2为,-1%2为,1%-2为。

2、赋值表达式的运算符和考点(1.6.2节)

(1)请问1+2=3;是否正确?。请问3=1+2;是否正确?。考查的知识点是:

(2)int x=y=5;是否正确?。考查的知识点是:

int x=y;x=y=5;是否正确?。考查的知识点是:

(3)int x=7.7;是否正确?表达式值为; float y=7;是否正确?表达式值为 ;

3、复合赋值表达式的运算符和考点(1.6.3节)

int x=2;x*=2+3;等价于 ,表达式的值为:

4、自加自减表达式的运算符和考点(1.7.1节)

int i=3;i++; 问i++这个表达式的值为,i最终的值为。

int i=3;++i; 问 ++i这个表达式的值为,i最终的值为。

5、逗号表达式的运算符和考点(1.7.2节)

(1)5,6,7;这个表达式的值为;(2)y=5,6,7;表达式的值为 ,y的值为;(3)y=(5,6,7);表达式的值为 ,y的值为;(4)int x=2;y=x++,++x,x++;表达的值为,x的值为,y的值为

(5) int x=2;y=(x++,++x,x++);表达的值为,x的值为,y的值为

6、关系表达式的运算符和考点(3.1.2节和3.1.3节)

int x=1,y=0,z=2; x>y表达式的值为;x=y表达式的值为;x==y表达式的值为;

7、逻辑表达式的运算符和考点(3.1.4节)

int x=0,y=1,z=0;z=(x++&&y++);x的值为,y的值为,表达式z的值为;

int x=0,y=1,z=0;z=(++x||y++);x的值为,y的值为,表达式z的值为;

int x=0,y=1,z=0;z=(++x&&y++);x的值为,y的值为,表达式z的值为

8、条件表达式的运算符和考点(3.4.1节)

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

a、考试口诀:例如x=5,y=2 x++>++y?x++:y++ 请把x,y与表达式的值算出来。

计算结果:x=7,y=3,表达式的值为6,懂了吗?

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的数值时多少?答案为

9、位运算的运算符有哪些?

四、补充知识:

1、强制类型转换的形式以及要注意的地方(1.6.4节)

float a=1.2,b=3.4; int(a+b)表达式值为;int(a)+b值为。

2、什么是表达式语句,复合语句,空语句?(1.7.3节,1.7.4节,1.7.5节)

3、注释的“长相”以及考点?(1.7.7节)(看下书上笔记)

4、要知道十进制和二、八、十六进制相互的转换(1.4节)

①十进制12对应的二进制是,八进制是,十六进制是

②二进制1001对应的十进制是,八进制13对应的十进制是,十六进制1f对应的十进制是。

第2章数据输出与输入

第一节:数据输出(一)

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

2、printf(“a=%d,b=%d”,12, 34)考试重点!

一定要记住是将12和34严格以第一部分的形式输出到终端也就是黑色的屏幕上。

题目:

pfintf(“%d%d”,12,34) 那么输出的结果就是:

pfintf(“%d,%d”,12,34) 那么输出的结果就是:

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

pfintf(“%d”,12,34) 那么输出的结果就是:

pfintf(“%d”,(12,34)) 那么输出的结果就是:

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

printf(“%d”,x);结果是:

printf(“%o”,x);结果是:

printf(“%#o”,x);结果是:

printf(“%x”,x);结果是:

printf(“%#x”,x);结果是:

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

char z=‘a’;

printf(“%d”,x,y);结果是:

printf(“%c”,z);结果是:

5、一定要背诵的

格式说明表示内容格式说明表示内容

%d 整型int %c 字符char

%ld 长整型long int %s 字符串

%f 浮点型float %o 八进制

%lf double %#o 带前导的八进制

%% 输出一个百分号%x 十六进制

%5d %#x 带前导的十六进制

举例说明:

printf(“%2d”,123 );输出结果是:

printf(“%5d”,123 );输出结果是:

printf(“%10f”,1.25 );输出结果是:

printf(“%5.3f”,1.25 );输出结果是:

printf(“%3.1f”,1.25 );输出结果是:

Printf(“%3.1f”,1.23); 输出结果是:

printf(“%%d”,128);输出结果是:

printf(“%%%d”,128);输出结果是:

8、输出字符串的法则一定要背下来:从指定地址开始输出,遇见第一个‘\0’就结束(输出函数有printf和puts 两种)

举例:char str1[]=“Hello,Yuanen!!!”;printf(“%s”,str1);结果为:

char str[]=“Hello,\0Yuanen!”;printf(“%s”,str);结果为:

char *pa=“Hello,Yuanen!”;puts(pa);结果为:

第三节数据输入

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为,y为,z为

终端从键盘输入:1234567

scanf(“%2d%4d%d”,&x,&y,&z);==>x为,y为,z为

5、字符和整型是近亲:

int x=97;

printf(“%d”,x);结果为

printf(“%c”,x);结果为

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

scanf(“%d”,&x);这个时候输入1,x为

scanf(“%c”,&x);这个时候输入1,x为

7、使用scanf函数和gets函数输入字符串的重大区别,你还记得吗?(超级无敌考试重点)

从键盘输入:Hi Yuanen!

scanf(“%s”,str);str存放结果为:,即str=

从键盘输入:Hi Yuanen!

gets(“%s”,str);str存放结果为:, 即str=

知识点是:scanf是

而gets是

补充说明:

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 这样是把小数部分去掉。

第3章选择结构

if 语句

a、交换两个数的程序写法(用t、x、y三个变量表示):

b、if(a

if(a

c、(1)单独的if语句:if(a

(2)标准的if语句:if(a

else min=b;if-else结构中“语句”只能是:

(3)多选一的if语句if(a= =t)printf(“a”);

else if(b= =t)printf(“b”); ③if-else-if执行程序是几选一:

else if(c= =t)printf(“c”); if-else-if结构中“语句”只能是:

else pritnf(“d”);

(4)嵌套的if语句:if(a

if(b>c)printf(“ok!”);④else 总是与匹配。

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

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

(1)int a=1,b=0;

if(!a)b++;

else if(a= =0)

if(a)b+=2;

else b+=3;请问b的值是多少?正确结果是

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

(2)main()

{ int x=1,y=0;

if(!x)y++;

else if (x==0);

if(x)y+=2;

else y+=3;

print(“%d”;y);

}

该程序运行的结果为:(和上面的题目作对比,考试很容易考这两种情况中的一种,大家一定要搞明白) switch语句:

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

b)注意有break 和没有break的差别,书上的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了它所在的swich语句。break在C语言中就是爆炸的意思,把里面炸得粉碎,就不执行。

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

d) switch(x) x这个表达式必须是:

{case 1: …. case后的表达式不能是:

case 2: …. case和常量之间必须有。

}

e)switch是必考题型,往往和循环结构结合起来考试。

请大家一定要完成习题集上第35页3.2节的第1、3、4、8、9、10、11题;3.3节的1、2、3、4题;3.4节的1、2、3、4、5、6、7、8题。不要说等到冲刺课再做吧,到时你已经没时间来做这些了!

第四章循环结构

1)三种循环结构:

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

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

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

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

do-while循环是至少执行一次循环。

e)分别用for();while();do- while()三种循环结构写程序:s=1+2+3+.......+100;(下面已经给你留好空了哦)

看下下面几个题目你能否做对?(你知道为什么题目旁边还给你留这么大空白吗?)

(1)

main()

{

int y=2 ; while (y--);

printf(“%d”,y);

}程序运行的结果为:

(2)main()

{ int a =3;

do { prinf(”%d”,a-=2)}

while(--a);

} 输出结果是

(3)

main()

{ int a=6,b=0,c=0;

for(;a&&(b==0);){ b+=a ; a-=c++ ; }

printf(“%d%d%d”,a,b,c);}输出结果是

宝贝儿,第一题程序的运行结果是-1,第二题输出结果是1,第三题是a=6,b=6,c=1 你都对了吗?

做对了不要骄傲哦,做出以下习题集的题目,循环的基础就算真正打扎实了。第40页4.1节第8、10题;4.2节3、4、5题;4.3节2、4、7、8、11题!

2) break 和continue的差别(下面填上我们上课的笔记):

break:

continue:

3)嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。如果你对嵌套一点都不懂的同学看下红色教程4.4节的56页和57页。看完之后是不是有点点感觉了?来看习题集上几个题目来巩固下!习题集43页的第3题;44页第5题;47页的第3题;如果这三个题目你都没问题了,把

47页第1题弄懂,你就真的很不错了!(亲,如果我给你点的题目你都不会,我只能说真的好可怜!那你务必先弄懂4.6节例8--例11这个四个例子,一定要按照“源恩特殊教学法”画竖线的方法哦!)

下面来看一些你会常见的程序,作死都要弄懂哦!

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%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())!=’ ? ’)

解说:一定要注意这种给出了条件,然后如何去写的方法!(可以做下红色教材51页的例题2)

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、函数的参数,返回数值(示意图):

你们就记住有return 语句时,返回的值z 是调用函数add(a,b)接收的,这里z 为11,add(a,b)就为11,所以c 被赋值,c 才为11,再继续执行下面的输出程序;因为很多同学在指针的题目一出现void 很容易混淆,就让我们忘了“传数值的话,形参的变化不会改变实参。传地址的话,形参的变化就会98%改变实参。”这个知识点。

6、①函数的实参可以是 ,甚至是 。

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

main ()

{ int sum ;

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

②void fun(int m,double x){.....}

若以下选项中的变量都已正确定义并赋值,则对函数fun 的正确调用语句是 。

(A )fun(int m,double x); (B)k=fun(10,12.5) (C)fun (x,n ) (D )void fun(m,x)

7、函数的声明

①函数声明有两种形式,一种是 ,另一种是 。

②函数声明的考查:

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

口诀:找对象要找“四有青年”,分别要:

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

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 *); 这种写法也是正确的,参数的名称可以不写

③看看习题集P50的第2题和P51第3题 你都选对没有?

现在让我们多读几个程序,这个经常考在上机题里面:

1、如何判断a 是否为素数:理解并背诵这个程序!

(思路:判断a 是否为素数,就是看a 是否含有除了1和a 的其他约数,那么我们就把a 拿来对2,3,4,5····a-1,

调用函数 a,b 是实参 整个函数得到一个数值就是

Add 函数的返回数值。 int add ( int x, int y) { int z; z=x+y; return z; } 被调用函数 x ,y 是形参 它是老大,决定了返回值的类型! z 就是这个add 函数计

算后得到的结果,就

是函数返回给主程序

的返回数值。 程序是在从上往下顺序执行,当碰到了函数add 后,把a ,b 的数值传给调用函数,程序暂时中断等待返

回数值。当得到了返回数值后,再顺序的往下执行

main()

{

int a = 5,b=6,c;

c = add(a,b);

printf(“%d ”,c);

}

依次求余数,如果结果都不等于0,那么a 一定是素数,否则a 不是素数。)

void isprime ( int a ) { for (i=2;i<=a-1;i++) if(a%i==0) printf (“不是质数”);

printf(“是质数!”); } void isprime ( int a )

{ for (i=2;i<=a-1;i++)

if(a%i==0) return 0; return 1;

}

2、如何求阶层:n! 理解并背诵这个程序!

int fun(int n)

{ int s=1; /* 求阶乘一般赋初值为1,求和一般赋初值为0 */

for(i=1;i<=n;i++) s=s*i; /* 类比求从1到100的和 */

return s;

}

3、如何求x n 理解并背诵这个程序!

flaot fun(flaot x, int n)

{ int i; flaot s=1.0;

for(i=1;i<=n;i++) s=s*x;

return s;

}

4、要求掌握的库函数:

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

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

有哪四个? 其中pow(a ,b)是重点。3

2是由pow( )表示的。 例如考试题型:若有代数式||x x e n (其中e 仅代表自然对数的底数,不是变量), 表示该代数式的C 语言表达式为:

函数最重要的就掌握一种考题,就是丢来丢去的考题。做下习题集以下题目:51页开始5.3节的1、2、3、4、6、7、8、9、10、11、12、13、15.把这些题目干掉,你函数掌握的就比较牢固了!

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

*的含义(1)定义的时候,*表示该变量为指针变量。例如:int *p,*q,*r; 表示p 、q 、r 为指针变量

(2)使用的时候,*表示取值符,取该指针变量所存放地址里面的值。

int x=22,y=0; 画出这个题图形:

int *p;

p=&x; y=*p;

printf(“%d,%d ”,x,y);

1、int *p 中*p和p的差别:简单说*p是数值,可以表示一个变量,p是指针变量,存放地址!

*p可以当做变量来用;*的作用是取后面地址p里面的数值

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

2、*p++ 和(*p)++的之间的差别:改错题目中很重要!考试超级重点

*p++是地址会变化(移动)。口诀:

(*p)++ 是数值会要变化(不动)。口诀:

①例题:int *p,a[]={1,3,5,7,9};p=a; 请问*p++和(*p)++的数值分别为多少?

*p++:

(*p)++:

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

char *s=“meikanshu”

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

这个s首先会指向第一个字母m然后通过循环会一次打印出一个字符,s++是地址移动,打印了一个字母后,就会移动到下一个字母!这个程序能看懂否?看不懂就作死地去看!

3、指针变量两种初始化(一定要看懂,结婚的两种形式)

方法一:int a=2,*p=&a;(这是哪种结婚仪式:)

方法二:int a=2,*p;

p=&a;(这是哪种结婚仪式:)

4、传数值和传地址(每年必考好多题目,看看通过画图的方式能不能分清楚?)

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=2,y=4, { int x=2,y=4,

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

printf(“%d,%d”,x,y); printf(“%d,%d”,x,y);

} }

这个题目答案是和。这个题目的答案就是和。

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

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,%d”,x,y,*max);

}

6、考试重要的话语:

指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p的地方都可以用它等价的代替。

例如:int a=2,*p=&a; *p=*p+2;

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

mian()

{ int a=1,b=2,c=3;

int *p1=&a,*p2=&b,*p=&c;/*p1指针指向了a,p2指针指向了b,p指针指向了c*/

*p=*p1**p2; /* *p就表示c *p1就表示a *p2就表示b 所以该语句等价于c=a*b */

printf(“%d\n”,c);

}程序的输出结果为:

7、二级指针:

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

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

常考题目:int x=7;

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

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

7 p 7

再问你:q=&x的写法可以吗?不可以,因为二级指针只能存放一级指针的地址。

8、三名主义:数组名、函数名、字符串名(考试的重点,本质:)

数组名:

字符串名:

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

这个假期重点对指针的题目要有所感觉!指针这章基础题型:6.2节的全部;常考题型:6.3节的6、9、10、13、15、16、18、20、21;

第七章数组

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

int a[4]; 数组名是:,总共个元素,分别是:。

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};

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

2、一维数组的定义(判断以下是否合法);

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

int a[5] 合法,5是常量

int a[1+1]

int a[1/2+4]

define P 5 int a[P]

int x=5,int a[x];

3、二维数组的初始化(判断以下是否合法,合法在旁边画出图形,不合法的说明原因)

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

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

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

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

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

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

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跳一行数组元素。搭配(*)p[2]指针

a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组元素。搭配*p[2]指针数组使用

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

a[2] 变成;a[2][3]变成再可以变成这个思想很重要!6)数组中有一种很具代表的题型就是排序问题,比如红色教材P85的例题7

【因为数组名可以表示第一个元素的地址,所以数组的题目经常和指针一起混合起来考,这是个难点也是个重点!】习题集上数组的基础题型是:7.1节的2、5、6、8、9和7.2节的1、4、9、10、11

排序的题型是:7.2节的8和7.3的1、2;

和循环结构结合的题型:7.1节的3、7和7.2节的5

和函数、指针结合的题型:7.1节的1、4和7.2节的3、4题;59页6.3节的4、5、7、11题

第八章字符串

1、字符串的赋值

C语言中没有字符串变量,所以用和存放字符串;判断以下字符串的赋值是否正确,错误的话原因是什么?

【1】一串字符串的处理和存放用和

(1)char ch[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’};

(2)char ch[ ]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};

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

(4)char ch[10]={“abcdefgh”};

(5)char ch[10]=“abcdefgh”;

(6)char *p=“abcdefgh”;

(7)char *p; p=“abcdefgh”;

(8)char ch[10]; ch=“abcdefgh”;

(9)char *p={“abcdefgh”};

【2】多串字符串的处理和存放用和

(1)char name[4][20]={“I”,”am”,”a”,”yuanding”};

做这种题首先画出的图形是:

问name[3][2]是,*(name[3]+1)是,*(*name+2)是

(2)char *p[4]表示:

char *p[4]={“I”,”am”,”a”,”yuanding”};

做这种题首先画出的图形是:

p[2][1]是,p[3][2]是

2、字符串的输入输出在第二章的复习提纲已有

3、对字符串的操作

(1)C语言中没有提供操作字符串的运算符,但提供了对字符串进行操作的函数,分别有:

(2)我们要使用这些字符串函数,必须在程序的一开头写上:。

(3)字符串的 strlen() 和 strcat()和strcmp()和strcpy()的使用方法一定要记住。他们的参数都是地址。其中strcat()和strcmp()有两个参数。strlen 和sizeof的区别也是考试的重点;

①char *s=“Hello”,*t=“woaini”;

strcpy(s,t); puts(s); 输出结果是:

strcpy(s+2,t); puts(s); 输出结果是:

strcpy(s+2,t); puts(s+2); 输出结果是:

②char *s=“woaini”,*t=“bukeneng”;

strcat(s,t); puts(s); 输出结果是:

strcat(s,t+2); puts(s); 输出结果是:

③char *s=“Hello”,*t=“woaini”; strmp(s,t)结果是:(大于0、小于0、等于0)

④strlen(“woaini”)=

sizeof(“woaini”)=

填完这些空是不是有点手痒,想试试到底自己能不能做对这种题型。给你个机会!!!

习题集的49页5.1节的1、4、5、6、7就是对字符串操作的题型。

字符串的基础题型:73页的8.1节、8.2节、8.3节的全部

因为字符串名可以表示第一个元素的地址,所以和指针一起考的题型非常多,是我们一个重点!

字符串和指针结合的题型:58页的6.3节的1、3、8、12、22、23、24、25、26、27、28、29、30、31、32、33题

下面来填填空(这些我空可是我专门录了视频5给你们讲的这些字符串的操作哟,好好想想)

1、字符串拷贝strcpy(复制的有两种写法)

①char *p=d; whlie(*s!=’\0’)

② char *p=d; whlie(*p=*s)

2、字符串求长度strlen(求长度也有两种写法)

① char *p=str; while(*p) ; return ;

② int i=0; while( ) i++; return ;

3、字符串连接strcat

int len;char *p=d;

len=strlen(p); ;

while(*s!='\0') {*p=*s;p++;s++;} ;

4、字符串比较strcmp

while( &&*s1) {s1++;s2++;} return ;

第九章文件

1、表示文件指针fp:

2、以读的方式打开D盘下“源恩教育.txt”这个二进制文件:fp=

3、关闭文件fp:

4、操作文件fp的函数:

①feof( ):如果文件结束,函数返回,没结束返回。

②ftell( ):表示告诉你文件指针fp的位置

③rewind():表示文件指针fp回到。功能等价于:。

④ch=getc( ):表示。 putc( ):表示。⑤fgets( ):表示。

fputs( ):表示。

⑥fread(buffer,size,count, ):buffer表示:size表示

count表示 .

fwrite(buffer,size,count, ):buffer表示:size表示

count表示 .

⑦fseek( ,0,SEEK SET)表示。 fseek( ,0,SEEK END)表示。

⑧fscanf( ,“%d%d”,&a,&b);初定义a=0,b=0,随后在文件中输入123 56时a= ,b= 。

初定义a=0,b=0,随后在文件中输入12345 6时a= ,b= 。

初定义a=0,b=0,随后在文件中输入123456时a= ,b= 。 fprintf( ,“%d %d”,a,b);若a=12,b=34,在文件中输出的格式是:。 fprintf( ,“%d%d”,a,b);若a=12,b=34,在文件中输出的格式是:。第9章接下来你先把习题集的习题做一下,打扎实基础!主要考查在上机填空题,当然还会用在我们后面一个编程题的重要方法里,重点要知道这些函数的作用是什么。

第 10 章对C语言的深入讨论

1、(1)有如下程序:#define PI 3.14

#define ADDPI (PI+1)

#define TWO_PI (2*ADDPI)

求x的值:x=TWO_PI/2= (2)有如下程序:#define PI 3.14

#define ADDPI (PI+1)

#define TWO_PI 2*ADDPI

求x的值:x=TWO_PI/2= 2、(1)有程序:#define MUL(a,b) ((a)*(b))

求m的值:m=MUL(10-5,5+1)/2= (2)有程序:#define MUL(a,b) (a*b)

求m的值:m=MUL(10-5,5+1)/2= (3)有程序:#define MUL(a,b) a*b

求m的值:m=MUL(10-5,5+1)/2= 3、(1)C语言中有两种存储类别:和。根据程序中变量定义的位置不同,可以将变量分为和。

(2)可以是自动类变量,也可以说是静态类变量。只能是类变量。C语言提供了与变量相关的4个关键字:(自动)、(寄存器)、(静态)、(外部),这个四个哪一个不是局部变量:。

第11章结构体与共用体

1、struct student

{ char name[20];

char sex;

int age;

float score;

} s1,*p,stu[3];

引用变量s1的name形式是:引用指针*p的sex的两种形式是:

引用stu[0]的age的形式是:

2、typedef struct

{ char name[20];

char sex;

int age;

float score;

} STU;

STU s1,*ps,stu[3];

问:STU是变量还是类型?

2、#include

struct link

{ char date;

struct link *next;

};

typedef struct link Link;

main()

{ Link a,b,c,*p,*s;

a.date=‘A’;

b.date=‘B’;

c.date=‘C’;

p=&a;

a.next=&b;

b.next=&c;

a.next=NULL;

s=p;

while( )

{ printf(“%c”,s->date);

;

}

}

大学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 函数的考查:

2017全国计算机等级考试二级C语言知识点超全整(打印版).docx

全国计算机等级考试

目录 第-部分公共基础知识 第1章算法与数据结构 (1) 考点1算法........................... I 考点2数据结构.. (1) 考点3线性表及英顺序存储结构 (1) 考点4栈和队列 (1) 考点5线性链表 (2) 考点6树与二叉树 (2) 考点7查找技术 (3) 考点8排序技术 (3) 第2章程序设计基础 (4) 考点I程序设计方法与风格 (4) 考点2结构化程序设计 (5) 考点3面向对象的程序设计 (5) 第3章软件工程基础 (5) 考点1软件工程基本概念 (5) 考点2软件分析方法 (6) 考点3结构化设计方法 (7) 考点4软件测试 (8) 考点5程用的调试 (9) 笫4帝数据库设计基础 (9) 考点1数据库系统的基本概念 (9) 考点2数据带系统的基木概念 (10) 考点3关系代数 (12) 考点4数据库设计与管理 (12) 第二部分二级C语言 笫1章程序设汁基本概念 (14) 考点1程序设计 (14) 考点2 C程序的结构和格式 (14) 考点3常鱼和变蛍 (14) 考点4算术表达式 (15) 考点5赋值表达式 (16) 考点6自加.口减和逗号运算 (16) 第2章顺疗结构 (17) 考点1字符型常屋与变虽 (17) 考点 2 putchar 与gclchar 函数 (17) 考点3 printf函数 (17) 考点4 scanf函数 (18) 考点5位运算的含义和应用 (18) 第3章选择结构 (19) 考点1关系运算符和关系表达式 (19) 考点2逻轉运算符和逻辑表达式 (19) 考点3 if语句及其构成的选择结构 (19) 考点4 switch语句与break语句 (20) 第4章循环结构 (20) 考点1 while循环结构 (20) 考点2 do-while循环结构 (21) 考点3 for循环结构 (21) 考点4嵌套循环语句 (21) 第5章函数 (21) 考点I库函数 (21) 考点2函数的调用 (22) 考点3参数传递 (22) 考点4函数的递归调用 (23) 考点5局部、全局变量和存储分类 (23) 第6章地址与指针 (23) 考点1变量的地址和指针 (23) 考点2抬针变量的操作 (24) 考点3函数之间地址的传递 (24) 第7章数组 (24) 考点1 一维数组的定义及元素的引用??24 考点2函数对-维数组及元素的引用??25 考点3二维数组的定义 (25) 考点4二维数组和指针 (25) 考点5二维数组名和指针数组作为实参???26 第8章字符串 (26) 考点|用-?维字符数组存放字符出? (26) 考点2使指针指向字符串 (26) 考点3字符串的输入和输出 (26) 考点4字符串数组 (27) 考点5用于字符串处理的函数 (27) 第9章编译预处理和动态存储分配 (27) 考点I編译预处理 (27) 考点2宏替换 (27) 考点3文件包含处理 (28) 考点4动态存储分配 (28) 第10章结构体.共用体和用戸定义类型28考点1结构体 (28) 考点2共用体 (29) 考点3用户定义类型 (29) 第11章文件 (29) 考点1文件指针 (29) 考点2文件的读写 (30)

计算机二级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语言知识点总结

谭浩强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语言知识点总结 完美版

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,如果

国家二级C语言公共基础知识要点及历年真题

1算法 1.1 算法的基本概念 1.算法的概念(必记): 算法是指解题方案的准确而完整的描述。 分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现。整套的指导方 案称之为算法,而具体的实现称之为程序。并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即可以一点点的理想化),但在程序实现时,必须受到具体环境的约束(现实不同于理想)。 结论:算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。 2.算法的基本特征(必记): a.可行性:由于算法总是在某个特定的计算工具上实现并执行的,因而受到计算工具的限制,所以在设计算法时,要考虑到设计的算法是否是可性的。 b.确定性:算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。 c.有穷性:算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。 d.拥有足够的情报:算法有相应的初始数据。 3.算法的基本要素: 一个算法通常由两个基本要素所组成:一是对数据对象的运算和操作,二是算法的控制结构。 基本运算和操作分为四类: a. 算术运算: (加、减、乘、除等运算) b. 逻辑运算: (与、或、非等运算) c. 关系运算: (大于、小于、等于、不等于等运算) d. 数据传输: (赋值、输入、输出等操作) 算法的控制结构: 算法中各操作之间的执行顺序称之为算法的控制结构。一个算法一般都可以用顺序、选择、循环三种基本控 制结构组合而成。 注意:一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。 4.算法设计基本方法: 列举法、归纳法、递推、递归、减半递推技术、回溯法。 1.2 算法的复杂度 (必记) 算法的复杂度主要包括时间复杂度和空间复杂度。 1.算法的时间复杂度: 是指执行算法所需要的计算工作量,是由算法所执行的基本运算次数来度量。 可用平均性态和最坏情况两种分析方法。其中平均性态分析是指用各种特定输入下的基本运算次数的加权平 均值来度量算法的工作量;而最坏情况分析是指在所有特定输入下的基本运算次数据的最大次数。 2.算法的空间复杂度: 一个算法的空间复杂度,是指执行这个算法所需要的内存空间。包含有三部分所组成:算法程序所占的空间 +输入的初始数据所占的存储空间+算法执行过程中所需要的额外空间。 历届的考题: 1、算法具有五个特性,以下选项中不属于算法特性的是(______) [2005.4] A)有穷性B)简洁性C)可行性D)确定性 2、问题处理方案的正确而完整的描述称为______。[2005.4] 3、下列叙述中正确的是________。[2006.9] A)一个算法的空间复杂度大,则其时间复杂度也必定大

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语言循环知识点总结

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

一些例子:

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

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

全国计算机等级考试二级C语言考点(完整版)

C语言二级考点(完整版) 第一章…… C语言基础知识 第二章……顺序结构 第三章……选择结构 第四章. ……循环结构 第五章……函数 第六章……指针 第七章……数组与指针 第八章……数组与函数 第九章……字符串 第十章……结构体与共用体 第十一章……文件 第一章C语言基础知识 考点1. C语言程序的结构认识 本节通过一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。 例1 计算两个整数之和的c程序: #include main() { int a,b,sum; /*定义变量a,b,sum为整型变量*/ a=20; /*把整数20赋值给整型变量a*/ b=15; /*把整数15赋值给整型变量b*/ sum=a+b; /*把两个数之和赋值给整型变量sum*/ printf("a=%d,b=%d,sum=%d\n",a,b,sum); /*把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c语言程序都必须包括以下格式: main() { } 这是c语言的基本结构,任何一个程序都必须包含这个机构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。 5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头(2)不以分号结尾

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语言只有八、十、十六进制,没有二进制。但是运行时候,所

上海理工大学 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

2019年全国计算机二级C语言知识点复习:指针

2019年全国计算机二级C语言知识点复习:指针 【考点1】指针变量 指针变量是用来存储地址的,而一般变量是存储数值的。指针变量可指向任意一种数据类型,但不管它指向的数据占用多少字节,一个指针变量占用四个字节。 【考点2】指针变量的定义 格式为:类型名 *指针变量名。二维指针int **p;能够理解为基类型为(int *)类型。 【考点3】指针变量的初始化 指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,如果不指向任何数据就赋“空值”NULL。 指针变量两种初始化 方法一:int a=2,*p=&a;(定义的同时初始化) 方法二:int a=2,*p; (定义之后初始化) p=&a; 【考点4】指针变量的引用 &是取地址符,*是间接访问运算符,它们是互逆的两个运算符。在指针变量名前加间接访问运算符就等价它所指向的量。 【考点5】指针的运算 int *p 中 *p 和p 的差别: *p 能够当做变量来用;*的作用是取后面地址p 里面的数值

p 是当作地址来使用。 *p++ 和(*p)++的之间的差别:改错题目中很重要 *p++是地址会变化。 (*p)++ 是数值会要变化。 三名主义:(考试的重点) 数组名:表示第一个元素的地址。数组名不能够自加,他是地址常量名。(考了很多次) 函数名:表示该函数的入口地址。 字符串常量名:表示第一个字符的地址。 考试重要的话语: 指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p 的地方都能够用它等价的代替指向的变量。 例如:int a=2,*p=&a; *p=*p+2; (因为*p 指向变量a,所以指向哪个就等价哪个,这里*p 等价于a,能够相当于是a=a+2)

苏科大 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类,即(控制语句)、(函数调

C语言基础必须掌握的 知识点

C语言基础必须掌握的知识点 C程序的结构和格式。 1.main函数 任何一个有效的程序都有且只能有一个main()函数,它的地位相当于程序的主体,就像大树的树干,而其他函数都是为main()服务的,就像大树树干分出的枝干。 main函数具有以下3个特点: ① C语言规定必须用main作为主函数名。其后的一对圆括号中间可以是空的,但不能省略。 ②程序中的main()是主函数的起始行,也是C程序执行的起始行。每一个程序都必须有一个且只能有一个主函数。 ③一个C程序总是从主函数开始执行,到main函数体执行完后结束,而不论main函数在整个程序中的位置如何。 2.程序中的注释 在一个C程序中放在符号“/*”和“*/”之间的内容,称为对程序的注释。注释是对程序的说明。编写注释时应遵循以下4条规则: ①符号“/*”和“*/”必须成对出现,“/”和“*”两者之间不可以有空格。 ②注释可以用英文、中文,可以出现在程序中任意合适的地方。 ③在注释之间不可以再嵌套“/*”和“*/”。例如,/*/*…*/*/形式是非法的。 ④注释从“/*”开始到最近的一个“*/”结束,其间的任何内容都被编译程序忽略。换句话说,注释只是为了更好地看懂程序而做的标记,不对程序产生任何影响。 3.源程序的书写格式 C程序书写格式的基本习惯有: ①一行内可以写几个语句,一个语句可以分写在多行上。 ②每个语句和数据定义的最后必须由一个分号“;”结束(分号是C语句的一部分,不是语句之间的分隔符)。 4.C语言的风格 C语言的风格主要有以下几个方面: ●C语言简洁、紧凑,使用方便、灵活; ●运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算; ●数据结构丰富,具有现代化语言的各种数据结构; ●用函数作为程序模块以实现C程序的模块化; ●C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作; ●生成目标代码质量高,程序执行效率高; ●用C语言写的程序可移植性好(与汇编语言比)。 5.标识符 所谓标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。 C语言合法标识符的命名规则是: ①标识符由字母、数字和下划线组成; ②第一个字符必须为字母或下划线;

计算机二级考试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’是合法的。 ‘\108’是非法的,因为不可以出现8。 转义字符意义ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT) 011 \\ 反斜杠092 \? 问号字符063 \' 单引号字符039 \" 双引号字符034

相关文档
最新文档