我可以不吃啊 发表于 2024-7-31 04:21:39

学习日志:数据范例2

目录
1.转义字符
2.隐式范例转换
2.1 强制范例转换
2.2 不同范例间赋值
3.运算符 表达式

3.1 算术运算符
3.2 算术运算优先级
3.3 赋值运算

3.3.1 不同范例间混合赋值
3.4 逗号运算
4.生成随机数
5. 逐日一练

1.转义字符

'\n'                        表现换行
'\t'                         表现调到下一个制表符(一个制表符占8个空格)
'\b'                        表现退格
'\r'                         回车,光标回到当前行的开头
'\\'                        表现打印一个 \
'\''                        表现打印 '
'\'''                        表现打印 "
'\101'                    表现转义八进制
'\x41'                     转义十六进制
2.隐式范例转换

低精度和高精度混合运算时,低精度1往高精度转。
https://i-blog.csdnimg.cn/direct/f26314dc590d4738857661fc0c4a127d.png
2.1 强制范例转换

(范例)运算数
注:不会影响运算数本身 
float a = 12.34;
(int) a 2.2 不同范例间赋值


3.运算符 表达式



3.1 算术运算符

+  、 -   、 *  、/   、 %
注:
/  (1)两个整数相除,相当于取整的结果
   (2)除法运算中除数不能为0

% (1)除数不能为0
     (2)运算数必须为整数。
      (3)结果的符号取决于做操纵数
另:取余运算可用于:判断奇数和偶数(%2 == 1 奇数; %2==0  偶数);取范围(%N  得到0~N-1的数)
++        自增:表现一次+1;
(1)a++  :后置加加,先用(表达式的结果) 后加(让a自增)
(2)++a  :前置加加 ,先加(让a自增) 后用(表达式的结果) 
注:a++和++a假如单独使用,结果上没有区别,运算数必须是一个可以修改的变量,浮点范例也可以自增自减。
ps:i++和++i哪个效率高?
答:++i效率更高。
 
--          自减:表现一次-1;

3.2 算术运算优先级

https://i-blog.csdnimg.cn/direct/98bb76ceee5b433297120dc5171a7850.jpeg
3.3 赋值运算

赋值运算符“ = ”:作用是将一个数据赋给一个变量。
eg:a = 10 结果是a的值,范例为a的范例
注:可以一连赋值 ----  a = b = c = 10
+=    、   -=     、   *=    、    /=     、    %=    也是赋值运算
eg: a += 1  相当于 a = a + 1


3.3.1 不同范例间混合赋值

(1)高精度的值赋给低精度会产生精度丢失。
(2)长范例的值赋给短范例会产生高位截断。
(3)短范例的值赋给长范例 
        a:无符号短范例赋给长范例------高位补零
        b:有符号短范例赋给长范例------符号位扩展(高位补符号位)

3.4 逗号运算

逗号运算为次序求值运算符
语法:表达式1,表达式2,表达式3...,表达式n
1+2,a++,3+4; 运算过程:从左往右依次运算,结果为整个式子中最后一个表达式的结果。
4.生成随机数

rand();
eg:随机生成10个100以内的数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(void)
{

    int i = 0;
    srand(time(NULL));
    for(i = 0;i<10;i++)
    {
      printf("%d\n",rand()%100);
    }

    return 0;

} 运行结果:
https://i-blog.csdnimg.cn/direct/8e424dca21924f689a815b30074829f2.png
5. 逐日一练

从终端得到两个2位数,
将第一个数个位作为新数的千位,
将第二个数个位作为新数的百位,
将第二个数的十位作为新数的十位
将第一个数的十位作为新数的个位,
打印该新数。
 
#include<stdio.h>

int main(void)
{
    int a,b,c1,c2,c3,c4,num;
    printf("Input two num:");
    scanf("%d %d",&a,&b);

    c1 = a % 10 * 1000;
    c2 = b % 10 * 100;
    c3 = b / 10 * 10;
    c4 = a / 10;

    num = c1+c2+c3+c4;

    printf("num = %d\n",num);

    return 0;
} 运行结果:
https://i-blog.csdnimg.cn/direct/297348547e4e437281c7d79ac41df92b.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 学习日志:数据范例2