在 C/C++ 中,(char)('a'+13) 与下面的哪一个值相等?( )
B:'n'。'a'+13='a'+13='n'(a=97, +13=110='n')。
'3' 是一个 int 类型常量。
'3'是char字符常量非int
常量 '3' 的数据类型是( )。
'3'是单引号字符常量,类型char。char字面量用单引号,string用双引号
定义变量 char c,下面对 c 赋值的语句,不符合语法的是( )。
D:c=char 66;缺括号。函数调用需(...),类型转换(char)66或char(66)正确
如果 a 和 b 都是 char 类型的变量,下列哪个语句不符合 C++ 语法?
C: 'a'++。字符字面量不可++,a++合法
如果 a 为 char 类型的变量,且 a 的值为 '2',则下列哪条语句执行后,a 的值不会变为 '3'?
B: a+1(无赋值不存)。其他都修改a为字符3
如果 a 为 char 类型的变量,下列哪个表达式可以正确判断“a 是小写字母”?
D: a>='a' && a<='z'。单字符比较判小写
如果 a 是 int 类型的变量,而且值为 1,则表达式 'a' 的值为 '1'。
错。a是int=1,'a'是char字面量=97,不是1
如果 a 为 char 类型的变量,且取值为小写字母,则执行语句 a = a - 'a' + 'A'; 后,a 的值会变为与原值对应的大写字母。
正确。小写转大写:a-'a'+'A'。例'b'=98-97+65=66='B'
如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )。
C: 6。Hello+\0共6字符
字符常量 '\0' 常用来表示字符串结束,它和字符常量 '0' 是不同的。
正确。\0是空字符0,0是数字0
在 C++语言中,可以使用字符(如 '0')作为数组下标。
正确。字符自动转int可作下标
如果 a 为 char 类型的变量,下列哪个表达式可以正确判断“a 是大写字母”?( )
D: ('A'<=a) && (a<='Z')。逻辑与判大写范围
字符常量 '3' 的值和 int 类型常量 3 的值是相同的,只是占用的字节数不同。
错。位运算没"先乘除后加减"规则
下面 C++ 数组的定义中,会丢失数据的是( )。
C: char dict_name[]={'chen','wang','zhou'}字面量是字符串指针不是字符,会丢
下面 C++ 代码执行后不能输出 "GESP" 的是( )。
A: 1.5。int/int=1, 11.0=1.0实际输出1不是1.5; a/b1.0 = 3/21.0 = 11.0=1.0; 但题意1.5. 实际a/b=1, 1*1.0=1.0. 跳过
执行下面 C++ 代码后,输出是( )。
01string str=("chen"); 02int x=str.length(); 03int temp=0; 04for(int i=0;i<=x;i++) 05{ 06 temp++; 07} 08cout<<temp<<endl;
(跳,需完整选项)
执行下面 C++ 代码后输出的是( )。
01string str=("chen"); 02int x=str.length(); 03cout<<x<<endl;
(跳,需完整选项)
下面 C++ 代码用于统计每种字符出现的次数,当输出为 3 时,横线上不能填入的代码是( )。
01string str="GESP is a good programming test!"; 02int x=0; 03for(int i=0;i<str.length();i++) 04{ 05 if(____________) 06 { 07 x++; 08 } 09} 10cout<<x<<endl;
(跳,需完整选项)
C++ 代码用于抽取字符串中的电话号码。约定:电话号码全部是数字,数字之间没有其他符号如连字符或空格等。代码中变量 strSrc 仅仅是示例,可以包含更多字符。下面有关代码说法,正确的说法是( )。
01string strSrc="红十字: 01084025890火警电话: 119急救电话: 120紧急求助: 110"; 02string tel=""; 03for(int i=0;i<=strSrc.length();i++) 04{ 05 if(strSrc[i]>='0'&&strSrc[i]<='9') 06 { 07 tel=tel+strSrc[i]; 08 } 09 else if(tel!="") 10 { 11 cout<<tel<<endl; 12 tel=""; 13 } 14}
A: 输出各电话号码。遍历字符遇数字拼接,遇非数字且tel非空时输出并清空
执行下面 C++ 代码后将输出 "China"。
01string a="china"; 02a.replace(0,1,"C"); 03cout<<a<<endl;
正确。a="china", replace(0,1,"C")替换"c"为"C"得"China"
已知字符 '0' 的 ASCII 编码的十进制表示为 ,则执行下面 C++ 代码后,输出是( )。
01int main() 02{ 03 string s="316"; 04 int n=s.length(); 05 int x=0; 06 for(int i = 0; i < n; i++) 07 x += s[i]; 08 cout << x << endl; 09 cout << endl; 10 return 0; 11}
C: 154。x+='3'+'1'+'6'=51+49+54=154
在下列代码的横线处填写( ),可以使得输出是 GESP IS INTERESTING。
01int main() 02{ 03 string str="gEsP is Interesting"; 04 int x = str.length(); 05 for(int i = 0; i < x; i++) 06 if ((str[i]>='a') && (str[i]<='z')) 07 ____________; 08 cout << str << endl; 09 cout << endl; 10 return 0; 11}
C: 操作系统。鸿蒙是华为OS
假设英文句子由若干词构成。下面 C++ 代码统计输出的词数是( )。
01int main() 02{ 03 string str="gEsP is Interesting !"; 04 int x = str.length(); 05 int nwords = 0; 06 07 for(int i = 0; i < x; i++) 08 if (str[i]==' '){ 09 nwords++; 10 while(str[++i]==' ') ; 11 } 12 cout << nwords << endl; 13 14 cout << endl; 15 return 0; 16}
C: 发明汉字激光照排系统
C++ 的字符变量的码值是整数,下面字面量形式的字符码值最大的是( )。
C: 0x70=112最大。100<075(61)<0x70(112)>0x60(96)
执行下面 C++ 代码后将输出 。
01int main() 02{ 03 string str="gEsP is Interesting"; 04 int x = str.find("s"); 05 cout << x << endl; 06 cout << endl; 07 return 0; 08}
正确。str.find("s")在索引2
在 C++ 语言中,字符数组被定义时,它的大小可以调整。
错。字符数组大小定义时固定
如果字符串定义为 char str[] = "GESP";,则字符数组 str 的长度为( )。
(跳,需完整选项)
已知字符 '0' 的 ASCII 编码的十进制表示为 ,则执行下面 C++ 代码后,输出是( )。
01#include <iostream> 02using namespace std; 03int main() { 04 string s = "0629"; 05 int n = s.length(); 06 int x = 0; 07 for(int i = 0; i < n; i++) 08 x += s[i]; 09 cout << x << endl; 10 return 0; 11}
C: 209。x+='0'+'6'+'2'+'9'=48+54+50+57=209
下面可以正确输出 They're planning a party for their friend's birthday. 的 C++ 语句是?( )
D: 双引号包内单引号不转义,末尾句点在外"
如果执行下面 C++ 代码后,输出的结果是"gesp ccf org cn",则横线上应填入哪个代码?( )
01#include <iostream> 02using namespace std; 03int main() { 04 string str = "gesp.ccf.org.cn"; 05 string delimiter = "."; 06 string result=""; 07 08 string token; 09 size_t found = str.find(delimiter); 10 while (found != string::npos) { 11 token = str.substr(0, found); 12 result += token; 13 result += " "; 14 ____________ // 在此处填入代码 15 found = str.find(delimiter); 16 } 17 18 result += str; 19 result += " "; 20 21 //最后一部分 22 23 cout << result << endl; 24 return 0; 25}
A: str=substr(found+1, len-found-1)。移过.继续找
字符常量 '\0' 常用来表示字符串结束,和字符常量 '0' 相同。
错。\0是空字符(0),0是数字0(48),不同
下列程序输出的是( )。
01string str = "Hello,CHAD"; 02cout << str.find("A") << '\n';
B: 8。"Hello,CHAD"中A索引8
下列程序输出的是 A。
01char x=65; 02x++; 03cout<<x++<<endl;
错。x=65→A,x++=66→B,输出B不是A
下列程序输出的是 。
01string str="CHADai"; 02size_t pos = str.find('D'); 03cout<<pos<<endl;
错。str.find("D")在索引2不是3
在如下的 C++ 代码中实现了对字符串中出现的 个字母的个数统计,横线处应填入是( )。
01string str="HELLO CHEN A DAI"; 02int strlen=str.length(); 03char alpha[26]={65}; 04int cnt[26]={0}; 05for(int i=1;i<26;i++) 06{ 07 ____________; 08} 09for(int i=0;i<26;i++) 10{ 11 cout<<alpha[i]<<" "; 12} 13cout<<endl; 14for(int i=0;i<26;i++) 15{ 16 for(int j=0;j<strlen;j++) 17 { 18 if(alpha[i]==str[j]) 19 { 20 cnt[i]++; 21 } 22 } 23} 24for(int i=0;i<26;i++) 25{ 26 cout<<cnt[i]<<" "; 27}
A:alpha[i]=alpha[i-1]+1。char alpha[26]={65} 把 alpha[0]='A'(65),循环从 i=1 起递增,每个元素等于前一个加 1,得到 'A','B',...,'Z'。