C语言二级考前一个月复习概况.docx

上传人:b****5 文档编号:28925814 上传时间:2023-07-20 格式:DOCX 页数:27 大小:58.55KB
下载 相关 举报
C语言二级考前一个月复习概况.docx_第1页
第1页 / 共27页
C语言二级考前一个月复习概况.docx_第2页
第2页 / 共27页
C语言二级考前一个月复习概况.docx_第3页
第3页 / 共27页
C语言二级考前一个月复习概况.docx_第4页
第4页 / 共27页
C语言二级考前一个月复习概况.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言二级考前一个月复习概况.docx

《C语言二级考前一个月复习概况.docx》由会员分享,可在线阅读,更多相关《C语言二级考前一个月复习概况.docx(27页珍藏版)》请在冰豆网上搜索。

C语言二级考前一个月复习概况.docx

C语言二级考前一个月复习概况

文本文件

二进制文件

使用方式

含义

使用方式

含义

r

打开文本文件进行只读

rb

打开二进制文件进行只读

w

建立新的文本文件进行只写

wb

建立二进制文件进行只写

a

打开文本文件进行追加

ab

打开二进制文件进行追加/写

R+

打开文本文件进行读/写

Rb+

打开二进制文件进行读/写

W+

建立新的文本文件进行读/写

Wb+

建立二进制文件进行读/写

A+

打开文本文件进行读/写/追加

Ab+

打开二进制文件进行读/写/追加

整数的三种表示形式

表示形式

组成

开头部分

十进制

D,或不加表示

0-9

以1-9开头

八进制

O

0-7

以0开头

十六进制

H

0-9,A-F

以0x开头

inta[100],*p;

等价语句

p=a;

P=&a[0];

等价语句

p=a+1;

P=&a[1];

指针是以地址作为其值的变量,数组名的值是一个特殊的固定地址,可以作为常量指针。

类型

名称

类型名

数据长度

整型

整型

Int

32位

短整型

Shortint

16位

长整型

Longint

32位

字符型

字符型

Char

8位

实型(浮点型)

单精度浮点型

float

32位

双精度浮点型

double

64位

函数

数据类型

格式

printf

float

%f

double

%e

scanf

float

%f%e

double

%lf%le

字符串的输入和输出

输入

Scanf()

该函数遇到空格或回车输入结束

Gets()

该函数遇到回车符输入结束

输出

Printf()

输出时遇到’\0’输出结束

Puts()

输出时遇到’\0’输出结束

运算符

优先级

结合方式

优先级:

高->低

逻辑运算符

右->左

算术运算符

++--+-*

右->左

*/%+-

左->右

关系运算符

<=<>=>==!

=

左->右

逻辑运算符

&&||

左->右

条件表达式

右->左

赋值运算符

*=/=%=+=-==

右->左

逗号运算符

左->右

ASCII码集

符号

十进制

位运算符

‘a

97

&

A

65

|

0

48

异或

^

9

57

取反

~

左移

<<

右移

>>

‘fseek的调用形式:

(fp,offset,from)

‘fp:

文件指针

‘offset:

移动偏移量

‘from:

起始量

C语言中的转义字符

\n

换行符

\t

水平制表符

\b

退格符

\\

单斜杠

\’

单引号

\”

双引号

组合框、列表框都没有Selected属性。

‘int(*p)()p是一个函数指针,该指针指向整数数据。

打开文件:

fopen(“文件名”,文件打开的方式)

关闭文件:

fclose(文件指针)

‘fgetc(fp):

将fp所指的磁盘文件读入一个字符到ch。

‘fputc(ch,fp):

将字符ch写入fp所指的磁盘文件。

字符串的输入函数:

scanf/gets()

字符串的输出函数:

printf/puts()

字符型数据的输入:

scanf/getchar()

字符型数据的输出:

printf/putchar()

整型数据的输出格式控制说明:

十进制(%d),八进制(%o),十六进制(%x)。

\n(换行符),\t(转义字符,横向跳向另一制表位置)

赋值语句左边必须是变量,不能是表达式。

取余运算符结果的正负由被除数决定。

‘fread(buffer,size,count,fp);

‘buffer:

一个指针,表示存放输入数据的首地址,

‘size:

数据块的字节数

‘count:

要读写的数据块数

‘fp:

文件指针

‘fwrite(buffer,size,count,fp);

‘buffer:

存放输出数据的首地址

‘size:

数据块的字节数

‘count:

要读写的数据块数

‘fp:

文件指针

‘fread(fa,4,5,fp)的意义:

fp所指的文件中,每次读入4个字节(一个实数)送入实数组fa中,连续读了5次,即读5个实数到fa中。

全局变量的作用范围是从定义开始到程序所在文件的结束,它对作用范围内的所有函数都起作用。

一般把全局变量定义在程序的最前面,即第一个函数的前面。

局部变量:

定义在函数内部的变量,有效作用范围在所在函数的内部。

‘fseek:

C语言用来控制指针移动的函数。

‘for循环格式:

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

‘for语句中的break是结束循环,退出for语句。

‘for语句中的continue是结束这次循环,进行下一次循环(for循环的表达式3)

经典程序:

1:

位运算符

#include

intmain(void)

{

chara=2,b=4,c;

c=a^(b>>2);

printf("%d",c);

return0;

}

2:

字符串的比较

#include

#include

intmain(void)

{

char*s1="mbDuG";

char*s2="mbDuG";

intt;

t=strcmp(s1,s2);

printf("%d",t);

return0;

}

3:

递归函数

#include

intfun(intx);

intmain(void)

{

printf("%d",fun(7));

return0;

}

intfun(intx)

{

intp;

if(x==0||x==1)

return(3);

p=x-fun(x-2);

returnp;

}

4:

按位取反

#include

intmain(void)

{

ints,t;

s=0x11;

t=~0x11;

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

printf("%x\n",t);

return0;

}

5:

字符串的比较输出

#include

intmain(void)

{

staticchara[]="Language",b[]="programe";

char*p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=8;k++)

if(*(p1+k)==*(p2+k))

printf("%c",*(p1+k));

return0;

}

6:

指针的交换输出

#include

intswap(char*x,char*y)

{

char*t;

t=x;

x=y;

y=t;

return0;

}

intmain(void)

{

char*s1="abc",*s2="123";

swap(s1,s2);

printf("%s,%s\n",s1,s2);

return0;

}

7:

符号的含义

#include

intmain(void)

{

printf("a\bre\'hi\'\\\bou\n");

return0;

}

8:

负数的补码输出

#include

intmain(void)

{

charx=0xFFFF;

printf("%d\n",x--);

return0;

}

8:

逗号运算符

#include

intmain(void)

{

inta;

printf("%d\n",(a=2*3,a*5,a+7));

return0;

}

9:

字符型数据的变换

#include

intmain(void)

{

chara='A';

intb;

intB;

B=((34&&56)&&(a<'b'));

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

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

return0;

}

10:

指针和数组之间的转换

#include

intmain(void)

{

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

int(*p)[3],i;

p=a;

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

{

if(i<2)

p[1][i]=p[1][i]-1;

else

p[1][i]=1;

}

printf("%d\n",a[0][1]+a[1][1]+a[1][2]);

return0;

}

11:

’for循环语句

%if(j%3)%

#include

intmain(void)

{

intj;

for(j=10;j>3;j--)

{

if(j%3!

=0)

j--;

--j;

--j;

printf("%2d",j);

}

return0;

}

12:

指针和数组

*p++;

*(p++)

*(p+i)

*(p)++

#include

intmain(void)

{

intx[6]={2,4,6,8,5,7};

int*p=x;

inti;

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

printf("%2d",*p++);

return0;

}

13:

字符型数据的变换

#include

intmain(void)

{

chara='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

return0;

}

14:

数组和指针的交换输出

#include

voidfun(int*a,inti,intj)

{

intt;

if(i

{

t=a[i];

a[i]=a[j];

a[j]=t;

i++;

j--;

fun(a,i,j);

}

}

intmain(void)

{

intx[]={2,6,1,8};

inti;

fun(x,0,3);

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

printf("%2d",x[i]);

printf("\n");

return0;

}

15:

ifelse匹配

#include

intmain(void)

{

inta=2,b=-1,c=2;

if(a<0)%进入if语句的大前提,满足则进行下条语句,否则直接输出%

if(b<0)

c=0;

else

c++;

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

return0;

}

16:

dowhile循环

#include

intmain(void)

{

inta=1,b=10;

do

{

b-=a;

a++;

}while(b--<0);如果while循环中b--<0成立进行循环,否则退出循环

printf("%d",b);

return0;

}

17:

不确定的for循环

#include

intf(inta)

{

returna%2;

}

intmain(void)

{

ints[8]={1,3,5,2,4,6};

inti,d=0;

for(i=0;f(s[8]);i++)

d+=s[i];

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

return0;

}

18:

字符串与指针

#include

intmain(void)

{

charstr[][10]={"china","beijing"};

char*p;

p=str;

printf("%s\n",*(p+10));

return0;

}

19:

sizeofstrlen的区别

#include

#include

intmain(void)

{

chara[]={'a','b','c','d','e','f','\0'};

inti,j;

i=sizeof(a);

j=strlen(a);

printf("%d,%d",i,j);

return0;

}

20:

sizeof(长度,含字符串结束符)

strlen(有效字符个数)

#include

#include

intmain(void)

{

chars[10]="1234567\0\0";

intm,t;

t=strlen(s);

m=sizeof(s);

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

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

return0;

}

21:

p的值是x的地址

#include

intmain(void){

int*p,x=0;

p=&x;

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

return0;

}

22:

*p的值是x的值。

#include

intmain(void){

int*p,x=0;

p=&x;

printf("%d\n",*p);

return0;

}

24:

%2d保留两位整数

#include

intmain(void)

{

inta;

floatb;

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

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

return0;

}

25:

二次代入时a数值的变化

#include

intmain(void)

{

inta=1,b=2;

a=a^b;

b=b^a;

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

return0;

}

26:

字符串中多个字符的比较与输出

#include

#include

voidf(char*p[],intn)

{

char*t;

inti,j;

for(i=0;i

for(j=i+1;j

if(strcmp(p[i],p[j])>0)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

}

intmain(void)

{

char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};

f(p,5);

printf("%d\n",strlen(p[1]));

printf("%s\n",p[0]);

printf("%s\n",p[1]);

printf("%s\n",p[2]);

printf("%s\n",p[3]);

printf("%s\n",p[4]);

return0;

}

27:

char型数据所占字节数

#include

intmain(void)

{

charp[]={'1','2','3'};

char*q=p;

intt1;

intt2;

intt3;

intt4;

t1=sizeof(char);

t2=sizeof(*q);

t3=sizeof(p);

t4=sizeof(p[0]);

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

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

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

printf("%d",t4);

return0;

}

28:

++x

#include

intmain(void)

{

intx=12;

printf("%d",++x);%13

printf("\n\n\n");

printf("%d",x);%13

return0;

}

28:

‘x++

#include

intmain(void)

{

intx=12;

printf("%d",x++);%12

printf("\n\n\n");

printf("%d",x);%13

return0;

}

29:

字符串的存储---数组的初始化

‘chars[6]={‘H’,’a’,’p’,’p’,’y’,’\0’};

‘chars[6]={“Happy”};

‘chars[6]=”Happy”;

‘sizeof的使用(运算符所占的字节数)

{一个整型变量占两个字节}{一个字符占一个字节}

30:

sizeof的使用

#include

intmain(void)

{

charp[]={'c','b','a'};

charq[]={"abc"};

printf("%d\n\n\n%d\n",sizeof(p),sizeof(q));

return0;

}

31:

形参中值的交换不影响实参

#include

voidfun2(chara,charb)

{

printf("%c%c",a,b);

}

voidfun1(chara,charb)

{

a='C';

b='D';

}

intmain(void)

{

chara='A',b='B';

fun1(a,b);

printf("%c%c",a,b);

fun2('E','F');

return0;

}

32:

主函数可以通过调用别的函数输出结果

#include

voidfun2(chara,charb)

{

printf("%c%c",a,b);

}

chara='A',b='B';

voidfun1()

{

a='C';

b='D';

}

intmain(void)

{

fun1();

printf("%c%c",a,b);

fun2('E','F');

return0;

}

33:

ifelse的使用

#include

intmain(void)

{

inta=3,b=2,c=1;

if(a

if(b<0)

c=0;

else

c++;

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

return0;

}

34:

逗号运算符的使用

#include

intfun(intx,inty)

{

return(x+y);

}

intmain(void)

{

inta=1,b=2,c=3;

intsum;

sum=fun((a++,b++,a+b),c++);

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

return0;

}

35:

嵌套for循环

#include

intmain(void)

{

inti,j,x=0;

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

{

x++;

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

{

if(j%2)

continue;

x++;

}

x++;

}

printf("x=%d\n",x);

return0;

}

36:

十进制/十六进制的控制输出

#include

intmain(void)

{

intx=102,y=012;

printf("%2d,%2d\n",x,y);

return0;

}

37:

‘breakcontinue区别:

‘break一旦执行,循环提前结束,不再执行循环体中位于其后的其它语句。

’break结束循环。

‘continue只是跳过后面的语句继续进行下一次的循环。

38:

混合循环

#include

intmain(void)

{

char*p[]={"3697","2584"};

inti,j;

longnum=0;

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

{

j=0;

while(p[i][j]!

='\0')

{

if((p[i][j]-'\0')%2)

num=10*num+p[j][j]-'0';

j+=2;

}

}

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

return0;

}

39:

‘if语句的使用:

#include

intmain(void)

{

inta,b,c;

a=b=c=0;

intx=12;

if(!

a)%!

a!

=0

x--;

else

x=5;

if(c)%c!

=0;

x=3;

else

x=4;

printf("%d",x);

return0;

}

40:

结构体变量输出值的限制:

#include

unionmyun

{

struct

{intx;

Inty;

Intz;

}u;

intk;

}a;

intmain(void)

{

a.u.x=4;

a.u.y=5;

a.u.z=6;

a.k=0;

printf("%d\n",a.u.x);

return0;

}

41:

‘*s与s[]区别:

#include

intmain(void)

{

char*s="abcde";

s+=2;

printf("%d\n",s[0]);

return0;

}

2013年6月英语四六级成绩将于8月21日上午9点发布

(1)短信查分:

发送A加15位准考证号到1066335577;

(2)网上查分:

;(3)查准考证号:

如果忘记自己的准考证号码了,只要进入按提示输入身份证号就可以查到准考证号了。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1