C语言练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一单元程序设计和C语言

选择题

C语言的基本构成单位是: A 。

A. 函数

B. 函数和过程

C. 超文本过程

D. 子程序

一个C语言程序总是从 B 开始执行。

A. 主过程

B. 主函数

C. 子程序

D.主程序

C语言的程序一行写不下时,可以 D 。

A. 用逗号换行

B. 用分号换行

C. 在任意一空格处换行

D. 用回车符换行以下叙述不正确的是: C 。

A. 在C程序中,语句之间必须要用分号";"分隔

B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数

C. 在C程序中,无论是整数还是实数都能正确无误地表示

D. 在C程序中,%是只能用于整数运算的运算符

以下不正确的C语言标识符是 D 。

A. ABC

B. abc

C. a_bc

D. ab.c

下列字符串是标识符的是: A 。

A. _HJ

B. 9_student

C. long

D. LINE 1

以下说法中正确的是: C 。

A. C语言程序总是从第一个定义的函数开始执行

B. 在C语言程序中,要调用的函数必须放在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

不合法的常量是: D 。

A. ‘\2’

B. " " c

C. ‘3’

D. ‘\483’

已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:A 。

int k,a,b;

unsigned long w=5;

double x=1.422;

A. x%(-3)

B. w+=-2

C. k=(a=2,b=3,a+b)

D. a+=a=+(b=4)*(a=3)

在C语言中,字符型数据在内存中以 D 形式存放。

A. 原码

B. BCD码

C. 反码

D. ASCII码

若有定义:int a=7; float x=2.5; y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是:A 。

A. 2.500000

B. 2.750000

C. 3.500000

D. 0.000000

设有说明:char w; int x; float y; double z;

则表达式w*x+z-y值的数据类型为: D 。

A. float

B. char

C. int

D. double

以下 C 是不正确的转义字符。

A. '\\'

B. '\'

C. '081'

D. '\0'

若x为int型变量,则执行以下语句后,x的值为 B 。

x=6; x+=x-=x*x;

A. 36

B. -60

C. 60

D. -24

字符串"\\\"ABC\"\\"的长度是 B 。

A. 11

B. 7

C. 5

D. 3

填空题

一个函数由两部分组成,它们是和。

一个C源程序至少包含一个,即。

设int a=12; 则表达式a/=a+a的值是0 。

表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是赋值表达式和逗号表达式,两个表达式执行完的结果分别是18 和18 ,x值分别是18 和 3 。

在C语言中,实数有两种表示形式,即和。

在C语言中,运算符的优先级最小的是运算符。

第二单元顺序程序设计

选择题

若m为float型变量,则执行以下语句后的输出为 C 。

m=1234.123;

printf("%-8.3f\n",m);

printf("%10.3f\n",m);

A. 1234.123

B. 1234.123

C. 1234.123

D. -1234.123

1234.123 1234.123 1234.123 001234.123

若x,y,z均为int型变量,则执行以下语句后的输出为 A 。

x=(y=(z=10)+5)-5;

printf("x=%d,y=%d,z=%d\n",x,y,z);

y=(z=x=0,x+10);

printf("x=%d,y=%d,z=%d\n",x,y,z);

A. X=10,Y=15,Z=10

B. X=10,Y=10,Z=10

X=0,Y=10,Z=0 X=0,Y=10,Z=10

C. X=10,Y=15,Z=10

D. X=10,Y=10,Z=10

X=10,Y=10,Z=0 X=0,Y=10,Z=0

若x是int型变量,y是float型变量,所用的scanf调用语句格式为:

scanf("x=%d,y=%f",&x,&y);

则为了将数据10和66.6分别赋给x和y,正确的输入应是: A 。

A. x=10,y=66.6<回车>

B. 10 66.6<回车>

C. 10<回车>66.6<回车>

D. x=10<回车>y=66.6<回车>

已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是: D 。

A. 30’b’<回车>

B. 30 b<回车>

C. 30<回车>b<回车>

D. 30b<回车>

已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句 C 。

A. scanf(“%d%f”,&a,&x);

B. scanf(“%ld%f”,&a,&x);

printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x);

C. scanf(“%ld%lf”,&a,&x);

D. scanf(“%ld%lf”,&a,&x);

printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x);

若有定义double x=1,y;则以下的语句执行的结果是 C 。

y=x+3/2; printf(“%f”,y);

A.2.500000

B.2.5

C.2.000000

D.2

若a为整型变量,则以下语句 C 。

a=-2L; printf("%d\n",a);

A. 赋值不合法

B. 输出为不确定的值

C. 输出值为-2

D. 输出值为2

读程序写结果

main()

{ int x,y;

scanf("%2d%*2d%ld",&x,&y);

printf("%d\n",x+y);

}

相关文档
最新文档