c语言数据类型及其运算,c语言中运算符是什么类型
变量名的名称:只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。
c语言区分大小写。
从屏幕上读取数据称为读取标准输入- scanf。
设置启动项目问题:启动项目设置对应的字体为粗体(VS是为开发大型项目准备的,所以每次都要新建一个项目,这样如果使用多个C文件,就会自动编译成一个exe)[每个项目编译后都是一个exe可执行文件]
00 00 00 7b VS中内存显示为什么是7b 00 00 00是因为x86架构是小端存储(Intel或者AMD),低位在前,高位在后。
为什么用十六进制看内存数据效率很高?两个字符可以代表一个字节。
1位(1位)存储0或1
1字节(1字节)=8位
1Kb=1024字节
1Mb=1024Kb
1Gb=1024Mb
磁盘1G=1000 000 000字节
0x00 7D FD 04(只是一个地址)地址是4个字节。
一个工艺是4 g,2的32次方=1024*1024*1024*4=4G。
系统转换问题:
#包含stdio.h
int main()
{
//int I=123;
//int I=0x7b;
int i=0173
printf(%d\n ,I);//%d表示以十进制模式输出整数。
}
整数变量占用4个字节,即32位。
浮点变量占用4个字节。
字符常量:用单引号括起来的字符是字符常量,并且只能包含一个字符!比如 A , s , 1 和都是正确的字符常量,而 abc , A 和都是错误的字符常量,一个字符变量占用1字节空间。
浮点型和字符型:
#包含stdio.h
int main()
{
浮点f=1.234
printf(%f\n ,f);//%f表示以浮点形式输出相应的数据。
char c= a//定义一个字符变量并将其赋值为“a”
char d= \ n
printf(%c\n ,c);//printf(%c\n ,97);
printf(%d\n ,c);//97
//printf(%c\n ,d);
}
各种转义字符:
\n换行符\b退格符\ \反斜杠
系统(“暂停”);-解决调试控制台不停闪而过的问题。
字符串常量:用双引号括起来的字符序列!
混合操作:
#包含stdio.h
int main()
{
int I=5;
float j=I/2;//2.000000
float k=(float)I/2;//2.500000
printf(j=%f\n ,j);
printf(k=%f\n ,k);
}
Scanf -读取标准输入
Scanf使用:
# define _ CRT _ secure _ no _ warnings//解决scanf编译的错误问题
#包含stdio.h
int main()
{
int a,b;
scanf(%d%d ,a,b);//确保在变量前放置一个符号
printf(%d\n ,a b);
}
Scanf用法:
#包含stdio.h
int scanf(const char *格式,);
格式是一个字符串.指示可变参数,并且参数的数量与格式中的%数量一致。
%d是一个十进制整数
%f一个浮点数
%c单个字符
%s字符串
%d,%f,%c可以无限次混合。
%d%f%c ,a,b,c
scanf函数的原理:(scanf函数在读取整数、浮点数和字符串时会忽略 \n (回车)和空格字符等字符)
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
//只有当缓冲区为空时,scanf才会阻塞(卡住)
int main()
{
int I;
char c;
浮动f;
scanf(%d ,I);
printf(i=%d\n ,I);
//scanf(%c ,
//printf(c=%c\n ,c);
scanf(%f ,f);
printf(f=%f\n ,f);
}
Scanf读取两个整数:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
int main()
{
int a,b;
scanf(%d%d ,a,b);
printf(%d ,a b);
}
闰年法官:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
int main()
{
int年;
scanf(%d ,年份);
//能被400整除或能被4整除但不能被100整除
if(年% 400==0 年% 4==0年% 100!=0){
printf( yes \ n );
}否则{
printf( no \ n );
}
}
扫描周期读取整数:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
//EOF为-1
//清空缓冲区-倒带(标准输入)
//stdin是标准输入。
int main()
{
int i,ret
while (rewind(stdin),(ret=scanf(%d ,I))!=EOF) {
printf(i=%d\n ,I);
}
返回0;
}
读取字符的扫描周期:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
int main()
{
char c;
while (scanf(%c ,c)!=EOF) {
如果(c!=\n) {
printf(%c ,c-32);
}否则{
printf( \ n );
}
}
}
Scanf混合输入:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
//空格的值是32
//scanf读取多种类型的数据
//每次混合输入时需要在%c前加一个空格。
int main()
{
int I;
char c;
浮动f;
int ret
ret=scanf(%d %c%f ,I,c,f);
printf(i=%d,c=%c,f=%f\n ,I,c,f);
返回0;
}
Printf -打印在屏幕上的标准输出功能。
printf的使用:
#包含stdio.h
//printf控制输出格式
int main()
1 in {//%.1f表示小数点后保留一个小数点。
//年龄=%-3d
printf(姓名=%s,年龄==,性别=%c,分数=%.1f\n ,
强哥,20, m ,99.3);
}
操作员分类:
c提供了13种类型的运算符,如下所示。
(1)算术运算符(-*/%)
(2)关系运算符(====!=)
(3)逻辑运算符(!)
(4)按位运算符(~)
(5)赋值运算符(=及其扩展赋值运算符)
(6)条件运算符(?)
(7)逗号运算符(,)
(8)指针运算符(*和)
(9)求字节数运算符(sizeof)
(10)强制类型转换运算符((type))
(11)分量运算符(。-)
(12)下标运算符([])
(13)其他(如函数调用运算符())
算术运算符:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
int main()
{
int a=4 5 * 2-6/3 11% 4;
printf(%d\n ,a);
scanf(%d ,a);
printf(a=%d\n ,a);//输入1234,输出4321?
而(a!=0) {
printf(%d ,a % 10);
a=a/10;
}
printf( \ n );
返回0;
}
关系运算符和逻辑运算符:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
//C语言认为所有非零值都为真
//关系运算符和逻辑运算符
//优先级:算术运算符关系运算符逻辑运算符赋值运算符
//!逻辑不真,假则真。
//只有两边都为真,逻辑才为真。
//逻辑或有一方为真为真。
//逻辑AND优先于逻辑OR
int main()
{
//printf(%d\n ,5
int a=4;
//3a 10-始终为真
//如果要判断3 a同时是10,使用逻辑运算符
/*if (3 a 10) {
printf(a是对的。);
}
否则{
printf(a是错的);
}*/
如果(3 a a 10) {
printf(a是对的。\ n’);
}
否则{
printf(a错了。\ n’);
}
//确定两个浮点数是否相等
/*浮点f=234.56
if (f==234.56) {
printf(f等于234.56。\ n’);
}
否则{
printf(f不等于234.56。\ n’);
}*/
//要判断两个浮点数是否相等,请使用以下方法:
浮点f=234.56
如果(f-234.56-0.0001 f-234.56 0.0001){
printf(f等于234.56。\ n’);
}
否则{
printf(f不等于234.56。\ n’);
}
//逻辑否定
int i,j=5;
我=!j;//不是5就是0,然后不是0就是1,所以结果是1
printf(i=%d\n ,I);
}
赋值运算符:
#包含stdio.h
//只有变量可以放在赋值运算符的左侧
//赋值运算符仅高于逗号运算符,优先级低于算术、关系和逻辑运算符。
//逗号运算符的最后一项是判断整体真假的依据。
int main()
{
int a=5;
//如果带引号的左操作数必须是左值,则意味着等号左边必须是变量。
//a 5=10;
}
自动递增和自动递减运算符:
#包含stdio.h
int main()
{
int I=1;
int j;
//i代表I=I 1;
//很难理解是后加后减。
//我只是按照优先级进行正常操作。
j=I-1;//分成两步,j=i i。
printf(i=%d,j=%d\n ,I,j);
printf( I的字节数=%d\n ,sizeof(I));
}
练习:
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
int main()
{
/* char a;
scanf(%d ,
printf(%c\n ,a);*/
/*运行时检查失败#2
-变量“a”周围的堆栈已损坏。*/
//错误信息是操作空间造成的,超过了变量本身占用的空间。
int a;
scanf(%d ,a);
printf(%c\n ,a);//在% c中可以输出0到128之间的整数。
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。