泉州网站建设网站建设,做网站用什么后缀好,杭州哪家公司做网站,微商城分销源码目录 选择题一选择题二选择题三选择题四编程题一编程题二 选择题一
以下程序段的输出结果是#xff08;#xff09;#includestdio.h
int main()
{
char s[] \\123456\123456\t;
printf(%d\n, strlen(s));
return 0;
}A: 12 B: 13 … 目录 选择题一选择题二选择题三选择题四编程题一编程题二 选择题一
以下程序段的输出结果是#includestdio.h
int main()
{
char s[] \\123456\123456\t;
printf(%d\n, strlen(s));
return 0;
}A: 12 B: 13 C: 16 D: 以上都不对【答案】 A 【分析】这道题涉及到转义字符\是一种转义字符而\就是以第一个\修饰第二个\使第二个\不表示转义的意思这里有点绕 因此\ \为一个字符而123456则为6个字符。 对后面的\123456\t来说\123表示一个字符\dddddd是表示一个1-3位的八进制数字而456则表示3个字符\t表示一个字符。 接下来就是strlen的含义strlen是计算字符串的长度直到遇见\0才会停止因此经过前面的分析strlens1613112
选择题二
若有以下程序则运行后的输出结果是#include stdio.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 【分析】这道题就是替换变量根据上面的定义我们知道 N2 MN1 NUMM1*M/2 将等式带入第三表达式即可得出结果。 值得注意的是许多人算出的结果为6因为他们在算时NUM21121/26事实上这道题我也是这样算的 但是实际上正确的算法为 NUM211 *21/28.5 这是因为M1*M的第二个M并没有因此在计算时不能擅自添加。 最后的8则是因为%d为int的打印方式所以将小数点后的5省略了
选择题三
如下函数的 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 【分析】这道题是递归类型的题 n5为限制条件但需要注意的是static修饰的i 千万不用以为int i1i就一直为1了static修饰使它可以保留以前变化的值因此i是一直在增加的 详细的过程如图
选择题四
下面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是修饰他后面的变量使它的地址或者数值无法改变。 比如 1中const修饰的是a就说明a无法改变因为a是表示的地址所以a所表示的地址无法改变但是a的值是可以改变的。 2中const修饰的仍是*a和int无关 3const修饰的是a也就说明a所代表的数值无法改变但a的地址是可以改变。
编程题一
验证尼科彻斯定理
任何一个整数 m 的立方都可以写成 m 个连续奇数之和
例如
1^31
2^335
3^37911
4^313151719
输入一个正整数 mm≤100
将 m 的立方写成 m 个连续奇数之和的形式输出。
注意本题含有多组输入数据。
输入描述输入一个int整数
输出描述输出分解后的string
示例
输入6
输出313335373941【题目分析】 我们需要用n将m的立方表示出来然后由连续奇数之和可以设第一个奇数a1x然后由等差数列的求和公式可以算出Smm*xm-12 即可得出关系式m^3mx2 * m-1 * m 即xm * m- m1 因为x为第一项为了求出x的具体值我们需要用到for循环 【代码】
int main()
{int m 0;scanf(%d, m);int n m * m * m;int x m * m - m 1;for (int i 1; i m; i){if (i m)printf(%d, x);else{printf(%d, x);x 2;}}return 0;
}编程题二
等差数列 2581114 … 。从 2 开始的 3 为公差的等差数列求等差数列前 n 项和
注意本题有多组输入
输入描述输入一个正整数 n 。
输出描述输出一个相加后的整数
示例
输入2 输入275
输出7 输出113575
说明257 说明25...821824113575【题目分析】 这道题和上一题的解法类似但是是求的Sn 因此需要设一个sum即Sn还有x通过式子sumxx3再加上循环即可解决问题 【代码】
#includestdio.h
int main()
{int n, x 2, sum 0;scanf(%d, n);for (int i 1; i n; i){sum x;x 3;}printf(%d, sum);return 0;
}