程序员教你学C语言

上传人:宝路 文档编号:24713036 上传时间:2017-12-07 格式:DOCX 页数:20 大小:414.75KB
返回 下载 相关 举报
程序员教你学C语言_第1页
第1页 / 共20页
程序员教你学C语言_第2页
第2页 / 共20页
程序员教你学C语言_第3页
第3页 / 共20页
程序员教你学C语言_第4页
第4页 / 共20页
程序员教你学C语言_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《程序员教你学C语言》由会员分享,可在线阅读,更多相关《程序员教你学C语言(20页珍藏版)》请在金锄头文库上搜索。

1、程序员教你学 C语言很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门纠结,如果你还在苦恼怎么入门!小编有个建议,可以加小编弄的一个 C 语言交流基地,大家可以进入交流基地:565122788 ,里面新手入门资料,可以说从零到项目实战,都是可以免费获取的,还有程序员大牛为各位免费解答问题,热心肠的小伙伴也是蛮多的。不失为是一个交流的的好地方,小编在这里邀请大家加入我的大家庭。欢迎你的到来。一起交流学习!共同进步!小编等你!还有前面没有看的同学最好从程序员教你学 C语言(一)开始看哦,尤其是基础还没打扎实的同

2、学!今天只举几个例子,主要帮大家巩固循环的知识,每个例子大家都要敲键盘敲出来,然后运行成功了才算掌握了,不然还是眼高手低,看上去懂了,一到写程序又犯难了。我发现有不少人热衷于打印图形,所以就弄了几个图形。第一个是打印金字塔。代码和运行图如下:首先定义了两个变量 i、j,然后使用 system(color 0e)改变颜色。接下来会进入一个外层循环,其中的 i 代表层数,我们可以看到这里金字塔有 6 层,所以 i 的取值范围也是 00,所以这里会打印 6 个空格,然后来到第二个内层循环,这个循环的初始条件是 j=1;结束条件是 j= 0;i-),大家理解一下代码,菱形的上半部分,打印的星星数会越来

3、越多,从 1 到 3 再到 5 再到 7.而星星前面的空格数会越来越少,从 6 到 5 再到 4 再到 3.而菱形的下半部分刚好反过来了,所以只需要修改很少的代码就能实现菱形了接下来是打印一个五角星,这是之前一个萌萌哒妹纸学习的代码,因为我比较懒啦,所以没做修改就直接拿来了,希望不要介意#include #include void main()int n1,j1,k1;/n1 表示行数,j1 表示空格,k1 表示*号int n2,j2,k2;int n3,j3,k3;int n4,j4,k4;int a4,b4;system(color 0e);for(n1=1;n1#include void

4、 main()int i,j;system(color 0e);/输出第一行for(j = 15;j = 1;j-)printf( );printf(* );/输出接下来四行for(i = 1;i = i;j-)printf( );printf(*);for(j = 1;j 2*i;j-)printf( );printf(*);for(j = 0;j 2*i;j-)printf( );printf(* );/输出接下来一行,就 2 个星printf( * * );这一半代码的输出结果是:更多的数据类型和循环前面我们说为了让计算机能够识别一个变量到底占了多少字节,我们需要为变量定义数据类型,那究

5、竟有多少种数据类型呢,其实前面我给出 32 个关键字里面就已经包括了,short、int、long 、char、float、double 这 6 个关键字代表了 C 语言里的 6 中基本数据类型,怎么去理解它们呢,举个例子:大家都见过剪卡器吧?(没见过?手机卡总见过吧)。我们知道不同的手机使用的手机卡的大小是有区别的,我们通常是用剪卡器,拿着它把原来移动的大卡这么一咔,一个小卡就出来了,不同型号的剪卡器咔出来的手机卡大小不一样,比如苹果手机的卡就特别小,三星的卡稍微大点.,现在我们联想一下,short、int、long 、char、float、double 这六个东东是不是很像不同类型的剪卡器

6、?拿着它们在内存上咔咔咔,不同大小的内存就分配好了。在 32 位的系统下 short 咔出来的内存大小是 2 个字节(也叫 byte);int 咔出来的内存大小是 4 个 byte;long 咔出来的内存大小是 4 个 byte;float 咔出来的内存大小是 4 个 byte;double 咔出来的内存大小是 8 个 byte;char 咔出来的内存大小是 1 个 byte。接下来我们就写程序看看这些基本的数据类型在我们自己电脑上的大小吧。其中 sizeof 关键字可以确定给定的类型占据了多少字节,它后面可以直接跟类型的关键字,比如 sizeof(int ),也可以跟变量(比如 sizeof

7、(i)甚至是表达式,比如最后一行的 sizeof(i-1),它的结果是表达式的计算结果所占据的字节数,i-1 的结果为 0,0 也是整数,所以占据的字节数为 4。(注意这里是指的32 位的编译环境下的情况,具体平台大家可以运行这个程序测试一下)。然后接下来是对这 6 种基本数据的使用情况可以看到,两组都是同样的数据,但是最后打印出来的结果,上面一组数据中字符变量、浮点变量和双精度变量打印出来的结果都不对。原因是什么呢,因为是 printf 的第一个参数,%d 这个符号,前面的 %是占位符,后面的这个 d代表是以整数形式打印出来,而不同的数据类型要以不同的形式打印出来,所以总结一下,%c 表示打

8、印字符、%f 是打印浮点数、%lf 是打印双精度,%hd、 %d、 %ld 分别是打印短整型、整型和长整型关于上面的字符 c=a为什么按%d 整数打印是 97 的问题,这个其实就涉及到ascii 码表了,我们知道在计算机底层,所有的数据都是以 0 和 1 存储的,那计算机如何识别像 a、b 、c 这样的字符呢,其他它们最终在计算机里也是被以0、1 数据的形式存放的,而且美国人就为它们指定了一个统一的标准,就是ascii 编码,图片如下可以看到小写字符 a 的 ascii 码值的十进制就是 97,而大写 A 的 ascii 码是65, printf 中的%d 就是以十进制整数方式输出它在内存中的

9、数据,所以就输出了 97接下来将大家使用这些基本数据类型最容易犯错的一点,就是极限值,我们知道计算机里的一位只能表示 0 或者 1,而两位只能表示 0、1 、2、3,依次类推,我们如果有 N 位,那也只能表示 2 的 N 次方个数据,我们说 int 是 4 字节的,就是 32 位,所以 int 也是有极限值的,那是不是就是 2 的 32 次方呢,理论上来讲,它能表示这么多的数据,但是因为有正负数的存在,这个值还得减半,我们接下来的程序就是测试你机器上的这些基本类型的极限值的,注意unsigned 这个修饰符就是无符号的数,比如 unsigned int,这就是无符号整数,这样它能表示的范围就是

10、 04294967295( 2 的 32 次方-1 )了。不小心极限值的话,就会经常犯错C/C+学习交流群,欢迎大家一起来交流提升。565122788 进群就能获取 C 语言新手学习大礼包另外两种循环:while 循环和 do.while 循环(还有一种可以构成循环的是goto,但是先不讲).while 循环的格式:while(表达式)循环执行语句;下一条语句;while 循环和 for 循环的区别在于它的循环头部没有赋初值的操作,一开始就会进行循环表达式的判断,如果表达式成立,则进入循环,否则跳到循环的下一条语句。看一个例子# include void main()int i;printf(

11、please enter the right password );scanf(%d,while(i != 520)printf(please enter the right password );scanf(%d,printf(right!good boy! );程序一开始定义了整数变量 i,然后提示用户输入密码,这时我们输入 i 的值,来到 while(i != 520)这句,i != 520 这句是如果 i 不等于 520,就进入循环里面,并且提示密码输入错误,用户重新输入密码,再次输入密码后,会再次来到循环头部,如果 i != 520 成立,会再次进入循环提示用户错误和重新输入,直到用

12、户输入正确的数(也就是 520)后 i != 520 才不成立,就退出了循环。再来看看 do while 循环的格式 :do循环执行语句;while(表达式 );循环下一句;do while 和 while 的区别是它会首先执行一遍循环执行语句(所以 do while 最少都要执行一次),然后再循环尾部判断表达式是否成立,如果成立就继续进入循环,否则到达循环下一句。同样的例子# include void main()int i;doprintf(please enter the right password );scanf(%d,while(i != 520);printf(right!good boy! );仔细对比它们的差异,假设我们第一次 i 的值就输入 520,那么 while 循环里的循环执行语句就不会执行,但是 do while 还是会执行一次循环执行语句再在循环尾部判断表达式是否成立

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号