- 博客(20)
- 收藏
- 关注
原创 字符串简介
strlen和sizeof对于praise,用strlen()得出的也是字符串中的字符数(包括空格和标点符号)。然而sizaof运算符给出的数字更大,因为他把字符串末尾不可见的空字符也包含在里面。有时候我们会发现sizeof有时候带括号有时候不带,其实,这取决于运算对象是类型还是特定量?运算对象是类型时,圆括号必不可少,但是对于特定量,可有可无。尽管如此,还是建议所以情况下都是用圆括号。...
2019-11-17 19:48:40 233
原创 指针与数组
指针与数组我们知道,指针提供一种以符号形式使用地址的方法。我们很快就学到,数组表示就是变相的使用指针。我们举一个变相使用指针的例子:数组名是数组首元素的地址。也就是说:如果a是一个数组,下面语句成立:a==&a[0];//数组名是该数组首元素的地址a和&a[0]都表示数组首元素的内存地址(&是地址运算符).两者都是常量,不会改变。但是可以把它们赋值给指针...
2019-12-14 12:19:36 112
原创 列表(Python)
列表的创建,增减,更替1 什么是列表?列表由一系列按特定顺序排列的元素组成.在Python中用[ ]来表示列表,并用逗号来分隔其中的元素.2.访问列表元素先指明列表的名称,再添加索引.并将其放在[ ]内.这样当你请求获取列表元素时,Python就只返回该元素,而不包括[ ]和引号.3.修改元素修改就是改变某一个元素,即列表名[ 索引 ]=改变值.添加分为在末尾添加和在任意地点添加...
2019-12-03 20:44:30 176
原创 for循环判断一个整数是否为素数
判断素数规划:(伪代码)提示用户输入数字;当scanf()返回值为1;分析该数并报告结果;提示用户继续输入.设计如何找出素数:for (div = 2; div < num; div++)if(num % div == 0)printf("%d is divisible by %d\n",num , div);该循环检查2到num之间的所有数,判断他们是否为num整...
2019-11-30 11:12:44 5906
原创 使用循环for编写金字塔
记得在之前3G面试的时候,第三道题是让我编写一个程序,使用嵌套循环打印字母金字塔.那时候被这道题正懵逼了.#include <stdio.h>int main(){int i,j;char ch,bh;for(i=0;i<5;i++){for(j=0;j<(4-i);j++) printf(" ");for(ch='A';ch<('A'+i);ch...
2019-11-25 23:33:15 821
原创 在for循环使用数组中值得易用的写法
for循环中有价值的写法在程序中的很多地方都使用数组,比如我们创建10个不同的变量来储存高尔夫球分数该程序展示了比较好的编程风格.用#define函数创建的明示变量(SIZE)来自定数组的大小.这样就可以定义数组和设置循环边界时使用该明示变量.如果以后要拓展程序处理20个分数,只需简单地把SIZE改为20即可,不用逐一修改程序中使用了数组大小的每一处.下面的代码可以很方便的处理一个大...
2019-11-25 12:34:37 377
原创 利用for的灵活性
for()函数的一般表示以及其他表示**for语句通过使用3个表达式来控制循环过程,分别用;隔开,***initialize表达式(即第一个表达式)在执行for语句之前只执行一次;***这就是我们的for语句的另一种用法.一般情况下,我们在第一个语句处进行赋值,例如(a=1)等等,这是最常见的一种操作.但是第一个表达式不一定是给变量赋值,***也可以使用printf()语句,***但是,...
2019-11-24 21:19:42 216
原创 真值问题中误用=导致无限循环
"=导致无限循环"***在while循环中.如果()中的条件(例如a==1),换成a=1,会导致什么后果?我们知道a=1是一个赋值语句,就是将1赋值给a,所以a的值为1.所以这里while(a=1)实际相当于while(1),也就是说,循环不会退出.在这里插入图片描述虽然输入的数为q,按道理说,scanf()函数返回值为0,a被设置为0,但是循环的条件吧a有重置为1,进入了下一次迭代...
2019-11-23 19:51:21 173
原创 有关scanf函数输出的问题
***scanf函数输出有时候我会想,如果我用scanf函数输入一个整数,但是我如果输入一个字符,那么scanf函数会不会把我输入的字符强行改变为ASCII码的整数呢?***所以我简单的写了一组代码这一组代码要求你输入整数,并将你输入的整数输出.下面我们分别输入2和q,看看输出的结果是什么我们发现当输入为字符q时,输出为0.所以我们说,如果用户输入的不是整数(如a),scanf()会...
2019-11-23 18:34:50 412
原创 实参和形参
***实参和形参的区别声明函数就创建了被称形式参数的变量,函数调用具使用的被称为实际参数的变量.我们说:形参是变量,实参是函数调用提供的值,实参被付给相应的形参.需要注意的是:变量名是函数私有的,即在一个函数的变量名不会和别处的相同的变量名发生冲突,也就是说,程序中出现了两个同名的变量,但是程序可以区别他们....
2019-11-23 17:35:40 142
原创 序列点问题
序列点问题 在C语言中,语句中的分号标记了一个序列点. 在我看来,序列点的作用就是:我将分号之前的命令完成之后我在转而完成下一个命令,就好比排队,必须有个先来后到. 任何一个完整表达式的结束也是一个序列点.分析后缀递增何时发生考虑下面一组代码对于该例,C语言的初学者认为"先使用值,在递增他"的意思是,在printf()语句中先使用a,再递增他.但是,表达式a++<10是一个...
2019-11-21 19:39:45 321 1
原创 递增运算符++
***本节就关于++i和i++进行说明递增运算符执行简单的任务,将其运算对象递加1.该运算符主要以两种形式出现,++出现在起作用的变量的前面,这是前缀模式.第二种方式,++出现在起作用的变量的后面,这是后缀模式.两种模式的区别在于递增行为发生的时间不同.下面我们用一组代码来看他们有什么不同为什么前缀递增输出的结果为2,而后缀递增输出的接果为1?其实这就是++i与i++的区别....
2019-11-20 19:49:07 777
原创 scanf函数中格式字符串中的普通字节
格式字符串类似于printf()函数中的%d,%c等等,但在scanf()函数中我们把他们称为格式字符串。下面是常错点scanf()函数允许把普通字符放在格式字符串中,例如把,逗号放在%d这个格式字符串中。那么,除空格字符外的普通字符必须与输入字符串严格匹配。例如: scanf(“%d,%d”,&n,&m);scanf()函数将其解释为:用户将输入一个数字,一个逗号,...
2019-11-19 20:01:00 1649 1
原创 转换说明的意义
讨论转换说明的意义转换说明巴以二进制格式储存在计算机的值转换为一系列字符以便于显示。例如:数字76在计算机内部的存储格式是二进制数01001100,%d转换说明将其转换为字符7和6,并显示为7和6;%x转换说明把相同的值(01001100)转换为十六进制计数法4c,%c转换说明吧01001100转换成字符L。转换可能会误导读者认为原始值被替换成转换后的值。实际上,转换说明是翻译说明,%d的意...
2019-11-19 16:01:47 925
原创 使用修饰符和标记
修饰符和标记(整型)首先我们来看一组代码第一个转换说明%d不带任何修饰符,其对应的输出结果与带整数字段宽度的转换说明的输出结果一致。(带整数字段宽度的转换说明:例如%4d,它的含义是最小字段宽度)第二个转换说明是%2d,其对应的输出结果应该是2字段宽度。因为待打印的整数有三个数字,所以字段宽度自动扩大以符合整数的长度。第三个转换说明是%10d,其对应的输出结果有十个空格宽度,实际上在两...
2019-11-18 20:10:45 170
原创 学习#define指令
学习#define指令有时,在程序重要使用常量。例如,圆的周长等于3.1415926×R×R;在这里,常量3.1415926就代表著名的常量pi,但是如果我们使用符号常量会更好。原因是如果程序中多次使用常量,有时需要改变它的值,这就非常不方便。但如果我们使用符号常量,则只需要改变符号常量的定义,不用在程序使用长亮的地方逐一更改。如何创建一个符号常量?方法一是:float a;...
2019-11-17 20:32:17 249
原创 如何使用Linux系统编写c语言
点击Ctrl+Alt+T进入Linux系统控制台。创建文件输入vim hello.c。点击i进行插入,这样你就可以敲代码了。敲完代码以后按Esc退出插入。按wq保存并退出。6.生成目标文件hrllo.c;点击gcc hello.c -o 1。运行可执行文件./1。直接编译运行可执行文件gcc -o 1 hello.c -g...
2019-11-16 10:45:49 920
原创 冒泡排序以及冒泡排序的优化
具体的代码实现如下所示:#include <stdio.h>int main(){int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};int i, j, temp;//冒泡排序算法:进行 n-1 轮比较for(i=0; i<10-1; i++){//每一轮比较前 n-1-i 个,也就是说,已经排序好的最后 i 个不用比较f...
2019-11-13 21:21:46 164
原创 C语言字节知识
C语言中字节的使用以及要注意的细节。sizeof()里的运算不执行,而是检测类型,因此sizeof(++i+ ++j); 与sizeof(i);与sizeof(int);无异,这三句意义相同。printf("%d,%d\n",i,(int)j); //把j强制转回int型sizeof(++i+++j)它的实质就成了sizeof(int);而你把 j 改成double.这样其实质就...
2019-11-09 00:40:11 671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人