C语言复习笔记3

news2024/11/25 0:29:36

1.标识符常量和宏函数(宏函数是简单替换所以需要把括号加到位)

#include<stdio.h>

#define MAX 1000//标识符常量
#define num 10
//#define SUM(X,Y) X+Y //不对
#define SUM(X,Y) ((X)+(Y))

int max(int a, int b)
{
  return a>b?a:b;
}

int main()
{
  int m = MAX;
  //NUM = 20;标识符常量不能修改
  printf("%d\n",m);
  int a=10,b=20;
  int sum = 10*SUM(a,b);//打印120宏替换是单纯替换
  printf("%d\n",sum);
  return 0;
}

 2.指针语法

#include<stdio.h>

//32跟地址线\数据线,高低电平对应01二进制位,所有2^32个地址编号
//一个编号管理一个字节的空间,所以产生了内存地址的概念

int main()
{
  int a = 10;
  int* pa = &a;

  char ch='w';
  char* pch = &ch;//取地址
  *pa = 20;//解引用
  printf("%d\n",a);
  printf("%d\n",sizeof(a));//系统a开辟的空间,首字节地址的编号即为a的地址
  printf("%p\n",&a);//打印a的地址
  return 0;
}
#include<stdio.h>
#include<unistd.h>

int main()
{
  int a = 10;
  char ch  ='C';
  int* pa = &a;
  char* pc = &ch;

  printf("sizeof(pa)=%p\n",(int) sizeof(pa));
  printf("sizeof(pc)=%p\n",(int)sizeof(pc));
  
  return 0;
}

3. 结构体变量和结构体指针:

#include<stdio.h>
#include<unistd.h>

struct Stu
{
  char name[20];
  short age;
  char sex[5];//一个汉字需要两个字符空间
  char id[13];
};

int main()
{
  int a = 10;
  struct Stu s={"张三",20,"男","20221111"};
  struct Stu* ps = &s;
  printf("%s,%d,%s,%s\n",ps->name,ps->age,ps->sex,ps->id);
 //printf("%s,%d,%s,%s\n",s.name,s.age,s.sex,s.id);
  return 0;
}

 4.指针的使用

#include<stdio.h>

void Swap(int* x, int* y)
{
 int temp = *x;
 *x=*y;
 *y=temp;
}

int main()
{
  int a=10,b=20;
  Swap(&a,&b);
  printf("a=%d,b=%d\n",a,b);
  return 0;
}

 5.if else

#include<stdio.h>

int main()
{
int age = 60;
//if(age>=18)
 // printf("成年\n");
 // else
 // printf("未成年\n");
if(age<18)
  printf("未成年\n");
 else if(18<=age && age<30)
   printf("青年\n");
 else if(30<=age && age<50)
   printf("中年\n");
  return 0;
}

6.switch case

#include<stdio.h>

int main()
{
  printf("please input day\n");
  int day;
  scanf("%d",&day);
  switch(day)
  {
    case 1:
      printf("星期1\n");
      break;
    case 2:
      printf("星期2\n");
      break;
    case 3:
      printf("星期3\n");
      break;
    case 4:
      printf("星期4\n");
      break;
    case 5:
      printf("星期5\n");
      break;
    case 6:
      printf("星期6\n");
      break;
    case 7:
      printf("星期日\n");
      break;
    default:
      break;
  }
  return 0;
}
#include<stdio.h>
   
   int main()
   {
     printf("please input day\n");
     int day;
     scanf("%d",&day);
     switch(day)
     {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        printf("星期5\n");
        break;
      case 6:
      case 7:
        printf("星期日\n");
        break;
      default:
        printf("日期输入错误\n");
        break;
    }
    return 0;
  }

7.循环

#include<stdio.h>

int main()
{
  int num=1;
  while(num<=100)
  {
    if(num%2==1)
    {
      printf("%d ",num);
    }
    num++;
  }
  printf("\n");
  return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系列八、vue配置请求

一、vue2配置请求转发 config/index.js proxyTable配置后端的请求地址 proxyTable: {/: {target: "http://localhost:9000", // 后端服务器地址changeOrigin: true,pathRewrite: {^/: }} }, 注意事项&#xff1a;vue2中不像大多数教程里边讲的那样&#xff0c;直接…

Apache NiFi:实时数据流处理的可视化利器【上进小菜猪大数据系列】

上进小菜猪&#xff0c;沈工大软件工程专业&#xff0c;爱好敲代码&#xff0c;持续输出干货。欢迎订阅本专栏&#xff01; Apache NiFi是一个强大的、可扩展的开源数据流处理工具&#xff0c;广泛应用于大数据领域。本文将介绍Apache NiFi的核心概念和架构&#xff0c;并提供…

路由守卫的几种方式-M

vue的路由 Vue-router是Vue.js官方的路由插件。vue的单页面应用是基于路由和组件的&#xff0c;路由用于设定访问路径&#xff0c;并将路径和组件映射起来。传统的页面应用&#xff0c;是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中&#xff0c;则是路径之…

C# | KMeans聚类算法的实现,轻松将数据点分组成具有相似特征的簇

C# KMeans聚类算法的实现 文章目录 C# KMeans聚类算法的实现前言示例代码实现思路测试结果结束语 前言 本章分享一下如何使用C#实现KMeans算法。在讲解代码前先清晰两个小问题&#xff1a; 什么是聚类? 聚类是将数据点根据其相似性分组的过程&#xff0c;它有很多的应用场景&…

章节1:信息收集

章节1:信息收集 1 信息收集概览 01 为什么要做信息收集&#xff1f; 渗透测试的流程 确定目标 信息收集 漏洞扫描 漏洞利用 形成报告 信息收集包括的内容 域名信息、IP段、开放的端口、网站架构、文件目录结构、软件版本、WAF、旁站、C段… 分类 域名相关信息IP相关…

Redis缓存数据库(四)

目录 一、概述 1、Redis Sentinel 1.1、docker配置Redis Sentinel环境 2、Redis存储方案 2.1、哈希链 2.2、哈希环 3、Redis分区(Partitioning) 4、Redis面试题 一、概述 1、Redis Sentinel Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel…

Java 与排序算法(1):冒泡排序

一、冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它的基本思想是通过不断交换相邻两个元素的位置&#xff0c;使得较大的元素逐渐往后移动&#xff0c;直到最后一个元素为止。冒泡排序的时间复杂度为 O ( n 2 ) O(n^2) O(n2)&…

《Kali渗透基础》02. 基本工具

kali渗透 1&#xff1a;基本工具1.1&#xff1a;NetCat1.1.1&#xff1a;命令参数1.1.2&#xff1a;示例 1.2&#xff1a;NCat1.2.1&#xff1a;命令参数1.2.2&#xff1a;示例 1.3&#xff1a;WireShark1.4&#xff1a;TCPdump1.4.1&#xff1a;命令参数1.4.2&#xff1a;示例…

C语言——函数

目录 1. 函数基本用法1.1 定义和三要素1.2 函数的声明和定义1.2.1 函数声明1.2.2 函数定义格式 1.3 函数调用1.4 函数传参1.4.1 值传递1.4.2 地址传递1.4.3 数组传递 1.5 函数和栈区 2. 开辟堆空间2.1 堆的概念2.2.malloc函数2.2.1 定义2.2.2 用法 2.3 free()函数定义注意&…

随机数发生器设计(一)

1 随机数发生器设计概述 密码行业的随机数发生器总体框架标准为GM/T 0103。随机数发生器可以分为硬件随机数发生器和软件随机数发生器。 硬件随机数发生器一般以组成部件的形式集成在安全芯片的内部&#xff0c;或者随机数发生器本身就是安全芯片。考虑到随机数发生器是密码产…

ChatGPT 能自己跑代码了!

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; time leap, sci-fi, photorealistic, --niji 5 --ar 3:2 --s 1000 自 ChatGPT 发布以来&#xff0c;各行各业对其能力探索的举措一直没有停止。 很多大厂纷纷跟进&#xff0c;竞相推出自研…

Springboot +spring security,登录用户数据获取

一.简介 前面章节学习了登录表单的配置并且对源码进行了简单的分析&#xff0c;现在有个问题了&#xff0c;既然用户登录了&#xff0c;那么如何在接口中获取用户信息呢。这篇文章就来看下这个问题&#xff0c;代码中获取登录用户信息。 二.创建项目 如何创建一个SpringSecu…

笔记:BLIP源码之(1)数据集预处理【仅考虑Image-Text Retrieval on COCO】

BLIP&#xff1a;Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generat 论文的两个贡献如下&#xff1a; 从模型的角度&#xff1a;提出了 Encoder-Decoder (MED) 的多模态混合 An MED can operate either as a unimodal encode…

Js常识三

文章目录 作用域GCclosure变量和函数提升函数参数 作用域 GC Js Gc 算法 引用计数&#xff08;已淘汰&#xff09;标记清除 closure 一句话&#xff1a;内层函数 外层函数的变量 闭包作用&#xff1a;私有化数据&#xff0c;or 私有化状态 变量和函数提升 Js 祖传var变…

C语言结构体初级

目录 一、为什么要用结构体 二、使用结构体的具体形式 1.结构体类型的声明&#xff08;main函数外部&#xff09; 2.结构体变量的定义&#xff08;在main函数内或者外&#xff09; 3.结构体变量的初始化 4.结构体成员的访问 5.结构体的传参 跑了这么久&#xff0c;再坚…

分布式软件架构——单体架构

序言 当一项大工程需要大量人员共同开发&#xff0c;并保证它们分布在网络中的大量服务器节点能够同时运行&#xff0c;那么随着项目规模的增大、运行时间变长&#xff0c;它必然会受到墨菲定律的无情打击。 Murphy’s Law&#xff1a;Anything that can go wrong will go wro…

Qt文件系统源码分析—第四篇QLockFile

深度 本文主要分析Windows平台&#xff0c;Mac、Linux暂不涉及 本文只分析到Win32 API/Windows Com组件/STL库函数层次&#xff0c;再下层代码不做探究 本文QT版本5.15.2 类关系图 QTemporaryFile继承QFile QFile、QSaveFile继承QFileDevice QFileDevice继承QIODevice Q…

法规标准-ISO 17361标准解读

ISO 17361是做什么的&#xff1f; ISO 17361全称为智能交通系统-车道偏离警告系统性能要求和测试程序&#xff0c;其中主要描述了LDWS系统的功能要求及测试要求 系统功能 车道偏离警告系统的功能元件应符合图中的要求&#xff0c;抑制请求、车速检测、驾驶员偏好和其他附加功…

[CTF/网络安全] 攻防世界 simple_js 解题详析

[CTF/网络安全] 攻防世界 simple_js 解题详析 代码分析代码漏洞姿势String[fromCharCode]总结 题目描述&#xff1a;小宁发现了一个网页&#xff0c;但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} ) 页面源代码&#xff1a; 代码分析 function dechiffre(pass_enc){…

StarRocks 集群模式搭建

一、StarRocks 集群模型搭建 上篇文章对 StarRocks 进行了简单的介绍及使用 Docker 进行了快速体验&#xff0c;本篇文章进行StarRocks 集群模型的搭建&#xff0c;下面是上篇文章的地址&#xff1a; StarRocks 极速全场景 MPP 数据库介绍及使用 部署规划 host主机名角色192.…