网站各个阶段推广,昆明建设网站哪家好,中国知名公司,wordpress安装目录权限因为17号要开赛了#xff0c;甚至是用云端编辑器#xff0c;debuff拉满#xff0c;只能临时抱佛脚了
各个选择题的选择项我就不标出来了#xff0c;默认ABCD排#xff0c;手打太麻烦了
目录
单选题#xff1a;
1.阅读以下语句:double m0;for(int i3;i0;i--)m1/i;…因为17号要开赛了甚至是用云端编辑器debuff拉满只能临时抱佛脚了
各个选择题的选择项我就不标出来了默认ABCD排手打太麻烦了
目录
单选题
1.阅读以下语句:double m0;for(int i3;i0;i--)m1/i;将m保留三位小数输出结果为
2.下列选项中不是C关键字的是
3.下列选项中运算结果的数据类型为double的选项是 4.下列运算结果的数据类型是int的选项为(
5. 关于C数据类型下列描述错误的是
6.阅读以下代码:int main(){ int x100; cout__①____②__
8.关于C输入输出下列描述错误的是
9.若有int a;char b;string c;cinabc;则下列输入形式错误的是()
10.下列位运算表达式的结果为2的选项是
11.对于32位机已知int x1;下列选项中错误的是
x 36 的值与 x 4 相等
~(-(x 1000)) 的值等于 1000
-1的二进制为32个1
x 31 1 的值为负数 12.下列运算符中不属于关系运算符的是 13.设char型变量x中的值为1010 1010则表达式(x5)^(-1)的计算结果的二进制为
14.关于位运算下列描述正确的是
操作题
1.Excel表列名称由字母A~Z组成列字母的规律如下A、B、C.....Z、AA、AB......AZ、BA、BB.......ZZZZY、ZZZZZ.......输入输入包含两个列名称字符串长度均小于等于5。输出输出两个列名称之间共有多少列样例输入AA AZ样例输出24
代码
2.九键拼音中数字与英文字母成对应关系2--abc, 3-def, 4-ghi, 5--jkl, 6--mno, 7--pqrs, 8--tuv, 9--wxyz。输入输入一个由英文小写字母组成的字符串(长度100000)输出输出其对应的九键数字。样例输入fwgeta样例输出394382
代码
3.给定两个字符串str1和str2(长度均10000)问字符串str2内每个字符是否能在字符串str1内找到输入第一行输入字符串str1第二行输入字符串str2输出若能找到则输出‘Y’否则输出‘N’样例输入abdcdewrtde wbaqx样例输出YYYNN
代码
4.有N个正整数求这N个正整数两两之间的最大公约数之积输入第一行输入正整数N(N100)第二行有N个正整数(10000)输出输出这N个正整数两两之间的最大公约数之积结果对1000000007取模样例输入46 8 9 10 样例输出24
代码 单选题
1.阅读以下语句:double m0;for(int i3;i0;i--)m1/i;将m保留三位小数输出结果为
A 0
B 1
C1.833
D6
答案B
解析涉及到了数据类型的特点i是int类型所以不能有小数所以计算1/i这个过程中三次计算的结果分别是001。因此m的结果也就是在001。最终结果也就是1 2.下列选项中不是C关键字的是
namespace
typename
main
class
答案C
解析
解释
namespace 是 C 关键字用于定义命名空间。typename 是 C 关键字用于声明类型名称。main 不是关键字它是 C 程序的入口函数名称。class 是 C 关键字用于定义类。 3.下列选项中运算结果的数据类型为double的选项是
AB-C 2-3.0*0
(int)1.05
10LL-10
答案B
解析这里涉及的是数据类型的转换
解释
AB-C此表达式中字符常量 A、B、C 会先转换为它们的 ASCII 值这些都是整数运算结果是整数类型。2-3.0*0此表达式中3.0 是一个 double 类型的常量乘法运算会导致整个表达式的结果类型为 double。即使是 0运算的结果也会保持为 double 类型。(int)1.05这里将 1.0 强制类型转换为整数结果是整数类型然后加上 5最终结果也是整数类型。10LL-10这里使用的是长长整型long long int减去一个整数 10结果仍然是长长整型。 4.下列运算结果的数据类型是int的选项为(
1
1LL A
A1
答案D
解析这里涉及的同为数据类型转换
1这是一个整数常量数据类型为 int但是我想的是这个过程并没有运算所以不符合题意1LL这是一个 long long int 类型的常量数据类型是 long long int而不是 int。A字符常量 A 没有表达式的话就是默认的char类型。A 1这个表达式首先会将 A 转换为整数值 65然后与 1 相加结果是 66仍然是 int 类型。 5. 关于C数据类型下列描述错误的是
相同数据类型所占字节数在不同系统中可能不同
枚举类型是C中的一种派生数据类型
对于小数1.0其默认数据类型是float
数据类型转换有自动转换、赋值转换、强制转换
答案C
解析对于小数 1.0C 默认的数据类型是 double而不是 float。这是因为浮点数常量默认会被视为 double 类型除非明确指定 f 后缀。例如
1.0 是 double 类型。1.0f 是 float 类型。 6.阅读以下代码: int main() { int x100; cout__①__x__②__ x; return 0; },若程序输出结果为64 144则下列选项中描述正确的是
可将①补全为oct②补全为hex输出结果为64 144
100的二进制为11000010
cout是一个ostream类的对象
变量x与0x144相等
答案C
解析对于A答案反了oct是八进制答案是144hex是16进制答案是64
对于B单纯的算错了
C属于 ostream 类的实例。ostream 类用于输出数据。正确
D:0x是16进制的意思这里算出来就是324和选项A对应 7. 下列选项中与控制输出精度有关的函数为
setf()
width()
setprecision()
fill()
答案C
解析认单词
setf()用于设置输出格式标志例如 setf(ios::fixed) 可以控制输出为定点格式但它本身并不直接控制精度。width()设置输出的最小宽度但不控制精度。它定义输出内容的最小宽度内容不足时会填充空格。setprecision()用于设置浮点数输出的精度控制小数点后位数。fill()用于设置填充字符常用于设置 width() 中空白位置的填充字符而不是控制精度。 8.关于C输入输出下列描述错误的是
getline()可以接收一个字符串包括空格
ofstream类的对象可以输出到文件
cin.getline()和getline()是一样的函数
cerr和clog流对象都是标准错误流但存在一些区别
答案C
解析cin.getline() 是 istream 类的成员函数专门用于从标准输入流读取一行字符串。而 getline()不带 cin是全局函数通常用于读取字符串数据无论是从标准输入流还是从其他输入流如文件流中读取。 9.若有int a;char b;string c;cinabc;则下列输入形式错误的是()
1回车a回车abc
1 a abc
1a abc
1,a,abc
答案D
解析char后面不是空格的任何输入都会算成string类型 10.下列位运算表达式的结果为2的选项是
~(-2)21
5^61
4%3*7/2
45?12:23
答案选B
解析5 ^ 6 1:
先计算 6 16 1 7然后表达式变为5 ^ 7计算 5 ^ 7 5 的二进制是 01017 的二进制是 0111按位异或0101 ^ 0111 0010即结果是 2。 11.对于32位机已知int x1;下列选项中错误的是
xlt;lt;36的值与xlt;lt;4的相等
~(-(x1000))的值等于1000 -1的二进制为32个1
xlt;lt;311的值为负数
答案D
x 36 的值与 x 4 相等
对于32位整数位移的最大有效范围是 0 到 31。位移操作的位数实际上是对32取模因此 x 36 等价于 x (36 % 32)也就是 x 4。这个选项是正确的因为 36 % 32 4所以 x 36 和 x 4 是相等的。
~(-(x 1000)) 的值等于 1000
先计算 x 1000x 1所以 x 1000 1001。对 1001 取负值-1001。然后对 -1001 进行按位取反~ 运算符按位取反相当于将每一位的 0 和 1 反转即 ~(-1001) 会得到 1000这是因为按位取反后我们得到的是 -1001 的补码表示反转的结果。这个选项是正确的因为 ~(-(x 1000)) 1000。
-1的二进制为32个1
在32位机器上-1 的二进制表示是补码表示补码表示中-1 的二进制是 11111111 11111111 11111111 11111111即 32个 1。这个选项是正确的因为 -1 的二进制表示确实是32个 1。
x 31 1 的值为负数
优先级问题运算符优先级中位移操作符优先级高于 所以 x 31 1 会被解析为 x (31 1)也就是 x 32。对于32位整数位移32位会将值移动回原来的位置即 x 32 实际上等价于 x。所以 x 32 结果是 1。这个选项是错误的因为 x 31 1 的值是 1而不是负数 12.下列运算符中不属于关系运算符的是
! lt;lt;
lt;
答案C
解析c选项就是位移运算符 13.设char型变量x中的值为1010 1010则表达式(x5)^(-1)的计算结果的二进制为
0101 0000
1010 1111
1111 1111
0101 0001
答案A
解析计算就是175的二进制对-1进行异或运算 14.关于位运算下列描述正确的是
位运算适用于所有基本数据类型
位运算的效率普遍较低
~(-3)的值为2
符号位不参与位运算
答案C
解析 位运算适用于所有基本数据类型 错误。位运算通常适用于整数类型如 int, char, long 等而不适用于浮点型如 float, double等数据类型。浮点数在内存中的存储方式与整数不同因此无法直接进行位运算。 位运算的效率普遍较低 错误。位运算实际上是非常高效的通常比加法、乘法等算术运算要快因为它直接操作位级数据不涉及复杂的算术计算。所以这句话是错误的位运算的效率通常较高。 符号位不参与位运算 错误。符号位是会参与位运算的。在二进制补码表示法中符号位实际上也是一个位并且在进行位运算如按位与、按位或、按位异或等时符号位也会参与运算。因此符号位会影响运算的结果。 15.若有一个3*3的int型二维数组n第一、二、三行分别存储数据为{123}、{456}、{789}有一个int型指针ppn[0]则(*(p2)2)的值为
2
3
4
5
答案选D
解析
p 是指向 n[0][0] 的指针也就是说 p 当前指向数组 n[0] 的第一个元素值为 1。p 2 会使指针向后偏移两个元素即跳过 n[0][0] 和 n[0][1]指向 n[0][2]即值为 3。*(p 2) 解引用该指针得到值为 3即 n[0][2] 的值。然后*(p 2) 2 就是 3 2 5。
操作题
必须要提的是这是我第一次参加这个计挑赛对比赛用的云端编辑器一点了解都没有
1.Excel表列名称由字母A~Z组成列字母的规律如下 A、B、C.....Z、AA、AB......AZ、BA、BB.......ZZZZY、ZZZZZ....... 输入 输入包含两个列名称字符串长度均小于等于5。 输出 输出两个列名称之间共有多少列 样例输入 AA AZ 样例输出 24
代码
#includebits/stdc.husing namespace std;int satoi(string s){int num 0;for(int i 0;is.size();i){num *26;num s[i] - A1;}return num;
}int main()
{string ar1,ar2;cinar1ar2;int num1 satoi(ar1);int num2 satoi(ar2);coutnum2-num1-1endl;return 0;
}2.九键拼音中数字与英文字母成对应关系2--abc, 3-def, 4-ghi, 5--jkl, 6--mno, 7--pqrs, 8--tuv, 9--wxyz。 输入 输入一个由英文小写字母组成的字符串(长度100000) 输出 输出其对应的九键数字。 样例输入 fwgeta 样例输出 394382
代码
#includebits/stdc.husing namespace std;int main()
{mapchar,intar;int len 0;int num 2;for(char a a;ao;a){ar[a]num;len;if(len3){num;len0;}}for(char a p;az;a){ar[a]num;len;if(len4){num;len0;}}ar[w]9;string s;cins;const char* s1 s.c_str();for(int i0;is.size();i){coutar[s1[i]];}return 0;
}3.给定两个字符串str1和str2(长度均10000)问字符串str2内每个字符是否能在字符串str1内找到 输入 第一行输入字符串str1 第二行输入字符串str2 输出 若能找到则输出‘Y’否则输出‘N’ 样例输入 abdcdewrtde wbaqx 样例输出 YYYNN
代码
#includebits/stdc.husing namespace std;int main()
{string str1,str2;cinstr1str2;for(int i0;istr2.size();i){if(str1.find(str2[i])!string::npos){coutY;}elsecoutN;}return 0;
}4.有N个正整数求这N个正整数两两之间的最大公约数之积 输入 第一行输入正整数N(N100) 第二行有N个正整数(10000) 输出 输出这N个正整数两两之间的最大公约数之积结果对1000000007取模 样例输入 4 6 8 9 10 样例输出 24
代码 #includebits/stdc.husing namespace std;const int n 1000000007;int main()
{int res 1;int N;cinN;vectorintar(N1);for(int i0;iN;i){cinar[i];}for(int i0;iN-1;i){for(int ji1;jN;j){res*__gcd(ar[i],ar[j]);}}coutres%n;return 0;
}