• C连载24-复习转换说明以及sizeof运算符


    一、复习题

    1.打印处下列各项内容需要什么样的转换说明

    • 一个字段宽度与位数相同的十进制整数 %d
    • 字段宽度为15的unsigned long类型的整数 %15lu
    • 一个形如0x8a、字段宽度为4的六进制数 %#4x

    :对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点。

    • 一个字段宽为8的字符串前8个字符 %8.8s
    • 一个参数列表中给定字段宽度的八进制整数 %*o
    • 读取下面各输入行的scanf()语句 catch 22 (我们需要跳过catch) %*s %d

    二、基本运算符

    • C语言中没有指数运算符,不过C的标准库中提供了一个pow函数来进行执行指数运算。
    • C语言支持多重赋值,例如:
    int jane,tarzan,cheeat;
    cheeat = jane = tarzan = 8;
    //三个变量都被赋值了8
    
    • 支持+ - * /二目运算符,没什么好说的,记录一些特殊点,“截断”将会向0靠齐,例如:3.8截断为3,-3.5截断为-3

    三、sizeof运算符和size_t类型

    • sizeof运算符会以字节为单位返回运算对象的大小(char类型就是1字节)
    • 注意点:如果运算对象是类型,则需要使用圆括号括起来,例如:sizeof (int);
    #include<stdio.h>
    int D24_sizeof(void) {
    	int n = 0;
    	size_t intsize;
    	intsize = sizeof(int);
    	printf("n = %d,n has %zd bytes;all ints have %zd bytes.
    ", n, sizeof n, intsize);
    
    	return 0;
    }
    

    24.1

    • C头文件系统中可以使用typedef把size_t作为unsigned int 或者unsigned long的别名,这样,使用size_t的时候,编译器会根据不同的系统替换换成标准类型。
    • C99做了进一步调整,**新增了%zd转换说明用于printf()显示size_t类型的值,如果系统不支持%zd,可以使用%u或者%lu来代替%zd.

    三、源码:

  • 相关阅读:
    vue的特点
    暴力卸载低版本vuecli
    C#实现汉字转换为拼音缩写的代码
    .net 发送手机短信息
    js 小小jquery等比例缩放图片效果
    Android应用程序运行机制解析
    大型网站的架构设计问题大型高并发高负载网站的系统架构
    《UDP原理》
    《计算机网络中port和socket的作用》
    《线程并发》
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13709584.html
Copyright © 2020-2023  润新知