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

devtools/2024/9/23 4:21:59/

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.ppmy.cn/devtools/20089.html

相关文章

TCP/IP网络模型

应用层 应用层服务于用户&#xff0c;比如说我们在电脑上使用的软件&#xff0c;都是在应用层上实现的&#xff0c;当不同设备通信时&#xff0c;数据由下一层的传输层实现。应用层提供的功能比如HTTP、FTP、Telnet、DNS、SMTP等。应用层是工作在操作系统中的用户态&#xff0…

DELL PowerEdge服务器通过iDRAC升级BIOS遇到的问题

本文对PowerEdge 12G系统&#xff0c;也就是iDRAC 7版本升级BIOS中遇到的几个问题做个总结&#xff0c;对于其他版本理论上应该也是适用的。如果还遇到其他问题&#xff0c;可以添加VX&#xff0c;VX号为 StorageExpert 进行进一步的分析探讨。 第一个问题&#xff0c;成功下载…

设计模式-状态模式在Java中的使用示例-信用卡业务系统

场景 在软件系统中&#xff0c;有些对象也像水一样具有多种状态&#xff0c;这些状态在某些情况下能够相互转换&#xff0c;而且对象在不同的状态下也将具有不同的行为。 为了更好地对这些具有多种状态的对象进行设计&#xff0c;我们可以使用一种被称之为状态模式的设计模式…

爬虫的实战应用之短信炸弹playwright现代网页测试工具

不讲废话&#xff0c;先上原理&#xff1a; 短信炸弹&#xff0c;也就是说持续对一个手机进行发送短信&#xff0c;实现的方式就是&#xff0c;利用某些网站的登录 &#xff0c;注册的时候&#xff0c;发送短信验证码来实现。 如下图&#xff0c;其中有一个id为phone的输入框&a…

Qt——实现添加子控件后,始终保证在布局低端添加

在 Qt 中使用 QVBoxLayout 时&#xff0c;addStretch() 方法通常用于在布局中添加一个可伸缩的空间&#xff0c;这有助于推动没有固定空间要求的小部件向布局的顶部或底部移动。、 总共有两种办法&#xff0c;一种不断地删除布局&#xff0c;重新添加addStretch() &#xff0c;…

BIO NIO AIO有什么区别?

通俗易懂地解释这些东西是我的风格, BIO就是阻塞io,就是一个程序在发出io请求之后不能干任何别的事,只能等待请求,不断检测io的状态,只有接受到反馈之后才能干别的事 适用场景: 用作请求少而且连接时间短的情况 NIO就是非阻塞,也就是没有阻塞,怎么没有阻塞了?说白了就是发出…

Python构建学生信息管理系统:需求分析与规划

构建学生信息管理系统&#xff1a;需求分析与规划 在软件开发的初期&#xff0c;进行需求分析与规划是至关重要的一步。它不仅帮助开发者明确项目目标&#xff0c;还能确保最终产品能够满足用户的需求。本文将介绍如何使用Python语言&#xff0c;结合常规网络框架、RESTful技术…

AI视频教程下载:ChatGPT个人生产力提升指南

在本课程中&#xff0c;您将学习如何成功地将ChatGPT融入您的工作和生活&#xff0c;以优化您的社交媒体内容并扩展您的业务。 您将学习如何使用ChatGPT自动创建、校对、总结和翻译文本&#xff0c;以及如何与机器人沟通以实现您的目标。 您还将学习如何创建jQuery代码、编程…