C语言入门篇(八)下

简介: C语言入门篇(八)

实例4:在计算数据类型所占内存大小时,可以使用 sizeof 操作数


🍥 sizeof不是函数,是操作符

🍥 sizeof计算的是类型创建变量的大小,单位是字节


//sizeof 操作符:
#include <stdio.h>
int main()
{
 int a = 10;
 printf("%d\n", sizeof(a));
 printf("%d\n", sizeof(int));
 printf("%d\n", sizeof a);
 //printf("%d\n", sizeof int);//不允许这样计算,说明 sizeof 不是函数
 return 0;
}

实例5: ~


// ~ 按补码二进制位取反
#include<stdio.h>
int main()
{
  int a = 0;
  printf("%d\n", ~a);
  //00000000000000000000000000000000
  //11111111111111111111111111111111 - 补码
  //11111111111111111111111111111110
  //10000000000000000000000000000001 -1
  return 0;
}

🍤 运行结果:


18e86b57cca3bfc5b57a46b1dc794af8_ce9bdca6320c4944b4823a042b2f4fbf.png


实例6:前置 ++ 、 后置 ++


//前置++:先对变量进行自增,然后使用该变量
int main()
{
  int a = 1;
  int b = ++a;//前置++,先++,后使用
  //a=a+1,b=a
  printf("a=%d b=%d\n", a, b);//2 2
  return 0;
}

🍤 运行结果:


36d4abeca49ec35e717e14dbd9596186_d1ce561507c84c7eae1ed86c06af3c3e.png


//后置++:先对a先使用,再自增
#include<stdio.h>
int main()
{
  int a = 1;
  int b = a++;//后置++,先使用,后++
  //b=a,a=a+1
  printf("a=%d b=%d\n", a, b);//2 1
  return 0;
}

🍤 运行结果:

0de886771eb2259671facba30b2018c6_eb3aee7e00e94bc39d099cf1bb302016.png


前置--、后置--等同


6.2 sizeof 和 数组

实例:


#include <stdio.h>
void test1(int arr[])
{
  printf("%d\n", sizeof(arr));//(2)
}
void test2(char ch[])
{
  printf("%d\n", sizeof(ch));//(4)
}
int main()
{
  int arr[10] = { 0 };
  char ch[10] = { 0 };
  printf("%d\n", sizeof(arr));//(1)
  printf("%d\n", sizeof(ch));//(3)
  test1(arr);
  test2(ch);
  return 0;
}

🍤 运行结果:


60784845ce3daabce1e97199a3aeb7ec_27868b770a734d448cffc6befd7512a5.png


7. 关系操作符


>
>=
<
<=
!=   用于测试“不相等”
==      用于测试“相等”

🍩编写过程中 == 和 = 不要写错


实例:判断闰年


#include<stdio.h>
int main()
{
  int y = 0;
  scanf("%d", &y);
  //1. 能被4整除,并且不能被100整除
  //2. 能被400整除是闰年
  if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
  {
    printf("闰年\n");
  }
  else
  {
    printf("不是闰年\n");
  }
  return 0;
}


8. 逻辑操作符


&&     逻辑与--并且
||     逻辑或--或者
1&2----->0
1&&2---->1
// & 两边二进制补码计算,相同为1,不同为0
// && 两边同为真,结果也是真,用 1 表示;只要有一个为假,结果就是假,用 0 表示
1|2----->3
1||2---->1
// | 两边二进制补码进行计算,只要有一个 1 就是 1;当两边都为 0 时,才是0
// || 两边只有一个真时,就为真;都是假时,才为假

实例1:


// &&
#include <stdio.h>
int main()
{
  int i = 0, a = 0, b = 2, c = 3, d = 4;
  i = a++ && ++b && d++;
  printf("a = %d b = %d c = %d d = %d\n", a, b, c, d);
  return 0;
}

🍤 运行结果:


3b3fa339e472090102cae8a7e54a8538_3e84235b97a54f81a7735834cf0d9d51.png


实例2:


// ||
#include <stdio.h>
int main()
{
  int i = 0, a = 0, b = 2, c = 3, d = 4;
  i = a++||++b||d++;
  printf("a = %d b = %d c = %d d = %d\n", a, b, c, d);
  return 0;
}

🍤 运行结果:


7c24212facc2861ccb5d695abf8f1878_9c73b9f636304796b2cdd28600c8fd9c.png


9. 条件操作符


exp1 ? exp2 : exp3

实例:


//如果 a>5,则 b=3
//如果 a<=5,则 b=-3
if (a > 5)
        b = 3;
else
        b = -3;

上述代码可以转换成条件表达式:


#include <stdio.h>
int main()
{
  int a ;
  scanf("%d", &a);
  int b = a > 5 ? 3 : -3;
  printf("%d\n", b);
  return 0;
}

🍤 运行结果:


a9eec872f75d9f2fcf4314dbb7332902_7b8f2d818cfe4e28b199e7e98fec87fd.png


使用条件表达式实现找两个数中较大值


#include <stdio.h>
int main()
{
  int a, b ;
  scanf("%d %d", &a, &b);
  int c = a > b ? a : b;
  printf("%d\n", c);
  return 0;
}

相关文章
|
4月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
93 2
|
1月前
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
51 4
|
1月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
45 1
|
2月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
124 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
4月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
57 1
|
4月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
6月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
7月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
87 4
【C语言入门】初识C语言:掌握编程的基石
|
6月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
75 1
|
7月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
155 2

热门文章

最新文章