C语言零度学习.docx

上传人:b****1 文档编号:2733237 上传时间:2023-05-04 格式:DOCX 页数:34 大小:71.15KB
下载 相关 举报
C语言零度学习.docx_第1页
第1页 / 共34页
C语言零度学习.docx_第2页
第2页 / 共34页
C语言零度学习.docx_第3页
第3页 / 共34页
C语言零度学习.docx_第4页
第4页 / 共34页
C语言零度学习.docx_第5页
第5页 / 共34页
C语言零度学习.docx_第6页
第6页 / 共34页
C语言零度学习.docx_第7页
第7页 / 共34页
C语言零度学习.docx_第8页
第8页 / 共34页
C语言零度学习.docx_第9页
第9页 / 共34页
C语言零度学习.docx_第10页
第10页 / 共34页
C语言零度学习.docx_第11页
第11页 / 共34页
C语言零度学习.docx_第12页
第12页 / 共34页
C语言零度学习.docx_第13页
第13页 / 共34页
C语言零度学习.docx_第14页
第14页 / 共34页
C语言零度学习.docx_第15页
第15页 / 共34页
C语言零度学习.docx_第16页
第16页 / 共34页
C语言零度学习.docx_第17页
第17页 / 共34页
C语言零度学习.docx_第18页
第18页 / 共34页
C语言零度学习.docx_第19页
第19页 / 共34页
C语言零度学习.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言零度学习.docx

《C语言零度学习.docx》由会员分享,可在线阅读,更多相关《C语言零度学习.docx(34页珍藏版)》请在冰点文库上搜索。

C语言零度学习.docx

C语言零度学习

欢迎大家加零度编程群161433809

深度交流,零度编程——计算机应用技术交流群

是一个计算机应用技术深度交流的平台,一个计算机应用技术学习探讨的社区。

交流内容:

包括Photoshop图像处理,Flash动画制作,Dreamweaver网页设计;信息工程,网络工程,软件工程;C语言程序设计,C++程序设计,C#程序设计;Silverlight开发;嵌入式开发,数据库开发;.NET技术,Web技术,CloudComputing技术等。

 

交流网址:

 

开始C语言学习时,你们需要在电脑装MicrosoftVisualC++V6.0,这是编译工具,C语言,C++程序都能编译,直接搜索名字就能找到下载,如果电脑有其他工具可以编译C语言的话,也就不需要下载了

(文章中如有错误处,敬请各位朋友指出以改正。

这是我用整整6个小时查阅资料,参考论坛才写出来的。

因便于各位朋友学习,我采取的是论坛交流的格式,希望各位都能在这篇文章中学有所得,学有所获。

 

首先,让我们看一个C语言程序

#include

main()

{

printf("helloworld\n");

return0;

}

 

这里最简单的一个C语言程序

也是C语言程序组成的基本结构

下面让我们来分析一下

#include

翻译为#包括<标准输入输出>h就是英文单词HEAD的第一个字母这个是头文件,暂时你不需要知道太多,你只需知道暂时我们编程序的时候这个必打,所以背下来吧

main()

main是主要的意思,这是个主函数,所有C程序都有这个,这里说的函数并不是数学函数,你可以理解为方法,()括号里面是放参数的,就是数值,现在你先不需要了解,以后会慢慢了解的

{}大括号里面就放着我们打的程序,记住哦,一定要在大括号里面

printf()这是个输出函数,输出它括号里面的东西,但是一定要在引号里面

\n这是换行符,用了你就会知道

return0这是返回值,这个我们以后在学,其实现在不写这个程序也能通过,所以我暂时不会让这个出现在程序上,虽然这样不好,但为了大家能更好的了解程序,免得大家为了该不该要return犯迷糊

所以这样也是可以的

#include

main()

{

printf("helloworld\n");

}

此程序的结果是在屏幕(6.0工具中就是那个黑的)上打印helliworld

 

现在我们暂时编程序的格式就是这样

#include

voidmain()

{

这里面就是我们要编的程序

}

viod是返回类型为空,就是不需要return,这个以后你们会了解的

当当不写void也可以,但是这是为了规范

还算简单吧,这个格式请大家牢记

 

C语言程序中,一定会有数据,这个数据就是由数字,单词和字符构成

数字又分整数和浮点数(浮点数就是小数,数学里也称实数)

字符就是键盘上所有的

abcABC这6个是字符

数字'1''2''3'这3个也是字符,但必须得是加了单引号的

+-*/{}、这些符号也是字符

空格键也是字符

这些都能在ASC表能找到,反之能在ASC表在能找到的就可以是字符ASC是什么,呵呵,这个上网查一下

还有就是单词,也可以说是字符串

就是比如hello或者helloworld

记住:

字符用单引号表示,字符串用双引号表示

 

整数不用我说大家也该知道是什么

123,0,-234,1000这些就是整数

浮点数(小数)也就是凡是带小数点的数就是浮点数

12.3,0.0,0.23,-7.7这些就是小数(我还是直接说小数好了,说浮点有点不爽啊)

浮点数所占字节要比整数大,字节就是内存里的东东,这个暂时不需了解

你只需知道小数占的字节要比整数大就可以了,后面字节这个概念很重要

例如123.4和1234

123.4就必1234所占的字节大

 

说完数据类型我们说变量

C语言把数据存放在变量中,变量就是电脑内存里的一个盒子,用来保存数字或字符

这个盒子里面的东西是变化的,例如我放一个数字1放进这个盒子,这个盒子现在装的是数字1,然后我又放数字2进入,原来的数字1就自动替换成数字2,然后你放什么进去,它就是总是替换,它是可变的

数据类型就可以用变量来表现

int整数的意思它可以申明变量用于存放整数

longint存放大于32767和小于-32768的整型数据(这个我们暂时用不着,可以忽略)

float浮点的意思,可以申明变量存放小数

double双点,双重的意思,存放更大的小数(这个也暂时用不着,先忽略)

char字符的意思申明变量存放字符

 

每个变量都有名字,因为你得知道你存放的是哪个盒子,所有盒子得标个记号

变量的名字必须用字母开头,大小写都可以,中间可以带下划线,例如age_cat

但绝对不能以数字开头例如95age

变量名也不能含空格和特殊字符例如agecat和age*cat

有了变量名你就定义一个变量了,啥叫定义,也就是申明,或者说建立

例如inta意思就是说我用一个叫a变量类型int存放整数

或者说我拿了一个盒子,做个标记a以后用来存放整数

inta

floatb

charc

以上的就是定义不同类型的变量

但要记住,在一个程序中,变量名字不能重复

例如

inta

inta

或者

inta;

floata;

都是错误的

变量名有唯一性

 

定义了一个变量,我们就可以使用这个变量,可以在里面存放数据

怎么存放?

直接用=号就可以了

可以在定义的时候存放

inta=1

也可以在定义后存放

inta;

a=1

还可以用表达式来存放

inta;

a=3-2;

甚至还可以加入其他变量

inta;

intb=2

a=b-1;

另外,定义变量的时候可以连接定义

inta,b

还有

inta=1,b

但是不可以这样

inta=b=1

 

让我们来个运用变量的程序

#include

viodmain()

{

inta;

floatb;

charc;

a=1;

b=1.1;

c='a';

}

但是这个程序现在还没有什么实质性的作用,变量赋值以后你无法从电脑中看到

所以,接下来我们学习printf()函数,我们把变量的值打印到屏幕上

 

在开始的时候大家就已看到printf()的功能

没错就是printf("helloworld\n");,打印字符串helloworld到屏幕上

简单来说,printf()就是在屏幕上产生输出,把字符,数字,字符串发送到屏幕上

printf()的格式

printf(“”);可以直接输出引号里的东西

printf(“%d”,a)这样是直接输出变量int类型a的值

%d的意思:

d是decimalbase(十进制)的开头字母,意思就是按十进制格式输出,也就是按整数格式输出

还有%f按浮点数格式输出

%c按字符格式输出

printf(“%d”,a)的逗号后面只能放值,变量名可以,单纯的值也可以,例如这样printf(“%d”,1),也是可以的

连续输出值可以这样printf(“%d,%f,%c”,a,b,c),引号里的逗号不打也没关系所以printf(“%d%f%c”,a,b,c)也是可以的,但是这样会挤成一堆,自己试下就知道了,所以建议大家养成打逗号的习惯

 

printf("helloworld\n");里面的\n有什么用

下面我就来为大家介绍,\n今后我们会经常用的

下面看例子

#include

main()

{

printf("hello");

printf("world");

}

输出结果会是

hello

world

吗?

结果是NO

输入结果是helloworld

因为没有回车,printf()只能在一行进行输出

那么怎么进行回车?

这就需要\n了,\n是转义符,意思就是它能把你不能用字符打出来的东西,换种形式出来,在程序过程,你不可能中途又去按回车键

所以,这样

main()

{

printf("hello\n");

printf("world");

}

它就会输出

hello

world

转义符还有很多个,例如\t,\\,\*\a

\n只是其中一个,其他的等用的时候在介绍吧,反正常用的也就一两个

大家就只要牢记\n这一个,记住是反斜号,n是new-line(新的一行)的开头字母

 

现在我们来用我们所学的输出几个变量的值

#include

viodmain()

{

inta;

floatb;

charc;

a=1;

b=1.1;

c='a';

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

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

printf("%c",c)

}

结果是

1

1.100000

a

为什么1.1变成了1.100000,因为float定义的变量小数(浮点数)默认小数点后面保留6位数,那怎么让它输出1.1?

只让让%f变成%.1f就可以了,反之你想让它输出小数点后两位数就%.2f,三位就%.3f,以此类推

程序可以简化为

#include

viodmain()

{

inta=1;

floatb=1.1;

charc=‘a’;

printf("整数变量为:

%d,浮点数变量为:

%.1f,字符型变量为:

%c\n",a,b,c);

}

结果为

整数变量为:

1,浮点数变量为:

1.1,字符型变量为:

a

\n记住一定要在引号里,为了美观,请养成多用\n的习惯,即使整个程序就一个printf()语句(也是也用的)

 

补充一点

其实转化字符不止%d%c%f等,字符串也有一个,就是%sstring(字符串)的开头字母,但是用的少

尽管只打印字符串时可以不需要%S,但是当打印与其他数据组合的字符串时,就可能需要用%S

例如:

printf("%s%d%f%c","hello",14,7.2,'a');

打印结果如下

hello147.200000a

%s%d%f%c这些是转化符,注意不能放到引号外,打印时要适当隔开,可以用空格或逗号隔开

printf("hello");

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

是一样的,显然用第一种更好

这里只能让大家了解一下%s的作用,不需深究,忽略也可

 

现在我们学会打印了(也就是输出了)

能在程序中打印变量的值了,但也只能打印我们事先在程序中写好的值,能不能在程序过程中自己手动用键盘输入变量的值,在打印出来呢?

答案是肯定的

这时我们就要学习scanf()这个函数

一般在程序中,printf()和scanf()是一起使用的

scanf()的功能是从键盘获取数据,同样它也会用到转化字符%d,%f,%c

scanf()的格式如下

scanf("%d",&a);

让我们再看看printf();

printf("%d",a);

两个差不多把,只不过scanf()比printf()多了一个&,&是什么?

&是取地址符

scanf("%d",&a);意思就是你从键盘输入一个整型变量的值,它会自动存到变量a那个地址,也就是它会找到那么标记为a的盒子,然后把值放进里面

为什么printf()没&,因为它是直接输出,a变量的地址已经事先知道,而scanf()变量a的值从外部获取,得先知道变量a的地址,知道地址你才好把值放进去

每个变量名都有对应的地址,变量名只是地址的别名,就好像外号一样,之所以用变量名而不用地址名,因为变量名比地址名好记,方便,而地址名是数字,你不可能知道什么是什么

扯远了,内存地址在学指针的时候你就会知道,现在先别管这些,知道太细反而越弄越糊涂,你现在就只需要知道scanf()的格式

scanf("%d",&a);

和print()差不多,但是变量名前一定要加&,除了scanf("%s",a);字符串格式就不需要,这也跟指针有关系,现在先别管,你只要知道除了%S,其他类型的变量都要在前面加&,引号里面注意不要加\n,没必要

连续输入也是可以的,scanf("%d,%f",&a,&b);但目前先不要用

 

下面我们来个输入(scanf)输出(printf)的程序

#include

voidmain()

{

inta;

floatb;

charc;

printf("请输入a的值:

");

scanf("%d",&a);

printf("请输入b的值:

");

scanf("%f",&b);

printf("请输入c的值:

");

scanf("%c",&c);

printf("a的值为:

%d,b的值为:

%f,C的值为:

%c\n",a,b,c);

}

这个是正确的吗?

你运行的时候你就会发现,变量c没办法输入了,程序直接结束

哪里有问题?

下面我们来分析

首先程序显示请输入a的值:

我们输入1,在按回车键

又会显示请输入b的值:

我们输入1.1按回车

这时候程序就会显示

请输入c的值:

a的值为:

1,b的值为:

1.100000,C的值为:

这是为什么?

别忘了之前说过,空格和回车也是字符

开始输入了1到了变量a里,按回车,继续下一个输入

又输入了1.1到了变量b里

此时再按回车的话,就会被scanf接收了,因为变量c是字符格式,回车也是字符,自动存到变量c里

非字符变量,用scanf连续输入,按空格或回车会等待下一个输入

但是字符和字符串变量,scanf会直接接收空格和回车

怎么解决?

在%c前面加一个空格,就是这样scanf("%c",&c);

#include

main()

{

inta;

floatb;

charc;

printf("请输入a的值:

");

scanf("%d",&a);

printf("请输入b的值:

");

scanf("%f",&b);

printf("请输入c的值:

");

scanf("%c",&c);

printf("a的值为:

%d,b的值为:

%f,C的值为:

%c\n",a,b,c);

}

这样程序就能正常运行

所以不管什么变量类型,最好都在前面加个空格,会是一个好习惯

下面多说一点scanf()的用法,我想大家对这个sacnf()的格式还是有点犯糊涂

printf()是格式化输出函数,我想这个你们应该很容易掌握

scanf()是格式化输入函数,顾名思义,就是你在输入时必须按照指定的格式输入才行

例如

#include

main()

{

inta,b;

printf("请输入两个数\n");

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

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

}

这个是连续输入

输入1回车输入2回车

或者

输入1空格输入2回车

注意:

最后的回车是必要的,意味着完成输入

结果为

a=1,b=2

现在在改变一下

把scanf("%d%d",&a,&b);改成scanf("%d,%d",&a,&b);中间加一个逗号

那么,再怎么输入?

注意:

出现怎么打什么

先输入1,再输入,(逗号),再输入2回车

就是这样:

1,2回车

结果也是a=1,b=2,如果输入1就回车,那么b的值就没办法获取,而是你想不到的结果(这个自己去运行)

无论出现什么你就照打什么

如scanf("%d;%d",&a,&b);你就打1;2回车

哪怕是一个字母一个符号,如scanf("%da%d",&a,&b);你得打1a2回车

如scanf("-%dabc%d",&a,&b);你得打-1abc2回车

如果符号字母在最后,如scanf("%d%dabc-*^",&a,&b);

你就完全可以无视,直接打1回车2回车就可以了

出现在数值之前和之中的东西就要照着打,之后可无视

还有一种情况

像这样scanf("\n%d%d",&a,&b);和scanf("%d%d\n",&a,&b);

这里不要被迷惑了,这里的\n并不是回车,但是它是转义符

转义符有好几个,并不是带斜号的就是

如果是例如这样scanf("\%d%d",&a,&b);和scanf("%d%d\",&a,&b);还有scanf("%d\%d",&a,&b);

无论哪个都会有错(不是结果就是程序报错),所以不要带\号

补充:

/号不存在问题

如果是转义符scanf("\n%d%d",&a,&b);和scanf("%d%d\n",&a,&b);还有scanf("%d\n%d",&a,&b);

\n在前面和中间你可以无视,但是如果是在后面scanf("%d%d\n",&a,&b);

就必须这样打了,输入1回车输入2回车输入任何一个或多个字母,数字或字符回车

结果就是正确的a=1,b=2

原因:

此时输入数据用转义符结尾,scanf会跳过空白符去读下一个字符,所以你必须再输入一个东西(随便一个或多个字母,数字,字符)。

这里的空白符包括:

空格,制表符,换行符,回车符和换页符。

就是说scanf()里面多了个\n,scanf会跳过你输入后按的回车键或空格键,再读取一个东西,直到没地方存储才会结束scanf

注意空格也包括scanf("%d%d",&a,&b);和\n一样的道理,要多加小心

所以说\n根本没必要在scanf里

 

下面继续一个scanf()程序

#include

voidmain()

{

chara,b;

printf("请输入两个字符\n");

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

printf("a=%c,b=%c\n",a,b);

}

这里只改了一下变量类型,但之前不一样了,还记得我跟大家说了空格和回车也是字符吗,在这个程序里就不要按空格回车了,当然最后一个回车要按,不然结果不会出来

这个程序我们只要输入xy回车

结果就是a=x,b=y

我们在改scanf("%c%c",&a,&b);变scanf("%c,%c",&a,&b);加逗号

这个和非字符变量一样,也是输入x,y回车

结果是a=x,b=y

在改成空格,scanf("%c%c",&a,&b);字符变量这回是可以打空格也可以不打

输入xy(中间空多少格都没关系)回车或者xy回车

结果a=x,b=y

值得注意是scanf("%c%c",&a,&b);这种情况可千万不要打空格,不然空格的值会传到变量b里

补充:

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

输入应为:

a=1,b=2,c=3回车

跟我上面说的照打原理一样

再看一个程序

#include

voidmain()

{

chara,b;

printf("请输入字符a\n");

scanf("%c",&a);

printf("请输入字符b\n");

scanf("%c",&b);

printf("a=%c,b=%c\n",a,b);

}

注意空格!

虽然字符型需要这样,但最好每次scanf()的时候都搞空格就是这样scanf("%d",&a);

关于输出流,缓存,缓冲区之类我们后面有待了解

printf()和scanf()我们暂时先学到这里,今后还有其他的输入输出函数

 

scanf我可能说的太多,有点复杂了,没看懂你也不要紧

scanf()你目前只需掌握scanf("%d",&a);这一句的使用方法就可以了

printf()的使用我想应该很容易掌握吧

接下来我们更深层次的往前走了

来点最后补充,想多知道一些的就看看,不看这些也没关系,毕竟不是重要内容

scanf()的其他用法

如:

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

当输入为:

123时,把1赋予a,2被跳过,3赋予b。

“*”符:

用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

还有如

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

输入:

12345678

只把12345赋予变量a,其余部分被截去。

%5d和%.5f效果差不多这里是保留5位整数

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

输入:

1234

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2