专升本C语言训练 选择题.docx

上传人:b****5 文档编号:7653468 上传时间:2023-01-25 格式:DOCX 页数:32 大小:34.38KB
下载 相关 举报
专升本C语言训练 选择题.docx_第1页
第1页 / 共32页
专升本C语言训练 选择题.docx_第2页
第2页 / 共32页
专升本C语言训练 选择题.docx_第3页
第3页 / 共32页
专升本C语言训练 选择题.docx_第4页
第4页 / 共32页
专升本C语言训练 选择题.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

专升本C语言训练 选择题.docx

《专升本C语言训练 选择题.docx》由会员分享,可在线阅读,更多相关《专升本C语言训练 选择题.docx(32页珍藏版)》请在冰豆网上搜索。

专升本C语言训练 选择题.docx

专升本C语言训练选择题

三、单项选择题(在每小题的四个备选答案中选出一个正确的。

注:

题目之前打上字母A的为基础题,B为中等难度,C为难度较大的题目

1、一个C程序的执行是从。

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

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

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

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

2、以下叙述正确的是。

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

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

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

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

3、以下叙述不正确的是。

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

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

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

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

4、C语言规定:

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

A、必须在最开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

5、一个C程序是由。

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

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

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

顺序为。

A)、char<int=<longint<=float<double

B、char=int<longint<float<double

C、char

D、char

7、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

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

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

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

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

9、在C语言中,char型数据在内存中的存储形式是。

A、补码B、反码C、原码D、ASCll码

10、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数

点后两位,第三位进行四舍五入运算的表达式是。

A、n=(n*100+0.5)/100.0B、m=n*100十0.5,n=m/100.0

C、n=n*100+0.5/100.0D、n=(n/100+0.5)/100.0

11、表达式18/4*sqrt(4.0)/8值的数据类型为。

A)、intB)、floatC)、doubleD)、不确定

12、设C语言中,一个int型数据在内存中占2个字节,则unsignednit型数据的

取值范围为。

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

13、设有说明;charw;intx;floaty;doublez;则表达式w-x+z-y值的数据

类型为。

A、floatB、charC、intD、double.

14、若有以下定义,则能使值为3的表达式是。

Intk=7,X=12;

A、X%=(k%=5)B、X%=(k-k%5)

C、X%=k-k%5D、(X%=k)-(k%=5)

15、putchar函数可以向终端输出一个。

A、整型变量表达式值

B、实型变量值

C、字符串

D、字符或字符型变量值

16、逻辑运算符两侧的的运算对象的数据类型。

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

C、只能是整型或是字符型数据D、可以是任意类型数据

17、下列运算符中优先级最高的是。

A、

=

18、能正确表示“当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)

19、判断char型变量CH是否为大写字母的正确表达式。

A、’A’<=CH<=’Z’B、(CH>=’A’)&(CH<=’Z’)

C、(CH>=’A’)&&(CH<=’Z’)D、(‘A’<=CH)AND(‘Z’>=CH)

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

A、’x’&&’y’B、x<=y

C、x||y+z&&y-zD、!

((x

(z||1)

21、已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!

y)的值是。

A、0B、语法错C、1`D、“假”

22、执行以下语句后a,b的值分别为。

inta,b,c;

a=b=c=1;

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

A、2,2B、1,1C、2,1D、1,2

23、已知intx=10,y=20,z=30;以下语句执行后x,y,z的值分别是。

if(x>y)

z=x;x=y;y=z;

A、x=10,y=20,z=30B、x=20,y=30,z=30

C、x=20,y=30,z=10D、x=20,y=30,z=20

24、当a=1,b=3,c=5,d=4时。

执行完下面一段程序后x的值是。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A、1B、2C、3D、6

25、以下程序的运行结果是。

main()

{intk=4,a=3,b=2,c=1;

printf(“\n%d\n”,k

k:

c

c:

a);

A、4B、3C、2D、1

26、执行以下程序后,变量a,b,c的值分别为。

intx=10,y=9;

inta,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;

c=y;

A、a=9,b=9,c=9B、a=8,b=8,c=10

C、a=9,b=10,c=9D、a=1,b=11,c=10

27、设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是。

A、while循环10次B、循环是无限循环

C、循环体一次也不执行D、循环体只执行一次

28、语句while(!

E);中的表达式!

E等价于。

A、E==0B、E!

=1

C、E!

=0D、E==1

29、下面程序段的运行结果是。

intn=0;

while(n++<=2);printf(“%d”,n);

A、2B、3C、4D、有语法错误

30、下面程序段的运行结果是。

x=y=0;

while(x<15)y++,x+=++y;

printf(“%d,%d”,y,x);

A、20,7B、6,12C、20,8D、8,20

31、C语言中while和do_while循环的主要区别是。

A、do_while的循环至少无条件执行一次

B、while的循环控制条件比do_while的控制条件严格

C、do_while允许从外部转到循环体内

D、do_while的循环体不能是复合语句

32、下面for循环的正确描述是。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句后判断表达式

C、在for循环中,不能用break语句结束循环

D、for循环体语句中,可以包含多条语句,但必须用花括号括起来

33、以下正确的描述是。

A、continue语句的作用是结束整个循环的执行

B、只能在循环体内和swtich语句体内使用break语句

C、在循环体内使用break或continue语句的作用相同

D、从多层嵌套中退出时,只能使用goto语句

34、以下描述正确的是。

A、goto语句只能用于退出多层循环

B、swtich语句中不能使用continue语句

C、只能用continue语句来终止本次循环

D、在循环中break语句不能独立出现

数组

35、在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A、整型常量B、整型表达式

C、整型常量或整型表达式D、任何类型表达式

36、以下对一维数组a的正确说明是。

A、int(a);B、n=10,a[n];

C、intn;D、#defineSIZE

Scanf(“%d”,&n);inta[SIZE];

Inta[n];

37、若有说明:

inta[10];则对a数组元素的正确引用是。

A、a[10]B、a[3,5]

C、a(5)D、a[10-10]

38、以下对一维数组正确初始化的语句是。

A、inta[10]=(0,0,0,0,0);B、inta[10]={};

C、inta[]={0};D、inta[10]={10*1};

39、若有说明inta[3][4]={0};则下面正确的叙述是。

A、只有元素a[0][0]可得到初值0

B、此说明语不句正确

C、数组a中各元素都可得到初值,但其初值不一定是0

D、数组a中各元素都可得到初值0

40、若有二维数组a有m列,则在a[I][j]前的元素个数为。

A、j*m+IB、I*m+j

C、I*m+j-1D、I*m+j+1

41、下面对s的初始化,其中不正确的是。

A、chars[5]={“abc”};B、chars[5]={‘a’,’b’,’c’};

C、chars[5]=””;D、chars[5]=”abcdef”;

42、判断字符串s1是否大于字符串s2,应当使用D。

A、if(s1>s2)B、if(a==b)

C、if(strcpy(s2,s1)>0)D、if(stcmp(s1,s2)>0)

函数

43、以下有关建立函数的目的说法中正确性的是B。

A、提高程序的执行效率B、提高程序的可能性

C、减少程序的篇幅D、减少程序文件所占用的内存

44、以下正确的函数定义是A。

A、doublefun(intx,inty)B、doublefun(intx;inty)

C、doublefun(intx,inty);D、doublefun(intx,y);

45、以下有关函数的形参和实参的说法中正确的是A。

A、实参和与其对应的形参各占用独立的存储单元

B、实参和与其对应的形参各占用一个的存储单元

C、只有当实参和与其对应的形参同名时才占用一个的存储单元

D、形参是虚拟的,不占用存储单元

46、以下说法正确的是C。

A、定义函数时,形参的类型说明可以放在函数内部

B、return语句后的值不能为表达式

C、如果函数值的类型与返回值的类型不一致函数类型为准

D、如果形参与实参的类型不一致,以实参的类型为准

47、C语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是B。

A、地址传递B、单向值传递

C、由实参传给形参,再由形参传递给实参

D、同用户指定传递方式

48、C语言中,函数返回值的类型是由D。

A、return语句中的表达式类型所决定

B、调用该函数时的主调函数类型所决定

C、调用该函数时系统临时决定

D、在定义该函数时所指的函数类型所决定

49、若用数组名作为函数调用的实参,传递给形参的是A。

A、数组的首地址B、数给的第一个元数

C、数组中全部元素的值D、数组元素的个数

50、以下有关宏替换的叙述不正确的是。

A、宏替换不占用运行时间B、宏名无类型

C、宏替换只是字符替换D、宏名必须用大写字母表示

51、C语言的编译系统对宏的处理是。

A、在程序运行时B、在程序连接时

C、和C程序中的其他语句同时进行编译

D、在对源程序中其它成份正式编译之前进行的

52、若有语句int*point,a=4;和point=&a;则下面均代表地址的一组是。

A、a,point,*&AB、&*a,*point,&a

C、&a,*&point,*pointD、&a,&*point,point

53、下面判断正确的是。

A、char*a=”china”;等介于char*a;*a=”china”;

B、charstr[10]={”china”};等介于charstr[10];str[]={”china”};

C、char*s=”china”;等介于char*s;s=”china”;

D、char*s=”china”;等介于chars[10];*s=”china”;

54、设p1和p2是指向同一个字符串的指针变量,,c为字符变量,则以下不能正确执行赋值语句的是。

A、c=*p1+*p2B、p2=c

C、p1=p2D、c=*p1*(*p2)

55、下面程序段的运行结果是。

chsrstr[]=”ABC”

p+=3;

printf(“%d\n”,strlen(strcpy(p,”ABCD”)));

A、8B、12

C、4D、7

56、若有以下定义,则对a数组元素的正确引用是。

inta[5],*p=a;

A、*a+1B、p+5

C、&a+1D、&a[0]

56、若有以下定义,则对a数组元素的正确引用是。

inta[5],*p=a;

A、*&a[5]B、a+2

C、*(p+5)D、*(a+2)

57、若有定义inta[2][3];则对a数组第I行第j列元素的正确引用为。

A、*(a[I]+j)B、(a+I)

C、*a{I+j}D、a[I]+j

58、以下正确的定义语句和赋值语句是。

A、intb[3][5],(*q)[5],(*p)[3];p=b;q=b;

B、floatb[3][5],*p[3];[0]=b[0];p[2]=*b+4;

C、doubleb[3][5],s[5][3],*q;q=b;s=q;

D、intb[10],*q;char*s;q=b;s=b;

59、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将。

A、生成可执行目标文件B、生成目标文件

C、输出运行结果D、自动保存源文件

60、在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明。

A、源程序有语法错误B、源程序正确无误

C、源程序有运行错误D、源程序无编译、运行错误,但仅此无法确定其正确性

61、程序运行输出了错误的结果,可以排除下列哪一个因素。

A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当

62、下列各个错误中,属于编译错误的是。

A、数组下标超界B、“==”误写为“!

=”C、死循环D、括号不配对

63、若int类型数据字长为4,其最大值为。

A、231B、231-1C、232-1D、232

64、常数的书写格式决定了常数的类型和值,03322是。

A、16进制int类型常数B、8进制int类型常数

C、10进制int类型常数D、10进制longint类型常数

65、“e2”是。

A、实型常数100B、值为100的整型常数

C、非法标识符D、合法标识符

66、要为字符型变量a赋初值,下列语句中哪一个是正确的。

A、chara='3';B、chara="3";

C、chara=%;D、chara=*;

67、要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的。

A、floatx,y,z=3.14;B、floatx,y,z=3*3.14;

C、floatx=3.14,y=3.14,z=3.14;D、floatx=y=z=3.14;

68、语句“floatpi=3.1415926535;”将。

A、导致编译错误B、说明pi为初值3.1415926535的单精度实型常数

C、导致运行时的溢出错误D、说明pi为初值3.141593的单精度实型常数

69、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为。

A、算术运算、赋值运算、关系运算B、算术运算、关系运算、赋值运算

C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算

70、关系运算符中优先级最低的运算符是。

A、“>=”和“<=”B、“>”和“<”

C、“==”和“!

=”D、“<=”和“<”

71、逻辑运算符中,运算优先级按从高到低依次为。

A、&&,!

,||B、||,&&,!

C、&&,||,!

D、!

,&&,||

72、对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的。

A、0为假非0为真B、只有1为真

C、-1为假1为真D、0为真非0为假

73、表达式x==0&&y!

=0||x!

=0&&y=0等价于()。

A、x*y==0&&x+y!

=0B、x*y==0&&(x+y==0)

C、x==0||y==0D、x*y=0||x+y=0

74、表达式!

x||a==b等价于()。

A、!

((x||a)==b)B、!

(x||y)==b

C、!

(x||(a==b))D、(!

x)||(a==b)

75、下列格式符中,哪一个可以用于以8进制形式输出整数。

A、%dB、%8dC、%oD、%ld

76、下列格式符中,哪一个可以用于以16进制形式输出整数()。

A、%16dB、%8xC、%d16D、%d

77、a是int类型变量,c是字符变量。

下列输入语句中哪一个是错误的。

A、scanf("%d,%c",&a,&c);B、scanf("%d%c",a,c);

C、scanf("%d%c",&a,&c);D、scanf("d=%d,c=%c",&a,&c);

78、字符变量ch='A',int类型变量K=25,语句printf("%3d,%d3\n",ch,k);输出。

A、65,253B、65253

C、65,25D、A25

79、下列各语句序列中,能够且仅输出整型变量a、b中最大值的是。

A、if(a>b)printf("%d\n",a);printf("%d\n",b);

B、printf("%d\n",b);if(a>b)printf("%d\n",a);

C、if(a>b)printf("%d\n",a);elseprintf("%d\n",b);

D、if(a

80、下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是。

A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;

C、if(u>s)t=s;elset=u;D、t=u;if(u>s)t=s;

81、下列各语句中,能够输出整型变量a、b中最大值的是。

A、printf("%d\n",(a>b)?

a,b);B、(a>b)?

printf("%d",a):

printf("%d",b);

C、printf("%d",if(a>b)aelseb);D、printf("%d\n",(a>b)?

a:

b);

 

82、下列语句应将小写字母转换为大写字母,其中正确的是。

A、if(ch>='a'&ch<='z')ch=ch-32;B、if(ch>='a'&&ch<='z')ch=ch-32;

C、ch=(ch>='a'&&ch<='z')?

ch-32:

'';D、ch=(ch>'a'&&ch<'z')?

ch-32:

ch;

83、求整数1至10的和并存入变量s,下列语句中错误的是()。

A、s=0;for(i=1;i<=10;i++)s+=i;B、s=0;i=1;for(;i<=10;i++)s=s+i;

C、for(i=1,s=0;i<=10;s+=i,i=i+1);D、for(i=1;s=0;i<=10;i++)s=s+i;

84、若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是。

A、intjc=1;for(inti=2;i<=10;i++)jc*=i;

B、for(floatjc=1,inti=2;i<=10;i++,jc*=i);

C、floatjc=1;for(inti=2;i<=10;jc*=i,i=i+1);

D、for(floatjc=1;i=2;i<=10;i++)jc*=i;

85、下列语句中,哪一个可以输出26个大写英文字母。

A、for(a='A';a<='Z';printf("%c",++a));B、for(a='A';a<'Z';a++)printf("%c",a);

C、for(a='A';a<='Z';printf("%c",a++));D、for(a='A';a<'Z';printf("%c",++a));

86、与语句while(i>=0&&i<=10){if(i++==5)continue;printf("%f\n",1.0/(i-5));}

功能相同的是。

A、for(;i>=0&&i<=10;i++)if(i!

=5)printf("%f\n",1.0/(i-5));

B、for(;i>=0&&i<=10;i++)if(i==5)printf("%f\n",1.0/(i-5));

C、for(;i>=0&&i<=10;i++)if(i!

=5)printf("%f\n",1.0/(i-5));elsebreak;

D、for(;i<=0&&i>=10;i++)if(i!

=5)printf("%f\n",1.0/(i-5));

87、下列语句中与语句while

(1){if(i>=100)break;s+=i;i++;}功能相同的是。

A、for(;i<100;i++)s=s+i;B、for(;i<100;i++;s=s+i);

C、for(;i<=100;i++)s+=i;D、for(;i>=100;i++;s=s+i);

88、下列各语句定义了数组,其中哪一个是不正确的。

A、chara[3][10]={"China","American","Asia"};B、intx[2][2]={1,2,3,4};

C、floatx[2][]={1,2,4,6,

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

当前位置:首页 > 农林牧渔 > 林学

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

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