二级c语言分类习题.docx

上传人:b****6 文档编号:6546396 上传时间:2023-01-07 格式:DOCX 页数:93 大小:86.76KB
下载 相关 举报
二级c语言分类习题.docx_第1页
第1页 / 共93页
二级c语言分类习题.docx_第2页
第2页 / 共93页
二级c语言分类习题.docx_第3页
第3页 / 共93页
二级c语言分类习题.docx_第4页
第4页 / 共93页
二级c语言分类习题.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

二级c语言分类习题.docx

《二级c语言分类习题.docx》由会员分享,可在线阅读,更多相关《二级c语言分类习题.docx(93页珍藏版)》请在冰豆网上搜索。

二级c语言分类习题.docx

二级c语言分类习题

第一章C语言的结构

大纲要求的知识点:

1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志。

3.源程序的书写格式。

4.C语言的风格。

C

(1)以下叙述中正确的是:

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

C

(2)以下叙述中错误的是:

A)C语句必须以分号结束

B)复合语句在语法上被看作一条语句

C)空语句出现在任何位置都不会影响程序运行

D)赋值表达式末尾加分号就构成赋值语句

B(3)以下四个程序中,完全正确的是:

A)#include

main();

{/*programming*/

printf("programming!

\n");}

B)#include

main()

{/*/programming/*/

printf("programming!

\n");}

C)#include

main()

{/*/*programming*/*/

printf("programming!

\n");}

D)include

main()

{/*programming*/

printf("programming!

\n");}

D(4)以下叙述中错误的是:

A)C语言源程序经编译后生成后缀为.obj的目标程序

B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

B(5)以下叙述中错误的是:

A)算法正确的程序最终一定会结束

B)算法正确的程序可以有零个输出

C)算法正确的程序可以有零个输入

D)算法正确的程序对于相同的输入一定有相同的结果

A(6)下列叙述中错误的是:

A)一个C语言程序只能实现一种算法

B)C程序可以由多个程序文件组成

C)C程序可以由一个或多个函数组成

D)一个C函数可以单独作为一个C程序文件存在

C(7)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。

这属于算法的:

A)正当性B)可行性C)确定性D)有穷性

D(8)下列叙述中错误的是:

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

C(9)下列叙述中错误的是:

A)C语言是一种结构化程序设计语言

B)结构化程序由顺序、分支、循环三种基本结构组成

C)使用三种基本结构构成的程序只能解决简单问题

D)结构化程序设计提倡模块化的设计方法

A(10)对于一个正常运行的C程序,以下叙述中正确的是:

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在程序的最后一个函数中结束

D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数结束

B(11)C语言源程序名的后缀是:

A).exeB).CC).objD).cp

C(12)以下叙述中正确的是:

A)C语言程序将从源程序中第一个函数开始执行

B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D)mian可作为用户标识符,用以命名任意一个函数作为主函数

第二章数据类型及其运算

大纲知识点:

1.C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

D

(1)以下不能定义为用户标识符的是:

A)MainB)_0C)_intD)sizeof

B

(2)以下选项中不能作为合法常量的是:

A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0

C(3)数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);}

程序运行后的输出结果是:

A)3,2B)50,2C)2,2D)2,50

A(4)以下叙述中错误的是:

A)用户所定义的标识符允许使用关键字

B)用户所定义的标识符应尽量做到“见名知意”

C)用户所定义的标识符必须以字母或下划线开头

D)用户定义的标识符中,大、小写字母代表不同标识

D(5)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是:

A)k%2B)k%2==1

C)(k%2)!

=0D)!

k%2==1

A(6)以下不能正确计算代数式值的C语言表达式是:

A)1/3*sin(1/2)*sin(1/2)B)sin(0.5)*sin(0.5)/3

C)pow(sin(0.5),2)/3D)1/3.0*pow(sin(1.0/2),2)

B(7)以下能正确定义且赋初值的语句是:

A)intn1=n2=10;B)charc=32;

C)floatf=f+1.1;D)doublex=12.3E2.5;

D(8)以下程序的功能是:

给r输入数据后计算半径为r的圆面积s。

程序在编译时出错。

main()/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=*π*r*r;

printf("s=%f\n",s);}

出错的原因是

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

C(9)设有定义:

intk=1,m=2;floatf=7;,则以下选项中错误的表达式是:

A)k=k>=kB)-k++C)k%int(f)D)k>=f>=m

A(10)设有定义:

inta=2,b=3,c=4;,则以下选项中值为0的表达式是:

A)(!

a==1)&&(!

b==0)B)(a

c||1

C)a&&bD)a||(b+b)&&(c-a)

B(11)有以下程序段

intk=0,a=1,b=2,c=3;

k=a

b:

a;

k=k>c?

c:

k;

执行该程序段后,k的值是:

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

C(12)以下不合法的用户标识符是:

A)j2_KEYB)DoubleC)4dD)_8_

C(13)以下不合法的数值常量是:

A)011B)1e1C)8.0E0.5D)0xabcd

A(14)以下不合法的字符常量是:

A)’\018’B)’\’’C)’\\’D)’\xcc’

D(15)表达式3.6-5/2+1.2+5%2的值是:

A)4.3B)4.8C)3.3D)3.8

C(16)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是:

A)(!

E==0)B)(E>0‖E<0)C)(E==0)D)(E!

=0)

D(17)以下叙述中错误的是:

A)C程序中的#include和#define行均不是C语句

B)除逗号运算符外,赋值运算符的优先级最低

C)C程序中,j++;是赋值语句

D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

D(18)下列定义变量的语句中错误的是:

A)int_int;B)doubleint_;

C)charFor;D)floatUS$;

A(19)若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是:

A)++x,y=x—B)x+1=y

C)x=x+10=x+yD)double(x)/10

B(20)以下关于逻辑运算符两侧运算对象的叙述中正确的是:

A)只能是整数0或1

B)只能是整数0或非0整数

C)可以是结构体类型的数据

D)可以是任意合法的表达式

D(21)若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y)等价的是:

A)(x-y>0)B)(x-y<0)

C)(x-y<0||x-y>0)D)(x-y==0)

C(22)有以下程序

main()

{intx,y,z;

x=y=1;

z=x++,y++,++y;

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

程序运行后的输出结果是:

A)2,3,3B)2,3,2C)2,3,1D)2,2,1

B(23)以下选项中值为1的表达式是:

A)1-'0'B)1-'\0'C)'1'-0D)'\0'-'0'

A(24)若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a

a:

c

c:

d的值是:

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

(25)设有定义:

floatx=123.4567;,则执行以下语句后的输出结果是:

123.460000

printf("%f\n",(int)(x*100+0.5)/100.0);

(26)以下程序运行后的输出结果是:

1

main()

{intx,a=1,b=2,c=3,d=4;

x=(a

a:

b;

x=(a

x:

c;

x=(d>x)?

x:

d;

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

(27)以下程序运行后的输出结果是:

4599

main()

{inta=3,b=4,c=5,t=99;

if(b

a=c;

c=t;

if(a

b=a;

a=t;

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

}

(28)以下程序运行后的输出结果是:

10200

main()

{inta,b,c

a=10;b=20;c=(a%b<1)||(a/b>1);

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

}

(29)以下程序运行后的输出结果是:

220

main()

{charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

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

}

B(30)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是:

A)大写字母B)连接符C)数字字符D)下划线

C(31)若有代数式

(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是:

A)sqrt(abs(n^x+e^x))

B)sqrt(fabs(pow(n,x)+pow(x,e))

C)sqrt(fabs(pow(n,x)+exp(x)))

D)sqrt(fabs(pow(x,n)+exp(x)))

D(32)设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是:

A)k++B)k+=1C)++kD)k+1

D(33)以下选项中,当x为大于1的奇数时,值为0的表达式是:

A)x%2==1B)x/2C)x%2!

=0D)x%2==0

(34)执行以下程序后的输出结果是:

14

main()

{inta=10;

a=(3*5,a+4);printf(“a=%d\n”,a);

}

(35)已定义charch=’$’;inti=1,j;执行j=!

ch&&i++后,i的值为。

1

C(36)以下合法的字符型常量是:

A)’\X13’B)’081’C)’\65’D)”\n”

D37)已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97。

以下不能将变量c中的大写字母转换为小写字母的语句是:

A)c=(c-‘A’)%26+’a’B)c=c+32

C)c=c-‘A’+’a’D)c=(‘A’+c)%26-‘a’

A(38)可在C程序中用作用户标识符的一组标识符是:

A)andB)DateC)HiD)case

_2007y-m-dDr.TomBig1

B(39)以下选项中,合法的一组C语言数值常量是:

A)028B)12.C).177D)0x8G

.5e-30Xa234e1.510,000

-0xf4.5e00abc3.e5

D(40)以下关于long、int和short类型数据占用内存大小的叙述中正确的是:

A)均占4个字节B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义D)由C语言编译系统决定

B(41)设有条件表达式:

(EXP)?

i++;j--,则以下表达式中与(EXP)完全等价的是:

A)(EXP==0)B)(EXP!

=0)C)(EXP==1)D)(EXP!

=1)

B(42)已有定义:

charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是:

A)isupper(c)B)’A’<=c<=’Z’

C)’A’<=c&&c<=’Z’D)c<=(‘z’-32)&&(‘a’-32)<=c

(43)以下程序的功能是:

输出a、b、c三个变量中的最小值。

请填空。

#include

main()

{inta,b,c,t1,t2;

scanf(“%d%d%d”,&a,&b,&c);

t1=a

;a:

b

t2=c

;c:

t1

printf(“%d\n”,t2);

}

第三章基本语句

大纲知识点:

1.表达式语句,空语句,复合语句。

2.数据的输入与输出,输入输出函数的调用。

3.复合语句。

4.GOTO语句和语句标号的使用。

A

(1)有以下程序

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

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

}

程序运行后的输出结果是:

A)12353514B)12353513C)12343514D)12343513

A

(2)有定义语句:

intb;charc[10];,则正确的输入语句是:

A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);

C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);

A(3)有以下程序

main()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是:

A)m=123n=456p=789B)m=123n=456p=789

C)m=123,n=456,p=789D)123456789

B(4)有以下程序

main()

{inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

}

程序运行后的输出结果是:

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

D(5)有以下程序

main()

{

inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

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

}

程序运行后的输出结果是:

A)123B)234C)223D)233

D(7)以下叙述中正确的是:

A)调用printf函数时,必须要有输出项

B)使用putchar函数时,必须在之前包含头文件stdio.h

C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

B(8)有以下程序

main()

{chara1='M',a2='m';

printf("%c\n",(a1,a2));

}

以下叙述中正确的是:

A)程序输出大写字母MB)程序输出小写字母m

C)格式说明符不足,编译出错D)程序运行时产生出错信息

B(9)设有定义inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是:

A)876和543.000000B)87和6.000000

C)87和543.000000D)76和543.000000

A(10)有以下程序

main()

{inta=0,b=0;

a=10;/*给a赋值

b=20;给b赋值*/

printf("a+b=%d\n",a+b);/*输出计算结果*/

}

程序运行后的输出结果是:

A)a+b=10B)a+b=30C)30D)出错

(11)以下程序运行后的输出结果是:

1011

main()

{intm=011,n=11;

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

}

(12)有以下程序,若运行时从键盘输入:

18,11<回车>,则程序的输出结果是:

11

main()

{inta,b;

printf("Entera,b:

");

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

while(a!

=b)

{while(a>b)a-=b;

while(b>a)b-=a;}

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

}

(13)以下程序运行时若从键盘输入:

102030<回车>。

输出结果是:

10300

#include

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

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

(14)以下程序运行后的输出结果是:

88

main()

{intx=0210;

printf("%X\n",x);}

(15)已知字母A的ASCII码为65。

以下程序运行后的输出结果是:

67G

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

(16)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句:

printf(“a=%d,b=%d”,a,b);

D(17)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是:

A)10X20Y<回车>B)10X20Y<回车>

C)10X<回车>D)10X<回车>

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

B(18)有以下程序,其中%u表示按无符号整数输出

main()

{unsignedintx=0xFFFF;/*x的初值为十六进制数*/

printf(“%u\n”,x);

}

程序运行后的输出结果是:

A)-1B)65535C)32767D)0xFFFF

A(19)若变量均已正确定义并赋值,以下合法的C语言赋值语句是:

A)x=y=5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;

B(20)有以下程序段

intj;floaty;charname[50];

scanf(“%2d%f%s,&j,&y,name);

当执行上述程序段,从键盘上输入5555667777abc后,y的值为:

A)55566.0B)5566.0C)7777.0D)566777.0

C(21)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

执行语句printf(“%d,%d”,c1,c2-2);后,输出结果是:

A)A,BB)A,68C)65,66D)65,68

(22)执行以下程序时输入1234567,则输出结果是:

#include1234

main()

{inta=1,b;

scanf(“%2d%2d”,&a,&b);printf(“%d%d\n”,a,b);

}

第四章选择结构程序设计

大纲知识点:

1.用IF语句实现选择结构。

2.用SWITCH语句实现多分支选择结构。

3.选择结构的嵌套。

A

(1)以下程序的输出结果是:

main()

{inta=0,i;

for(i=1;i<5;i++)

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;}}

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

}

A)31B)13C)10D)20

A

(2)有以下程序

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

printf("%d\n",m);}

程序运行后的输出结果是:

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

C(3)设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句

if(a

if(c==d)y=0;

elsey=1;

该语句所表示的含义是:

D(4)有以下程序

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:

break;

case1:

n+=k;

case2:

case3:

n+=k;

}

k--;

}

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

}

程序运行后的输出结果是:

A)0B)4C)6D)7

B(5)若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是:

A)switch(x)

{case1.0

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

当前位置:首页 > 幼儿教育

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

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