C语言入门课程学习记录4

C语言入门课程学习记录4

  • 第18课 - signed 与 unsigned
  • 第19课 - 再论数据类型
  • 第20课 - 经典问题剖析
  • 第21课 - 程序中的辅助语句(上)
  • 第22课 - 程序中的辅助语句(下)

本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程,图片全部来源于课程PPT,仅用于个人学习记录

第18课 - signed 与 unsigned

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{short s = 32767;// 0111 1111 1111 1111int i = 2147483647;//  0111 1111 1111 1111 1111 1111 1111 1111short ss = -32768;//1000 0000 0000 0000int ii = -2147483648;//1000 0000 0000 0000 0000 0000 0000 0000 printf("s = %d\n", s);printf("i = %d\n", i);s = s + 1;//1000 0000 0000 0000 i = i + 1;//1000 0000 0000 0000 0000 0000 0000 0000 printf("after:s = %d\n", s);printf("after:i = %d\n", i);printf("ss = %d\n", ss);printf("ii = %d\n", ii);ss = ss - 1;//0111 1111 1111 1111ii = ii - 1;// 0111 1111 1111 1111 1111 1111 1111 1111printf("after:ss = %d\n", ss);printf("after:ii = %d\n", ii);return 0;
}/*output:
s = 32767
i = 2147483647
after:s = -32768
after:i = -2147483648
ss = -32768
ii = -2147483648
after:ss = 32767
after:ii = 2147483647*/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{unsigned char uc = 128;char c = 128;unsigned ui = 2147483648;signed i = 2147483648;printf("uc = %u\n", uc);printf("c = %d\n", c);printf("ui = %u\n", ui);printf("i = %d\n", i);return 0;
}/*output:
uc = 128
c = -128
ui = 2147483648
i = -2147483648*/

在这里插入图片描述

第19课 - 再论数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{int c = sizeof(char);//1int s = sizeof(short);//2int i = sizeof(s);//4int uc = sizeof(unsigned char);//1int us = sizeof(unsigned short);//2int ui = sizeof(unsigned int);//4printf("c = %d\n", c);printf("s = %d\n", s);printf("i = %d\n", i);printf("sizeof(float) = %d\n", sizeof(float));//4printf("sizeof(double) = %d\n", sizeof(double));//8printf("uc = %d\n", uc);printf("us = %d\n", us);printf("ui = %d\n", ui);return 0;
}/*output:
c = 1
s = 2
i = 4
sizeof(float) = 4
sizeof(double) = 8
uc = 1
us = 2
ui = 4*/

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{long l = -1l;long long ll = 21474836481ll;printf("l = %ld\n", l);printf("sizeof(long) = %d\n", sizeof(long));printf("ll = %lld\n", ll);printf("sizeof(long long) = %d\n", sizeof ll);return 0;
}/*output:
l = -1
sizeof(long) = 4
ll = 21474836481
sizeof(long long) = 8*/

在这里插入图片描述
在这里插入图片描述

第20课 - 经典问题剖析

在这里插入图片描述
a=a+7 √

b=a+b;
a=b; √
a=(int)(12.3/4); √ 强制类型转换
a+7=b+1; × a+7不是变量
在这里插入图片描述
在这里插入图片描述
D
在这里插入图片描述
B
在这里插入图片描述
在这里插入图片描述
D

在这里插入图片描述
输出16
在这里插入图片描述
x<0 ,y=-1;
x=0时,y=0;
x>0时,y=1
此为错误答案
在这里插入图片描述
x=0,y=-1;
x>0,y=1;
x<0,y=0;
在这里插入图片描述
A,此为错误答案
D,else前漏了;

在这里插入图片描述
k 2 4
s 1 1+2 1+2+3 6+4 15 1 5 10
j 2 3 4 5 6 4 5 6
B
在这里插入图片描述
C

在这里插入图片描述
9 6 3
8 5 2
C

第21课 - 程序中的辅助语句(上)

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{int a = 0;int b = 10;a = b = b + 1; // a=>11  b=>11printf("a = %d, b = %d\n", a, b);a += 1;a -= 2;a *= 3;a /= 4;// a => 7printf("a = %d\n", a);/*复合赋值与连续赋值相结合*/a += b -= 1;printf("a = %d, b = %d\n", a, b);return 0;
}/*output:
a = 11, b = 11
a = 7
a = 17, b = 10*/

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

#include <stdio.h>int main()
{int a = 0;int b = 10;int c = 0;a = (b < 10) ? 1 : 2;printf("a = %d\n", a);(a < 5) ? (a = 5) : (a = 0);printf("a = %d\n", a);/*((a == 5) ? a : b) = 10; // ERROR*/a = b = c = 0;c = (a = 2, b = 3, a + b);printf("a = %d\n", a);printf("b = %d\n", b);printf("c = %d\n", c);c -= a;  // c = c - a;printf("c = %d\n", c);return 0;
}/*output:
a = 2
a = 5
a = 2
b = 3
c = 5
c = 3*/

在这里插入图片描述

第22课 - 程序中的辅助语句(下)

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>int main()
{int a = 0;int c = 1;a = -c++;  // c -> 2printf("a = %d\n", a);//a = +++c; // +(++c); c -> 3//error: lvalue required as increment operand|a = +(++c);printf("a = %d\n", a);a = -c--;  // c -> 2printf("a = %d\n", a);printf("c = %d\n", c);return 0;
}/*output:
a = -1
a = 3
a = -3
c = 2*/

在这里插入图片描述

int main()
{int a = 0;int c = 1;if( a + c > 0 ){printf("a = %d, c = %d\n", a, c);goto ELSE;}else{ELSE: printf("%d + %d = %d\n", a, c, a + c);goto FOR;}for(c=10; c>0; c--){FOR:printf("c = %d\n", c);}return 0;
}/*output:
a = 0, c = 1
0 + 1 = 1
c = 1*/

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/650510.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nvm下载的node没有npm

nvm下载的node没有npm 相信大家最近可能发现自己使用的nvm下载nodejs没有npm了。 会出现这种情况&#xff1a; C:\Users\89121>nvm install 15 Downloading node.js version 15.14.0 (64-bit)... Complete Downloading npm version 7.7.6... Download failed. Rolling Bac…

c++在visual studio上的默认配置

右键 新建项 右键源文件 属性

李彦宏:程序员将不复存在! 周鸿祎回怼!网友:先把百度程序员都开除了!

近日&#xff0c;百度创始人、董事长兼首席执行官李彦宏在央视《对话》•开年说的访谈中指出&#xff1a;“基本上说以后其实不会存在“程序员”这种职业了&#xff0c;因为只要会说话&#xff0c;人人都会具备程序员的能力”。 “未来的编程语言只会剩下两种&#xff0c;一种…

ubuntu 22.04 编译 ORBSLAM3

源码地址&#xff08;带注释&#xff09;&#xff1a;ORBSLAM3 根据你安装的openCv版本修改cmake 修改2个文件的2个地方&#xff1a; ORB_SLAM3_detailed_comments-master/CMakeLists.txt ORB_SLAM3_detailed_comments-master/Thirdparty/DBoW2/CMakeLists.txt 查找openCv的地…

赋能智慧校园!A3D数字孪生可视化,轻量又高效!

放假之后&#xff0c;学生们会逐步返学&#xff0c;大量人员出入校园&#xff0c;安全更是不容忽视&#xff0c;如何在短时间内对大批人员及设施进行智能监管&#xff1f;数字化转型是关键手段&#xff0c;我们可以融合线上线下数据&#xff0c;搭建3D立体的智慧校园&#xff0…

TinyML之Hello world----基于Arduino Nano 33 BLE Sense Rev2的呼吸灯

早期版本的Hello World 这应该是一个逼格比较高的呼吸灯了&#xff0c;用ML来实现呼吸灯功能&#xff0c;之前已经有大佬发过类似的文章&#xff1a;https://blog.csdn.net/weixin_45116099/article/details/126310816 当前版本的Hello World 这是一个ML的入门例程&#xff…

【树莓派4B】如何点亮树莓派的LED灯

在之前一系列文章中&#xff0c;使用python、行人入侵检测&#xff0c;确没有使用树莓派的硬件。控制引脚进行输出&#xff1a; 如何写python点亮led灯闪烁&#xff0c;我灯接在gpio13,GPIO19,gpio26。我都想闪烁。 你可以使用Python的GPIO库来控制树莓派上的LED灯。首先&…

NameNode锁细粒度优化在B站的实践

1. 背景 随着业务的高速发展&#xff0c;针对HDFS元数据的访问请求量呈指数级上升。在之前的工作中&#xff0c;我们已经通过引入HDFS Federation和Router机制实现NameNode的平行扩容&#xff0c;在一定程度上满足了元数据的扩容需求&#xff1b;也通过引入Observer NameNode读…

安装系统出现dracut-initqueue状态

如图显示&#xff0c;系统安装时未找到/dev/root位置 输入blkid&#xff0c;查看centos系统所在的盘 重启&#xff0c;按e进入 将linuxefi /images/pxeboot/vmlinuz inst.stage2hd:LABELCentOS\x207\x20x86_64 quiet 改成inst.stage2hd:/dev/sdb4 quiet (改成blkid中的盘符名称…

2024年西咸新区沣东新城制造业领域数字化转型升级政策申报对象条件和奖励标准及范围材料

一、总体要求 1、政策实施对象 注册登记、税务关系、统计关系均在沣东新城&#xff0c;具有独立法人资格、财务制度健全、实行独立核算的企业。 2、政策申报基本条件 ①申报主体财务信用、银行信用及纳税信用良好&#xff0c;在“信用中国”无不良记录&#xff0c;未被列入…

盘点安防监控市场常见的AI视频智能分析边缘计算硬件及其特点分析

在当今数字化时代&#xff0c;视频智能分析边缘计算技术及其硬件产品正逐渐崭露头角&#xff0c;成为众多行业领域的得力助手。视频AI智能分析边缘计算硬件是一种专门设计用于实现视频分析和边缘计算的硬件设备。它通常具有高性能的处理器、专门的图形处理单元&#xff08;GPU&…

Vue从0-1学会如何自定义封装v-指令

文章目录 介绍使用1. 理解指令2. 创建自定义指令3. 注册指令4. 使用自定义指令5. 自定义指令的钩子函数6. 传递参数和修饰符7. 总结 介绍 自定义封装 v-指令是 Vue.js 中非常强大的功能之一&#xff0c;它可以让我们扩展 Vue.js 的模板语法&#xff0c;为 HTML 元素添加自定义行…