c语言基本语法元素,C语言基本语法元素.doc

班级: 学号: 姓名:

第1章C语言基本语法元素

选择和填空题答案直接写在括号中,编程题答案写在相应题目下面。

一.选择题

1. 若x是单精度实型变量,表达式 (x = 10/4) 的值是( ) 。

A、2.5 B、 2.0 C、 3 D、 2

2. C 语言程序中可以对程序进行注释,注释部分必须用符号( )括起来。

A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”

3. ( )是合法的用户自定义标识符。

A、 b-b B、float C、D、 _isw

4.若变量已正确定义并赋值,表达式( )不符合C语言语法。

A、a*b/c; B、3.14%2 C、2, b D、a/b/c

5.  ( )把x、y定义成float类型变量,并赋同一初值3.14。

A、float x, y=3.14; B、float x, y=2*3.14;

C、float x=3.14, y=x=3.14; D、float x=y=3.14;

6. 设变量定义为“int a, b;”,执行下列语句时,输入( ),则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);

A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10

7. 若变量已正确定义,表达式 (j=3, j++) 的值是( )。

A、3 B、 4 C、5 D、0

8. 以下选项中不正确的实型常量是( )。

A.0.23E B.2.3e-1 C.1E3.2 D.2.3e0

9. 若变量已正确定义且 k 的值是 4,计算表达式 ( j = k--) 后,( )。

A、j=3, k=3 B、j=3, k=4 C、j=4, k=4 D、j=4, k=3

10. 以下选项中可作为C语言合法整数的是( )

A、10110B B、0386 C、0Xffa D、x2a2

11. 设有如下程序段:

int x=2002, y=2003;

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

则以下叙述中正确的是( )

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生出错信息

C、输出值为2002 D、输出值为2003

12. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )

A、x=x*100+0.5/100.0; B、x=(x*100+0.5)/100.0;

C、x=(int)(x*100+0.5)/100.0; D、x=(x/100+0.5)*100.0;

13. 在一个C程序中( )

A、main函数必须出现在所有函数之前 B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置

14.下列关于单目运算符++、--的叙述中正确的是( )

A、 它们的运算对象可以是任何变量和常量

B、它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C、它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D、它们的运算对象可以是char型变量、int型变量和float型变量

15. 若a,b均为int型变量,x,y均为float型变量,正确的输入函数调用是( )。

A、scanf(“%d%d”.&a,&b); B、scanf(“%d%f”,&a,&b);

C、scanf(“%d%d”,a,b); D、scanf(“%f%f”,x,y);

16、若x,y均为double型变量,正确的输入函数调用是( )。

A、scanf(“%f%f”,&x,&y); B、scanf(“%d%d”,&x,&y);

C、scanf(“%lf%lf”,&x,&y); D、scanf(“%lf%lf”,x,y);

17若a,b,c,d都是int型变量且初值均为10,不正确的赋值语句是( )。

A、a=b=c=d; B、a=b++; C、a+b++; D、d=(a=b=125)-c++;.

18. 设x和y均为int型变量,则执行以下语句后的输出为( )。

x=15;y=5;

printf(“%d\n”,s%=(y%=2));

A、0 B、1 C、6 D、12

19. 一个C语言程序是由( )

A、一个主程序和若干子程序组成 B、函数组成

C、若干过程组成 D、若干子程序组成

20. 一个C程序的执行是从( )。

A、本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

21. 以下叙述正确的是( )

A、在C程序中,main函数必须位于程序的最前面

B、C程序的每行中只能写一条语句

C、C语言本身没有输入输出语句

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

22. 以下叙述不正确的是( )。

A、一个C源程序可由一个或多个函数组成

B、一个C程序必须包含一个main函数

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

23. C语言规定:在一个源程序中,main函数的位置( ) 。

A、必须在最开始 B、必须在系统调用的库函数的后面

C、可以任意 D、必须在最后

24. 设x 、y均为f1oat型变量,则以下不合法的赋值语句是( )

A、++x; B、y=(x%2)/10; C、x*=y+8; D、x=y=0;

25.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )

A、int B、float C、double D、不确定

26.若x,i,j和k都是int型变量,则执行下面表达式后x的值为( )

x=(i=4,j=16,k=32)

A、4 B、16 C、32 D、52

27.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )

A、7 B、8 C、6 D、2

28.以下选项中,合法的一组C语言文字是( )。

A、028 B、12. C、.177 D、0x8A

.5e-3 0Xa23 4e1.5 10,000

-0xf 4.5e0 Oabc 3.e5

29.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为( )

A、7 B、8 C、9 D、10

30.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )

A、2.500000 B、2.7500OO c、3.500000 D、0.000000

31.以下选项中,与j=++i完全等价的表达式是( )。

A、i=i+1,j=i B、j=i,i=i+1 C、j=i++ D、j+=i+1

32. 设在定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

A、k++ B、k+=1 C、++k D、k+1

33. 已知int k,m=1;执行语句k=-m++;后,k的值是( ),m的值是( )。

A、-1 B、0 C、1 D、2

34. 构成C程序的基本单位是( )。

A、函数 B、变量 C、子程序 D、语句

35. 设变量已正确定义并赋值,以下正确的表达式为( )。

A、x=y*5=x+z B、int(15.8)%5 C、x=y+z+5,++y D、x=25%5.0

二.填空题

1. i为int型变量,且初值为3,有表达式i++-3,则该表达式的值是( ),变量i的值是( )。

2.i为int型变量,且初值为2,有表达式++i-3,则该表达式的值是( ),变量i的值是( )。

3.若x=1,y=2,z=3,则表达式z+=++x+y++之值为( )。

4.若有定义int y=3;float z=5.2,x=4.8;则表达式y+=(int)x+x+z之值为( )。

5.若x=2,y=3,则x%=y+3之值为( )。

6.表达式a=(b=8)/(c=2)之值为( )。

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

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);

8. 以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。请填空。

#include main()

{ _________________;

int temp;

printf("Enter a,b,c:");

scanf("%d%d%d",____________);

_____________;

a=b;

b=c;

_____________;

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

}

9. 输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。

void main()

{

double a,b,temp;

printf("请输入a和b的值:");

scanf("_________", &a,&b);

temp = a;

___________;

____________;

printf("交换后, a=%f , b=%f\n",_________);

}

三.编程题

1.编写程序,输入三角形三条边的边长,求三角形的面积。(根据海伦公式,平方根函数sqrt)

2.求一元二次方程的根。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值