C语言程序设计基础单项选择题库.docx

上传人:b****6 文档编号:8561595 上传时间:2023-01-31 格式:DOCX 页数:58 大小:36.21KB
下载 相关 举报
C语言程序设计基础单项选择题库.docx_第1页
第1页 / 共58页
C语言程序设计基础单项选择题库.docx_第2页
第2页 / 共58页
C语言程序设计基础单项选择题库.docx_第3页
第3页 / 共58页
C语言程序设计基础单项选择题库.docx_第4页
第4页 / 共58页
C语言程序设计基础单项选择题库.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

C语言程序设计基础单项选择题库.docx

《C语言程序设计基础单项选择题库.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础单项选择题库.docx(58页珍藏版)》请在冰豆网上搜索。

C语言程序设计基础单项选择题库.docx

C语言程序设计基础单项选择题库

分类:

一、概念(13---51,54,55)、数据类型、输入输出格式、转义符、运算及表达式等:

1---66

二、选择语句:

67---72(其中67为条件运算,72可归于一类);

三、循环语句:

73---102(其中78为输出格式可归于一类)

四、数组:

103---133(其中123–125为与数组相关的函数调用)

五、函数调用:

134---156

六、文件:

157–183

七、指针:

184---195

八、结构体:

196---207(204.205,206为函数调用)

1、在C语言中,最基本的数据类型包括

(A)整型、实型、字符型(B)整型、实型、逻辑型

(C)整型、字符型、逻辑型(D)实型、字符型、逻辑型

2

C语言中整常数的书写形式不能使用的数制形式是

(A)十进制(B)十六进制

(C)八进制(D)二进制

3

字符串常量"ab\n\\cde\125"包含字符的个数是

(A)8(B)12

(C)9(D)13

4

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

(A)必须为下划线(B)可以是这三种字符中的任一种

(C)必须为字母或下划线(D)必须为字母

5

下列是用户自定义标识符的是

(A)#x(B)_x

(C)2x(D)int

6

在C语言中,下列常数不能作为常量的是

(A)0xA3(B)068

(C)5.6E-3(D)2e5

7

在C语言中,运算对象必须是整型的运算符是

(A)%(B)>=

(C)&&(D)=

8

下列表达式与x=(y++)等价的是

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

(C)x=y,y=y+1(D)x+=y+1

9

若定义intx=17;,则表达式x++*1/6的值是

(A)1(B)2

(C)3(D)4

10

如果在一个C语言表达式中有多个运算符,则运算时应该

(A)只考虑优先级(B)只考虑结合性

(C)先考虑优先级,然后考虑结合性(D)先考虑结合性,然后考虑优先级

11在C程序中,下面叙述不正确的是

(A)x和X是两个不同的变量(B)从键盘输入数据时,对整型变量只能输入整型数据,对于实型变量只能输入实型数据

(C)逗号运算符的优先级最低(D)若x、y类型相同,则执行语句y=x,后,将把x的值放入y中,而x的值不变

12

已知字符A的ASCII值为65,若定义inti;,则执行语句i='A'+3.5;后,正确的叙述是

(A)i的值是字符E(B)语句不合法

(C)i的值是字符A的ASCII值加上3,即68(D)i的值是字符A的ASCII值加上3.5,即68.5

13

C语言是计算机高级语言,它适合作为系统描述语言,它

(A)不以用来编写系统软件,可以用来编写应用软件(B)不以用来编写系统软件,不可以用来编写应用软件

(C)可以用来编写系统软件,不可以用来编写应用软件(D)可以用来编写系统软件,也可以用来编写应用软件

14

在纸上写好一个C语言程序后,上机运行的基本步骤为

(A)编辑、连接、编译、运行(B)编译、连接、编辑、运行

(C)编译、编辑、连接、运行(D)编辑、编译、连接、运行

15

用C语言等高级语言编写的程序称为

(A)可执行程序(B)编译程序

(C)目标程序(D)源程序

16

一个C语言源程序经过“编译程序”翻译后生成一个二进制代码文件,它的扩展名为

(A).dat(B).exe

(C).c(D).obj

17

通过“连接程序”软件,把C语言目标程序与C语言提供的各种库函数连接起来生成一个文件,它的扩展名为

(A).exe(B).dat

(C).obj(D).c

18

下面叙述中正确的是

(A)在C语言程序中,要调用的函数必须在main()函数中定义(B)C语言程序总是从main()函数开始执行

(C)C语言程序总是从第一个函数开始执行(D)在C语言程序中,main()函数必须放在程序的开始位置

19

在一个C语言源程序中,main()函数的位置

(A)必须在其他所有的函数之后(B)可以在任意位置

(C)必须在其他所有的函数之前(D)必须在固定位置

20

一个C语言程序由

(A)若干个过程组成(B)若干个子程序组成

(C)一个主程序和若干个子程序构成

(D)一个主函数和若干个子函数构成

21一个函数的组成有

(A)函数的声明部分和执行部分(B)函数名、函数类型、函数参数名、函数参数类型

(C)主函数和子函数(D)函数首部和函数体

22

下面叙述不正确的是

(A)在程序中任意合适的地方都可以加上注释以便阅读(B)C语言中的每条执行语句都需要用分号结束

(C)include命令所在行后面需要加分号(D)C语言具有高级语言的功能,也具有低级语言的一些功能

23

下面叙述正确的是

(A)在C程序中,main()函数的位置必须在其他所有的函数之前(B)C语言自身没有输入输出语句

(C)在C程序的编译过程中可以发现注释中的拼写错误(D)C程序的每一行只能写一条语句

24

在C语言中,用来表示“取位置”的符号是

(A)$(B)#

(C)@(D)&

25

在C语言中,用于结构化程序设计的三种基本结构是

(A)顺序结构、选择结构、转移结构(B)顺序结构、条件结构、循环结构

(C)顺序结构、选择结构、重复结构(D)顺序结构、选择结构、循环结构

26

一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是

(A)有效性(B)有穷性

(C)有零个或多个输入(D)有零个或多个输出

27

程序设计一般可以简化为以下4个步骤,其中首先应该完成的是

(A)调试并运行程序(B)编写程序

(C)建立数学模型(D)设计数据结构和算法

28

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

(A)ab.c(B)a_bc

(C)abc(D)ABC

29

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

(A)a+b(B)test!

(C)_123(D)%x

30

编辑程序的功能是

(A)命令计算机执行指定的操作(B)调试程序

(C)将C源程序编译成目标程序(D)建立并修改程序

31C语言程序的基本单位是

(A)过程(B)函数

(C)子程序(D)标识符

32

下列说法中错误的是

(A)主函数可以分为两部分:

主函数首部和主函数体(B)主函数可以调用任何非主函数的其它函数

(C)任何非主函数可以调用其它任何非主函数(D)程序可以从任何非主函数开始执行

33

在下列数据中属于“字符串常量”的是

(A)ABC(B)"ABC"

(C)'abc'(D)'a'

34

在C语言中,字符'\n'在内存占用的字节数是

(A)1(B)2

(C)3(D)4

35

字符串"ABC"在内存占用的字节数是

(A)3(B)4

(C)6(D)8

·试题讲评

  编译字符串"ABC"时,编译器会自动加上字符串结束标志'\0',因此字符串"ABC"占用的内存为4个字节。

36

在C语言中,合法的长整型常数是

(A)0L(B)4321

(C)0.07654321(D)2.3456e10

·试题讲评

4321在C语言中默认为是int型数据,数据后加L或l表示该数的类型为长整型。

37

char型常量在内存中存放的是

(A)ASCII值(B)BCD码值

(C)内码值(D)十进制代码值

38

设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是

(A)0,0(B)0,1

(C)1,0(D)1,1

·试题讲评

  

(1)在C语言中,“||”表示逻辑或,“&&”表示逻辑与。

  

(2)对于“m=(表达式a)||(表达式b)”,若“表达式a”为真或“表达式b”为真,则m为真。

特别指出,若“表达式a”为真,则m的值肯定为真(无论“表达式b”的结果是否为真),在C语言中,为提高运算速度,此时就不再去执行“表达式b”。

  (3)对于“m=(表达式a)&&(表达式b)”,若“表达式a”为假或“表达式b”为假,则m为假。

特别指出,若“表达式a”为假,则m的值肯定为假(无论“表达式b”的结果如何),在C语言中,为提高运算速度,此时就不再去执行“表达式b”。

  (4)在本题的表达式中,从左至右,先计算“(m=a==b)”,在此表达式中,先计算“a==b”,由于a,b的值均为0,因此“a==b”的结果是真(即1)。

再将“a==b”的运算结果(即1)赋值给m,则m的值为1,因此“(m=a==b)”的结果为1,即真,按前述规则,不再对表达式“(n=c==d)”进行计算,因此结果为选项C。

39

设a为5,执行下列语句后,b的值不为2的是

(A)b=a/2(B)b=6-(--a)

(C)b=a%2(D)b=a>3?

2:

4

40

表达式10!

=9的值是

(A)true(B)真

(C)0(D)1

41

若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是

(A)1.0(B)2.0

(C)0.0(D)2.5

·试题讲评

对于逗号(,)运算符,从左至右进行运算,结果为最后一步的值。

42

若有chara;intb;floatc;doubled;,则表达式a*b+d-c的值的类型是

(A)float(B)int

(C)char(D)double

43

在以下一组运算符中,优先级最高的运算符是

(A)<=(B)=

(C)%(D)&&

44

下列叙述中正确的是

(A)C程序中的所有字母都必须小写(B)C程序中的关键字必须小写,其他标识符不区分大小写

(C)C语言中的所有字母都不区分大小写(D)C语言中的所有关键字必须小写

45

下面不属于C语言关键字的是

(A)integer(B)typedef

(C)enum(D)union

46

以下叙述不正确的是

(A)分号是C语句的必要组成部分(B)C程序的注释可以写在语句的后面

(C)函数是C程序的基本单位(D)主函数的名字是mian

47

下列能正确表示a≥10或a≤0的C语言关系表达式是

(A)a>=10ora<=0(B)a>=10|a<=0

(C)a>=10||a<=0(D)a>=10&&a<=0

48

下列只有当整数x为奇数时,才是逻辑“真”的表达式是

(A)x%2==0(B)!

(x%2==0)

(C)!

(x%2)(D)(x-x/2*2)==0

49

设a为整型变量,不能正确表达数学关系10

(A)10

(C)a>10&&a<15(D)!

(a<=10)&&!

(a>=15)

·试题讲评

  对于表达式“10

“10

50

表达式17%4/8的值是

(A)0(B)1

(C)2(D)3

51下列说法正确的是2834

(A)在执行C程序时不是从main()函数开始(B)C语言程序书写格式限制严格,一行内只能写一条语句

(C)C语言程序书写格式比较自由,一条语句可以分写在多行上(D)C语言程序书写格式严格,要求一行内必须写一条语句,并要有行号

52

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

(A)只能是0或1(B)只能是0或非0正数

(C)可以是正数或字符型数据(D)是逻辑型

53

若有代数式3ae/(bc),则错误的C语言表达式为

(A)a/b/c*e*3(B)3*a*e/b/c

(C)3*a*e/b*c(D)a*e/c/b*3

54

用C语言编写的代码程序

(A)可立即执行(B)是一个源程序

(C)经过编译即可执行(D)经过编译解释才能执行

55

以下叙述中正确的是

(A)C语言的源程序不必通过编译就可以直接运行(B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

(C)C源程序经编译形成的二进制代码可以直接运行(D)C语言中的函数不可以单独进行编译

56

以下关于if语句的错误描述是

(A)条件表达式可以是任意的表达式(B)条件表达式只能是关系表达式或逻辑表达式

(C)条件表达式的括号不能省(D)与else配对的if语句是其之前最近的未配对的if语句

57

若变量x、y、z被定义为float型,通过语句scanf("%f%f%f",&x,&y,&z);给x输入15.0,给y输入25.0,给z输入35.0,下列输入形式不正确的是

(A)152535(B)152535

(C)15.025.035.0(D)15.0,25.0,35.0

58

若变量x、y被定义为float型,通过语句scanf("x=%f,y=%f",&x,&y);给x输入1.23,给y输入1.26,下列输入形式正确的是

(A)x=1.23,y=1.26(B)1.23,1.26

(C)1.231.26(D)x=1.23y=1.26

59

若变量a、b、c被定义为int型,从键盘给他们输入数据,正确的输入语句是

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

(C)scanf("%f%f%f",&a,&b,&c);(D)inputa,b,c;

60

若定义floata;,要从键盘给a输入数据,其整数位为3位,小数位为2位,则选用

(A)scanf("%f",&a);(B)scanf("%f",a);

(C)scanf("%6.2f",&a);(D)scanf("%6.2f",a);

61对于以下程序代码段,叙述正确的是

charc1='D',c2='d';

printf("%c\n",(c1,c2));

(A)缺少一个格式说明符,编译出错(B)程序运行时产生出错信息

(C)程序输出大写字母D(D)程序输出小写字母d

62

下面程序代码段输出的结果是

intx=2,y=5;

printf("%f\n",(float)(x/y));

(A)0.000000(B)0

(C)0.40000(D)0.4

63

当输入数据形式为“25,13,10”时,下面程序代码段输出的结果是

inta,b,c;

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

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

(A)a+b+c=48(B)a+b+c=35

(C)a+c=48(D)随机数

64

以下说法正确的是

(A)输入项可以为一个实型常量,如scanf("%f",3.5);(B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

(C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&x);(D)当输入数据时,必须指明变量的位置,如scanf("%f",&x);

65

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

(A)整型变量表达式(B)实型变量值

(C)字符串(D)字符或字符变量值

66

已知ch是字符变量,下面正确的赋值语句是

(A)ch='123';(B)ch='\xff';

(C)ch='\08';(D)ch='\';

67

若有a=1,b=0,c=2,d=3,则条件表达式a

a:

c

c:

d的值是

(A)0(B)1

(C)2(D)3

68

如果从键盘输入数据23,下面程序代码段输出的结果是

intx;

scanf("%d",&x);

if(x>10)

{

printf("%d",x);

}

if(x>20)

{

printf("%d",x);

}

if(x>30)

{

printf("%d",x);

}

(A)23(B)2323

(C)232323(D)都不正确

69

下面程序代码段的输出结果是

inta=15,b=10,c=20,d;

d=a>12?

b:

c;

switch(d)

{

case5:

printf("%d,",a);

case10:

printf("%d,",b);

case20:

printf("%d,",c);

default:

printf("#\n");

}

(A)15,10,20,#(B)10,20,#

(C)10,20(D)10

70

下面程序代码段的输出结果是

inta=2,b=3,c=1;

switch(c)

{

case0:

a++;

case1:

a++;

b++;

case2:

b++;

}

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

(A)a=3,b=5(B)a=3,b=4

(C)a=4,b=4(D)a=4,b=5

71关于为什么要学习C语言,以下描述错误的是

(A)C语言早就过时了,应该学习最流行的语言。

(B)通过对C语言的学习,可以培养工程推理和解决问题的能力。

(C)C语言是结构化程序设计语言,是面向对象程序设计的基础。

(D)非计算机专业同学学习C语言,可以培养使用计算机解决问题的思维和能力。

72

执行了以下程序段后x,w的值为

intx=0,y=1,z=2,w;

if(x++)

{

w=x;

}

elseif(x++&&y>=1)

{

w=y;

}

elseif(x++&&z>1)

{

w=z;

}

(A)0,1(B)1,1

(C)2,1(D)3,2

73

下列语句中,错误的是

(A)while(x=y)5;(B)dox++while(x==10);

(C)while(0);(D)do2;while(a==b);

74

若有整型变量i,j,则以下程序段中内循环体“printf("ok");”的循环次数为

for(i=5;i;i--)

{

for(j=0;j<4;j++)

{

printf("ok");

}

}

(A)20(B)24

(C)25(D)30

75

假定a和b为int型变量,则执行以下语句后b的值为

a=1;

b=10;

do

{

b-=a;

a++;

}while(b--<0);

(A)9(B)8

(C)-2(D)-1

76

循环语句“for(x=0,y=0;(y!

=123))||(x<4);x++);”的循环次数为

(A)无限次(B)不确定

(C)4次(D)3次

77

在C语言中,下列说法中正确的是

(A)不能使用“do语句while(条件);”的循环(B)“do语句while(条件);”的循环中,当条件为非0时结束循环

(C)“do语句while(条件);”的循环中,当条件为0时结束循环(D)“do语句while(条件);”的循环必须使用break语句退出循环

78

下述程序代码段输出的结果是

intk=11;

printf("k=%d,k=%o,k=%x",k,k,k);

(A)k=11,k=13,k=b(B)k=11,k=12,k=11

(C)k=11,k=13,k=13(D)k=11,k=013,k=0xb

79

以下程序段中,while循环的循环次数是

inti=0;

while(i<10)

{

if(i<1)

{

continue;

}

if(i==5)

{

break;

}

i++;

}

(A)死循环,无限次(B)1

(C)6(D)10

80

设x和y均为int型变量,则执行下面的循环后y的值为

for(y=1,x=1;y<=50;y++)

{

if(x>=10)

{

break;

}

if(x%2==1)

{

x+=5;

continue;

}

x-=3;

}

(A)2(B)4

(C)6(D)8

81设i,j,k均为整型变量,则执行如下语句后,k的值为

for(i=0,j=10;i<=j;i++,j--)

{

k=i+j;

}

(A)8(B)9

(C)10(D)11

82

以下程序段的输出结果是2903

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)31(B)13

(C)10(D)20

83

以下程序段的输出结果是

inti=0,a=0;

while(i<20)

{

for(;;)

{

if(i%10==0)

{

break;

}

else

{

i--;

}

}

i+=11;

a+=i;

}

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

(A)21(

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

当前位置:首页 > 表格模板 > 合同协议

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

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