免费找题库的网站推荐 计算机二级选择题题库( 四 )


24.有以下程序:
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-a+A;
s++; } }
main()
{ char str1[100]=”abcddfefdbd”,c=d;
ss(str1,c); printf(“%s\n”,str1);}
程序运行后的输出结果是() 。
A) ABCDDEFEDBD
B) abcDDfefDbD
C) abcAAfefAbA
D) Abcddfefdbd
24、参考答案:B
在内存中,字符数据以ASCII码存储,它的存储形式与整数的存储形式类似 。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCII码进行算术运算,在本题中,s++相当于s=s+1,即让s指向数组中的下一个元素 。
25.现有如下程序段:
#include “stdio.h”
main()
{ int k[30]={12,324,45,6,768,98,21,34,453,456};
int count=0,i=0;
while(k[i])
{ if(k[i]%2==0||k[i]%5==0)count++;
i++; }
printf(“%d,%d\n”,count,i);}
则程序段的输出结果为() 。
A) 7,8
B) 8,8
C) 7,10
D) 8,10
25、参考答案:D
在C语言中,定义一维数组的语句一般形式如下:
类型名 数组名[常量表达式];
一维数组的引用形式为:数组名[下标表达式] 。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素 。
26.以下程序运行后的输出结果是() 。
#include<string.h>
void f(char *s,char *t){ char k;
k=*s;
*s=*t;
*t=k;
s++;t--;
if(*s)f(s,t);
}
main(){ char str[10]=”welcome”,*p;
p=str+strlen(str)/2+1;
f(p,p-2);
printf(“%s\n”,str);
}
A) eelcomw
B) weoclme
C) welcome
D) emoclew
26、参考答案:D
该程序中f函数的功能是交换两个位置字符的值,f函数共调用3次,依次更改了字符串中l和o、e和m、w和e的值,因此更改后的字符串的值是emoclew 。
27.设有如下程序段:
int x=2004,y=2008;
printf(“%d\n”,(x,y));
则以下叙述中正确的是
A) 输出值为2004
B) 输出值为2008
C) 运行时产生出错信息
D) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
27、参考答案:B
(x,y)考查逗号表达式,逗号运算符的结合性为从左到右,因此,最后一个表达式的值就是此逗号表达式的值,因此选项B)正确 。
28.有以下程序:
#include <stdio.h>
void fun(char*c,int d){ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main(){ char b=a,a=A;
fun(&b,a); printf(“%c,%c\n”,b,a);
}
程序运行后的输出结果是() 。
A) b,B,b,A
B) b,B,B,A
C) a,B,B,a
D) a,B,a,B
28、参考答案:A
函数fun的第一个参数传指针,可以将更改后的值传回调用函数,第二个参数传值,不能将更改后的值传回调用函数,故选A) 。
29.有以下程序:
#include <stdio.h>
#include <string.h>
main(){ char a[10]=”abcd”;
printf(“%d,%d\n”,strlen(a),sizeof(a));
}
程序运行后的输出结果是() 。
A) 7,4
B) 4,10
C) 8,8
D) 10,10
29、参考答案:B
strlen()用来返回字符串的长度,而sizeof()返回的是一个对象或者类型所占的内存字节数,即数组所占的内存 。
30.若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为() 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: