零基础学习C语言(三)
研一人机与环境工程零基础接触学习C语言
文章目录
前言
主要介绍了算数运算符、赋值操作符、单目操作符和强制类型转换、printf详细介绍、scanf详细介绍,如何在VS2022编译器环境添加#define _CRT_SECURE_NO_WARNINGS
一、算数运算符
主要介绍 +、-、*、/、% 运算符号,加减乘比较简单不说了,重点介绍 / 和 % 运算规则,在C语言中乘用 * 来表示
运算符 / 用来完成除法:除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。
运算符 % 表示求模(余)运算:即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。
#include<stdio.h>
int main()
{
int x = 3 + 4;
int a = 6;
float b = 4;
/*这两种方法都可以,减法乘法也一样*/
printf("x=%d\n", x);
printf("%d\n", 3 + 4);
/*这里得到a/b的商值,为1*/
printf("%d\n", 6/4);
/*要想得到到a/b的值为1.5
将6或者4其中一个定义为浮点数即可*/
printf("%f\n", a/b);
printf("%f\n", 6/4.0);
/*6%4得到的是余数*/
printf("%d\n", 6%4);
/*负数求模的规则是,结果的正负号由第一个运算数的正负号决定*/
printf("%d\n", 6%-4);
printf("%d\n", -6%4);
printf("%d\n", -6%-4);
return 0;
}
注意: 除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。如果希望得到浮点数的结果,两个运算数必须至少有一个浮点数,这时C语言就会进行浮点数除法,运算符 % 表示求模(余)运算,不能用于浮点数。负数求模的规则是,结果的正负号由第一个运算数的正负号决定。
二、赋值操作符、单目操作符和强制类型转换
常见的赋值方法,连续赋值、复合赋值
单目操作符:++、–、+、-
++是一种自增的操作符,又分为前置++和后置++,–是一种自减的操作符,也分为前置–和后置-,+是正号,-是负号,都是单目操作符。
下面通过一个程序给你整明白
#include<stdio.h>
int main()
{
int x = 0;//初始化x=0
x = 6;//x赋值,x=6
x = x + 3;//x复合赋值,x=9
x += 3;//x复合赋值另一种简便方法,x=12
int b = ++x;//前置,x先+1,后使用x,此时x=13,b=13
int c = x++;//后置,先使用x,后x+1,此时c=13,x=14
int d = --x;//前置,先-1,后使用x,此时x=14-1=13,d=13
int e = x--;//后置,先使用x,后+1,此时e=13,x=12
int f = +e;//此时e=13
int g = -e;//此时e=-13
printf("x=%d\n", x);
printf("e=%d\n", e);
printf("f=%d\n", f);
printf("g=%d\n", g);
return 0;
}
计算出结果如下
强制类型转换
1 int a=int(2.45);
//将2.45强制类型转换为int类型,这种强制类型转换只取整数部分
三、printf详细介绍
printf()的作用是将参数文本输出到屏幕,printf()是在标准库的头文件 stdio.h 定义的,也就是说要使用printf需要首先定义头文件 stdio.h 。
占位符: 就是这个位置可以用其他值代入,这里只总结常用的占位符,printf()允许限定占位符的最小宽度。
%c:字符 //char
%d :十进制整数 //int
%f:小数(包含 float 类型和 double类型)。//float对应%f double对应%lf
%hd :十进制 short int 类型
%hu :unsigned shortint类型
%ld :十进制 long int 类型
%lu ::unsigned longint类型
%Lf ::long double 类型浮点数
%p:指针(用来打印地址)
%s:字符串
%u :无符号整数(unsigned int)
%x :十六进制整数
%zd:size_t 类型
%% :输出一个百分号
#include<stdio.h>
int main()
{
printf("I Love You\n");//\n为末尾换行
printf("I\nLove\nYou\n");//\n为句中换行
printf("%s Love you\n","He");//%c代表字符占位符
printf("I Love You %d years\n",100);//\n为末尾换行
/*其中%6d表示这个占位符的宽度至少为6位,
右对齐打印出来1234前面有两个空格*/
printf("%6d\n",1234);
/*左对齐打印出来1234后面有两个空格*/
printf("%-6d\n", 1234);
/*%10f表示输出的浮点数最少要占据10位,
由于小数的默认显示精度是小数点后6位,1.2345=1.234500
此时1.234500一共才八位,将会在头部输出两个空格*/
printf("%10f\n",1.2345);
/*正数显示+号,只对负数显示-号*/
printf("%+d\n",10);//+10
printf("%-d\n",10);//-10
/*.3f小数点后面根据四合五入保留3位*/
printf("%.3f\n", 3.1415);//结果3.14
/*%s字符串占位符*/
printf("%.5s\n", "hello world");//结果hello
return 0;
}
四、scanf详细介绍
scanf()函数用于读取用户的键盘输入用户输入数据、按下回车键后,scanf()就会处理用户的输入,将其存入变量。使用时和printf一样需要头文件 stdio.h。
注意:变量前面需要加上&运算符
scanf("%d%f",&x,&y);
上面示例中, scanf()的第一个参数%d ,表示用户输入的应该是一个整数。 %d就是一个占位符,%是占位符的标志,d表示整数。第二个参数&x表示,将用户从键盘输入的整数存入变量,同理第一个参数%f为浮点数
如果要强制跳过字符前的空白字符,可以写成 scanf(“%c”,&ch),即 %c 前加上一个空格,表示跳过零个或多个空白字符。
scanf(" %c",&xxx);
特别说一下占位符%s ,它其实不能简单地等同于字符串。它的规则是,从当前第一个非空白字符开始读起,直到遇到空白字符(即空格、换行符、制表符等)为止。
举个例子说明一下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
float y;
int x = 0;
printf("请输入x,科学计数法y:");
scanf("%d%f%",&x,&y);
printf("成绩是:%d\n", x);
printf("科学计数法是:%f\n",y);
return 0;
}
注意: 如果开始没有输入#define _CRT_SECURE_NO_WARNINGS此程序会报错的,像下面错误
当然每次都输入这行代码太麻烦了#define _CRT_SECURE_NO_WARNINGS
在VS2022编译器环境添加方法请看链接:https://blog.csdn.net/m0_69752994/article/details/132536800
如果有问题没设置成功请大家留言
`
标签:白零,int,scanf,一小,整数,C语言,运算符,printf,浮点数 From: https://blog.csdn.net/weixin_56089319/article/details/144010060