*** 作符(3)

 *** 作符(3),第1张

*** 作符(3)
#include 
int main()
{
	int a = 5;
	int b = 0;
	b = (a > 5 ? 1 : 10);
	//是条件 *** 作符,而且是个三目 *** 作符
	//(a > 5 ? 1 : 0)其中"a > 5"是表达式1,"1"是表达式2,"10"是表达式3
	//如果表达式1满足,那么就执行表达式2,
	//若表达式1不满足,那么就执行表达式3
	printf("%dn", b);//结果是10

	int c = (a = a + 6, b = a - b, a + b);
	//这个是逗号表达式,特点是:必须先从左向右依次计算,
	//然后整个表达式的结果是最后一个表达式的结果。

	printf("%dn", c);//结果是12

	return 0;
}
#include 
struct book
{
	//下面的 name id price 叫作结构变量里的成员

	char name[20];//不在这里赋值,
	char id[20];//这里只放该结构体的成员
	int price;

};//注意!这里必须要有英文分号

int main()
{
	
	//像int,flaot,char,double,short,long
	//这些都叫作结构体。
	//我们也可以用struct,创建一个新的结构体
	//它可以定义一种新的结构体类型。
	//如,struct book{书名;书号;定价}
	//因为它也是个结构体,所以和int使用一样
	//如:int4 a = 10;
	//则:struct book a={};


	struct book a = { "C语言","200106079",30 };
	//赋初始值在这里赋,要注意该结构体每个成员的类型!
	//成员一旦多了,赋值的时候就要加上{}。
	//这里"a"就变成了结构体变量了。


	//结构体的打印输出,要一个成员一个成员的打印,
	//我觉得是因为每个成员有可能类型不同
	printf("书名:%s ", a.name);
	//其中的a.name 用到了"." *** 作符,
	//"." *** 作符它可以找到结构体变量里的成员。
	//%s是打印字符的。
	printf("书号:%s ", a.id);
	printf("价格:%d n", a.price);
	//注意结构体变量里的成员类型
	//还可以建立指针变量
	struct book* pa = &a;
	//取地址&a,然后把地址放到指针pa里
	//"*"说明pa是个指针,
	//而struct book,说明pa所指向的a的类型是struct book.
	//那么打印输出就可以用指针变量来代替结构体变量
	printf("书名:%s ", (*pa).name );
	printf("书号:%s ", (*pa).id);//因为*pa=a
	printf("价格:%d n", (*pa).price);

	

	//除了"." *** 作符可以找到结构体变量里的成员外,
	//还可以用指针的方式用"->"指向结构体变量里的成员。
	printf("书名:%s ", pa->name);
	printf("书号:%s ", pa->id);
	printf("价格:%d n", pa->price);

	//在这里"pa"就是结构体指针,指针是有指向的所以能用->
	//而"*pa"就是对"pa"进行解引用,所以 *pa=a

	return 0;
}

整型提升

#include 
int main()
{
	char a = 3;//00000011
	char b = 127;//01111111
	char c = a + b;
	//10000010(若结果超出8位那就会截断),
	//这是有符号位补码,再变成原码
	//然后有符号位的,按照符号位进行提升。
	//就是符号位是几,就往高位加几,加够32位。
	printf("%dn", c);
	//这里打印输出是%d整型(占4个字节即32个位),
	//而c是char类型(占1个字节即8个位,char是有符号位的)
	//所以需要进行整型提升。
	//整型提升:
	//1.有符号位的,按照符号位进行提升。
	//  就是符号位是几,就往高位加几,加够32位。
	//2.无符号位的,就往高位加0,加够32位。
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3971644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存