设有两行定义语句:
int scanf;
float case;
则以下叙述正确的是
A.第 1 行语句不合法
B.两行定义语句都合法
C.第 2 行语句不合法
D.两行定义语句都不合法
答案:D
解析:
设有定义:double x=2.12;,以下不能完整输出变量 x 值的
语句是
A.printf(“x=%5.0f\n”,x)
B.printf(“x=%f\n”,x);
C.printf(“x=%lf\n”,x);
D.printf(“x=%0.5f\n”,x);
答案:A
解析:
A.
printf("x=%5.0f\n", x);
%5.0f
表示输出浮点数,宽度为 5,精度为 0。这将输出x
的整数部分,并将小数部分四舍五入到最接近的整数。因此,2.12
会被输出为2
,不符合要求。
以下能正确表述算式 sin(2πr+30°)的 C 语言表达式是
A.sin(23.14r+3.1430/180.0)
B.sin(2πr+ 30 )
C.sin(23.14r+ 30 )
D.sin(23.14r+303.14/360.0)
答案:A
解析:
在 C 语言中,数学函数和常量(如
sin
函数和π
)需要适当使用。具体来说:
π
在 C 语言中并不是一个内置常量,通常用M_PI
(在math.h
头文件中定义)或者用近似值3.14159
来表示。- 角度要转换成弧度才能在
sin
函数中正确计算。转换公式是:弧度 = 角度 * π / 180
。目标表达式是
sin(2πr + 30°)
,其中30°
需要转换为弧度。A.
sin(23.14r + 3.1430/180.0)
- 这里
23.14r
看起来像2πr
,但实际上应该是2 * 3.14 * r
,并且3.1430/180.0
应该是30 * 3.14 / 180.0
。
设有以下程序段
int y;
y=rand() % 30+1;
则变量 y 的取值范围是
A.1<y<30
B.0≤y≤30
C.0<y≤30
D.1<y≤30
答案:C
解析:我们来分析这个程序段:
int y; y = rand() % 30 + 1;
若有 C 语言表达式 2+34+7/3,则以下选项中关于执行顺序的
叙述,正确的是
A.先执行 34 得 12,再执行 2+12 得 14,再执行 7/3 得 2,最后执行 14+2 得 16
B.先执行 34 得 12,再执行 7/3 得 2.5,最后执行 2+12+2.5 得16.5
C.先执行 7/3 得 2,再执行 34 得 12,再执行 12+2 得 14,最后执行 2+14 得 16
D.先执行 2+3 得 5,再执行 5*4 得 20,再执行 20+7 得 27,最后执行 27/3 得 9
答案:A
解析:无
以下叙述正确的是
A.C 编译程序把文件后缀为.c 的源程序文件编译成文件后缀为.exe 的可执行文件
B.C 编译程序把文件后缀为.c 的源程序文件编译成文件后缀为.obj的二进制文件
C.C 编译程序把文件后缀为.obj 的二进制文件编译成文件后缀为.exe 的可执行文件
D.链接程序把文件后缀为.c 的源程序文件链接成文件后缀为.exe的可执行文件
答案:B
解析:
有 C 语言表达式 23+4+15%3 ,关于其执行顺序,以下叙述正确的是
A.先执行 23 得 6,再执行 6+4 得 10,再执行 15%3 得 0,最后执行 10+0 得 10
B.先执行 23 得 6,再执行 15%3 得 5,最后执行 6+4+5 得 15
C.先执行 15%3 得 0,再执行 23 得 6,最后执行 6+4+0 得 10
D.先执行 15%3 得 3,再执行 4+3 得 7,再执行 2*3 得 6,最后执行 6+7 得 13
答案:A
解析:无
若想给已定义为 int 型的变量 a、b、c、d 赋整数 1,以下选项中错误的语句是
A.d=c, c=b, b=a, a=1;
B.d=c=b=a=1;
C.d=(b=c=(a=1));
D.d=1, c=d, b=c, a=b;
答案:A
解析:
B.
d=c=b=a=1;
- 这种形式的多重赋值是合法的,且自右向左进行:
a=1
,然后b=a
,c=b
,d=c
,最终a
、b
、c
、d
都被赋值为1
。- 这是正确的。
C.
d=(b=c=(a=1));
- 这种赋值形式在 C 语言中也是合法的,表达式由内向外计算:
a=1
,然后c=a
,接着b=c
,最后d=b
,所有变量都被赋值为1
。- 这是正确的。
D.
d=1, c=d, b=c, a=b;
- 这个表达式使用了逗号运算符,顺序执行:
d=1
,d
被赋值为1
。- 接着
c=d
,c
也被赋值为1
。- 然后
b=c
,b
也被赋值为1
。- 最后
a=b
,a
也被赋值为1
。- 这是正确的。
以下叙述正确的是( )
A.在C程序中,主函数必须位于程序的最前面
B.在C程序中,一行只能写一条语句
C.C程序的基本结构是程序行
D.C语句是完成某种程序功能的最小单位
答案:D
解析:
设ch是char型变量,值为'A',则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch的值是( )
A.Z
B.a
C.z
D.A
答案:B
解析:让我们分析这个表达式:
ch = (ch >= 'A' && ch <= 'Z') ? ch + 32 : ch;