关键词:
%f是浮点型的占位符,%f.2表示显示到小数点后两位,.2称为修饰词
变量可以在程序执行过程中变化和指定,而常量不可以。
【数据类型关键字】int long short unsigned char float double _Bool _Complex(复数) _Imaginary(虚数)
【int 类型】
整数类型之所以有这么多种(int,unsigned int,long,short等等),他们最主要的区别在于取值范围不同和是否能够取负值。
整型 int类型的范围是-32768~32767
声明变量:int a,b,c; int a;int b; int c;都可以,都是为4个int型变量赋予名称并分配空间。
赋值:直接赋值a=1; 通过函数scanf("%d",&a); 初始化变量int a=1;
注:不要在同一个声明语句中同时出现初始化和未初始化变量。(int a,b=1;)易引起误解。
int型常量:C把大多数整数常量看作int型,如果很长就看做long,更长就看做long long
打印int型:%d(格式说明符),如果格式说明符和要打印的值的数目不相符,编译器可能无法检查出该错误,所以写的时候一定要注意
其它进制:八进制前缀0 十六进制前缀0x,格式化说明符分别是%0,%x
注:要显示0和0x的前缀,必须在说明符中加入符号# (%#x)
【其他整数类型】
short:小数值,更少的存储空间 %u long:大数值,更大的存储空间 %ld %l0八进制 %lx十六进制
long long:更更大 unsigned int:无符号,(非符值)
在诸多整数类型中,首先考虑unsigned类型,大多数时候不需要负数,并且可以取得更大的计数范围
数值过大会产生溢出的现象
【字符型】
实际上储存在计算机中,用的是整数ASCll码,如存储A,实际是65.
单引号字符,双引号字符串。
【非打印字符】
方式一:使用ASCLL码赋值,如蜂鸣char beep = 7;
方式二:利用转义序列,如char nerf = ‘\n';
方式三:用十六进制标示字符常量。
【打印字符】
%c打印一个字符,如果用%d可打印出字符的ASCLL码
【_Bool类型】
布尔类型,整数类型,只需一位存储,表示true,false
【浮点型】
float:至少六位有效数字,e-27~e37
double:(双精度)至少十位有效数字
long double:更高精度
【编译器】
默认情况下,编译器将浮点常量当作double类型,如some是一个float变量:
some = 4.0 * 2.0
那么4.0和2.0被存储为double类型,乘积运算使用双精度,而结果被截为float长度,这能保证运算的精度,但是会减慢运算速度。
但是可以通过f或F后缀使编译器把浮点常量当作float类型,如2.3f,l或L后缀可以使其成为long double类型。
打印浮点值:%f表示float或double类型,%e表示指数计数法的数字。
【浮点值的上溢和下溢】
【复数和虚数类型】
头文件complex.h包含了复数complex,虚数imaginary。
注:printf输出时如需换行,只要不在引号内部或一个单词中间换行就行。
输出浮点变量时如果使用整型的格式%d会输出垃圾值,反之亦然。
#include<stdio.h> int main() { float salary; scanf("%f",&salary); printf("now i know %d.",salary ); return 0; }//输出无论如何都是0
通常退格符\b不会删除退回时经过的字符,但是有时会删除。
#include<stdio.h> int main() { int salary; printf("please enter your monthly salary:"); printf("$_______\b\b\b\b\b\b\b"); scanf("%d",&salary); printf("now i know %d a year you get.",salary*12 ); return 0; }
【刷新输出】
printf输出时并不是直接把内容传递到屏幕上,在程序和屏幕间有一个称为缓冲区(buffer)的中介存储区域,内容是由缓冲区被传递到屏幕上的。
那么什么时候缓冲区的内容会被传到屏幕上呢?
1、缓冲区满了的时候 2、遇到换行符时 3、需要输入时
手动刷新缓冲区:1、打印一个换行符 2、fflush()函数
//编程练习 3.11 #include<stdio.h> int main() { //输入ASCLL码值输出字符 char x=66; scanf("%d",&x); printf("this char is %c.\n",x); //发出警报声并输出指定字符串 printf("\a By the great Pumpkin.what was that?\n"); //读入一个浮点数,分别以小数形式和指数形式打印 float a=11.23; printf("%f\n",a); printf("%e",a); //输入年龄输出秒数 unsigned long old;//无符号长整型才不会溢出,溢出会变成负数 printf("how old are you?\n"); scanf("%d",&old); printf("now you are %ul seconds old.",old*3.156e7);//一年有3.156e7秒 return 0; }
//未完 还有两道题
仅允许非商业转载,转载请注明出处
不会c和cpp也能学数据结构——javascript实现双向链表
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/下午分享了JavaScript实现单向链表,晚上就来补充下双向链表吧。对链表的实现不是很了解的可以移步:http://www.cnblogs.com/tdws/p/6033... 查看详情
c_cpp[illumos和bsrosdatalinklayer]用于观察dladm和libdladm行为的dtrace片段#tags:dladm,datalink,数据链管理,(代码片段)
c中头文件在cpp文件里引用和.h文件引用的思考
...函数申明在a.h中。在a.h文件有使用了b.中定义的类型type1数据m_type,相同b.cpp的头文件一些变量也声明在b.h中。此时我们当然能够在 查看详情
Makefile 编译 c 和 cpp 文件
】Makefile编译c和cpp文件【英文标题】:Makefiletocompilebothcandcppfiles【发布时间】:2016-02-0314:03:07【问题描述】:我想编译我的程序,但这样做有一些问题。我的程序由一个用C编写的main函数组成。其他文件是我没有编写的.h或.cpp文... 查看详情
c_cpp使用原始套接字发送和接收带有icmp协议的output的数据包的小程序是六进制格式的数据包。可以打印为%c来查看数据。ipheade(代码片段)
c_cpp数据转换(代码片段)
c_cpp连续子数组的最大和的.cpp(代码片段)
用于构建 main.c 和 main.cpp 的单个 Makefile
】用于构建main.c和main.cpp的单个Makefile【英文标题】:SingleMakefiletobuildbothmain.candmain.cpp【发布时间】:2018-07-1503:31:28【问题描述】:我想makemain-c从main.c构建main-c。和makemain-cpp从main.cpp构建main-cpp。我有,都在同一个文件夹中:main.c... 查看详情
c_cpp在cpp中使用malloc和free(代码片段)
.cpp 和 .c 文件的替换参考 [关闭]
】.cpp和.c文件的替换参考[关闭]【英文标题】:Substitutionreferencewith.cppand.cfiles[closed]【发布时间】:2016-06-2902:35:25【问题描述】:我知道有很多关于将.cpp和.c文件混合到一个makefile中的问题,但我还没有看到混合替换引用的问题得... 查看详情
c/c++13天气app:数据挖掘/http协议/非结构化数据存储(filetoblob.cpp),数据管理/监控告警(hsmtable.cpp,tbspaceinfo.cpp)(代码片段)
文章目录1.数据挖掘:/etc/init.d,/etc/rc.local,sudosu2.HTTP协议:优先wget3.非结构化数据存储:blob,pzhrain24file4.数据管理子系统:数据字典表5.监控告警子系统:tmpfs,top,/proc/stat,/proc/meminf... 查看详情
c_cpp转移和溢出(代码片段)
c_cpp重载和变换(代码片段)
c_cpp变量和类型(代码片段)
c_cpp盐和胡椒(代码片段)
c_cpp数据库操作(代码片段)
c_cpp处理网络数据包(代码片段)
使用 Automake 编译 *.cpp 和 *.c
】使用Automake编译*.cpp和*.c【英文标题】:Compile*.cppand*.cwithAutomake【发布时间】:2020-06-1610:13:28【问题描述】:结构:-myProject-Makefile.am-configure.ac-src-Makefile.am-main.c-test.c-test.h当我尝试编译时,我收到错误未定义的对test.c中函数的... 查看详情