第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
第 8 页:参考答案 |
21.B。【解析】y--的作用是先取其值作为表达式的值,然后Y的值减1存入Y。当y>0时循环继续,直到y=0时循环结束,然后Y值减l存入Y中,所以选B。
22.C。【解析】本题中,语句printf函数输出的是字符指针S所指变量的ASCIl表对应值,即ASCIl表中值为s[0]+2的字符。所以选C。
23.B。【解析】字符数组长度为7,因为C语言中系统会在字符串末尾加入一个字符’\0’,而x[O]=0的作用是将一个整数0存入字符数组中,系统会自动将整型数0转换成字符’\o’。所以输出为7,0。
24.D。【解析】本题考查函数返回值作参数,最初n=1,f(n)=f(1)=2,将f(n)的结果代入第二个f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。
25.C。【解析】A中P是指针,没有初始化,且取P的地址即类型为指向地址的地址,与输出参数类型不符。B中指针P没有初始化,且P所指变量值不明。D*p是整型变量,&k是整型变量的地址。所以选C。
26.D。【解析】本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。
27.D。【解析】选项A、B中n为变量,C语言中不允许动态定义数组维数,即维数不能是变量。选项C无此语法。
28.D。【解析】选项A中,其他元素会自动以0填充。选项C中维数是常量表达式,故没错。
29.D。【解析】本题考查参数的按值传递。调用f(r),函数创建一个整型指针P,然后将r的值传给P,即P也指向a,p=p+3,输出P所指变量的值,即数组右移3位,即a[O+3]的值4,然后,函数结束,指针P被销毁,r中的值不变,还指向a[0],所以输出为4,1。
30.A。【解析】对下标为偶数的元素进行降序排序,下标为奇数元素保持不变。
31.A。【解析]strcmp(char*,char*),函数strcmp用于比较两个字符串的长度,长者为大,若字符个数也一样,则从左至右依次比较相同位上的字符,字符大小按ASCIl表值计算,直到最后一个字符,若还相同,则两个字符串相等,返回值0。选项A中if(strcmp(s2,sl)=
=0)ST,若s2等于sl,则返回值0,0等于0,所以逻辑表达式strcmp(s2,sl)= =0为真,执行ST。
32.C。【解析】C项复制时没有复制结束串“\0”。
33.B。【解析】C语言中以字符’\0’作为字符串结束的标志。本题中字符串a实际为“ABCD”,函数str-cat将串a和串b连接,所以选B。
34.C。【解析】循环语句while(p[i],依次从字符串的首字符开始处理,若处理到了最后一个字符即 p[i]=’\0’则停止。“p[i-1]=p[i-1]=’a’+’A’;”实现字符的替换。
35.D。【解析】本程序主要考查递归函数。fun(7),首先将参数代入函数,因为(7/2)>1,所以执行f(3),依此类推直到f(1.5),(1.5/2)<1,所以执行打印函数,此时X值为3,然后退出f(1.5),返回f(3),打印x值即7。所以选D。
36.B。【解析】本题考查静态变量,C语言中静态变量的生存期是从程序的开始到结束。本题中静态变量x,随着每次进入循环不断增长5次,返回的值分别为2、3、4、5、6。所以S=1+2+3+4+5+6=21, 选B。
37.A。【解析】本题中,首先创建一个动态内存,然后将地址分别存入指针a、b、c中,即a、b、c都指向相同.的变量。分别给a、b、c所指的变量赋值,最终a、b、c所指的变量中的值为3,最后打印a、b、c所指的变量
38.C。【解析】函数sizeof( )的参数为C中定义或者用户自定义的数据,作用是返回参数所指的数据类型所占用的内存空间的字节数。本题中A是整型,B是双精浮点数,分别占4个字节和8个字节。所以选C。
39.B。【解析】语句typedef struct S{int g;char h;)T的作用是用T作为struct S{int g;char h;)的简写,所以选B。
40.D。【解析】124的2进制值为1111100,要输出为248即124*2,则2进制值为11111000,即右移l位,所以选D。
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |