随笔分类 - c语言
摘要:带参数的宏和函数很相似,但有本质上的区别:宏展开仅仅是字符串的替换,不会对表达式进行计算;宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存。而函数是一段可以重复使用的代码,会被编译,会给它分配内存,每次调用函数,就是执行这块内存中的代码。【示例①】用函数计算平方值。 #include <
阅读全文
摘要:#include <stdio.h> int main(){ int a = 100; char str[20] = "hello world!"; char *zza = "hello world!"; printf("%#X,%#X,%#X\n", *zza, &zza,zza); printf
阅读全文
摘要:小数分为整数部分和小数部分,它们由点号.分隔,例如 0.0、75.0、4.023、0.27、-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式。此外,小数也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2、-27.36×
阅读全文
摘要:short、int、long 是C语言中常用的三种整数类型,分别称为短整型、整型、长整型。在现代操作系统中,short、int、long 的长度分别是 2、4、4 或者 8,它们只能存储有限的数值,当数值过大或者过小时,超出的部分会被直接截掉,数值就不能正确存储了,我们将这种现象称为溢出(Overf
阅读全文
摘要:C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。 getchar()、getche()、getch():这三个函数都用于输入单个字符。 gets():获取一行数据,并作为字符串处理。 scanf() 是最灵活、
阅读全文
摘要:缓冲区(Buffer)又称为缓存(Cache),是内存空间的一部分。也就是说,计算机在内存中预留了一定的存储空间,用来暂时保存输入或输出的数据,这部分预留的空间就叫做缓冲区(缓存)。有时候,从键盘输入的内容,或者将要输出到显示器上的内容,会暂时进入缓冲区,待时机成熟,再一股脑将缓冲区中的所有内容“倒
阅读全文
摘要:缓冲区的优点很明显,它加快了程序的运行速度,减少了硬件的读写次数,让整个计算机变得流畅起来;但是,缓冲区也带来了一些负面影响,经过前面几节的学习相信读者也见识到了。那么,该如何消除这些负面影响呢?思路其实也很简单,在输入输出之前清空(刷新)缓冲区即可: 对于输出操作,清空缓冲区会使得缓冲区中的所有数
阅读全文
摘要:使用sleep()函数将程序阻塞,头文件在windows系统和linux系统下是不一样的windowsSleep()//第一个字母大写#include <windows.h>函数原型void Sleep(DWORD dwMilliseconds);参数为毫秒linuxsleep()函数原型#incl
阅读全文
摘要:所谓键盘监听,就是用户按下某个键时系统做出相应的处理,本章讲到的输入输出函数也是键盘监听函数的一种,例如 getchar()、getche()、getch() 等。下面的代码演示了 getche() 函数的使用: #include <stdio.h> #include <conio.h> int m
阅读全文
摘要:一个安全的程序在用户输入密码时不应该显示密码本身,而应该回显星号或者点号,例如······或******,这在网页、PC软件、ATM机、POS机上经常看到。但是C语言没有提供类似的功能,控制台上只能原样显示用户输入的字符。我们完全可以模拟密码输入的效果,请先看下面的代码: #include <std
阅读全文
摘要:1) 指定读取长度 还记得在 printf() 中可以指定最小输出宽度吗?就是在格式控制符的中间加上一个数字,例如,%10d表示输出的整数至少占用 10 个字符的位置: 如果整数的宽度不足 10,那么在左边以空格补齐; 如果整数的宽度超过了 10,那么以整数本身的宽度来输出,10 不再起作用。 其实
阅读全文
摘要:在C语言中,有多个函数可以从键盘获得用户输入:scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。getchar()、getche()、getch():这三个函数都用于输入单个字符。gets():获取一行数据,并作为字符串处理。scanf() 是最灵活、最复杂、最常用
阅读全文
摘要:#include <stdio.h> int main() {int a=3,x; x=(a++)+(++a)+(++a); printf("%d",x); getchar(); } 结果:14 #include <stdio.h> int main() {int a=3,x; printf("a+
阅读全文
摘要:1.getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码;若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区。若程序中有后继的getchar();函数,则直接从缓冲区逐个读取已输入的字符并输出,直到缓冲区为空时才重新读取用
阅读全文
摘要:二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头 八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o) 十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头 C语言不能使用 pri
阅读全文
摘要:#include <stdio.h> int main() { short a = 10; int b = 100; long c=100; int short_length = sizeof a; int int_length = sizeof(b); int long_length = size
阅读全文
摘要:#include<stdio.h> main() { //char a[5]; //strcpy(a,"啊"); char a[5]="职"; printf("%XH %XH\n",(unsigned char)a[0],(unsigned char)a[1]); return 0; } 结果: D
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> int sum(int a,int b) { int c; c=a+b; printf("c=a+b=%d\n",c); return 0; } int main() { int (*p2)(int,int); p2=su
阅读全文
摘要:变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。变量声明:用于向程序表明变量的类型和名字。定义也是声明,extern声明不是定义 定义也是声明:当定义变量时我们声明了它的类型和名字。extern声明不是定义:通过使用extern关键字声明变量名而不定义它。[注意
阅读全文
摘要:编译器给变量分配内存在函数外部定义的变量叫做全局变量(Global Variable),在函数内部定义的变量叫做局部变量(Local Variable)一个变量,即使不给它赋值,它也会有一个默认的值,这个值就是默认初始值。 对于全局变量,它的默认初始值始终是 0,因为全局变量存储在内存分区中的全局数
阅读全文

浙公网安备 33010602011771号