C语言--每日五道选择题--Day12

第一题

1、如下程序的功能是( )

#include <stdio.h>
int main()
{char ch[80] = "123abcdEFG*&";int j;puts(ch);for(j = 0; ch[j] != '\0'; j++){if(ch[j] >= 'A' && ch[j] <= 'Z'){ch[j] = ch[j] + 'e' - 'E';}}puts(ch);return 0;
}

A: 测字符数组ch的长度

B: 将数字字符串ch转换成十进制数

C: 将字符数组ch中的小写字母转换成大写

D: 将字符数组ch中的大写字母转换成小写

答案及解析 

先来解读程序,首先定义了一个char类型的字符串,然后puts,输出这个字符串,再去遍历字符串,如果是大写字母,就转换成小写字母,最后再次打印字符串;

所以这个程序的功能就是D。

第二题

2、对于代码段,下面描述正确的是( )

t=0;
while(printf("*"))
{t++;if (t<3)break;
}

A: 其中循环控制表达式与0等价 

B: 其中循环控制表达式与'0'等价

C: 其中循环控制表达式是不合法的 

D: 以上说法都不对

答案及解析 B

本题问的是while的循环的条件是和什么等价的。

这里涉及到了printf函数,我们要知道printf函数是有返回值的

大家不清楚的可以看我的这篇博客🔗http://t.csdnimg.cn/bkwOb

我们知道printf的返回值是跟我们的打印的字符有关的,打印普通键盘上的字符是,打印几个返回值就是几,还有转义字符,汉字等等,看博客吧,这里不介绍了。

所以这里面打印的字符只有一个,那返回值就是1,循环条件为真,是恒成立的;

我们再来看选项,找循环条件为真的,0为假,非0都是真(无论正负);

最好只有B选项正确

第三题

3、以下程序运行时,若输入 1abcedf2df<回车> 输出结果是( )

#include <stdio.h>
int main()
{char ch;while ((ch = getchar()) != '\n'){if (ch % 2 != 0 && (ch >= 'a' && ch <= 'z'))ch = ch - 'a' + 'A';putchar(ch);}printf("\n");return 0;
}

A: 1abcedf2df 

B: 1ABCEDF2DF 

C: 1AbCEdf2df 

D: 1aBceDF2DF

答案及解析 C

本题考查的是ASCII值,大小写的转换

首先while循环条件的表达式是用来输入字符的,我们可以在键盘上输入一堆字符,但是getchar是每次只取一个字符,直到取到回车字符;

然后putchar是依次输出字符;

我们知道这些之后就看ASCII值就OK了,这个表在前面发过了,希望大家做题可以保存下来,防止忘记哦!

第四题

4、下列条件语句中,功能与其他语句不同的是( )

A:

if(a) printf("%d\n",x); 
else printf("%d\n",y);

B: 

if(a==0) printf("%d\n",y); 
else printf("%d\n",x);

C:

if (a!=0) printf("%d\n",x); 
else printf("%d\n",y);

D: 

if(a==0) printf("%d\n",x); 
else printf("%d\n",y);

答案及解析 D

这个题就是看a = 0的时候都输出几,所以我们直接默认a为0再来看选项;

A:a = 0 时;输出y;

B:a = 0 时;输出y;

C:a = 0 时;输出y;

D:a = 0 时;输出x;

所以最后只有D跟其他三个不同,选D

第五题

5、我们知道C语言的 break 语句只能跳出离它最近的一层循环,可是有时候我们需要跳出多层循环,下列跳出多层循环的做法正确的是【多选】( )

A: 将程序写成函数用return结束函数,便可跳出循环

B: 修改外层循环条件例如

for( int i = 0 ; i < MAX1 ; i ++ )
{for( int j = 0 ; j < MAX2 ; j ++ ){if( condition ){i = MAX1;break;}}
}

C: 在外层循环设置判断条件例如

for( ; symbol != 1 && condition2 ; )
{for( ; symbol != 1 && condition3 ; ){if( condition1 )symbol = 1 ;}
}

D: 在外层循环后面加入break例如

for( ; condition2 ; )
{for( ; condition3 ; ){if( condition1 )symbol = 1 ;}if( symbol == 1 )break ;
}

答案及解析 ABCD

这里先解释一下上面的是伪代码,condition是条件;

跳出多层循环可以使用return,也可以使用一些手段,让跳出最外层循环;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车操纵稳定性matlab仿真

1、内容简介 略 14-可以交流、咨询、答疑 2、内容说明 汽车操纵稳定性matlab仿真&#xff0c;包含完整的论文 操纵动力学、两自由度 摘要&#xff1a;当今&#xff0c;仿真技术日益广泛地应用于汽车工程领域&#xff0c;操纵稳定性研究越来越多地使用成熟的计算机仿真理论…

肝了一周,整理了Python 从0到1学习路线(附思维导图和PDF下载)

前段时间&#xff0c;我们陆续分享了一些关于Python基础知识&#xff0c;以及现在比较流行的Python各领域的学习知识&#xff0c;后台有很多小伙伴反馈&#xff0c;想要系统的自学Python&#xff0c;希望我们可以提供一个框架&#xff0c;方便作为参考&#xff0c;学习Python。…

unity使用vs进行c#代码提示,查看F12unity元代码

unity关联vs 在vs中让cs.meta显示&#xff0c;鼠标右键&#xff0c;包含在内 提示GameObject类了 感谢下面这位的提示https://zhuanlan.zhihu.com/p/551119106

【Python+selenium】自动化生成测试报告

批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、入HTMLTe…

记录一次hibernate3.1 方言问题

错误&#xff1a;com.sun.proxy.$Proxy553 cannot be cast to java.lang.string 我们项目上&#xff0c;将mysql数据库迁移到达梦数据库&#xff0c;这样会造成数据库类型上在java查询下&#xff0c;会有不兼容的问题&#xff0c;比如clob&#xff0c;text等&#xff0c;…

机器学习的线性回归与非线性回归

一元线性回归 回归分析用来建立方程模拟两个或者多个变量之间如何关联 一元线性回归包括一个自变量和一个因变量 如果包含两个以上的自变量&#xff0c;则称为多元线性回归 代价函数&#xff08;损失函数&#xff09; 损失函数的最终目的是为了使得误差平方和最小 用梯度下…

SDL2 播放音频(MP4)

1.简介 这里引入FFmpeg库&#xff0c;获取音频流数据&#xff0c;然后通过FFmpeg将视频流解码成pcm原始数据&#xff0c;再将pcm数据送入到SDL库中实现音频播放。 2.FFmpeg的操作流程 注册API&#xff1a;av_register_all()构建输入AVFormatContext上下文&#xff1a;avform…

01背包 D. Make Them Equal

Problem - D - Codeforces 输出值不超过k次操作后的最大值。 看b数组的大小&#xff0c;b数组元素是小于1000的正整数。从1到bi如果可以&#xff0c;那么最多是大概10次的&#xff0c;因为是指数递增的&#xff0c;例如&#xff1a;1 -> 2 -> 4 -> 8 -> 16 -> …

PostGIS学习教程七:关于几何图形的练习

文章目录 一、函数列表二、练习 一、函数列表 以下是我们迄今为止看到的所有函数的汇总&#xff0c;它们应该对练习有用&#xff01; sum(expression) aggregate to return a sum for a set of records count(expression) aggregate to return the size of a set of records …

微信群BUG大揭秘!开启身份切换神器

前言 最近微信群里出现了一个神秘的BUG&#xff0c;普通群成员竟然可以艾特全体成员。今天&#xff0c;就让我们一起揭秘这个令人震惊的微信群普通成员可全体成员的BUG 复现步骤 复现步骤也很简单&#xff0c;前提条件就是要在PC客户端操作&#xff01;首先得有个属于自己的群…

什么是自动化测试框架?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

Promise 重写 (第一部分)

学习关键语句&#xff1a; promise 重写 写在前面 重新学习了怎么重写 promise &#xff0c; 我觉得最重要的就是要有思路&#xff0c;不然有些 A 规范是完全想不到的 开始 重写函数的过程中, 最重要的是有思路 我们从哪里获取重写思路? 从正常的代码中 我们先看正常的代码…