第 1 页:选择题 |
第 5 页:答案 |
21.B。【解析】水平制表符中,’\t’表示的是横向跳若干格;选项B中,’\039’错误,’\039 ’是八进制形式表的字符,最大数为7,但其中出现’ 9’,’,’是字符逗号;选项D中,’\n ’表示的是换行。
22.B。【解析】第一个for循环的作用是让p指向每行的首地址,第二个for循环的作用是把它指向的字符串输出,故选择B选项。
23.D。【解析】当k=1时,循环成立,输出w[l]的数组即EFGH,接着执行k++后k为2;当k=2时,循环成立,输出w[2]的数组即IJKL,接着执行k++后,k为3;当k= 3时,循环不成立,退出。
24.D。【解析】因为a是结构体变量,最后一次输入的值为结构体中的值,即a中的任何一个值都为0。
25.B。【解析】在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。
26.B。【解析】(x&1)&&(z<’ 2 ’)=(0.5&1)&&(’a’ <’z’)=1&&1=1,故选择B选项。
27.D。【解析】要想使程序输出25,则j-40=25,j=65,而j初值是50,所以填入for循环的语句,使引用的数组元素累加65-50=15即可,D选项中,i下标从0开始,i=2指向第3个数50+a[2]=50+10=60,继续循环60+a[3]= 60+5=65,此时i=4跳出,循环结束。
28.B。【解析】二维数组的元素可以看成是按矩阵形式存放的,数组第一维的下标是i,说明它前面还有i行,有i* m个元素,数组第二维的下标是j,说明它前面还有j列,有j 个元素,所以共有i*m+j个元素。
29.D。【解析】static变量是局部度量,函数无法修改,所以当i=1时,第2次进入f函数时c=5,所以最终main( ) 函数中C的值为5。
30.A。【解析】本题主要考查结构体数组的使用。x [i].num为结构体x[i]中的hum成员,x[i].num[2]是结构体x[i]中name成员的第3个元素。程序执行循环过程时:第1次循环,i=1,输出x[i].num,x[1].name[2]的值;第2次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第3 次循环,i=3,输出X[3].hum,x[3].name[2]的值,即4A;第4 次循环,i=4,输出x[4].num,x[4].name[2]的值,即5U。
31.A。【解析】本题主要考查按位求反运算和C语言正负数的表示,“O”代表正数,“1”代表负数;x=7的二进制为00111,第一个0代表正数,~x为11000,第一个l代表负数,值为8。
32.A。【解析】函数fun的作用是将指针a指向指针b 的内容,然后将该内容加1。执行语句“fun(p1,p2);”后,pl 和p2指向的地址并未改变,只是将p2指向的存储单元的值增加l。所以,答案是A。
33.A。【解析】函数int fun(int n)的功能是求1+2+…+n的值并返回。所以执行程序时,给变量x输入10后,执行语句“x=fun(x);”,X的值将变为1到10中10个整数的累加和,即55。
34.D。【解析】a、b、C都是按值传递给函数f,函数f不能改变它们的值。所以,a、b、t的值仍然是4、3、5。
35.B。【解析】本题考查switch,case语句,当k=0时,循环体成立,执行switch后表达式的值为’1’,执行case’1 ’,i的值为0,因为没有break语句,继续执行其后的语句,到最后一个语句时i的值为3,此时v[i] ++,v[3]=1,接着执行k++ 后,k的值为1,当k=1时,循环成立。执行switch后的表达式的值为’2 ’,执行case’2’,i的值为1,因为没有break语句,继续执行其后的语句,到最后一小语句时,i的值为3,此时v[i] ++,v[3]=2,接着执行k++后,k的值为2,依次下去,case
’4 ’也会执行,最后i的值一定为3,到v[3]=8时循环结束,而v[0]~v[2]的值一直没有变化,故选择8选项。
36.C。【解析】x的值为寸进制数102,而Y的值为八进制数012,根据题意将y用十进制表示为10%md,rn为指定输出数据的宽度,若位数小于m则左端补以空格,若位数大于m则按实际输出。所以答案是C。
37.B。【解析】while语句执行如下:
当z=3,x=0时,表达式Z-->0 &&++x<5为真,z的值变为2,x的值变为1,执行语句“y=y-1;”,y的值变为4;
当z=2,x=1时,表达式z-->O&&++x<5为真,z的值变为1,x的值变为2,执行语句“y=y-1;”,y的值变为3;
当z=1,x=2时,表达式z-->0&&++x<5为真,z的值变为0,X的值变为3,执行语句“y=y-1;”,y的值变为2;
当z=0,x=3时,表达式z-->0为假,表达式(Z-->O&&++x<5)为假,z的值为-1,不进行++x<5的判断,不执行语句y=y-1;;
所以x的值为3,y的值为2,z的值为-1。答案为B。
38.D。【解析]continue语句的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
39.B。【解析】对于第i行,程序先输出4-i个空格,然后输出2×i-1个"*",所以答案是B。
40.A。【解析】位置指针当前值函数ftell( )的基本调用格式为ftell(fp)。
ftell函数的功能:得到fp所指向文件的当前读写位置,即位置指针的当前值,如果函数的返回值为-1L,表示出错。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |