s&&s)printf("%4d",n);}}2、编程实现:学校买校服小于50套90元一套元一条,超过50套80元" />
文档库 最新最全的文档下载
当前位置:文档库 › 二级C语言考试复习资料

二级C语言考试复习资料

二级C语言考试复习资料
二级C语言考试复习资料

二级C语言考试复习资料

1、找出1~100中其各位数的乘积大于各位数的和的所有整数

#include"stdio.h"

main()

{ int k=1,s=0,m,n;

printf("\n");

for(n=1;n<=100;n++)

{ k=1,s=0;

m=n;

while(m%10)

{ k*=m%10;s+=m%10;

m=m/10; }

if(k>s && s) printf("%4d",n);

}

}

2、编程实现:学校买校服小于50套90元一套元一条,超过50套80元一套,

单件上衣60元一件,裤子45元一条,现需购买M套上衣,N套裤子,共需多少钱?

#include"stdio.h"

main()

{ int m,n,s,k;

printf("please input the clouth numble:m and the shirt numble:n\n"); scanf("%d,%d",&m,&n);

if (m==n)

{ if(m>50) s=80*m;s=90*m; }

if(m>n)

{

k=m-n;

if (n>50) s=80*n+k*60;else s=90*n+k*60;

}

else

{

k=n-m;

if(m>50) s=80*m+k*45;else s=90*m+k*45;

}

printf("s=%d",s);

}

3、如果a=1,b=2,c=0,k=2写出表达式k

main()

{

int a,b,c,k;

a=4;b=5;c=1;k=6;

k=k

printf("k=%d",k);

}

4、若有如下定义和说明则P+1代表的是元素( a[0][1] )的地址.

int a[2][3],(*P)[3]; P=a;

5、画矩阵n=4n=5

main()

{

int a[10][10],m,n,i,j;

scanf("%d",&n);

if(n%2==0)m=n/2;else m=n/2+1;

for(i=0;i

for(j=i;j

{

a[i][j]=i+1;

a[n-1-i][j]=i+1;

a[j][i]=i+1;

a[j][n-i-1]=i+1;

}

for(i=0;i

{

for(j=0;j

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

}

}

6、画n层金字塔

main()

{

int i,j,m,n;

printf(“please input n:\n”);

scanf(“%d”,&n);

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

{

for(j=1; j<=n-1; j++) printf”(“ “) ; //画空格

for(k=1; k<=2*i-1; k++)printf(“ * “); //画星号

printf(“\n”);

}

}

7、求下列表达式的值

1)若a是int变量,a=6;则a+=a-=a*a的值是-60

2)若a,b是int变量,a=6,b=5;则a%=(b%=2)的值是0

3)若x=2.5 , a=7, y=4.7 则x+a%3*(int)(x+y)%2/4值是2.5

4)a=2, b=3, x=2.5 y=2.5则(float)(a+b)/2+(int)x%(int)y值是2.5 5)int x,y,z,k;x=(y=52,z=26,k=32)后x的值是32

6) 语句printf(“%d”,stramp(“TEH”,”THE”));的结果是-3

main()

{

printf("%d",strcmp("TEH","THE"));

}

8、找出1~100中能被3整除且个位数是6的所有整数

main()

{

int i ,j;

for(i=0,i<10;i++)

if((i*10+6)%3==0) printf("%-4d",i*10+6);else continue;

}

9、假如m是一个三位数abc,由a、b、c组成另一个三位数cba,则表达式是:因为c=m%10,b=(m/10)%10,a=m/100,所以结果是:

(m%10)*100+((m/10)%10)*10+m/100.

程序如下:

main()

{

int m;

printf("please input 3bit numblem=abc:\n");

scanf("%d",&m);

printf("m.a=%d,m.b=%d,m.c=%d\n",m/100,(m/10)%10,m%10);

printf("cba=%d\n",(m%10)*100+((m/10)%10)*10+m/100);

}

9、编程计算找出x,y,x中的最小值:

void main(void)

{

int x=4,y=5,z=8;

int u,v;

u=x

v=u

printf(“min=%d”,v);

}

A.10、

11、写出下列程序运行结果:

(1)

main()

{

int x=2,y=-1,z=2;

if (x

if (y<0) z=0;

else z=z+1;

printf(“%d”,z);

}

结果是2

(2)

main()

{

int x1=3,x2=0,x3=0;

if (x1=x2+x3) printf(“****”);else printf (“&&&&”); }

结果是**** 想想为什么?

(3)

main()

{

int y=10;

do{y--;

printf("%d",y--); }

while(--y>0);

}

结果是9630

(4)

main()

{int a=6,b=5;

printf("%d",a%=(b%=2));

} 结果是0

(5)

#define P x+x

main()

{

int x=5,y;

y=P*P;

printf("%d",y);

}结果是 35

(6)

main()

{

int a=12,b=12;

printf(“%d %d”,--a,++b)’} 结果是11 13

(7)

main()

{

int a=2,b=3,c;

c=1.0/b*a;

printf("\n%d",c);

} 结果是0 和下面程序对比有什么不同main()

{

int a=2,b=3;float c;

c=1.0/b*a;

printf("\n%f",c);

}

(8)

main()

{

int y=10;

while(y--);

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

} 结果是 -1

(9)

int f( int x)

{

static int m=0;

m+=2;

return (m+x);

}

main()

{

int i;

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

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

}结果是3,6,9,12,

(10)

#include”string.h”

void fun(char *w,iny m)

{

char s,*p,*p2;

p1=w;p2=w+m-1;

while(p1

{s=*p1++;*p1=*p2--;*p2=s;}

}

main()

char a[]=”abcdefg”;

fun(a,strlen(a));

puts(a);

}结果是agaagag

12编程实现去掉一个英语句子中多余空格

main()

{

char c[80]=" I am 16.";int flag=0,i=0;

for(i=0;c[i]!='\0';i++)

{

if(c[i]!=' ') {printf("%c",c[i]);flag=1;}

else if(c[i]==' ' && flag==1) {printf("%c",c[i]);flag=0; }

}

13、编程实现输入一组数,输出偶数include"stdio.h"

#include"math.h"

main()

{

int i,j,a[10],b[10];

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

a[i]=rand();

for(i=0,j=0;i<10;i++)

{if((a[i]%2)==0) b[j++]=a[i]; else continue;}

for(i=0;i

printf("%d,",b[i]);

}

14、编程求最大公约数和最小公倍数main()

{

int a,b,p,temp,t;

scanf("%d,%d",&a,&b);

if(a

p=a*b;

while(b!=0)

{

t=a%b;

a=b;

b=t;

}

printf("max yo numble=%d",a); printf("main bei numble=%d",p/a); }

15、选择法排序

main()

{

int i,j,min,t,a[11];

printf("input data:\n");

for(i=1;i<=10;i++)

{printf("a[%d]=",i);

scanf("%d",&a[i]);}

printf("\n");

for(i=1;i<=10;i++)

printf("%5d",a[i]);

printf("\n");

for(i=1;i<=9;i++)

{

min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j]) min=j;

{t=a[i];a[i]=a[min];a[min]=t;}

}

for(i=1;i<=10;i++)

printf("%5d",a[i]);

}

16写一个函数用冒泡法对十个字符排序#include"string.h"

void sort( char a[])

{

int i,j;

char t;

for (i=1;i<10;i++)

for(j=0;j<10-i && a[i]!='\0';j++) if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

main()

{

int i ;

char a[20];

gets(a);

sort(a);

puts(a);

}

17、在一组有序数中插入一个数后仍然有序

main()

{int a[11]={1,10,20,30,40,50,60,70,80,90}; int x,n,end,i;

printf("please insert data:\n");

scanf("%d",&x);

if(x>a[9]) a[10]=x;

else

{

n=0;

while(x>a[n])

n++;

for(i=10;i>n;i--)

a[i]=a[i-1];

a[n]=x;

}

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

printf("%5d",a[i]);

}

18、输出乘法口诀表

main()

{

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=9;j++)

printf(“%d*%d=%-4d”,i,j,i*j);

printf(“\n”);

}

}

19、键盘上输入一个字符串将其中的小写字母全部换成大写字母,然后输出到文件“test”中保存,文件以!结束

main()

{

FILE *fp;

char a[100];

int i=0;

if((fp=fopen(“test”,”w”)==NULL)

{

printf(“Can not open the file\n”);

exit (0);

}

printf(:input one string:\n”);

gets(a);

while(a[i]!=’!’)

{

if(a[i]>=’a’ && a[i]<=’z’) a[i]=a[i]-32;

fput(a[i],fp);

i++;

}

fclose(fp);

fp=fopen(“test”,”r”);

fgets(a,strlen(a)+1,fp);

printf(%s\n”,a);

fclose(fp);

}

20、选择题

1)下列算术运算符中,只能用于整型的是( D)

A -- B. + C. / D. %

2)判断字符串ab是否相等应当使用( D )

A.if (a==b) B.if (a=b) C.if (strcpy(a,b)) D.if (strcmp(a,b)) 3)有int k=7,x=12;则能使值为3的表达式是( C )

A. x%=(k%=5)

B. x%=(x-k%5)

C.x%=k+k%5

D.(k%=5)-(x%=k)

4)已知int a;float i=2;下列合法的语句是()

A. a==1

B. ++i;

C.a=a++=5;

D.a=int(i);

5)在C语言中合法的字符常量是(B)

A ‘\084’

B ‘\x48’ C.”48” D. ‘\48’

6)下面关于switch和break语句说法正确的是(B)

A.break是switch的一部分;

B.在switch中可根椐需要使用和不使用break语句;

C.在switch中必须使用break语句;

D.以上三个结论有两个是正确的

7)能正确表示a和b同时为正或同时为负的逻辑表达式是(D)

A.(a>=0|| b>=0)&&(a<0||b<0)

B.(a>=0&& b>=0)&& (a<0 && b<0)

C.((a+b)>0&&(a+b<=0)

D.a*b>0

8)函数的定义和引用中以下下说法正确的是(B)

A.必须有形参 B。可以没有形参

B.C.数组名不能作形参 D。形参必须是变量名

9)如果在一个函数的复合语句中定义了一个变量,则该变量( A )A.只在该复合语句有效;

B.在函数内有效;

C.不能在复合语句中定义变量;

D.在程序文件范围内有效;

10)C语言中( D )存储类型的变量只在使用时分配空间

A.static 和auto

B.register和 extern

C.register和 static

D.auto 和register

11)下列说法正确的是( B )

A.函数的定义可以嵌套,但调用不能嵌套

B.函数的定义不可以嵌套,但调用可以嵌套

C.函数的定义和调用都不能嵌套

D.函数的定义和调用都可以嵌套

如果限制一个变量只能被本程序使用,必须通过( C )来实现

A.静态内部变量 B、外部变量说明 C、静态外部变量 D、局部变量说明

12)下列说法正确的是( A )

A.C语言由1个或多个函数组成

B.一个C程序必须包含在一个源文件中

C.一个函数可以定义其他函数

D.所有函数必须在一个源文件内

13)一个被调用函数无返回语句,则函数返回值的类型是( D )A、char B.int C.无返回值 D、无法确定

14)对宏命令的处理是(B )

A、在程序执行时进行 B、在程序对其它语句进行编译前进行C、在程序连接时进行 D、与程序中其它语句同时进行编译15)下列说法正确的是(C)

A、预处理命令只能位于程序开始处

B、预处理功能是指宏替换和文件包含调用

C、只要#标识的控制行老师预处理命令

D、上述说法都对

16)return的说法正确的是( C)

A、必须在每个函数中出现

B、只能在非主函数中出现一次

C、可以在一个函数中多次出现

D、在主函数和其它函数中都可以出现

17)下列说法不正确的是(B)

A、形参是局部变量

B、主函数中定义的变量在整个文件都有效

C、可以在一个函数的复合语句中定义变量

D、不同函数可以使用相同变量名

18)建立函数的主要目的之一是(b)。

A.提高程序的执行效率

B. 提高程序的可读性

C. 减少程序的篇幅

D. 减少程序文件所占内存

19)以下关于预处理的叙述中不正确的是(c)。

A. C源程序中凡是以"#"号开始的控制行都是预处理命令行

B. 预处理命令行必须位于源程序的开始部位

C. 一条有效的预处理命令行必须单独占据一行

D. 预处理命令是在正式编译之前先行被处理的

20)若有以下说明和语句,则对结构体变量std中成员id的引用方式不正确的是(a)。

struct work

{

int id;

int name;

}

std,*p;

p=&s+d;

A. std.id

B. *p.id

C. (*p).id

D. p->id

21)下列运算符中优先级最高的是(b)。

A. <

B. +

C. &&

D. !=

22)设有说明: double y=0.5,z=1.5; int x=10;则能够正确使用C语言库函数的赋值语句是(d)。

A.z=ln(y)+abs(y);

B. y=log10(y)+pow(y);

C. z=sqrt(y-z);

D.

x=(int)(atan2((double)x,y)+exp(y-0.2));

23)若运行以下程序时, 从键盘输入2473, 则下面程序的运行结果是(a)。 #include

void main(void)

{

int c;

while((c=getchar())!='\n')

switch(c-'2')

{

case 0:

case 1: putchar (c+4);

case 2: putchar (c+4); break;

case 3: putchar (c+3);

default: putchar (c+2);break;

}

printf("\n");

}

A. 668977

B. 668966

C. 66778777

D. 6688766

.24)对for(表达式1; ;表达式3)可理解为(b)。

A. for(表达式1;0;表达式3)

B. for(表达式1;1;表达式3)

C. for(表达式1;表达式1;表达式3)

D. for(表达式1;表达式3;表达式3)

25)在访问一个结构元素前你必须定义(B)

A、结构体

B、结构体变量

C、定义结构指针

D、A和B

26)

21、填空题

1)C语言中数据的基本类型有整型、实型、字符型、板举型。

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语言公共基础知识要点及历年真题

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语言二级考点(完整版) 第一章…… 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)不以分号结尾

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语言基础必须掌握的 知识点

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语言考点解析:初步知识 2.1程序的构成 尽管C程序的内容千变万化,但是它们的构成都是一致的,一个完整的C源程序的格式可以如下表示: 编译预处理 主函数() 函数() 函数() 从上面中可以看出,一个C源程序实际上就是若干函数的集合,这些函数中有一个是程序的主函数,任何C的源程序执行时,都是从主函数开始执行的,其它的函数最终必将被这个主函数所调用。C语言除了主函数规定必须取名main外,其它的函数名可以任取,但是要符合C的标识符取名规则,另外注意不要与保留字重名,最好也不可与C语言中的库函数或其它一些命令如编译预处另命令重名。各个函数在程序中所处的位置并不是固定的,但要求一个函数是完整的、独立的。不允许出现在一个函数内部又去定义另一个函数,或是函数格式不齐全的现象。一个完整的一般意义上的函数有一个固定的框架,编写具体的函数时,只需在这个框架中填入相应的内容即可。框架如下: 函数类型函数名(形参) 形参说明 { 内部变量说明; 执行语句部分; } 2.2C语言的基本词法 C语言的基本词法由三部分组成:符号集、关键字、保留字。 符号集就是一门语言中允许出现的字符的集合,C语言的符号集就是ASCⅡ码表中的一些字符,在键盘上不能直接得到(比如说响铃字符),C语言引入了转义字符的概念,利用反斜杠符号″\″后加上字母的一个字符组合来表示这些字符,当在源程序中遇到这类字符组合

时,虽然这个字符组合是一个字符串的形式,但C语言仍会自动将之理解成某一特定的字符。比如″\″,C语言在处理这个字符组合时,会自动理解成回车换行符号。转义字符经过进一步引申应用,形成了另外两种形式:″\ddd″和″\xnn″,这里″\″后的ddd和xnn分别代表三位八进制和两位十六进制数(打头的″x″只是标明后面跟着的是十六进制数),这两种形式不再局限于表示不可打印的字符,它们可以表示ASCⅡ码表中的任意字符,只要把所需表示的字符的ASCII码转换成八进制数或十六进制数即可。比如说字母″A″,ASCII码为65,65的八进制和十六进制分别为101和x41,所以,字母A可表示为″\101″或″\x41″,对转义字符应认真理解。 标识符就是用以标识的符号。正如现实生活中给每一个人都取一个名字一样,C语言中的每一个对象(如函数、变量等)都必须取一个标识符以和其它对象区别开。在C语言中,这个标识符是一个字符串,这个字符串的选定有一定的规则:必须是以字母或下划线开头的字母与数字的序列。除了这个基本的规则外,C语言对标识符的命名还有几个限制需加以注意:①长度最好不要超过八个字符。因C中对标识符只处理前8个字符,超过8个长度的部分将被C自动忽略掉。″ABCDEFGH1″和″ABCDEFH2″是同一个标识符;②标识符不要与保留字同名,最好也不要与C提供的标准标识符,如库函数重名;③应注意C语言对大小写字母是敏感的,Abcd和abcd是两个不同的标识符。 关键字实际上就是一些特殊的标识符,又称保留字,这些保留字不允许用户对它重新定义。 2.3头文件、数据说明、函数的开始和结束标志 1.头文件:也称为包含文件或标题文件,一般放在一个C语言程序的开头,用#include″文件名″的格式,其中文件名是头文件名,一般用.h作为扩展名。 2.数据说明:C语言中的数据分常量和变量两种。 3.常量:有数值常量和符号常量两种。 4.数值常量:可以分为整型常量、实型常量、浮点型常量和字符常量。 5.符号常量:用一个标识符代表的一个常量,又称标识符形式的常量。 6.变量:其值可以改变的量,变量名习惯上用小写字母表示。 7.标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。 8.标识符的命名规则:C语言中标识符只能由字母、数字下划线三种字符组成,且第一个字符必须为字母或下划线。C语言是大小写敏感语言,即对大小写字母认为是不同的字符。C语言中标识符的长度随系统不同而字,如TURBOC中取前8个字符,8个字符后面的字符会自动取消。

计算机等级考试必备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、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。

计算机等级考试二级C语言高频考点(C语言部分)

计算机等级考试二级C语言高频考点(C 语言部分) 第一章 C语言基本知识 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。 【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体。一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。 【考点3】存储形式 计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行可写多条语句,一个语句可写在多行上。 【考点6】标识符 是标识名字的有效字符序列,可以理解为C程序中的单词。 标识符的命名规则是: (1)标识符只能由字母、数字和下划线组成,字母区分大小写。 (2)标识符的第一个字符必须是字母或下划线,不能为数字。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include 等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 【考点7】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据

计算机二级考试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

2019年全国计算机二级C语言考试必背知识点总结(4)

1)指针变量的本质是用来放地址,而一般的变量是放数值的。 2)int *p 中 *p和p的差别: *p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。 3)*p++ 和 (*p)++的之间的差别:改错题目中很重要 *p++是地址会变化。 (*p)++ 是数值会要变化。 4)三名主义:(考试的重点) 5)数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次) 6)函数名:表示该函数的入口地址。 7)字符串常量名:表示第一个字符的地址。 对a[10]这个数组的讨论。 1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。 2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。 3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。 对a[3][3]的讨论2016计算机二级考试C语言知识点总结计算机考试。 1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。 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]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。

二维数组做题目的技巧: 如果有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。 一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。 数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写 int a[]={1,2} 合法 WiseMedia int a[][4]={2,3,4}合法。但int a[4][]={2,3,4}非法。 二维数组中的行指针 int a[1][2]; 其中a现在就是一个行指针,a+1跳一行数组元素。搭配(*)p[2]指针 a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组元素。搭配*p[2]指针数组使用 还有记住脱衣服法则: a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再可以变成 *(*(a+2)+3) 这个思想很重要!

计算机二级C语言知识点(字符串)

计算机二级C语言知识点(字符串) 计算机二级C语言知识点(字符串) 字符串与字符数组 1.字符数组的定义 定义方法与前面介绍的类似,只是将数组定义为字符型即可。例如: charc[10]; 这里定义了一个包含10个元素的字符数组c。 2.字符数组的初始化 对字符数组初始化,可以采用以下方法: (1)逐个字符赋给数组中各元素; (2)用字符串常量使字符数组初始化。 3.字符串 在C语言中,字符串是作为字符数组来处理的,字符串可以存放在字符型一维数组中,故可以把字符型一维数组作为字符串变量。 字符串常量是用双引号括起来的一串字符。 C语言中约定用′\0′作为字符串的结束标志,它占内存空间,但不计入串的长度,′\0′的代码值为0。 系统对字符串常量也自动加一个′\0′作为结束符。例如″clanguage″共有10个字符,但在内存中占11个字节,最后一个字节存放′\0′。 4.字符数组的输入输出 (1)逐个字符输入和输出

①在标准输入输出printf和scanf中使用%c格式描述符; ②使用getchar和putchar函数。例如: for(i=0;i10;i++) scanf(″%c″,str[i]);/*或str[i]=getchar();*/ str[i]=′\0′;/*人为加上串结束标志*/ for(i=0;i10;i++) printf(″%c″,str[i]);/*或putchar(str[i]);*/ (2)字符串整体输入输出 ①在标准输入输出函数printf和scanf中使用%s格式描述符; 输入形式: charstr[6]; scanf(″%s″,str); 其中str为字符数组名,代表着str字符数组的起始地址,输入时系统自动在每个字符串后加入结束符′\0′。若同时输入多个字符串,则以空格或回车符分隔。 输入形式: printf(″%s″,str); 输字符串时,遇第一个′\0′即结束。但可人为控制输出串所占的域宽如: printf(″%6s″,str);/*若字符串中字符多于6个,仍将全部输出*/ printf(″%-6s″,str);/*只输出前6个字符,多余的不输出*/ ②使用gets和puts函数输入输出一行

2019年计算机二级考试C语言知识点:选择结构

2019年计算机二级考试C语言知识点:选择结构 选择结构 特别要注意:c 语言中是用非0 表示逻辑真的,用0 表示逻辑 假的。 【考点1】关系运算 关系运算符有6个,分别是>,>=,8 这个是真的,所以表达式 的数值就是1。 【考点2】逻辑运算 只能为1(表示为真),或0(表示假) a) 共有三种逻辑运算符号。逻辑非(!),辑与(&&),逻辑或(||)。 b) !>&&>|| 优先的级别。 c) 注意短路现象。考试比较喜欢考到。 例a++||b++,如果表达式a++的值非零,则表达式b++不再执行。 d) 要表示 x 是比0 大,比10 小的方法。0 【考点3】if语句 能够单独出现,也能够与else匹配出现。if语句能够嵌套,这 时else总是与离它最近的且没有与else匹配的if匹配。 注意if语句的子句是紧接if或else的一句,如有多句需要用{}括起来。 【考点4】条件运算 是的三目运算符,格式:表达式1 ?表达式2 :表达式3

表达式1值为非0时,整个表达式值为表达式2的值,表达式1 值为0时,整个表达式值为表达式3的值。考试口诀:真前假后。 【考点5】switch语句 a) 一定要注意有 break 和没有break 的差别,书上(53,54 页)的两个例子,没有break 时候,只要有一个case 匹配了,剩下的都要执行,有break 则 是直接跳出了switch 语句。 b) switch 只能够和break 一起用,不能够和continue一起用。 c) switch(x) x:是整型常量,字符型常量,枚举型数据。 {case 1:…. 不能够是变量。 case 2:…. } switch后小括号里面的表达式不能为实型,case后表达式不能 有变量。 口诀:switch表不为实,case表不为变。

计算机二级C语言程序设计重要知识点

本次串讲的要讲解的重要知识点 1、高级语言与C语言的特点 2、C语言的基本字符集、转义字符、保留字及其含义和C语言标识符的构成规则。 3、C程序的基本结构与书写C程序的基本规则 4、C语言中数据类型的分类 5、整型、实型、字符型、字符串常量的书写方法 6、符号常量的应用和宏定义命令的使用 7、整型、实型、字符型变量的定义、初始化方法 8、基本类型数据在内存中的存放方式 9、基本运算符的运算规则、优先级别和结合性 10、掌握算术表达、关系和逻辑表达式、赋值表达式、逗号和条件表达式的构成和运算规则 11、变量赋值及表达式计算时的数据类型转换规则 12、字符输入/输出函数和格式输入/输出函数的使用 13、三条选择语句和三种选择结构的程序设计 13、三条选择语句和三种选择结构的程序设计 14、三条循环语句和三种循环结构的程序设计 15、一维数组的定义、初始化和数组元素的引用方法 16、二维数组的定义、初始化和数组元素的引用方法 17、字符数组的定义、初始化和数组元素的引用方法 18、字符数组中存放的字符串的输入/输出和处理方法 19、字符串处理的常用系统函数及其使用 20、指针变量的定义、初始化、赋值和一般使用形式 21、指向变量的指针变量、指向一维数组元素的指针变量、指向字符串的指针变量的使用方法。 22、指针数组的定义、初始化和引用 23、函数的结构与定义方法,握函数的一般调用方法 24、函数调用时参数的值传递方法、地址传递方法、返回值传递方法和利用全局外部变量在函数间传递数据的方法。 25、变量的存储类型及其定义方法、变量的生存期和作用域 26、函数嵌套调用和递归函数的特点和设计方法 27、指针型函数的定义方法和调用方法 28、常用系统函数的使用 29、结构型数据的特点和应用及结构型的定义方法 30、结构型变量的定义、初始化和成员引用方法 31、结构型数组的定义、初始化和引用结构型数组元素的成员的方法。 32、结构型指针变量的定义、初始化和利用结构型指针变量引用结构型数据的成员的方法 33、用户自定义类型的定义和使用 34、文件名的组成规则、文件的分类及其特点 36、文件型指针的定义方法 37、缓冲文件系统中各类系统函数的使用 (1)打开/关闭文件函数的使用方法。 (2)文件尾测试函数的使用方法。

2020全国计算机等级考试二级C语言知识点全套复习提纲(精华版)

全国计算机等级考试二级C语言全套复习提纲(精华 版)

目录 第一部分公共 基础知识 第1 章算法与数据结构 (1) 考点1 算法 (1) 考点2 数据结构 (1) 考点3 线性表及其顺序存储结构 (1) 考点4 栈和队列 (1) 考点5 线性链表 (2) 考点6 树与二叉树 (2) 考点7 查找技术 (3) 考点8 排序技术 (3) 第2 章程序设计基础.4 考点1 程序设计方法 与风格 (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 与getchar 函数 (17) 考点3 printf 函数 (17) 考点4 scanf 函数 (18) 考点5 位运算的含义和应用 (18) 第3 章选择结构 (19) 考点1 关系运算符和关系表达式 (19) 考点2 逻辑运算符和逻辑表达式 (19)

2020年全国计算机等级考试二级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语言易错知识点汇总

计算二级C语言易错知识点 1.指针是用来存放地址的变量,用(类型名 *指针变量名)的形式定义。赋值时 应将某个变量地址即&x 赋给指针变量 2. 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp) 的返回值为 A) 0 B) '\0' C) 非0值 D) NULL 【解析】本题考查文件的定位,feof函数的用法是从输入流读取数据,如果到达文件末尾(遇文件结束符),eof函数值为非零值,否则为0,所以选项C正确。 3. 有以下程序 #include main() { int a=5,b=1,t; t=(a<<2)|b; printf("%d\n",t); } 程序运行后的输出结果是 A) 1 B) 11 C) 6 D) 21 【解析】本题考查位运算,以及按位或操作,将a左移一位相当于是将a乘以了4,所以a<<2等于20,二进制表示为00010100,与b按位或得到00010101,即21,所以选项D正确。 4. 有以下程序 #include

#define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2) ; i2=f(1+1) ; printf("%d %d\n",i1,i2); } 程序的运行结果是 A) 12 7 B) 12 12 C) 11 11 D) 11 7 【解析】本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行f(2)=(2*N+1)=11,执行f(1+1)=(1+1*N+1)=7。选项D正确。 5. 有以下程序 #include #include struct A { int a; char b[10]; double c; }; void f(struct A t); main() { struct A a={1001,"ZhangDa",1098.0}; f(a); printf("%d,%s,%6.1f\n", a.a,a.b,a.c); } void f(struct A t) { t.a=1002; strcpy(t.b,"ChangRong"); t.c=1202.0;

c语言知识点总结

二级C语言基础知识点总结 第一章 1,函数是从主函数(main())开始执行,回到主函数(main())结束; 2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束; 第二章 1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性2,算法(程序)的几个结构:选择结构,顺序结构,循环结构 第三章 1,int类型是2个字节,float是4个字节,dooble是8个字节 2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型(空类型合法哦,不要忘记了这个特殊哦)3,变量的地址是确定的,变量变的地方只是地址里面的值。 4,用户标志符,由数字,字母,下划线构成,第一个不能是数字,但是32个关键字除外。5,注意int的最大表示范围是-32768――+32767,当超过这个范围的时候,即以%d输出+32768时结果为-32768 6,长整形(long)表示方法是在数字后面加L,如果一个变量a=3,那么表示的是一个整形的3,如果是a=3L,那么就是长整形的3;当分别以%o,%ld,%x (8进制,长整形,16进制)输出的时候,结果没有前面的0,0X,和后面的L 例:int a=075,b=ox14;long int c=5L; printf(“%o,%x,%ld”,a b c); 结果为(75,14,5) 7,当出现’\0’的什么时候为结束,什么时候为八进制的转义字符:当’\0’后面有1-7之间的数字的时候为转义字符;其他的时候为字符串结束标志,注意转义字符有哪些(参考书p8) 这样一个例题若strlen(”abc\089”)=3 strlen(“abc\012”)=4 8,强制转换不会改变一个变量的值,只是改变其作用的那个表达式的值。 9,++,――,当++,——,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当++,――,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握++,――结合性是右结合,若i+++j等价于(i++)+j; 10,复合运算符要注意当等号后面接的是表达式的时候要把表达式看成一个整体即x *=y+8等价于x=x*(y+8),y+8是一个整体 第四章 1,格式输入和输出的时候,注意格式。要严格按照题目的格式进行操作。(在做题的时候尤其是读程序写结果的时候要细心哈!) 2,%d,%md,%m..nd, %e,以及相应的几种格式是什么意思,参考书p13 第五章 1,关系运算符,>,<,<=,>=,= =,!= ,==和!=优先级最低,主意=与==的区别:=是赋值的意思,表达式的值是对变量赋的值,==是关系运算符,关系运算表达式的值为0或者1. 2,逻辑运算符,&& ,||,!在这几个中优先级!> && > ||,优先级是体现在结合性上而不是运算的先后性上。例如 a=b=c=1;d=++a||++b&&++c在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从++a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d=1,a=2,b=1,c=1

相关文档
相关文档 最新文档