螁A)
7,4 4,10 8,8 10,10
袇B)
螆C)
薃D)
袈29、参考答案:B
【解析】strlen()用来返回字符串的长度,而sizeof()返回的是一个对象或者类型所占的内存字节数,即数组所占的内存。
蕿
若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元
素值的正确引用为( )。
薅30.
蚂A)
*(*(a+i)+j) (a+i)[j] *(a+i+j) *(a+i)+j
艿B)
肇C)
芄D)
羆30、参考答案:A
【解析】本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。
羃31.有以下程序:
薁#include
肆main()
莅{ char c1,c2,c3,c4,c5,c6;
蒁scanf(\,&c1,&c2,&c3,&c4);
莀c5=getchar(); c6=getchar();
膆putchar(c1);putchar(c2);
羄
螆printf(\,c5,c6); }
程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是( )
膃
腿
芆
袃
蚀
袈A)
1267 1256 1278 1245
莆B)
芄C)
莂D)
羀31、参考答案:D
蒆【解析】putchar(c1)输出1,putchar(c2)输出2,printf(\c%c\\n\,c5,c6)输出45。
蚄32.以下程序的运行结果是( )。
螀#include
蝿int a=1;
蒆int f(int c){ static int a=2;
肅c=c+1;
薂return(a++)+c;}
蒈main(){ int i,k=0;
薆for(i=0;i<2;i++){int a=3;k+=f(a);}
蒆k+=a;
羀printf(\,k);
薁}
蚅A)
17 16 15 14
肅B)
膄C)
螂D)
芇32、参考答案:D
蒆【解析】fun函数语句return(a++)+c;中访问的a,是其内部定义的静态局部变量,main函数中语句k+=f(a)访问的a是其局部变量,所以两次调用实际上都是调用f(3)。第一次调用时,fun函数中c=4,表达式(a++)+c的值为6,a递增为3,k=6。第二次调用时,fun函数中c=4,表达式(a++)+c的值为7,a递增为4,k=6+7=13。语句k+=a中的a是全局变量,所以k=13+1=14。
设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句
等价的是( )。
袆33.
薁A)
*p=*q; p=q; *p=&n1; p=*q;
莇B)
袇C)
莃D)
芀33、参考答案:A
【解析】本题考查的是指针变量的赋值。题目中各变量定义后,指针变量p指向了变量n2所在的存储单元,指针变量q指向了变量n1所在的存储单元,要使得n1的值赋给n2,可用指针变量q所指向的存储单元的值赋给指针变量p所指向的存储单元,即*p=*q。
芈34.设有如下说明:
肅typedef struct ST
莂{ long a;
蒇int b;
莇蒄char c[2]; }NEW;
以下说法正确的是( )。
膁
蝿
芄A)
NEW是一个结构体变量 NEW是一个结构体类型 ST是一个结构体类型 以上说明形式非法
薃B)
羃C)
薈D)
蚈34、参考答案:B
【解析】以上形式定义NEW表示ST的结构类型,然后可以用NEW来说明结构体变量。因此选项B)正确
莁35.有以下程序:
薁#include
螈#include
莅typedef struct{ char name[9]; char sex; float score[2]; }STU;
肃void f(STU a)
莀{ STU b={\,'m',85.0,90.0}; int i;
螈strcpy(a.name,b.name);
螆a.sex=b.sex;
薀for(i=0;i<2;i++) a.score[i]=b.score[i]; 腿}
袈main()
袃{ STU c={\,' f ',95.0,92.0};
薆f(c);
羄
膂printf(\,%c,%2.0f,%2.0f\\n\,c.name,c.sex,c.score[0],c.score[1]); }
程序的运行结果是( )。
节
薇
羄A)
Qian,f,95,92 Qian,m,85,90 Zhao,f,95,92 Zhao,m,85,90
芄B)
莂C)
羈D)
蚆35、参考答案:A
【解析】本题考查的是函数调用时的参数传递以及结构体变量的引用的问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个拷贝,函数f的所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c的值。
莂36.有以下程序:
荿#include
膄#define N 4
螂void fun(int a[][N],int b[]){ int i;
蒂for(i=0;i 袆main(){ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; 薁fun(x,y); 薁for(i=0;i 袇printf(\; 莄} 羃 薄程序的运行结果是( )。
计算机二级选择题试题库完整
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)