考研C语言程序设计_语法相关(持续更新)

news2024/12/26 20:53:25

目录

  • 一、语法题
    • strlen+转义字符
    • 内置数据类型
    • 字符串结束标志
    • 局部变量和全局变量名字冲突 局部优先
    • switch语句中的关键字
    • 数组初始化是否正确
    • 注意define不是关键字
    • C语言中不能用连等判断
    • switch( )的括号里可以是什么类型?
    • 关于if
    • 关于switch
  • 二、程序阅读题
    • 有关static
    • 有关continue
    • 说明代码的功能
    • for循环省略部分条件
    • 计算循环次数
    • 代码阅读(=和==)
    • 关于switch的穿透现象
    • switch嵌套
  • 三、运算式相关
    • 逗号表达式

一、语法题

strlen+转义字符

  • 答案为6 14
  • \t和\62是两个转义字符 注意八进制里是不可能有8的
//程序输出什么?
#include <stdio.h>
int main()
{
    printf("%d\n", strlen("abcdef"));//6
    // \62被解析成一个转义字符
    printf("%d\n", strlen("c:\test\628\test.c"));//14
    return 0;
}
  • 这样改一下 就是一个陷阱了
  • 确实是变成了13个字符 但是这道题会直接报错 因为八进制627>127
//程序输出什么?
#include <stdio.h>
int main()
{
    printf("%d\n", strlen("abcdef"));
    // \62被解析成一个转义字符
    printf("%d\n", strlen("c:\test\627\test.c"));
    return 0;
}

在这里插入图片描述

  • 这题就是7 \121算一个 而且没超过127
    在这里插入图片描述

内置数据类型

  • C是自定义类型
    在这里插入图片描述

字符串结束标志

在这里插入图片描述

局部变量和全局变量名字冲突 局部优先

在这里插入图片描述

switch语句中的关键字

  • 分支有if和switch两种
  • continue是用于跳过当次循环 进入下一次循环的;break是结束当前这一层循环的
  • 在switch分支里 可以有break(防止case穿透) 但是肯定没有continue
  • continue只可能在循环里出现
    在这里插入图片描述

数组初始化是否正确

  • A没问题 不完全初始化的部分默认为0

  • B绝对错误 哪怕是支持C99也不对! 因为变长数组是不可以显式初始化的!

  • C没问题 虽然没指定大小 但是会根据显式初始化的内容确定大小

  • D字符数组 没问题 注意自带’\0’

  • 选B
    在这里插入图片描述

  • 可以说明VS2022不支持C99标准 也就不支持变长数组
    在这里插入图片描述

  • 就算支持C99 那也不能初始化数组
    在这里插入图片描述

  • 不初始化是下面这种写法
    在这里插入图片描述

注意define不是关键字

  • #define是预处理指令
    在这里插入图片描述

C语言中不能用连等判断

  • 下面那部分不能写成90<=score<=100 就算答案有可能是对的 那也是运气 这种写法逻辑就不对
    在这里插入图片描述

switch( )的括号里可以是什么类型?

  • 注意char的本质还是整型 switch要求的就是整型表达式
  • 故选D
    在这里插入图片描述

关于if

  • B只能说1可以表示真 因为非0都是真 -1也是真
  • C肯定是对的 单选的话就选C
    在这里插入图片描述

关于switch

在这里插入图片描述

二、程序阅读题

有关static

  • 核心在于static修饰的b 没次调用完sum b是不销毁的
  • 而c每次都会重新创建 从0开始
    i:0->1->2
    a:2->2->2->2
    c:0->1->0->1->0->1
    static b:3->5->7->9

结果:
打印8,10,12,14,16
在这里插入图片描述

有关continue

  • 本题打印1 2 3 4之后就开始死循环
  • n=5后 n++再也没机会执行
    在这里插入图片描述

说明代码的功能

  • 如果不是在0~9就不打印
  • 所以是:读取一个数 如果他是0~9的数字 就把他打印出来
  • 在这里插入图片描述

在这里插入图片描述

for循环省略部分条件

请问下面的代码会循环几次?

3*3=9次
在这里插入图片描述

i = 0 的时候 j = 0,1,2,3 最终j变成了3 一共循环三次
然后i = 1 再进入内存循环 j还是3 不会进入循环
然后i = 2 j还是3 不进去 然后i = 3 全都结束
从头到尾只有i = 0的时候 循环了三次
在这里插入图片描述

计算循环次数

  • 中间的表达式2 是for的判断部分
  • k=0是个赋值语句 该表达式的结果恒为0 也就是说判断部分恒为0
  • 恒为假 一次都不循环
  • 0次循环
    在这里插入图片描述

代码阅读(=和==)

  • 每次进入循环 i都被改为5 表达式的值就是5 为真 打印5 然后i++ 6<10 又进去了 又变成了5
  • 所以会死循环的打印5
    在这里插入图片描述

关于switch的穿透现象

  • a就是决定了程序的入口 然后一路上都没有遇到break 所以case 3执行完 没有break的话 default也会执行的
  • 最后返回b 返回0 也就是func(1) = 0
    在这里插入图片描述

switch嵌套

  • 先进入外层switch的case 1
  • 然后进入内层的case 3 也就是default 打印hello
  • 打印完hello 其实相当于是执行完了外层switch的case 1 发现case 1没有break 所以继续执行外层switch的case 2 打印third
  • 故答案是 打印hellothird
    在这里插入图片描述

三、运算式相关

逗号表达式

  • 核心在于 逗号表达式的优先级是所有运算符里最最最低的 比赋值都低!!
  • 先算a = 27 然后a/5的值作为( )里逗号表达式的结果 赋给i 所以i = 5
  • 然后虽然会继续执行一下a+11 但是不会影响i的值
  • 故选A
    在这里插入图片描述
  • 第一步:逗号表达式(a = 3 * 9, a / 5)的值赋给i
  • 第二步:i = (a = 3 * 9, a / 5), a + 11; 这整体是一个逗号表达式 不影响a或者i的值 单纯执行了一遍
    在这里插入图片描述
  • 要这么写的话 m的值就是38了
    在这里插入图片描述

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

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

相关文章

初级前端面试(2)

1.讲一下闭包相关知识&#xff0c;和普通函数有什么区别 闭包是什么&#xff1a;JS中内层函数可以访问外层函数的变量&#xff0c;外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处&#xff1a; 隔离作用域&#xff0c;保护私有变量&#xff1b;…

快速了解接口测试

1、定义 什么是接口测试&#xff1f; 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 接口测…

Vue3高级API的使用

介绍 在前面的内容中&#xff0c;我们已经学习到了很多 Vue 3 的基础语法与一些常用的 API。 本节我们将介绍一些高级 API&#xff0c;带领大家进一步深入了解 Vue 3。 主要内容 ●customRef() ●markRaw() ●toRaw() ●获取 DOM 元素 customRef 方法 customRef&#…

DNS隧道技术原理及其典型应用场景剖析

DNS隧道&#xff08;DNS Tunneling&#xff09;本质为一种网络通信技术&#xff0c;它利用DNS协议在客户端和服务器之间传输数据&#xff0c;主要用来绕过网络限制进行数据隐蔽传输&#xff0c;但在实际场景中&#xff0c;DNS隧道已经成为黑客忠爱的攻击媒介。 1. 概览 DNS是互…

Linux之HugePage的原理与使用

Linux之HugePage的原理与使用 虚拟地址与物理地址虚拟地址物理地址虚拟地址与物理地址的转换 HugePage的概念Linux使用HugePage创建HugePage在程序中使用HugePage 总结 虚拟地址与物理地址 在研究HugePage之前&#xff0c;首先需要明白虚拟地址和物理地址的概念。在计算机系统…

baby_web-CTFWeb进阶wp-攻防世界14

baby_web-CTFWeb进阶wp-攻防世界14 页面显示1.php&#xff0c;可以先访问下源码和index.php&#xff0c;发现内容一致&#xff0c;再查看下cookie和header&#xff0c;看一下有没有藏flag&#xff0c;发现没。 dirsearch一下&#xff0c;发现访问index.php会重定向到1.php。抓…

想一键获取视频文案?2024年这3款好用的视频转文字工具来帮忙

嘿&#xff0c;咱们现在活在21世纪&#xff0c;这信息多得跟啥似的。视频这东西&#xff0c;不管是学东西、娱乐还是工作&#xff0c;都挺受欢迎的&#xff0c;因为它直观、生动嘛。但是&#xff0c;有时候咱们想从视频里提取点有用的信息&#xff0c;还挺费劲的。幸好啊&#…

深圳大学-Java程序设计-选实验2 类的初级应用

实验目的与要求&#xff1a; 实验目的&#xff1a;初步掌握面向对象编程中类的编写。 实验要求&#xff1a; (1).运行第4章课件中第4页、第24页、第32页和第34页中的四个程序&#xff0c;并对每一行语句加上注释。对每一行语句加上注释。在报告中附上程序截图、运行结果截图和…

zerotier安装配置

目录 1.简介1.1.基本概念1.1.1.节点1.它可以是:2.每个节点都有以下特征:3.节点的主要功能包括: 1.1.2.根服务器1.定义&#xff1a;2.功能&#xff1a;3.特点&#xff1a;4.角色&#xff1a;5.安全性&#xff1a;6.与普通节点的区别&#xff1a;7.自托管选项&#xff1a; 1.1.3.…

51单片机的智能电饭煲【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器继电器按键、LED等模块构成。适用于智能电饭锅等相似项目。 可实现功能: 1、LCD1602实时显示温度、运行模式、煮饭等模式的计时时间 2、首先选择电饭锅的模式&#xff0c;如煮饭、煮粥、蒸、煲汤&#…

React入门 9:React Router

1. 什么是路由 路由&#xff08;routing&#xff09;就是通过互联的网络把信息从源地址传输到目的地址的活动。 以上是中文维基百科对路由的解释。通俗的来讲&#xff0c;把一个地方的信息传输到他想去的目的地的过程&#xff0c;就叫路由。 2. 用代码解释路由 需求&#xff1a…

【Spring】获取Cookie和Session(@CookieValue()和@SessionAttribute())

获取 Cookie 传统获取 Cookie 这是没有 Spring 的时候&#xff0c;用 Servlet 来获取&#xff08;获取所有的 Cookie&#xff09; Spring MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;也是在 Servlet 的基础上实现的 RequestMapping("/getcookie") …

CubeMX电机驱动以及编码器计数配置

一、选型 电机MG310&#xff1a; 电机驱动板TB6612&#xff1a; STM32F407VETx&#xff1a; 二、CubeMX配置 配置外部时钟&#xff1a; GPIO口配置&#xff1a; 需要四个I/O输出口&#xff1a; PWM口配置&#xff1a; 这里使用的是定时器TIM1&#xff0c;设置预分频器71&…

使用mnist数据集和LeakyReLU高级激活函数训练神经网络示例代码

一、概述 神经网络中的激活函数是用于增加网络的非线性特性的函数&#xff0c;没有激活函数&#xff0c;神经网络将仅仅是一个线性模型&#xff0c;无法解决复杂的非线性问题。激活函数的选择对神经网络的性能有很大的影响。 基础激活函数是神经网络中使用较早、较为简单的激…

AOA定位技术在智慧停车场中的应用

‌AOA定位技术是一种基于信号到达角度的定位方法&#xff0c;通过测量无线信号到达接收器的入射角度来实现精确定位。‌ AOA定位技术的核心原理是利用接收器内的多个天线阵列来测量信号的相位差&#xff0c;从而计算出信号的到达角度&#xff0c;最终确定位置‌。 在智慧停…

SpringBoot在高校学科竞赛平台中的应用与优化

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

数据结构之旅(顺序表)

前言: Hello,各位小伙伴们我们在过去的60天里学完了C语言基本语法,由于小编在准备数学竞赛,最近没有给大家更新,并且没有及时回复大家的私信,小编在这里和大家说一声对不起!,小编这几天会及时给大家更新初阶数据结构的内容,然后我们来学习今天的内容吧! 一. 顺序表的概念和结…

鸿蒙开发案例:通过三杯猜球学习显示动画

【引言】 “三杯猜球”是一个经典的益智游戏&#xff0c;通常由一名表演者和多名参与者共同完成。表演者会将一个小球放在一个杯子下面&#xff0c;然后将三个杯子快速地交换位置&#xff0c;参与者则需要猜出最终哪个杯子下面有小球。本文将介绍如何使用HarmonyOS NEXT技术&a…

加速AI+医疗普惠:AI如何让乳腺癌筛查走进大山?

人工智能与超声技术的结合正在医疗领域引发一场新变革。 近日&#xff0c;贵州省铜仁市石阡县妇幼保健院与广州尚医网信息技术有限公司&#xff08;以下简称“尚医云”&#xff09;联合组织了一场“AI点亮女性健康未来”免费乳腺癌筛查活动&#xff0c;目前已为当地1,500名适龄…

物联网:一种有能力重塑世界的技术

物联网&#xff08;IoT&#xff09;近年来对我们的日常生活产生了如此积极的影响&#xff0c;以至于即使是不懂技术的人也开始相信它所带来的便利以及敏锐的洞察力。 物联网是一场数字技术革命&#xff0c;其意义甚至比工业革命更为重大。物联网是仍处于起步阶段的第四次工业革…