50.函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )
A.将字符串strl复制到字符串str2中后再连接到字符串str3之后
B.将字符串strl连接到字符串str2中后再复制到字符率str3之后
C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后
D.将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中
【解析】函数调用strcat(s1,s2)是将s2字符串复制连接到s1字符串之后,使s1字符串变得更长。函数调用strcpy(s1,s2)是将s2字符串复制到s1,使s1字符串的内容与s2字符串的内容相同。函数调用strcat(strcpy(strl,str2) ,str3) 是先执行strcpy(strl,str2),然后再执行strcat(strl,str3),所以其功能是将字符串str2复制到字符串strl中,然后再将字符串str3复制连接到字符串strl之后。正确的选择是C。
【参考答案】C
51.设有如下定义,则正确的叙述为( )
char x[]={"abcdefg"};
char y[]={'a','b','c','d','e','f','g'};
A.数组x和数组y等价
B.数组x和数组y长度相同
C.数组X的长度大于数组y的长度
D.数组X的长度小于数组y的长度
【解析】不指定数组长度的字符数组定义,其所需要的字节数可由初始化中给出的值的个数确定。字符数组可以用字符串初始化,也可用字符逐个给字符数组的元素初始化。但用字符初始化时,尽管给出了字符串中的全部字符,还是不会自动有字符率结束字符。但字符串初始化自动会含有字符串的结束标记符,字符串初始化所需要的字节个数会比用同样多的字符初始化多1个字节。所以只有C才是正确的。
【参考答案】C
52. 循环语句“for(x=0, y=0;(y!=123)||( x<4);x++);”的循环执行( )
A.无限次
B.不确定次
C.4次
D.3次
【解析】for循环语句的初始化部分置变量x和y的初值为0,循环条件是(y!=123)||(x<4),每次循环后变量X的值增1。由于循环过程中变量y的值本被修改过,循环条件又是一个逻辑或,其左分量(y!=123)永远成立,也就是循环条件永远成立。所以该循环语句将循环执行无限次。正确解答是A。
【参考答案】A
53.在计算机上可以直接运行的程序是写( )
A.高级语言程序
B.汇编语言程序
C.机器语言程序
D.C语言源程序
【解析】C语言源程序就是高级语言程序,都需要通过编译程序翻译成二进制目标程序才能执行;汇编语言源程序也需要通过汇编程序翻译成二进制目标程序才能执行。二进制目程序就是机器语言程序,可以在计算机上直接运行。
【参考答案】C
54.下列符号串中,合法的C语言标识将是( )
A._121
B.121_
C.a.121
D.#121
【解析】分析备选答案A:是下划线开头的数字串,符合 C语言关于标识符的构成规则“字母、下划线开头的字母、数字、下划线组成的一串符号”,所以该答案是正确的,符合题意至于备选答案B:是以数字开头的,不是标识符;备选答案C:含有非法符号“.”;备选答赛D:含有非法符号“#”,这三个答案都是错误的,不符合题意。
【参考答案】 A
55.下列符号串中,合法的十进制整型常量是( )
A.09876
B.0x9876
C.9.876*e4
D.-9876
【解析】分析备选答案A:是数字“0”开头的数字率,是人进制整型常量,而且其中出现了数字“8”和“9”,是错误的八进制常量,不符合题意。备选答案B:是“0x”开头的数字率,是十六进制整型常量,不符合题意。备选答案C:出现了小数点“.”。运算符“*”及“e”符号,是错误的常量,不符合题意。至于备选答案D:是正确的整型十进制常量,所以本题应选答案D。
【参考答案】D
56.设有关变量已经正确定义并赋值,则下列表达式中符合