int divide(int m,int n) { return m/n; }
double divide(int m,double y) { return m/(int)y; }
四川省计算机二级考试第十九次C与C++语言笔试试卷 共136页 第14页
double divide(double x,double y) { return x/y; }
① 输入数据7 2 7.0 2.0 ,语句L1输出结果是( 30 )。 30 (A) 0 (B) 1 (C) 3 (D) 3 .5 ② 输入数据7 2 7.0 2.0 ,语句L2输出结果是( 31 )。 31 (A) 0 (B) 1 (C) 3 (D) 3 .5 ③ 输入数据7 2 7.0 2.0 ,语句L3输出结果是( 32 )。 32 (A) 0 (B) 1 (C) 3 (D) 3 .5
4. # include
void main() {
unsigned int a=0112,x,y,z; x=a>>3; y=~(~0<<4); z=x&y;
printf(\ printf(\}
该程序中执行第一个printf函数后,输出为( 33 )。 33 (A)11 17 11 (B) 17 11 17 (C) 11 17 17 (D) 17 17 11 该程序中执行第二个printf函数后,输出为( 34 )。 34 (A) 1 7 1 (B) 0112 (C) 1 (D) 0
5.以下程序运行的结果为( 35 )。
# include void swap1(int a,int b) { int temp;
temp=a; a=b; b=temp; }
void swap2(int &a,int &b) { int temp;
temp=a; a=b; b=temp; }
void main() { int i=3, j=5; swap1(i,j);
printf(\ %d\\n\ swap2(i,j);
printf(\ %d\\n\}
35 (A) 3 5 (B) 5 3 (C) 5 3 (D) 3 5 3 5 5 3 3 5 5 3
6.读下列递归程序,回答问题。
# include void fun(char *strp)
四川省计算机二级考试第十九次C与C++语言笔试试卷 第 15 页 共 136 页
第 16 页 共 136 页
{ char *t;
if(*strp) { t=strp; t++; fun(t); putchar(*strp); } }
void main()
{ int i,a[10]={0,1,2,3,4,5,6,7,8,9}; char str[11];
for(i=0;i<10;i++) str[i]=a[i]+'0'; str[i]='\\0'; fun(str); }
程序中的fun函数被调用( 36 )次。 36 (A) 9 (B) 10 (C) 11 (D) 12 程序的输出结果为( 37 )。 37 (A) 0123456789 (B) 9876543210 (C) 01234 (D) 98765 56789 43210
7. 读下列C程序,若输入字符串Examination ,请选择正确的输出结果。
# include void main() { char str[20]; int i=0;
static int count[2]={0}; gets(str); do {
switch(str[i++]) {
case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O':
case 'u': case 'U': count[0]++; /* break; */ default: count[1]++; }
}while(str[i]!='\\0');
printf(\}
程序的输出结果为( 38 )。 38 (A) count[0]=6,count[1]=11 (B) count[0]=6,count[1]=12
(C) count[0]=5,count[1]=11 (D) count[0]=5,count[1]=12 若将程序中注释语句的注释标记去掉,则程序的输出结果为( 39 )。 39 (A) count[0]=6,count[1]=11 (B) count[0]=6,count[1]=5
(C) count[0]=5,count[1]=11 (D) count[0]=6,count[1]=6
四川省计算机二级考试第十九次C与C++语言笔试试卷 共136页 第16页