人人范文网 范文大全

程序员教你学C语言

发布时间:2020-03-03 01:26:14 来源:范文大全 收藏本文 下载本文 手机版

程序员教你学C语言

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

(一)开始看哦,尤其是基础还没打扎实的同学!

今天只举几个例子,主要帮大家巩固循环的知识,每个例子大家都要敲键盘敲出来,然后运行成功了才算掌握了,不然还是眼高手低,看上去懂了,一到写程序又犯难了。我发现有不少人热衷于打印图形,所以就弄了几个图形。第一个是打印金字塔。代码和运行图如下:

首先定义了两个变量i、j,然后使用system(\"color 0e\")改变颜色。接下来会进入一个外层循环,其中的i代表层数,我们可以看到这里金字塔有6层,所以i的取值范围也是00,所以这里会打印6个空格,然后来到第二个内层循环,这个循环的初始条件是j=1;结束条件是j

不理解的话可以把外层循环for(i = 0;i

第二个是打印菱形,其实就是上一个图形的变化,效果和代码如下:

可以看到,我们这个图形是上下对称的,所以打印菱形上半部分(就是上一个例子的打印金字塔)的代码和下半部分的代码十分相似,只是把外层循环的头部从for(i = 0;i = 0;i--),大家理解一下代码,菱形的上半部分,打印的星星数会越来越多,从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

这个程序很明显分成了四块,由四个外层for循环构成,for(n1=1;n1

最后一个图形是我刚刚写的六芒星,完整的代码输出结果是这样的:

学习交流群(565122788)

但是我这里只给出一半代码,剩下的需要大家自己学完成,当是对自己的考验也好,作业也罢,还是希望大家能够自己亲自动手试一下的。不懂的就再问 #include #include void main() { inti,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(\" * * \"); } 这一半代码的输出结果是:

更多的数据类型和循环

前面我们说为了让计算机能够识别一个变量到底占了多少字节,我们需要为变量定义数据类型,那究竟有多少种数据类型呢,其实前面我给出32个关键字里面就已经包括了,short、int、long、char、float、double这6个关键字代表了C语言里的6中基本数据类型,怎么去理解它们呢,举个例子:大家都见过剪卡器吧?(没见过?手机卡总见过吧)。我们知道不同的手机使用的手机卡的大小是有区别的,我们通常是用剪卡器,拿着它把原来移动的大卡这么一咔,一个小卡就出来了,不同型号的剪卡器咔出来的手机卡大小不一样,比如苹果手机的卡就特别小,三星的卡稍微大点......,现在我们联想一下,short、int、long、char、float、double这六个东东是不是很像不同类型的剪卡器?拿着它们在内存上咔咔咔,不同大小的内存就分配好了。在32位的系统下short咔出来的内存大小是2个字节(也叫byte);int咔出来的内存大小是4个byte;long咔出来的内存大小是4个byte;float咔出来的内存大小是4个byte;double咔出来的内存大小是8个byte;char咔出来的内存大小是1个byte。接下来我们就写程序看看这些基本的数据类型在我们自己电脑上的大小吧。

其中sizeof关键字可以确定给定的类型占据了多少字节,它后面可以直接跟类型的关键字,比如sizeof(int),也可以跟变量(比如sizeof(i))甚至是表达式,比如最后一行的sizeof(i-1),它的结果是表达式的计算结果所占据的字节数,i-1的结果为0,0也是整数,所以占据的字节数为4。(注意这里是指的32位的编译环境下的情况,具体平台大家可以运行这个程序测试一下)。 然后接下来是对这6种基本数据的使用情况

可以看到,两组都是同样的数据,但是最后打印出来的结果,上面一组数据中字符变量、浮点变量和双精度变量打印出来的结果都不对。原因是什么呢,因为是printf的第一个参数,%d这个符号,前面的%是占位符,后面的这个d代表是以整数形式打印出来,而不同的数据类型要以不同的形式打印出来,所以总结一下,%c表示打印字符、%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就是以十进制整数方式输出它在内存中的数据,所以就输出了97 接下来将大家使用这些基本数据类型最容易犯错的一点,就是极限值,我们知道计算机里的一位只能表示0或者1,而两位只能表示0、

1、

2、3,依次类推,我们如果有N位,那也只能表示2的N次方个数据,我们说int是4字节的,就是32位,所以int也是有极限值的,那是不是就是2的32次方呢,理论上来讲,它能表示这么多的数据,但是因为有正负数的存在,这个值还得减半,我们接下来的程序就是测试你机器上的这些基本类型的极限值的,注意unsigned这个修饰符就是无符号的数,比如unsigned int,这就是无符号整数,这样它能表示的范围就是0~4294967295(2的32次方-1)了。不小心极限值的话,就会经常犯错

C/C++学习交流群,欢迎大家一起来交流提升。565122788进群就能获取C语言新手学习大礼包

另外两种循环:while循环和do...while循环(还有一种可以构成循环的是goto,但是先不讲).while循环的格式: while(表达式) { 循环执行语句; } 下一条语句; while循环和for循环的区别在于它的循环头部没有赋初值的操作,一开始就会进行循环表达式的判断,如果表达式成立,则进入循环,否则跳到循环的下一条语句。看一个例子 # include void main() { inti; printf(\"please enter the right paword \"); scanf(\"%d\",&i); while(i != 520) { printf(\"please enter the right paword \"); scanf(\"%d\",&i); } printf(\"right!good boy! \"); } 程序一开始定义了整数变量i,然后提示用户输入密码,这时我们输入i的值,来到while(i != 520)这句,i != 520这句是如果i不等于520,就进入循环里面,并且提示密码输入错误,用户重新输入密码,再次输入密码后,会再次来到循环头部,如果i != 520成立,会再次进入循环提示用户错误和重新输入,直到用户输入正确的数(也就是520)后i != 520才不成立,就退出了循环。 再来看看do while循环的格式: do { 循环执行语句; }while(表达式); 循环下一句; do while和while的区别是它会首先执行一遍循环执行语句(所以do while最少都要执行一次),然后再循环尾部判断表达式是否成立,如果成立就继续进入循环,否则到达循环下一句。同样的例子 # include void main() { inti; do { printf(\"please enter the right paword \"); scanf(\"%d\",&i); }while(i != 520); printf(\"right!good boy! \"); } 仔细对比它们的差异,假设我们第一次i的值就输入520,那么while循环里的循环执行语句就不会执行,但是do while还是会执行一次循环执行语句再在循环尾部判断表达式是否成立

程序员C语言必背

C语言C++程序员编程必备

嵌入式程序员C语言笔试题目

如何学C语言

黑马程序员c语言教程:DML语言简介

黑马程序员c语言教程:Oracle概念

黑马程序员c语言教程:Oracle指令

黑马程序员c语言教程:Oracle概念

黑马程序员c语言教程:DML语言强化

黑马程序员c语言教程:Oracle指令

程序员教你学C语言
《程序员教你学C语言.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档