问几个基础问题,大家都会。帮忙

summerYe 2010-04-03 09:56:34
1.在C语言中,合法的字符常量是()
A '\084' B'x\ab'C'123' D"\0"//能够提供个解释吗?

2.设有:int a = 1,b=2,c=3,d=4,m=2,n=2;则执行(m = a>b)&&(n= c>d)后m,n的值分别为( )//是否为0,2?主要是想问执行了m=a>b后错误就不执行n=c>d了?

3.运行如下程序段的结果是()
char a[8],b[]="hello";
a= b;
printf("%s",a);
我猜测是(编译出错),是不是因为数组初始化的时候必须在定义的时候就初始化?或者还有其他原因比如把常量区的值赋给字符数组也是不行的对不对?

4.以下程序段运行结果是()
char str[]="ab\n\012"";
printf("%d\n",strlen(str));//后面的八进制怎么算?
...全文
122 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy330206 2010-04-03
  • 打赏
  • 举报
回复
貌似第一题没有答案的
c是不是少了个\
jbz001 2010-04-03
  • 打赏
  • 举报
回复
第一个题居然看走眼了
huanmie_09 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 summerye 的回复:]
第一题答案说是B,还有最后一题答案说是5 不过我在编译器上运行通不国.........
不过我似乎不应该相信答案.....
[/Quote]
第一题你可以看看c语言程序设计_现代方法里7.3.1转义序列那一小节。
至于第四个,你可以在自己的机器上跑一下,直接看运行结果
liuxingjin 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huanmie_09 的回复:]
1题:
A '\084'为八进制转义序列,不能出现大于等于8的字符
B'x\ab'为十六进制转义字符,但x和\都不属于十六进制
C'123'
D"\0"双引号为字符串常量
[/Quote]

同意
summerYe 2010-04-03
  • 打赏
  • 举报
回复
第一题答案说是B,还有最后一题答案说是5 不过我在编译器上运行通不国.........
不过我似乎不应该相信答案.....
cy330206 2010-04-03
  • 打赏
  • 举报
回复
字符常量是用单括号括起来的一个字符。

有两种表示方法:
一种是用该字符的图形符号,如'b' ,'y','*'。
另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:

一种是用字符的八进制ASCII码,表示为:\ddd这里,ddd是八进制值。

另一种使用字符的十六进制ASCII码值,表示为 \xhh 这里hh是两位十六进制值。
huanmie_09 2010-04-03
  • 打赏
  • 举报
回复
1题:
A '\084'为八进制转义序列,不能出现大于等于8的字符
B'x\ab'为十六进制转义字符,但x和\都不属于十六进制
C'123'
D"\0"双引号为字符串常量
lovesi3344 2010-04-03
  • 打赏
  • 举报
回复
第一题选D
'' 单引号内只能有一个字符 所以ABC都错
“”双引号内的字符串编译器会自动为它加上空字符\0 所以D双引号内不止一个字符,所以D正确

[Quote=引用 5 楼 summerye 的回复:]
各位帮忙把第一题解释下,答不对也可以接点小分.....
[/Quote]
summerYe 2010-04-03
  • 打赏
  • 举报
回复
因为第一题答案是B。这题我完全不会...
summerYe 2010-04-03
  • 打赏
  • 举报
回复
各位帮忙把第一题解释下,答不对也可以接点小分.....
cy330206 2010-04-03
  • 打赏
  • 举报
回复
我讲错了,二楼有一个地方也讲错了,,关于第三个问题,a应该是指针常量
cy330206 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huanmie_09 的回复:]
1、选c
2、m=0,n=2;(m = a>b)&&(n= c>d)注意关系运算符的短路运算特性,当a>b为假,所以m=0, &&左边的表达式为假,右边的表达式将不进行运算,整个表达式为假.
3、a=b这里错了,a是常量指针,给字符串赋值用strcpy(a,b);
4、\n和\0是都是转义字符,\n表示回车符,\0表示字符串结束符,strlen函数统计字符串的……
[/Quote]

up
我讲讲第三个为什么错,使用数组名字的时候就退化成了常量指针,常量是不可以当做左值的
huanmie_09 2010-04-03
  • 打赏
  • 举报
回复
1、选c
2、m=0,n=2;(m = a>b)&&(n= c>d)注意关系运算符的短路运算特性,当a>b为假,所以m=0, &&左边的表达式为假,右边的表达式将不进行运算,整个表达式为假.
3、a=b这里错了,a是常量指针,给字符串赋值用strcpy(a,b);
4、\n和\0是都是转义字符,\n表示回车符,\0表示字符串结束符,strlen函数统计字符串的长度是以\0字符最为结束符的.所以结果应该为4.

jbz001 2010-04-03
  • 打赏
  • 举报
回复
第一个:D。前三个都是非法的字符。

第二个:应该为0.(m = a>b)的值为0,(n= c>d)的值也为0。好像后面的不再执行了。

第三个:好像没有什么错误。你的话有点绕。

第四个:应该输出4。str是个字符串,哪来的八进制!到'\0'的时候就截止了,后面的就不算了。
数据集可视化效果见下方。 【数据集概况】 · 检测类别(中文):[公交车(bus), 车辆(vehicle)] · 训练集:1899 张 · 验证集:0 张 · 测试集:0 张 · 总计:1899 张 该数据集聚焦于城市道路环境下的车辆检测任务,旨在为智能交通系统提供高质量的标注数据支持。通过采集真实道路场景中的各类车辆图像,该数据集能够有效支撑车辆识别与分类模型的训练与优化,具有较高的实用价值和研究意义。数据集覆盖了多种车辆类型,包括公交车和普通车辆,为复杂交通环境下的目标检测提供了丰富的样本。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 96 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9950** mAP50-95 | 0.9884 Precision | 0.9513 Recall | 0.9659 train/box_loss | 0.0783 train/cls_loss | 0.0416 val/box_loss | 0.1259 val/cls_loss | 0.0771 【训练过程分析】 96 轮训练后 mAP50 达到 0.9950,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。mAP50-95 为 0.9884,和 mAP50 差距仅 0.01,框的定位精度也很扎实。 【模型性能评估】 Precision 0.9513、Recall 0.9659,精召双高,模型对公交车、车辆的检测能力强。多类检测中,不同类别性能可能有差异,需关注难例类别的表现。 【预测效果展示...
内容概要:本文系统研究了基于连续小波变换(CWT)与多种深度学习模型相结合的机械故障诊断方法,利用凯斯西储大学轴承故障公开数据集进行实验验证,并提供了完整的Matlab代码实现。研究首先通过连续小波变换将一维振动信号转化为二维时频图像,以增强信号的时频特征表达能力;随后构建并对比了CNN、ResNet、CNN-SVM、CNN-BiGRU、CNN-LSTM等多种深度神经网络模型用于故障分类识别,全面分析各模型在诊断精度、收敛速度与泛化能力等方面的性能差异。该研究融合信号处理与深度学习技术,属于具有创新性的未发表成果,达到可复现SCI一区论文水平。; 适合人群:适用于具备信号处理基础和机器学习知识,从事故障诊断、状态监测、工业自动化等领域的研究生、科研人员及工程技术开发者;尤其适合熟悉Matlab编程并希望开展相关课题研究或工程应用的专业人士。; 使用场景及目标:①应用于旋转机械设备(如电机、齿轮箱、轴承等)的早期故障检测与智能分类;②支撑学术科研中关于深度学习与信号处理融合方法的研究与高水平论文复现;③作为课程设计、毕业设计或科研项目的实践案例,提升从数据预处理到模型构建再到实证分析的全流程能力。; 阅读建议:建议结合所提供的Matlab代码同步运行与调试,重点关注连续小波变换的参数选择、时频图生成策略以及各类深度学习模型的网络结构设计与训练细节,同时可进一步探索其他小波基函数、优化算法或多模型融合策略以拓展研究深度。

70,040

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧