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

news2024/11/22 5:42:27

目录

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

一、语法题

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
    在这里插入图片描述

二、程序阅读题

有关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次循环
    在这里插入图片描述

三、运算式相关

逗号表达式

  • 核心在于 逗号表达式的优先级是所有运算符里最最最低的 比赋值都低!!
  • 先算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/2209823.html

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

相关文章

Postgresql JSON操作符

postgresql json数据 参考文章&#xff1a; JSON数据操作 操作符 1、-> 表示获取一个JSON数组元素&#xff0c;支持下标值(下标从0开始)、Key获取。 2、->> 表示获取一个JSON对象字符串。 3、#> 表示获取指定路径的一个JSON对象。 4、#>>表示获取指定路径…

脉冲目标检测网络模型SpikeYOLO——基于整值训练和脉冲驱动推理的高性能节能目标检测神经网络

最近看到目标检测领域又出新作&#xff0c;ECCV2024 满分Oral论文——《Integer-Valued Training and Spike-Driven Inference Spiking Neural Network for High-performance and Energy-efficient Object Detection》论文地址在这里&#xff0c;如下所示&#xff1a; 感兴趣的…

浪潮信息领航边缘计算,推动AI与各行业深度融合

在9月20日于安徽盛大召开的浪潮信息边缘计算合作伙伴大会上&#xff0c;浪潮信息指出&#xff0c;未来的计算领域将全面融入AI技术&#xff0c;特别是在企业边缘侧&#xff0c;智能应用特别是生成式人工智能应用正在迅速普及&#xff0c;这一趋势正引领边缘计算向边缘智算的方向…

R语言机器学习算法实战系列(三)lightGBM算法(Light Gradient Boosting Machine)

文章目录 介绍原理:应用方向:教程下载数据加载R包导入数据数据预处理数据描述数据切割设置数据对象调节参数训练模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性模型SHAP值解释保存模型总结系统信息介绍 LightGBM(Light Gradient B…

QEMU与KVM架构

完整架构图&#xff0c;来自QEMU官网 QEMU与KVM架构总体上分为3部分。 VMX root模式的应用层&#xff08;左上&#xff09; VMX root模式的内核层&#xff08;左下&#xff09; 虚拟机的运行&#xff08;右上&#xff09; VMX root相对于VMX non-root模式&#xff0c;CPU引入了…

基于Arduino的自动浇灌系统

基于Arduino的自动浇灌系统 一、项目说明二、项目材料三、电路设计四、怎样工作五、怎样设置 一、项目说明 嘿&#xff0c;伙计们&#xff0c;在这篇教程中&#xff0c;我将向你们展示如何使用Arduino制作一个植物浇水系统&#xff0c;以一种简单的方式帮助你始终保持植物的水…

【MySQL】mysql导出数据WPS科学计数法解决方法

导出的长串数字 id 会导致科学计数法&#xff0c;修改 WPS 单元格格式可以解决 数字太长还是有问题&#xff0c;最后有个数字会变成 0 可以 直接用 python脚本转换一下 vim convert_txt_xlsx.py #!/usr/bin/env python3# 使用方法# 安装库 # pip3 install pandas openpyxl…

见微知著:OpenEuler系统启动流程

OpenEuler是一个开源的Linux发行版&#xff0c;它的启动流程涉及到多个阶段&#xff0c;包括固件初始化、引导加载程序、内核启动、初始化系统和服务管理器等。下面将详细介绍OpenEuler的启动流程。 一、启动流程 1. 固件初始化&#xff08;BIOS/UEFI&#xff09; 启动过程首…

跟踪用户状态,http协议无状态 Cookie HttpSession,Session和Cookie的关系

1.概念分析 跟踪用户状态指的是web应用能够分辨请求属于哪个用户&#xff0c;进而记录用户的状态&#xff0c;从而为用户提供连续的针对性的服务。比如有多个客户在同一个购物网站上购物&#xff0c;每一个用户都会有一个虚拟的购物车。当某个客户发送请求将商品添加到购物车时…

部署 Docker harbor (httphttps)及使用

部署 Docker harbor (http/https)及使用 官网下载docker harbor 和docker-compose 下载最新版本即可 https://github.com/goharbor/harbor https://github.com/docker/compose/releases 一.Docker harbor 配置http使用 1.解压harbor.tar # 解压至指定目录 [rootdocker ~]…

线程池 jvm web

线程池 分类 newCachedThreadPool 可进行缓存重复利用的线程池 newFxiedThreadPool 可重复利用的固定数目的线程池 newSingelThreadPool 单个work线程 newSingelThreadScheduledExecutor 单线程定时执行程序 newWorkStealingPool 带并行级别的线程池 核心参数 …

【OpenCV】(二)—— 图片读取展示和保存

上一小节中我们成功安装了opencv&#xff0c;我们这次学习使用opencv最基础的功能&#xff0c;读取和展示图片&#xff0c;首先准备一张用于实验的样例图片【cat.jpg】如下&#xff1a; 然后就是创建一个python项目并导入相关依赖 import cv2读取图片 读取图片使用imread方法…

Flythings学习(二)控件相关

文章目录 1 前言2 通用属性2.1 控件ID值2.2 控件位置2.3 背景色2.4 背景图2.5 显示与隐藏2.6 控件状态2.7 蜂鸣器控制 3 文本类TextView4 按键类 Button4.1 系统按键4.2 处理按钮长按事件4.3 处理按键触摸事件 5 复选框CheckBox6 单选组 RadioGroup7 进度条&#xff0c;滑块7.1…

vscode如何通过ssh远程链接其它电脑

客户端&#xff08;本机&#xff09;linux系统中vscode通过ssh插件远程连接服务器&#xff0c;其操作步骤如下&#xff1a; 配置服务器的配置文件 首先在~/.ssh/config文件中输入服务器的配置信息&#xff0c;如果没有这个文件就新建一个&#xff0c;其内容如下&#xff1a; …

线性系统性能分析方法2——根轨迹法

反馈控制系统的性质取决于闭环传递函数&#xff0c;只要求解出闭环系统的特征根&#xff0c;便能得到系统响应的变化规律。但对于3阶以上的系统求根比较困难。如果系统中有一个可变参数时&#xff0c;求根就更困难了。 1948年&#xff0c;伊凡思提出了一种确定系统闭环特征根的…

ENSP搭建基础网络拓扑图

一、ENSP的基本操作 1、配置网关 进入系统视图与退出 <Huawei>system-view [Huawei]quit 进入G0/0/0接口后配置ip [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24查询所有接口的ip配置 [R1]display ip interface brief…

02 django管理系统 - base.html模板的搭建

下面&#xff0c;我们正式开始XX市第X医院员工信息管理系统的开发 首先&#xff0c;我们项目的目录结构如下&#xff1a; 然后&#xff0c;先把模板【base.html】界面的框架搭起来 {% load static %}<!DOCTYPE html> <html lang"en"><head><m…

使用最小二乘法画噪声数据的近似曲线

文章目录 问题MATLAB代码验证数据1验证数据2 问题 已知有系列含有噪声的数据&#xff08;x , y&#xff09;用最小二乘法计算m和b。(ymxb) MATLAB代码 disp(This promgram perform a leastsquares fit of an); disp(input data set to a straight line.); n_points input(E…

minio储存应用部署

一、minio简介 MinIO 是一个高性能的对象存储系统&#xff0c;设计用于存储大量的非结构化数据&#xff0c;如图片、视频、日志文件等。它完全兼容 Amazon S3 API&#xff0c;这意味着你可以使用与 S3 相同的工具和接口来管理和访问 MinIO 中的数据。 二、主要特性 1. S3 兼…

Vue3实现面板分割

Vue3实现面板分割 下面是将你提供的 Vue 组件使用 SCSS&#xff0c;并以 Vue 3 的组合式 API 形式的面板分割代码。 1、建立组件相关的文件夹 2、将下面代码拷贝到index.vue中 <template><div class"g-split" ref"gSplit"><!-- 水平方向…