(C)一些基础题13

1.在 C 语言中,以下非法的赋值语句是( )。

A.j++; B.++(i+1); C.x=j>0; D.k=i==j;

【答案】B。解析:自增运算符只能跟单个变量。

2..以下程序的输出结果是( )。

main()

{ int i=10,j=1;

printf("%d,%d\n",i--,++j);}

A.9,2 B.10,2 C.9,1 D.10,1

【答案】B。解析:i--为后置运算,先取值输出再进行计算,++j 为前置运算,先运算在取

值输出,所以输出 10 和 2。

3.运行时从键盘上输入 9876543210<CR>(<CR>表示回车),则该程序的输出结果是(

main()

{ int a;float b,c;

scanf("%2d%3f%4f\n",&a,&b,&c);

printf("a=%d,b=%f,c=%f\n",a,b,c);}

A.a=98,b=765,c=4321 B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.0

【答案】C。解析:%md 和%mf 的 m 为限制宽度。%f 要保留六位小数。

4.设变量均已正确定义,若要通过 scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量 a1

和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是

(注:□代表空格字符)( )。

A.10□X□20□Y<回车> B.10□X20□Y<回车>

C.10□X<回车> D.10X<回车>

20□Y<回车> 20Y<回车>

【答案】D。解析:%d 不读空格,%c 读空格。

以下程序段的输出结果是( )。

#define MIN(x,y) (x)<(y)?(x):(y)

main()

{ int i=10,j=15,k;

k=10*MIN(i,j);

printf("%d\n",k);

}

A15 B.100 C.10 D.150

【答案】A。解析:宏定义原样替换,因为*的优先级大于<,所以先算10*10。10*(10)<(15)?(10):(15)=15。

6.以下叙述中正确的是( )。

A.构成 C 程序的基本单位是函数

B.可以在一个函数中定义另一个函数

C.main()函数必须放在其它函数之前

D.所有被调用函数一定要在调用之前进行定义

【答案】A。解析:B 中函数不能嵌套定义只能嵌套调用。C 中 main()函数可以放在任意位

置。D 中在 C 语言函数库中定义过的函数不需要进行定义即可调用。

7.以下程序的输出结果是( )。

main()

{ char str[]="ABCD",*p=str;

printf("%d\n",*(p+4)); }

A. 68 B. 'D' C. 0 D. '0'

【答案】C。解析:p+4 指 p 指针指向了'\0','\0'的 ASCII 码为 0。

8.以下程序的输出结果是( )。

main()

{ char str[]="aeiou",*p=str;

printf("%c\n",*p+4)); }

A.o B.u C.e D.f

【答案】C。解析:p 指向数组第一个元素的位置,*p+4='a'+4='e'。

相关推荐
@菜菜_达13 分钟前
Lodash方法总结
开发语言·前端·javascript
GISer_Jing18 分钟前
低代码拖拽实现与bpmn-js详解
开发语言·javascript·低代码
@areok@41 分钟前
C++mat传入C#OpencvCSharp的mat
开发语言·c++·opencv·c#
小王C语言1 小时前
【C++进阶】---- map和set的使用
开发语言·c++
Elnaij1 小时前
从C++开始的编程生活(8)——内部类、匿名对象、对象拷贝时的编译器优化和内存管理
开发语言·c++
yb0os12 小时前
RPC实战和核心原理学习(一)----基础
java·开发语言·网络·数据结构·学习·计算机·rpc
liuyao_xianhui2 小时前
内存管理(C/C++)
java·开发语言·c++
rit84324992 小时前
基于灰狼算法(GWO)优化支持向量回归机(SVR)参数C和γ的实现
c语言·算法·回归
饭碗的彼岸one2 小时前
C++设计模式之单例模式
c语言·开发语言·c++·单例模式·设计模式·饿汉模式·懒汉模式
hope_wisdom3 小时前
C/C++数据结构之栈基础
c语言·数据结构·c++··stack