C语言的主要特点有哪些.docx

上传人:b****8 文档编号:10744308 上传时间:2023-02-22 格式:DOCX 页数:61 大小:37.73KB
下载 相关 举报
C语言的主要特点有哪些.docx_第1页
第1页 / 共61页
C语言的主要特点有哪些.docx_第2页
第2页 / 共61页
C语言的主要特点有哪些.docx_第3页
第3页 / 共61页
C语言的主要特点有哪些.docx_第4页
第4页 / 共61页
C语言的主要特点有哪些.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

C语言的主要特点有哪些.docx

《C语言的主要特点有哪些.docx》由会员分享,可在线阅读,更多相关《C语言的主要特点有哪些.docx(61页珍藏版)》请在冰豆网上搜索。

C语言的主要特点有哪些.docx

C语言的主要特点有哪些

第一章习题

一、选择题

1.C语言的主要特点有哪些?

(多选)

A.简洁、紧凑,使用方便、灵活,易于学习和应用。

B.C语言是面向结构化程序设计的语言。

C.C语言允许直接对位、字节和地址进行操作。

D.数据类型丰富。

E.C语言生成的目标代码质量高。

2.C语言程序由什么组成?

(单选)

A.子程序B.主程序和子程序C.函数D.过程

3.源程序要正确地运行,必须要有什么函数?

(单选)

A.printf函数B.自定义的函数

C.main函数D.不需要函数

4.一个C程序的执行是从_____。

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

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

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

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

5.以下叙述正确的是:

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

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

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

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

6.以下叙述不正确的是。

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

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

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

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

7.C语言规定:

在一个源程序中,main函数的位置。

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

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

8.一个C语言程序是由

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

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

第二章习题

一、选择题

1.指出下面合法的标识符:

(多选)

A.3abB.intC.ABCD.a_3E.sum.a

F.#abcG._stu2H.abcf

2.指出下面哪些是保留字:

(多选)

A.charB.abcC.printfD.IntE.float

F.defineG.includeH.PI

3.指出下面哪些是合法的用户定义的标识符?

(多选)

A.P-SB.putcharC.doubleD._908E.*par

B.F.sheep!

G.windH.xy

4.C语言的基本类型哪些:

(多选)

A.整型B.枚举型C.数组型D.指针型E.字符型

F.构造型G.实形H.空类型

5.这段程序中的常量有:

(多选)

#definePI3.14

voidmain()

{intsum;

sum=10+15;

printf("sum=%d\n",sum);

printf("resultis25\n");

}

这段程序中常量有:

A.10B.sumC.15D.25E.mainF.PI

6.C语言中整形常量按进制划分,有以下几种:

(多选)

A.十六进制常量B.十进制常量C.八进制常量D.二进制常量

7.75的十六进制写法为___,八进制写法为___。

0x75的八进制写法为___,十进制写法为___。

075的十进制写法为___,十六进制写法为___。

8.如果要把常量327存入变量a中,a可以定义成哪些类型?

(多选)

A.intB.charC.longD.float

9.下面哪些写法是对的,而且是常量?

(多选)

A.125B.-.456C.1.25e20D.'AB'

E.E6F.0238G.0xabcdefH."\n\\\'\123"

10.下面哪个表达式的值为4.(单选)

A.11/3B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)

11.已知整型变量a=6,b=7,c=1,则下面表达式的值为多少?

a+3___

(b-a*3)/5___

c*(a+b)+b*(c+a)___

3.2*(a+b+c)___

12.已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则下面表达式的值为多少?

(提示:

'A'的ASCII码为65)

a+4.5___

ch+a+f___

(a+30)/5___

(a+30)/5.0___

13.指出下面错误的表达式:

(多选)

A.a+b=5B.56=a11C.i=i++D.5.6+6.2%3.1E.12F.a=5,b=6,c=7

14.若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?

(多选)

A.f=(f*100+0.5)/100.0B.i=f*100+0.5,f=i/100.0;

C.f=(int)(f*100+0.5)/100.0;D.f=(f/100+0.5)*100.0;

15.下面哪些是非法的C语言转义字符?

(多选)

A.'\t'B.'\08'C.'\0xaf'D.'\\'

16.若有以下说明语句:

(单选)

chars='\\\092';

则下面哪一项是正确的.

A.使s的值包含2个字符B.说明语句不合法

C.使s的值包含6个字符D.使s的值包含4个字符

17.请从下面的选项中选出正确的C语言的转义字符。

(多选)

A.'//'B.'\''C.'\t'D.'\n'E.'\1011'

F.'/018'G.'/123'H.'\xaa'

18.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

A.char

C.char

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

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

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

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

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

21.下列四组选项中,均不是C语言关键字的选项是

A.defineB.getcC.includeD.while

IFcharscanfgo

typeprintfcasepow

22.下面四个选项中,均是C语言关键字的选项是

A.autoB.switchC.signedD.if

enumtypedefunionstruct

includecontinuescanftype

23.下面四个选项中,均是不合法的用户标识符的选项是。

A.AB.floatC.b-aD._123

P_01a0gototemp

do_AintINT

24.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A.必须为字母B.必须为下划线

C.必须为字母或下划线D.可以是字母,数字和下划线中任一种字符

25.下面四个选项中,均是合法转义字符的选项是

A.'\''B.'\'C.'\018'D.'\\0'

'\\''\017''\f''101'

'\n''\"''xab''xlf'

26.下面四个选项中,均是不合法的转义字符的选项是

A.'\''B.'\1011'C.'\011'D.'\abc'

'\\''\''\f''\101'

'\xf''\a''\}''xlf'

27.下面正确的字符常量是:

A."a"B.'\\''C.'W'D.''

28.已知各变量的类型说明如下:

intk,a,b;

unsignedlongw=5;

doublex=1.42;

则以下不符合C语言语法的表达式是:

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-(b=4)*(a=3)

29.已知各变量的类型说明如下:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是:

A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)

30.以下不正确的叙述是

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

31.以下符合C语言语法的赋值表达式是

A.d=9+e+f=d+9B.d=9+e,f=d+9C.d=9+e,e++,d+9D.d=9+e++=d+7

32.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为

A.DB.68C.不确定的值D.C

33.在C语言中,要求运算数必须是整型的运算符是。

A./B.++C.!

=D.%

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

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

35.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

A.2.500000B.2.7500OOc3.500000D.0.000000。

sizeof(float)是:

A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式

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

A.intB.floatC.doubleD.不确定

37.在C语言中,char型数据在内存中的存储形式是:

A.补码B.反码C.原码D.ASCII码

38.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:

A.0~255B.0~32767C.0~65535D.0~2147483647

39.putchar函数可以向终端输出一个:

A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值

40.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式

A.从左起输出该字串,右补空格B.按原字符长从左向右全部输出

C.右对齐输出该字串,左补空格D.输出错误信息

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

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

42.x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和Z的值是:

A.x=10B.x=10C.x=10D.x=10

y=15y=10y=10y=5

z=10z=10z=15z=10

43.逻辑运算符两侧运算对象的数据类型是:

A.只能是0或1B.只能是0或非0正数

C.只能是整型或字符型数据D.可以是任何类型的数据

44.下列运算符中优先级最高的是:

A.

=

第三章习题

一、选择题

1.C程序的结构可分为哪几类?

(多选)

A.顺序结构B.循环结构C.程序结构D.选择结构

2.该源程序执行后,屏幕上显示什么?

(单选)

voidmain()

{inta;

floatb;

a=4;

b=9.5;

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

}

A.a=%d,b=%f\nB.a=%d,b=%f

C.a=4,b=9.50D.a=4,b=9.5

3.若a为整型变量,且有以下语句___。

(单选)

a=-017;

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

则下面哪个说法是正确的?

A.赋值不合法B.输出值为-17

C.输出为不确定值D.输出值为-15

4.若k,g均为int型变量,则以下语句的输出为哪一项?

(单选)

intk,g;

k=017;

g=111;

printf("%d,",k);

printf("%x\n",g);

A.15,6fB.f,6fC.f,111D.15,111

5.如这程序所示,如果运行时,输入18,18,那么b的值为多少?

(单选)

voidmain()

{

inta,b;

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

b+=a;

printf("%d",b);

}

A.36B.34C.输入错误,b的值不确定D.19

二、填空题

1.若要输出下列各种类型的数据,应使用什么转换说明符。

(答题请打上双引号)

字段宽度为4的十进制数应使用"%4d",字段宽度为6的十六进制数应使用___,八进制整数应使用___,字段宽度为3的字符应使用___,字段宽度为10,保留3位小数的实数应使用___,字段宽度为8的字符串应使用___。

2.读懂程序并填空。

#include

voidmain()

{

charch=0x31;

printf("%d\n",ch);//屏幕显示___

printf("%o\n",ch);//屏幕显示___

printf("%x\n",ch);//屏幕显示___

printf("%c\n",ch);//屏幕显示___

}

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

请填空。

#include

main()

{___

inttemp;

printf("Entera,b,c:

");

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

___

a=b;

b=c;

___

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

}

4.输入两个实数a,b,然后交换它们的值,最后输出(提示:

要交换两个数得借助一个中间变量temp。

首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。

voidmain()

{

floata,b,temp;

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

");

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

temp=a;

___

___

printf("交换后,a=%d,b=%d\n",___);

}

第四章习题

一、选择题

1.假设所有变量均已说明,写出下列各程序段运行后x的值。

(多选)

ok1=1;ok2=2;ok3=0;x=15;a=3;b=4;

(1)if(!

ok1)

x++;

elseif(ok2)

{

if(ok3)

x=3;

else

x=4;

}

运行后x的值为下面哪一个?

A.15B.3C.16D.4

(2)if(ok1)

{

if(a

{

if(!

ok3)

x=0;

else

x=1;

}

else

x=2;

}

else

x=3;

运行后x的值为下面哪一个?

A.0B.1C.2D.3

2.在C语言的if语句中,用作判断的表达式为___。

(单选)

A.关系表达式B.逻辑表达式

C.算术表达式D.任意表达式

3.请问:

下面这个程序段的输出是什么?

(单选)

inta,b,c;

a=7;b=8;c=9;

if(a>b)

a=b,b=c;c=a;

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

A.a=7b=8c=7B.a=7b=9c=7

C.a=8b=9c=7D.a=8b=9c=8

4.该程序的运行结果是:

(单选)

voidmain()

{

inta,b,c;

a=2;b=7;c=5;

switch(a>0)

{

case1:

switch(b<10)

{

case1:

printf("^");break;

case0:

printf("!

");break;

}

case0:

switch(c==5)

{

case0:

printf("*");break;

case1:

printf("#");break;

default:

printf("%%");break;

}

default:

printf("&");

}

printf("\n");

}

A.^#&B.^C.&D.^!

*#%&

5.能正确表示"当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

6.判断char型变量ch是否为大写字母的正确表达式是

A.'A'<=ch<='Z'B.(ch>='A')&(ch<='Z')

C.(ch>='A')&&(ch<='Z')D.('A'<=ch)AND('Z'>=ch)

7.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是

A.'y'&&'y'B.x<=yC.x||y+z&&y-zD.!

(x

z||1)

8.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数表达式的值

为"假"。

则以下不能满足要求的表达式是:

A.A%2==1B.!

(A%2==0)C.!

(A%2)D.A%2

9.以下程序的运行结果是:

#include"stdio.h"

main()

{inta,b,d=241;

a=d/100%9

b=(-1)&&(-1);

printf("%d,%d",a,b);

}

A.6,1B.2,1C.6,0D.2,0

10.执行以下语句后a的值为:

inta,b,c;

a=b=c=1;

++a||++b&&++c

A.错误B.0C.2D.1

11.以下不正确的if语句形式是:

A.if(x>y&&x!

=y);B.if(x==y)x+=y;

C.if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);D.if(X

12.以下程序的运行结果是:

main()

{intm=5;

if(m++>5)printf("%d\n",m);

e1seprintf("%d\n",m--);

}

A.4B.5C.6D.7

二、填空题

1.当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少?

(1)if(a>c)

{a=b;b=c;c=a;}

else

{a=c;c=b;b=a;}

执行后a,b,c的值为___,___,___

(2)if(a

a=c;

else

a=b;

c=b;

b=a;

执行后a,b,c的值为___,___,___

(3)if(a!

=c);

else

a=c;c=b;b=a;

执行后a,b,c的值为___,___,___

2.当a=3,b=4,c=5时,写出下列各式的值。

a

a==c的值为___,a!

=c的值为___,

a&&b的值为___,!

a&&b的值为___,

a||c的值为___,!

a||c的值为___,

a+b>c&&b==c的值为___。

3.若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?

switch(x/10)

{case6:

case7:

printf("Pass\n");

break;

case8:

printf("Good\n");

break;

case9:

case10:

printf("VeryGood\n");

break;

default:

printf("Fail\n");

}

x等于95时,程序段运行后屏幕上显示___

x等于87时,程序段运行后屏幕上显示___

x等于100时,程序段运行后屏幕上显示___

x等于43时,程序段运行后屏幕上显示___

x等于66时,程序段运行后屏幕上显示___

x等于79时,程序段运行后屏幕上显示___

4.下面这个程序要求用户输入两个整数和一个字符。

字符必须是'+'、'-'、'*'、'/'其中的一个。

然后程序输出两数作相应运算的结果。

例如:

输入123,34,+程序输出123+34=157。

请填空。

#include

voidmain()

{

floatd1,d2,result;

charop;

interror=0;

scanf("%f,%f,%c",&d1,&d2,&op);

switch(op)

{

case'+':

result=___;break;

case'-':

result=___;break;

case'*':

result=___;break;

case'/':

result=___;break;

default:

error=1;

}

if(error)

printf("运算操作符输入有错!

");

else

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1