第 1 页:选择题 |
第 5 页:程序填空题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
31
是( )。
A.p向高地址移了一个字节
B.p向高地址移了一个存储单元
C.p向高地址移了两个字节
D.p与a+1等价
参考答案:A
参考解析:因为p是整型的指针变量,因此其移动一个位置即两个字节,故选择A选项。
32若有以下程序:
程序的输出结果是( )。
A.9.000000B.1.500000C.8.000000 D.10.500000
参考答案:C
参考解析:从函数参数来看,x=b-a=6.5;y=z是指向a的指针pa,也就是说*y=*z=2.5;由于指针作为参数,可以将函数中计算得到的对指针引用的*y,*x作为最后计算得到的a的值,从函数语句看,类似做这样的运算,a=a-1.0;a a+x;这里x=6.5于是计算得到,a=8;由于输出格式为浮点型,输出结果为8.0000000。因此正确答案为C。
33概要设计中要完成的任务是( )。
A.系统结构和数据结构的设计
B.系统结构和过程的设计
C.过程和接口的设计
D.数据结构和过程的设计
参考答案:A
参考解析:在c语言中软件概要设计的基本任务是设计软件系统结构、数据结构及数据库设计、编写概要设计文档和概要设计文档评审。
34下述程序的输出结果是( )。
A.4,4B.2,2C.4,5 D.2,4
参考答案:D
参考解析:首先定义了一个指向一维数组b的指针p,一个指向指针p的指针变量q;输出*(p++)是先输出*p,即b[0]的值,再将指针p指向数组的下一个元素b[1];输出**q是输出指针P所指单元的内容。
35设有以下定义:
union data
{int d1;float d2;}demo;
则下面叙述中错误的是( )。
A.变量demo与成员d2所占的内存字节数相同
B.变量demo中各成员的地址相同
C.变量demo和各成员的地址相同
D.若给demo.D1赋99后,dem0.d2中的值是99.0
参考答案:D
参考解析:共用体变量中的所有成员共享一段公共存储区,所有成员的首地址相同。在每一个时刻所有的成员中只有一个有效,即只有最后一个被赋值的成员有效,其余的成员无效。
36下列程序的运行结果是( )。
A.x=27,y=27B.x=12,y=l3C.x=15,y=14D.x=y=27
参考答案:C
参考解析:逗号表达式的解题思路是从左到右,依次求解,整个逗号表达式的值就是最后一个表达式的值。表达式(x=3*y,x+1)中,依次是x=3*y=3*5=15,表达式x+1—16,但没有给x或y赋值,所以x还是等于15;第3个表达式x-1-15-1=14,所以y的值为14。
37合法的C语言赋值语句是( )。
A.a=b=58B.k=int(a-4-b);C.a=58,b=58 D.--1;
参考答案:D
参考解析:赋值语句两个标志:赋值(就是“=”)和语句(加上“;”)。选项A,缺少分号,应该改为a=b=58;选项B,错误,类型转换不是这么写,应该是这样:k=(int)(a+b);C选项中缺少分号;选项D,相当于i=i-1,所以也可以算作赋值操作。
38下列程序的输出结果是( )。
A.13579B.48579C.48549 D.48999
参考答案:C
参考解析:本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[o]+b[1],b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值。在主函数中,通过调用fun函数,按上面的规则对数组a重新赋值,最后输出数组a。
39若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。
A.
B.
C.
D.
参考答案:B
参考解析:选项B表示把整型数组a[0]的指针赋给p[0]。
40设在C语言中,float类型数据占4个字节,则double类型数据占( )个字节。
A.1B.2C.8 D.4
参考答案:C
参考解析:C语言中各种数据类型在内存中所占的字节数与机器的位数有关,16位机中(也就是在标准C中),若int类型数据占2个字节,则float类型数据占4个字节,double类型数据占8个字节。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |