cpp数据和c

王明扬 王明扬     2022-09-06     410

关键词:

%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中函数的... 查看详情