文档库 最新最全的文档下载
当前位置:文档库 › 计算机二级C语言教程章节测试

计算机二级C语言教程章节测试

计算机二级C语言教程章节测试
计算机二级C语言教程章节测试

计算机二级C语言教程章节测试:文件

一、选择题:

(1)以下叙述中错误的是

A)C语言中对二进制文件的访问速度比文本文件快

B)C语言中,随机文件以二进制代码形式存储数据

C)语句 FILE fp; 定义了一个名为fp的文件指针

D)C语言中的文本文件以ASCII码形式存储数据

(2)有以下程序

#include

main()

{ FILE *fp; int i, k, n;

fp=fopen("data.dat", "w+");

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

{ fprintf(fp,"%d ",i);

if(i%3==0) fprintf(fp,"\n");

}

rewind(fp);

fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n);

fclose(fp);

}

程序运行后的输出结果是

A)0 0

B)123 45

C)1 4

D)1 2

(3)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是

A)feof(fp)

B)ftell(fp)

C)fgetc(fp)

D)rewind(fp)

(4)有以下程序

#include "stdio.h"

void WriteStr(char *fn,char *str)

{

FILE *fp;

fp=fopen(fn,"W");

fputs(str,fp);

fclose(fp);

}

main()

{

WriteStr("t1.dat","start");

WriteStr("t1.dat","end");

}

程序运行后,文件t1.dat中的内容是

A)start

B)end

C)startend

D)endrt

(5) 有如下程序

#include

main()

{FILE *fp1;

fp1=fopen("f1.txt","w");

fprintf(fp1,"abc");

fclose(fp1);

}

若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为

A) goodabc

B) abcd

C) abc

D) abcgood

(6) 有以下程序

#include

main( )

{ FILE *fp; int i,k=0,n=0;

fp=fopen(“d1.dat”,”w”);

for(i=1;i<4;i++) fprintf(fp,”%d”,i);

fclose(fp);

fp=fopen(“d1.dat”,”r”);

fscanf(fp,”%d%d”,&k,&n);printf(“%d %d\n”,k,n);

fclose(fp);

}

执行后输出结果是

A) 1 2

B) 123 0

C) 1 23

D) 0 0

(7) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)

#include

main( )

{ FILE *fp; int i,a[4]={1,2,3,4},b;

fp=fopen("data.dat","wb");

for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);

fclose(fp);

fp=fopen("data.dat

","rb");

fseek(fp,-2L*sizeof(int).SEEK_END) ;

fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp);

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

}

执行后输出结果是

A) 2

B) 1

C) 4

D) 3

(8) 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为

A) 0

B) 1

C) -1

D) 一个非0值

(9) 下列关于C语言数据文件的叙述中正确的是

A) 文件由ASCII码字符序列组成,C语言只能读写文本文件

B) 文件由二进制数据序列组成,C语言只能读写二进制文件

C) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

(10) 以下叙述中不正确的是

A)C语言中的文本文件以ASCⅡ码形式存储数据

B)C语言中对二进制文件的访问速度比文本文件快

C)C语言中,随机读写方式不适用于文本文件

D)C语言中,顺序读写方式不适用于二进制文件

(11) 以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

#include

main()

{ FILE *fout; char ch;

fout=fopen('abc.txt',’w');

ch=fgetc(stdin);

while(ch!=’#’)

{ fputc(ch,fout);

ch=fgetc(stdin);

}

fclose(fout);

}

出错的原因是

A) 函数fopen调用形式错误 B) 输入文件没有关闭

C) 函数fgetc调用形式错误 D) 文件指针stdin没有定义

(12) 有以下程序

#include

main()

{ FILE *fp; int i=20,j=30,k,n;

fp=fopen(“d1.dat”“w”);

fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”j);

fclose(fp);

fp=fopen(“d1.dat”, “r”);

fp=fscanf(fp,“%d%d”,&k,&n); printf(“%d%d\n”,k,n);

fclose(fp);

}

程序运行后的输出结果是

A) 20 30

B) 20 50

C) 30 50

D) 30 20

(13) 以下叙述中错误的是

A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以

B) 在程序结束时,应当用fclose函数关闭已打开的文件

C) 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D) 不可以用FILE定义指向二进制文件的文件指针

(14) 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是

A) fopen("A:\user\abc.txt","r")

B) fopen("A:\\user\\abc.txt","r+")

C) fopen("A:\user\abc.txt","rb")

C) fopen("A:\\user\\abc.txt","w")

(15) 下面的程序执行后,文件testt.t中的内容是

#include

void fun(char *fname.,char *st)

{ FILE *myf; int i;

myf=fopen(fname,“w” );

for(i=0;i

fclose(myf);

}

main()

{ fun(“test”,“new world”; fun(“test”,“hello,”0;)

A)hello,

B)new worldhello,

C)new world

D)hello, rld

(16) 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是

A) EOF

B) -1

C) 非零值

D) NULL

(17) 在C程序中,可把整型数以二进制形式存放到文件中的函数是

A) fprintf函数

B) fread函数

C) fwrite函数

D) fputc函数

(18) 标准函数fgets(s, n, f) 的功能是

A) 从文件f中读取长度为n的字符串存入指针s所指的内存

B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C) 从文件f中读取n个字符串存入指针s所指的内存

D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存

二、填空题:

(1) 已有文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为“读”而打开,由文件指针fr指向该文件,则程序的输出结果是【1】。

#include

main()

{ FILE *fr; char str[40];

……

fgets(str,5,fr);

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

fclose(fr);

}

(2) 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen( [2] );。

(3) 以下程序用来统计文件中字符个数。请填空。

#include "stdio.h"

main()

{ FILE *fp; long num=0L;

if((fp=fopen("fname.dat","r"))==NULL)

{ pirntf("Open error\n"); exit(0);}

while( 【3】 )

{ fgetc(fp); num++;}

printf("num=%1d\n",num-1);

fclose(fp);

}

(4) 以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然

后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。

FILE *myf; ling f1;

myf= 【4】(“test.t”,“rb”);

fseek(myf,0,SEEK_END); f1=ftel(myf);

fclose(myf);

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

(5) 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat

的新文件中。请填空。

#include “stdio.h”

FILE *fp;

{ char ch;

if( (fp=fopen ( 【5】 ) )= = NULL)exit(0);

while( (ch=getchar( )) !=’@’) fputc (ch,fp);

fclose(fp);

}

(6) 以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部,请填空。

#include

main( )

{ FILE *fp;

char ch,fname[32]; int count=0;

printf("Input the filename :"); scanf("%s",fname);

if((fp=fopen( 【6】,"w+"))==NULL)

{ printf("Can't open file:%s \n",fname); exit(0);}

printf("Enter data:\n");

while((ch=getchar())!="#"){ fputc(ch,fp); count++;}

fprintf( 【7】,"\n%d\n", count);

fclose(fp);

}

(7) 下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空.

#include

FILE *fp;

main()

{ int i,j;

if((fp=fopen( 【8】, "wb"))==NULL) exit(0);

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

{ scanf("%d",&j);

fwrite(&j,sizeof(int),1, 【9】 );

}

fclose(fp);

}

(8) 以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。请填空。

#include

main()

{ FILE *fp;

char str[100]; int i=0;

if((fp=fopen("text.txt",【10】))==NULL)

{ printf("can't open this file.\n");exit(0);}

printf("input astring:\n"); gest(str);

while (str[i])

{ if(str[i]>='a'&&str[i]<='z')

str[i]=【11】;

fputc(str[i],fp);

i++;

}

fclose(fp);

fp=fopen("test.txt",【12】);

fgets(str,100,fp);

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

fclose(fp);

}

(9) 下面程序把从终端读入的文本用@作为文本结束标志)复制到一个名为bi.dat的新文件中,请填空。

#include

FILE *fp;

main()

{ char ch;

if((fp=fopen( 【13】))==NULL)exit(0);

while ((ch=getchar())!='@')fputc(ch,fp); 【14】

(10) 以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志.请填空.

#include

main()

{ FILE * fp;

char ch,fname[10];

printf("lnput the name of file\n");

gets(fname);

if((fp=【15】)==NULL)

{ printf("Cannot open\n"); exit(0);}

printf("Enter data\n");

while((ch=getchar())!='#') fputc(【16】,fp);

fclose(fp); }

(11) 下面的程序用来统计文件中字符的个数,请填空。

#include

main()

{ FILE *fp;

long num=0;

if(( fp=fopen("fname.dat","r"))==NULL)

{ printf( "Can't open file! \n"); exit(0);}

while 【17】

{ fgetc(fp); num++;}

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

fclose(fp);

}

(12)以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。

#include

main(int argc, char *argv)

{ FILE *f1,*f2; char ch;

if(argc< 【18】 )

{ printf("Parameters missing!\n"); exit(0); }

if( ((f1=fopen(argv[1],"r")) = = NULL)||((f2=fopen(argv[2],"w")) = = NULL)) { printf("Can not open file!\n"); exit(0);}

while( 【19】 )fputc(fgetc(f1),f2);

fclose(f1); fclose(f2); }

答案:

一、选择题:

01) C 02) D 03) D 04) B 05) C 06) B 07) D 08) A 09) D 10) D

11) A 12) A 13) D 14) B 15) A 16) C 17) A 18) B

二、填空题:

(1) Hell

(2) “d1.dat”,”rb”或“d1.dat”,”r+b”或”d1.dat”,”rb+”

(3) !feof(fp)

(4) fopen

(5) “bi.dat”,“w”或“bi.dat”,“wt”或“bi.dat”,“w+t”

(6) fname

(7) fp

(8) "bi.dat"

(9) fp

(10) "w"或"w+"或"wt"或"w+t"或"""wt+"

(11) str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'

(12) "r"或"r+"或"r+t"或"rt+"

(13) "bi.dat","w"

(14) fclose(fp)

(15) fopen(fname,"w")

(16) ch

(17) (!feof(fp))

(18) 3

(19) !feof(f1)

《C语言程序设计实践教程》答案-完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体 4..编译和连接 5.分号6.传统的程序流程图和N-S图 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7 D 8.A 9.B 10.B 11.D 12.B 13A或B 14.C 15.B 16.B 17.D 18.D 19. C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.. n=1 5.-4 6.a=1,b= ,c=2 7. c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.11110000 14.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A 6.B 7. A 8.D 9.B 10.C 11.A 12.A 13. C 14.B 15.正确答案为:12345678

二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4. 1 5.13 6.(cx=getchar())!=-1 front=cx; 7. m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D 6.C 7. D 8.D 9.C 10.D 11.D 12.D 13 A 14.B 15.C 16.B 17.B 18.A 19 A 20.D 21.B 22.D 23.C 24.D 25. D 26.C 二、填空题 1.‘a’0 2.a[k] a[k] a[k] 3.0 6 4….A B C D E 5. 1,6 6.k=p; A 7. i

c语言视频教程

C语言视频教程 C语言全套视频教程c语言入门,c语言视频教程的在线学习,相关课件软件的下载,知识点讲解入门,是您学习c语言程序设计教程的最佳选择。 1第一讲iOS开发必备之C语言基础--进制转换 包含知识点:进制定义、程序开发中常用进制介绍、n进制转换10进制、10进制转换n进制。 2第二讲iOS开发必备之C语言基础--数据类型、运算符 数据类型分类、常量、变量、运算符、表达式、语句、输入输出函数。 3第三讲iOS开发必备之C语言基础--分支结构-if 程序结构概述、关系运算符、逻辑运算符、if的三种形式、条件运算符。

4第四讲iOS开发必备之C语言基础--分支结构-switch...case switch case,if与switch case区别,break关键字 5第五讲iOS开发必备之C语言基础--循环结构 while、do while、for循环,三种循环的区别 6第六讲iOS开发必备之C语言基础--循环嵌套 循环的嵌套使用、break关键字、continue关键字。 7第七讲iOS开发必备之C语言基础--一维数组 构造数据类型、一维数组定义、数组元素使用、冒泡排序。 8第八讲iOS开发必备之C语言基础--字符数组 字符数组、字符数组的输入输出、字符数组常用函数(strlen、strcpy、strcat、strcmp等)。 9第九讲iOS开发必备之C语言基础--二维数组 二维数组定义、二维数组元素使用、二维数组与循环结构结合使用、二维数组使用场景。 10第十讲iOS开发必备之C语言基础--字符串数组

字符串数组定义、二维数组操作每个字符串、二维数组操作每个字符、字符串排序、多维数组。 11第十一讲iOS开发必备之C语言基础--函数定义 函数意义、函数分类、函数定义、函数使用、函数举例。 12第十二讲iOS开发必备之C语言基础--函数嵌套 形参、实参、数组名作为函数参数,函数嵌套调用,递归函数,变量作用域。 13第十三讲iOS开发必备之C语言基础--结构体 结构体特点、结构体定义、结构体变量、typedef关键字、结构体成员访问,结构体使用。 14第十四讲iOS开发必备之C语言基础--结构体与数组混合使用 结构体嵌套结构体、结构体作为数组成员、结构体数组冒泡排序。 15第十五讲iOS开发必备之C语言基础--指针初级 内存的两种方式、指针、指针变量、指针的类型、指针的重指向 16第十六讲iOS开发必备之C语言基础--指针作为函数参数

谭浩强C语言教程Word版

软件简介: 1 C语言概述2 1.1 C语言的发展过程2 1.2 当代最优秀的程序设计语言2 1.3 C语言版本2 1.4 C语言的特点3 1.5 面向对象的程序设计语言3 1.6 C和C++3 1.7 简单的C程序介绍4 1.8 输入和输出函数5 1.9 C源程序的结构特点6 1.10 书写程序时应遵循的规则6 1.11 C语言的字符集6 1.12 C语言词汇7 1.13 Turbo C 2.0集成开发环境的使用8 1.1 3.1 Turbo C 2.0简介和启动8 1.13.2 Turbo C 2.0集成开发环境8 1.13.3 File菜单9 1.13.4 Edit菜单10 1.13.5 Run菜单11 1.13.6 Compile菜单12 1.13.7 Project菜单13 1.13.8 Options菜单14 1.13.9 Debug菜单18 1.13.10 Break/watch菜单19 1.13.11 Turbo C 2.0的配置文件20 2 程序的灵魂—算法1 2.1 算法的概念1 2.2 简单算法举例1 2.3 算法的特性4 2.4 怎样表示一个算法4 2.4.1 用自然语言表示算法4 2.4.2 用流程图表示算法4 2.4.3 三种基本结构和改进的流程图8 2.4.4 用N-S流程图表示算法9 2.4.5 用伪代码表示算法10 2.4.6 用计算机语言表示算法11 2.5 结构化程序设计方法11 2 3 数据类型、运算符与表达式1 3.1 C语言的数据类型1 3.2 常量与变量3

3.2.1 常量和符号常量3 3.2.2 变量3 3.3 整型数据4 3.3.1 整型常量的表示方法4 3.3.2 整型变量5 3.4 实型数据7 3.4.1 实型常量的表示方法7 3.4.2 实型变量8 3.4.3 实型常数的类型9 3.5 字符型数据9 3.5.1 字符常量9 3.5.2 转义字符9 3.5.3 字符变量10 3.5.4 字符数据在内存中的存储形式及使用方法10 3.5.5 字符串常量11 3.5.6 符号常量12 3.6 变量赋初值12 3.7 各类数值型数据之间的混合运算13 3.8 算术运算符和算术表达式14 3.8.1 C运算符简介14 3.8.2 算术运算符和算术表达式15 3.9 赋值运算符和赋值表达式17 3.10 逗号运算符和逗号表达式18 3.11 小结19 3.11.1 C的数据类型19 3.11.2 基本类型的分类及特点19 3.11.3 常量后缀19 3.11.4 常量类型19 3.11.5 数据类型转换19 3.11.6 运算符优先级和结合性20 3.11.7 表达式20 4 最简单的C程序设计—顺序程序设计1 4.1 C语句概述1 4.2 赋值语句3 4.3 数据输入输出的概念及在C语言中的实现4 4.4 字符数据的输入输出4 4.4.1 putchar 函数(字符输出函数)4 4.4.2 getchar函数(键盘输入函数)5 4.5 格式输入与输出5 4.5.1 printf函数(格式输出函数)5 4.5.2 scanf函数(格式输入函数) 8 4.6 顺序结构程序设计举例12 4 5 分支结构程序1

谭浩强C语言教程WORD版

软件简介: 1C语言概述2 1.1C语言的发展过程2 1.2当代最优秀的程序设计语言2 1.3C语言版本2 1.4C语言的特点3 1.5面向对象的程序设计语言3 1.6C和C++3 1.7简单的C程序介绍4 1.8输入和输出函数5 1.9C源程序的结构特点6 1.10书写程序时应遵循的规则6 1.11C语言的字符集6 1.12C语言词汇7 1.13Turbo C 2.0集成开发环境的使用8 1.1 3.1Turbo C2.0简介和启动8 1.13.2Turbo C 2.0集成开发环境8 1.13.3File菜单9 1.13.4Edit菜单10 1.13.5Run菜单11 1.13.6Compile菜单12 1.13.7Project菜单13 1.13.8Options菜单14 1.13.9Debug菜单18 1.13.10Break/watch菜单19 1.13.11Turbo C 2.0的配置文件20 2程序的灵魂—算法1 2.1算法的概念1 2.2简单算法举例1 2.3算法的特性4 2.4怎样表示一个算法4 2.4.1用自然语言表示算法4 2.4.2用流程图表示算法4 2.4.3三种基本结构和改进的流程图8 2.4.4用N-S流程图表示算法9 2.4.5用伪代码表示算法10 2.4.6用计算机语言表示算法11 2.5结构化程序设计方法11 2 3数据类型、运算符与表达式1 3.1C语言的数据类型1 3.2常量与变量3

3.2.1常量和符号常量3 3.2.2变量3 3.3整型数据4 3.3.1整型常量的表示方法4 3.3.2整型变量5 3.4实型数据7 3.4.1实型常量的表示方法7 3.4.2实型变量8 3.4.3实型常数的类型9 3.5字符型数据9 3.5.1字符常量9 3.5.2转义字符9 3.5.3字符变量10 3.5.4字符数据在内存中的存储形式及使用方法10 3.5.5字符串常量11 3.5.6符号常量12 3.6变量赋初值12 3.7各类数值型数据之间的混合运算13 3.8算术运算符和算术表达式14 3.8.1C运算符简介14 3.8.2算术运算符和算术表达式15 3.9赋值运算符和赋值表达式17 3.10逗号运算符和逗号表达式18 3.11小结19 3.11.1C的数据类型19 3.11.2基本类型的分类及特点19 3.11.3常量后缀19 3.11.4常量类型19 3.11.5数据类型转换19 3.11.6运算符优先级和结合性20 3.11.7表达式20 4最简单的C程序设计—顺序程序设计1 4.1C语句概述1 4.2赋值语句3 4.3数据输入输出的概念及在C语言中的实现4 4.4字符数据的输入输出4 4.4.1putchar函数(字符输出函数)4 4.4.2getchar函数(键盘输入函数)5 4.5格式输入与输出5 4.5.1printf函数(格式输出函数)5 4.5.2scanf函数(格式输入函数)8 4.6顺序结构程序设计举例12 4 5分支结构程序1

C语言入门教程

51 单片机 C 语言入门教程(磁动力工作室) 51 单片机 C 语言学习杂记
学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语 言,还有众多种类的单片机选择真是件让人头痛的事.在众多单片机中 51 架构的芯片风行 很久,学习资料也相对很多,是初学的较好的选择之一.51 的编程语言常用的有二种,一 种是汇编语言,一种是 C 语言.汇编语言的机器代码生成效率很高但可读性却并不强,复 杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器代码生成效率和汇编语言相 当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效 性的代码编写问题.对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小 于汇编语言很多.综合以上 C 语言的优点,我在学习时选择了 C 语言.以后的教程也只是 我在学习过程中的一些学习笔记和随笔,在这里加以整理和修改,希望和大家一起分享,一 起交流,一起学习,一起进步. *注:可以肯定的说这个教程只是为初学或入门者准备的,笔者本人也只是菜鸟一只, 有望各位大侠高手指点错误提出建议. 明浩 2003-3-30 pnzwzw@https://www.wendangku.net/doc/9017390634.html,
第一课 建立您的第一个 C 项目
使用 C 语言肯定要使用到 C 编译器,以便把写好的 C 程序编译为机器码,这样单片机 才能执行编写好的程序.KEIL uVISION2 是众多单片机应用开发软件中优秀的软件之一, 它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持, PLM,汇编和 C 语言的程序设计,它的界面和常用的微软 VC++的界面相似,界面友好,易 学易用,在调试程序,软件仿真方面也有很强大的功能.因此很多开发 51 应用的工程师或 普通的单片机爱好者,都对它十分喜欢. 以上简单介绍了 KEIL51 软件,要使用 KEIL51 软件,必需先要安装它.KEIL51 是一个 商业的软件,对于我们这些普通爱好者可以到 KEIL 中国代理周立功公司的网站上下载一份 能编译 2K 的 DEMO 版软件,基本可以满足一般的个人学习和小型应用的开发. (安装的方 法和普通软件相当这里就不做介绍了) 安装好后,您是不是迫不及待的想建立自己的第一个 C 程序项目呢?下面就让我们一 起来建立一个小程序项目吧.或许您手中还没有一块实验板,甚至没有一块单片机,不过没 有关系我们可以通过 KEIL 软件仿真看到程序运行的结果. 首先当然是运行 KEIL51 软件.怎么打开?噢,天!那您要从头学电脑了.呵呵,开个 玩笑,这个问题我想读者们也不会提的了:P.运行几秒后,出现如图 1-1 的屏幕.
图 1-1 启动时的屏幕
-1-

最好的单片机C语言快速入门教程

单片机C语言快速入门教程 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开

始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于

相关文档