C语言复习题.docx

上传人:b****9 文档编号:25169003 上传时间:2023-06-05 格式:DOCX 页数:37 大小:32.90KB
下载 相关 举报
C语言复习题.docx_第1页
第1页 / 共37页
C语言复习题.docx_第2页
第2页 / 共37页
C语言复习题.docx_第3页
第3页 / 共37页
C语言复习题.docx_第4页
第4页 / 共37页
C语言复习题.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

C语言复习题.docx

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

C语言复习题.docx

C语言复习题

第1章基础知识

1.下列变量名中合法的是

A.B.C.Tom

B.3a6b

C._6a7b

D.$ABC

2.C语言的基本单位是(函数)

3.以下说法中正确的是

A.C语言程序总是从第一个定义的函数开始执行;

B.C语言程序中至少有一个main函数;

C.C语言程序总是从main函数开始执行;

D.C语言程序中的main函数必须放在程序的开始部分;

4.C源程序文件的扩展名为(..c)

5.以下说法中正确的是

A.C源程序可以直接运行产生结果;

B.C源程序经编译后才可直接运行产生结果;

C.C源程序经连接后才可直接运行产生结果;

D.C源程序经编译和连接后才可直接运行产生结果;

6.在C程序中,main()函数的位置是(可以任意;)

7.以下叙述不正确的是

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

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

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

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

8.可在C语言中用作用户标识符的一组标识符是

A.voiddefineword

B.as_b3_123ff

C.for_abccase

D.2cdosig

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

A.#define 

B._123 

C.%d

D.\n

10C语言中,下列正确的叙述是

A.C程序中的关键字必须小写,其他标识符不区分大小写

B.C程序中的所有字母都不区分大小写

C.C程序中的所有字母都必须小写

D.所有的C语言关键字必须小写

11.算法具有五个特性,以下选项中不属于算法特性的是 

A.简洁性

B.有穷性 

C.确定性

D.可行性

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

A.int

B.a_1_2

C.ab1exe

D._x

13.下列四组字符串中都可以用作C语言程序标识符的一组是

A.print

_3d

oodb

aBc

B.i\am

one_half

start$it

3pai

C.Pxq

My->book

line#

His.age

D.str_l

Cpp

pow

while

14.下面各选项组中,均是C语言关键字的组是。

A.auto,enum,include 

B.switch,typedef,continue

C.signed,union,scanf 

D.if,struct,type

15.下列不属于C语言关键字的是。

A.default

B.register

C.enum

D.external

16.C语言程序从main()函数开始执行,所以这个函数要写在_.程序文件的任何位置___。

17。

下面符号中,____不是C语言允许的一般标识符。

A.sum

B.lotus_1

C.#33

D.a5

18.下列选项中,合法的C语言关键字是

A.VAR

B.cher

C.integer

D.default

19.以下叙述中正确的是

A.C程序由主函数组成;

B.C程序由函数组成;

C.C程序由函数和过程组成;

D.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示出来;

20.要把高级语言编写的源程序转换为目标程序,需要使用

A.编辑程序

B.驱动程序

C.诊断程序

D.编译程序

参考答案:

D

21.下列选项中不属于结构化程序设计方法的是 

A.自顶向下 

B.逐步求精 

C.模块化 

D.可复用

参考答案:

D

22.两个或两个以上模块之间关联的紧密程度称为 

A.耦合度 

B.内聚度 

C.复杂度 

D.数据传输特性

参考答案:

A

23.以下不合法的用户标识符是

A.j2_KEY 

B.dobule 

C.4d 

D._8_ 

参考答案:

C

24.以下叙述中正确的是

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

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

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

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

25.以下叙述中错误的是

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

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

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

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

26.用C语言编写的代码程序

A.可立即执行

B.是一个源程序

C.经过编译即可执行

D.经过编译解释才能执行 

参考答案:

B

27.下列选项中,不能用作标识符的是

A._1234_

B._1_2

C.int_2_ 

D.2_int_

28.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )。

A.有零个或多个输入

B.有零个或多个输出 

C.有穷性

D.可行性

参考答案:

B

29.以下叙述中正确的是

A.C语言的源程序不必通过编译就可以直接运行

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

C.C源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

参考答案:

B

30.以下4组用户定义标识符中,全部合法的一组是

A._main

enclude

sin 

B.if

-max

turbo

C.txt 

REAL

3COM

D.int

k_2

_001

参考答案:

A

31.以下叙述中正确的是

A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚,具有其他语言的一切优点

参考答案:

C

32.以下叙述中正确的是

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

B.可以在一个函数中定义另一个函数

C.main()函数必须放在其它函数之前

D.所有被调用的函数一定要在调用之前进行定义

参考答案:

A

33在C语言提供的合法的关键字是

A.swicth

B.cher

C.Case

D.default

参考答案:

D

34.下列字符串不是标识符的是

A.sum

B.Average

C.Day_night

D.M.D.JOHN

参考答案:

D

35.C语言规定:

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

A.必须在最开始

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

C.可以任意

D.必须在最后

参考答案:

C

 

第2章数据类型运算符与表达式

1.设有intn=3;则n++的结果是(3)

2.设有intn=3;则++n,n的结果是(4)

3.逗号表达式(a=3*5,a*4),a的值为(15)

4.若有intq,p;以下不正确的语句是

A.p*=3;

B.p/=q;

C.p+=3;

D.p&&=q;

参考答案:

D

5.设i=5,j=6,表达式k=(i++)*(--j)的值为(25)

6.若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为(900)

7.C语言中运算对象必须是整型的运算符是

A.%=

B./

C.=

D.<=

参考答案:

A

8.若变量已正确定义并赋值,下面符合C语言语法的表达式是

A.a:

=b+1

B.a=b=c+2

C.int18.5%3

D.a=a+7=c+b

参考答案:

B

9.以下程序的输出结果是(13.700000)

main()

{inta=1,b=4,c=2;

floatx=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

printf(“%f”,z);

}

10.字符串""的长度是(0)

11.以下语句的输出结果是(9)(strlen()为求字符串长度函数)

printf(“%d\n”,strlen(“xyz\n099\8\\”));

12.,号运算符得结合方向为自左向右的

13.与条件表达式"(n)?

(c++):

(c--)"中的表达式(n)等价的表达式是 (n!

=0)。

14.C语言中,所有的C语言关键字必须小写。

15.检查以下的C语言标识符的正确性:

A intB a_1_2C ab1exeD _xE printF i\am

16.检查以下的C语言的关键字的正确性:

auto,enum,include switch,typedef,continue,signed,union,scanf if,struct,type

default, register,enum,external

17.字符串""的长度是0

18.如果inta=1,b=2,c=3,d=4;则条件表达式"a

a:

c

c:

d"的值是1

19.为求出s=10!

的值,则变量s的类型应当为ong

20.已知inti=10;表达式"20-0<=i<=9"的值是1

21.在32位的计算机中,一个字长等于1个字节。

22.设y是int型变量,判断y为奇数的关系表达是(y%2)==1.

23.计算机机领域中,通常用英文单词“Byte”表示字节。

24.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>5||x<-5.

25.设有以下变量定义,并已赋确定的值

 charw;intx;floaty;doublez;

 则表达式:

w*x+z-y所求得的数据类型为:

double.

26.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。

27.若已知a=10,b=20,则表达式!

a*b的值是1。

28.计算机网络分为广域网和局域网,因特网属于____广域网____。

29.C语言的函数体一般包括____声明____部分和执行部分。

30.一个C程序总是从main函数开始执行,在____main____函数中结束运行。

31.C程序的注释是由____/**/____所界定的文字信息组成的。

32.一个C语言程序有且仅有一个____main()____函数。

33.C语言源程序的语句分隔符是____;____。

34.在程序设计语言中,计算机能够识别的语言是____机器____语言。

35.标识符的第一个字符必须是____字母或下划线____。

36.关键字是一种C语言中规定的具有____特定____含义的标识符

37.已知字母b的ascii码为98,且charch;则表达式ch=’b’+’8’-‘3’的值为____103____。

38.表达式10/3的结果是____3____。

表达式10%3的结果是____1____。

39.以下程序运行后的输出结果是____220____ 

main() 

{charc;intn=100; 

floatf=10;doublex; 

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

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

40.以下程序运行后的输出结果是____b____。

 

main() 

{charm; 

m='B'+32;printf("%c\n",m); 

41.若有语句 

inti=-19,j=i%4; 

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

则输出结果是 ____-3____.

42.若有以下程序 

main()

{

chara;

a='H'-'A'+'0';

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

}

执行后的输出结果是____7____.

43.以下程序的输出结果是____2,1____ 

main() 

{inta=1,b=2; 

a=a+b;b=a-b;a=a-b; 

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

}

44.若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是____3____。

 

  c=(a-=(b-5)); 

  c=(a%11)+(b=3); 

45.若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是____3____。

 

  c=(a-=(b-5)); 

  c=(a%11)+(b=3); 

46.请写出以下数学式的C语言表达式____a/(b*c)____.

───

b.c 

47.程序设计的三种基本结构是顺序结构、选择结构、循环结构。

(正确)

48.C语言中可以把一个字符串赋给一个字符变量。

 (错误)

 

第3章顺序结构

1.以下程序的输出结果是___101_。

main()

{intn=1;

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

}

2.从键盘输入12345,则下面程序的输出结果是__.a=12b=345__。

main()

{inta,b;

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

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

}

3.以下程序段的输出结果是1234

4.若要求从键盘读入含有空格字符的字符串,应使用函数 

A.getc() 

B.gets() 

C.getchar() 

D.scanf()

参考答案:

B

5.有以下程序 

#include

main()

charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

程序运行后,值为(1245)

6.有以下程序

main()

{chara,b,c,d;

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

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

若运行时从键盘上输入:

6,5,65,66<回车>。

则输出结果是(6,5,A,B )。

7.有以下程序

main()

{

intx=102,y=012; 

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

执行后输出结果是( 102,10)。

8.设有如下程序段:

intx=2002,y=2003;

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

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

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

B.运行时产生出错信息

C.输出值为2002 

D.输出值为2003

参考答案:

D

9.已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d%d%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

参考答案:

C

10.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是(10,2 )。

 printf(”%d,%d\n”,x--,--y);

题目:

以下程序的输出结果是____261____。

 

main() 

{inta=177; 

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

11.以下程序的输出结果是____0____。

 

main() 

{unsignedshorta=65536;intb; 

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

12.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是____5.0,4,c=3____intb,c;floata; 

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

13.若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是____a=1,b=2____。

 

inta,b; 

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

14.下面程序的功能是不用第三个变量,实现两个数的对调操作。

#include

main()

{inta,b;

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

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

a= 

____a+b____; 

b=____a-b____; 

a=____a-b____;

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

15.假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换。

请填空。

a+=____b____;     b=a-b;     a-=b;

16.有以下程序段,说明其输出结果,请填空。

int a=3,b=4;

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

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

输出结果是____

4

5

____。

17.intx;floaty,z;

scanf("%2d%3f%4f",&x,&y,&z);

printf("\n");

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

当执行以上程序段时,在键盘上从第一列开始输入9876543210l,则程序的输出结果是

____x=98,y=765.000000,z=4321.000000____。

18.有以下程序段

intx,y,z;

scanf("%d%d%d",&x,&y,&z

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

当程序运行时输入数据的形式为:

25,13,10时,正确的输出结果为

____无正确值;无正确结果____。

19.有以下程序段:

chara,b,c,d;

c=getchar();d=getchar();

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

putchar(a);putchar(b);

printf("%c%c",c,d);

程序运行后,若从键盘输入(从第1列开始)

9l

876l

则输出结果是____879____。

所属章节:

顺序结构

20.有以下程序段

intm=0,n=0;charc='a';

scanf("%d%c%d",&m,&c,&n);

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

若从键盘上输入:

10A10l

则输出结果是____10,A,10____。

 

21.编写一个程序,从键盘输入一个三位整数,将它们逆序输出。

例如输入127,输出721。

22.求华氏温度100°F对应的摄氏温度。

计算公式:

c=5*(f-32)/9,式中:

c表示摄氏温度,f表示华氏温度。

23.编写程序,要求输入某学生期末考试四门成绩(成绩为整数),然后将四门成绩的总分及平均分输出,平均分的结果保留小数点后一位数字。

24.编写一个四则运算的程序,要求输入两个整数,依次求出两数的和、差、积和商,并输出。

25.变量a=30,变量b=20,编写程序实现交换a和b的值,并输出。

26.从键盘输入任意字符,若是大写字母原样输出,若是小写字母则转为大写字母再输出。

27.输入矩形的长及宽,输出矩形的面积。

28.输入三角形的三边长,求三角形面积。

提示:

三角形面积area,公式为:

area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2.

29.输入两个整数a和b,要求把他们的值互换再输出。

第4章选择结构

1.执行下列语句后a的值为

(2)

inta,b,c;

a=b=c=1;

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

2.执行下列语句后a的值为(0)

inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

3.执行下列语句后b的值为(6)

inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

4.以下程序的输出结果是(.$$$)

main()

{inta=5,b=0,c=0;

if(a=b+c)printf(“***\n”);

elseprintf(“$$$\n”);

}

5.若运行时给变量x输入12,则以下程序的运行结果是(0)

main()

{intx,y;

scanf(“%d”,&x);

y=x>12?

x+10:

x-12;

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

}

6.以下程序的输出结果是

(1)

main()

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

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

k:

c

c:

a);

}

7.若w=1,x=2,y=3,z=4,则表达式w

w:

y

y:

z的值是

(1)

8.设a=2,b;则执行b=a==!

a;语句后,b的结果是(0)

9.设有intn=2;则++n+1==4的结果是

(1)

10.设有inta=2,b;则执行b=a&&1;语句后,b的结果是

(1)

11.设有intm=1,n=2;则++m==n的结果是

(1)

12.设有intn=2;则++n+1==4,n的结果是(3)

13.有以下程序 

 main() 

  {intn=0,m=1,x=2; 

  if(!

n)x-=1; 

  if(m)x-=2; 

  if(x)x-=3; 

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

  } 

执行后输出结果是____-4____。

 

14.以下程序运行后的输出结果是____3____。

 

main() 

{intp=30; 

printf("%d\n",(p/3>0?

p/10:

p%3)); 

15.以下程序运行后的输出结果是____yes____。

 

main() 

{inta=1,b=3,c=5; 

if(c=a+b)printf("yes\n"); 

elseprintf("no\n"); 

16.若有以下程序 

main() 

{intp,a=5; 

if(p=a!

=0) 

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

else 

printf("%d\n",p+2); 

执行后输出结果是 ____1____.

17.若有以下程序 

main() 

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

if(a

if(a

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

执行后输出结果是____503____.

18.以下程序运

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

当前位置:首页 > 职业教育 > 中职中专

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

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