一、复习题

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", 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.

三、源码:

posted on 2020-09-22 00:29  心悦君兮君不知-睿  阅读(347)  评论(0编辑  收藏  举报