- 力的合成
- 共6037题
某工程项目的设备及工器具购置费为1200~Y元,建筑安装工程费为1500万元,工程建设其他费为600H元,基本预备费率为6%,则该工程项目的基本预备费为( )。
A.432万元
B.126万元
C.198万元
D.108万元
正确答案
C
解析
暂无解析
以下叙述中错误的是______。
A.可以通过typedef增加新的类型
B.可以用typedef将已存在的类型用一个新的名字来代表
C.用typedef定义新的类型名后,原有类型名仍有效
D.用typedef可以为各种类型起别名,但不能为变量起别名
正确答案
A
解析
[解析] typedef用来声明新的类型名来代替已有的类型名,typedef只是对已经存在的类型增加了一个类型名,原有类型名仍有效。typedef不能用来定义变量。
以下叙述中错误的是______。
A.C语句必须以分号结束
B.复合语句在语法上被看做一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
正确答案
C
解析
[解析] C程序中所有语句都必须由一个分号“;”作为结束符。如果只有一个分号,这个分号也是一条语句,称为“空语句”,程序执行时不产生任何动作。程序设计中有时需要加一个空语句来表示存在一条语句,但随意加分号也会导致逻辑上的错误,影响程序的运行。所以选项C的说法是错误的。
以下叙述中错误的是______。
A.C语言源程序经编译后生成后缀为.obj的目标程序
B.C程序经过编译、连接步骤后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在一个文本文件中
D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
正确答案
D
解析
[解析] C语言程序编译时,每条可执行语句将转换为二进制的机器指令,非执行语句如注释语句等不被编译。
要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是______。
A.while((ch=getchar())!='N')printf("%c",ch);
B.while(ch=getchar()!='N')printf("%c",ch);
C.while(ch=getchar()=='N')printf("%c",ch);
D.while((ch=getchar())=='N')printf("%c",ch):
正确答案
A
解析
[解析] 因为while是以条件为假时结束循环,因此选项C、D不正确。“!=”的优先级比“=”高,因此“ch=getchar()!='N'”相当于“ch=(getchar!='N')”,ch并不能得到输入的字符,只能得到true或者false值。
下列选项中不属于结构化程序设计方法的是______。
A.自顶向下
B.逐步求精
C.模块化
D.可复用
正确答案
D
解析
[解析] 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是______。
A.a^b
B.a|b
C.a&b
D.a<<4
正确答案
A
解析
[解析] 1与1异或结果为0,0与1异或结果为1,可见要使某位数翻转,只要使其与1进行异或运算即可。0与0进行异或运算结果为0,1与0进行异或运算结果为1,可见要使某位的数不变,只要使其与0进行异或运算即可。
有以下程序:
#include<stdio.h>
main()
int s[12]=1,2,3,4,4,3,2,1,1,1,2,3,c[5]=0,i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf("%d",c[i]);
printf("\n");
程序的运行结果是______。
A.1 2 3 4
B.2 3 4 4
C.4 3 3 2
D.1 1 2 3
正确答案
C
解析
[解析] 程序中定义了两个数组s和c,数组c中有5个元素,每个元素的初始值为0;数组s中有12个元素,包含4个“1”,3个“2”,3各“3”,2个“4”。第一个for语句中,用s[i]作为c数组的下标,用于统计s[i]中相同数字的个数,同时将统计的结果放在以该数字为下标的c数组中。第二个for语句用于将c数组中a[1]~a[4]4个元素输出。
设有条件表达式:(EXP)i++:j--,则以下表达式中与(EXP)完全等价的是______。
A.(EXP==0)
B.(EXP!=0)
C.(EXP==1)
D.(EXP!=1)
正确答案
B
解析
[解析] 本题考查的重点是条件表达式的用法。条件表达式首先判断“(EXP)”是真值还是假值。而在C语言中,真值是任意非零值,也可以是负数,而假值是零。因此,与条件表达式中“(EXP)”完全等价的是选项B。
有以下程序:
main()
int a,b,d=25;
a=d/10%9;b=a&&(-1);
printf("%d,%d\n",a,b);
程序运行后的输出结果是______。
A.6,1
B.2,1
C.6,0
D.2,0
正确答案
B
解析
[解析] 本题的考点是关于C语言的整数运算和逻辑运算。由于d初值为25,“a=d/10%9中d/10”整除结果是2,再用9求余结果仍是2,因此a的值为2。而对于“b=a&&(-1)”,由于a值为2不为0,-1也不为0,因此“a&&(-1)”结果为真,b值是1。输出结果应该是2、1。正确选项是B。
扫码查看完整答案与解析