网站建设没有签定合同,西杰网站建设,怎么制作网页设计,东莞网站建设0769dt目录
一、选择题
二、编程题 #x1f388;个人主页#xff1a;库库的里昂 #x1f390;CSDN新晋作者 #x1f389;欢迎 #x1f44d;点赞✍评论⭐收藏✨收录专栏#xff1a;C语言每日一练 ✨其他专栏#xff1a;代码小游戏C语言初阶#x1f91d;希望作者的文章能对你…目录
一、选择题
二、编程题 个人主页库库的里昂 CSDN新晋作者 欢迎 点赞✍评论⭐收藏✨收录专栏C语言每日一练 ✨其他专栏代码小游戏C语言初阶希望作者的文章能对你有所帮助有不足的地方请在评论区留言指正大家一起学习交流 【前言】 在大家学完初阶C语言后有很多知识点是比较模糊的我们应该多刷题这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷每一篇都包含5道选择题2道编程题每一道题后面都会有详细的解析。这个系列每日一更大家来看看吧 一、选择题
1、以下程序段的输出结果是
#includestdio.h
int main()
{char s[] \\123456\123456\t;printf(%d\n, strlen(s));return 0;
} A: 12 B: 13 C: 16 D: 以上都不对 【答案】A
【解析】 strlen() 函数用于获取字符串的长度即字符中字符的个数不包括\0)。\\、\123、\t是转义字符所以长度是12。 \\表示单个字符 \123 表示八进制的ASCII码值为123对应的字符 It 表示制表符 很多小伙伴会忘记转义字符的具体内容这里有常用转义字符。 2、若有以下程序则运行后的输出结果是
#includestdio.h
#define N 2
#define M N 1
#define NUM (M 1) * M / 2
int main()
{printf(%d\n, NUM);return 0;
} A: 4 B: 8 C: 9 D: 6 【答案】B
【解析】 因为#define是宏定义仅仅是直接替换这里2替换NN1替换M所以NUM为N11*N1/24*208选B。 3、如下函数的 f(1) 的值为
int f(int n)
{static int i 1;if(n 5)return n;n n i;i;return f(n);
} A: 5 B: 6 C: 7 D: 8 【答案】C
【解析】 静态变量static只会被初始化一次所以 第一次调用f(1):n2;i2;调用f(2) 第二次调用f(1):n4;i3;调用f(4) 第三次调用f(1):n7;i2;调用f(7) 第四次调用f(1):返回7 所以最终函数返回结果为7选C。 4、下面3段程序代码的效果一样吗
int b;
(1)const int *a b;
(2)int const *a b;
(3)int *const a b; A: (2)(3) B: (1)(2) C: 都不一样 D: 都一样 【答案】B
【解析】 const修饰指针变量的效果是根据const和*之间的相对位置来决定的 const放在*的左边意味着对应的指针不能被修改放在*的右边意味着指针所指向的内容不能被修改。那么观察题目我们只需要找相对位置一样的即可不难发现(1)和(2)const和*的相对位置都是const在*的右边故效果一样而(3)的const放在*的右侧效果不一样。故选B 5、对于下面的说法正确的是 A.对于 struct X{short s;int i;char c;}sizeof(X)等于sizeof(s) sizeof(i) sizeof(c) B.对于某个double变量 a可以使用 a 0.0 来判断其是否为零 C.初始化方式 char a[14] Hello, world!; 和char a[14]; a Hello, world!;的效果相同 D.以上说法均不对
【答案】D
【解析】 A结构体要按高位对齐int占四个字节short占两个char占一个字节所以44412 B要判断一个双精度浮点数if(abs(f) 1e-15) C数组初始化两种方式一种逐个赋值char a[14]{H,e,I,I,o};另一种char a[14]Hello,world! 所以选D。 二、编程题
1.OJ链接【牛客网题号 HJ76 尼科彻斯定理】【难度简单】
验证尼科彻斯定理即任何一个整数 m 的立方都可以写成 m 个连续奇数之和。例如
1^31
2^335
3^37911
4^313151719
输入一个正整数 mm≤100 将 m 的立方写成 m 个连续奇数之和的形式输出。 注意本题含有多组输入数据。 输入描述输入一个int整数 输出描述输出分解后的string 示例 输入6 输出313335373941 #includestdio.h
int main()
{int m 0;while (scanf(%d, m)){int i 0;int ret m * (m - 1) 1;for (i 1; i m; i){printf(%d, ret);ret 2;if (m ! i)printf();}printf(\n);}return 0;
}
2.OJ链接【牛客网题号 HJ100 等差数列】【难度简单】
等差数列 2581114 ... 。从 2 开始的 3 为公差的等差数列求等差数列前 n 项和。 注意本题有多组输入 输入描述输入一个正整数 n 。 输出描述输出一个相加后的整数。 示例 输入2 输入275 输出7 输出113575 说明257 说明25...821824113575 #includestdio.h
int main()
{int n 0;while (scanf(%d, n)){printf(%d\n, (3 * n 1) * n / 2);}return 0;
}
好了今天的每日一刷就到这里结束了感谢大家的观看