C程序设计复习题.docx

上传人:b****5 文档编号:7718832 上传时间:2023-01-26 格式:DOCX 页数:28 大小:27.44KB
下载 相关 举报
C程序设计复习题.docx_第1页
第1页 / 共28页
C程序设计复习题.docx_第2页
第2页 / 共28页
C程序设计复习题.docx_第3页
第3页 / 共28页
C程序设计复习题.docx_第4页
第4页 / 共28页
C程序设计复习题.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C程序设计复习题.docx

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

C程序设计复习题.docx

C程序设计复习题

《C程序设计》复习题

【编程题】

1、输入三个数a,b,c,要求按由小到大的顺序输出。

2、给出一百分制成绩,要求输出成绩等级“A”、“B”、“C”、“C”、“D”、“E”。

90分以上为“A”。

80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。

3、编写程序求1!

+2!

+3!

+4!

+……+10!

4、编程计算圆周长与面积。

5、编程求解一元二次方程。

6、编程打印乘法九九表。

7、编程计算1+2+3+……+100的值。

8、编程统计平均分,要求采用一维数组保存成绩,至少有10个学生成绩。

【单选题】

9、下列程序的运行结果为______。

main()

{

inti,sum;

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

sum=sum+i;

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

}

A、13B、14C、15D、16

10、下列程序的运行结果为______。

main()

{

inti,a[5],s;

for(i=0,s=0;i<=5;i++)

{

a[i]=i;

s=s+a[i];

}

printf("s=%d",s);

}

A、15B、14C、16D、显示出错信息

11、逗号表达式(a=3*5,a*4),a+5的值为_______。

A、65B、20C、25D、无法计算

12、已知a=15,条件表达式a%2=0?

1:

2的值为______。

A、15B、1C、2D、0

13、以下程序运行后的输出结果是()。

main()

{

intm=12,n=34;

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

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

}

A、12,35,35,14B、12,35,35,13C、12,34,35,14D、12,34,35,13

14、若整型变量a、b、c、d中的值依次为1、4、3、2,则条件表达式a

)。

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

15、C语言的运算符按运算对象的数目可分为_______。

A、单目运算符B、单目和双目运算符

C、单目、双目和三目运算符D、单目、双目、三目和四目运算符

16、C语言中的简单数据类型包括______。

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

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

17、已知:

chara;intb;floatc;doubled;

执行语句c=a+b+c+d;后,变量c的数据类型是_______。

A、intB、charC、floatD、double

18、已知:

intj,i=1;执行语句j=-i++;后,j的值是_____。

A、1B、2C、-1D、-2

19、已知:

inti=5;执行语句i+=++i;i的值是______。

A、10B、11C、12D、A,B,C答案都不对

20、已知:

floatx=1,y;则:

y=++x*++x的结果为_______。

A、y=9B、y=6C、y=1D、表达式是错误的

21、为了从键盘上输入字符串“HOWAREYOU?

”,可以直接使用的函数_____。

A、scanfB、putsC、getsD、都不能直接输入

22、已知:

intx=3,y=5,z;则执行表达式z=x=x>y后变量z的值为______。

A、0B、1C、3D、5

23、已知:

charch='A';则下列表达式的值是______。

ch=(ch>='A'&&ch<'Z')?

(ch+32):

ch;

A、AB、aC、ZD、z

24、已知:

intx=10,y=3,z;则下列语句的输出结果是_____。

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

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

25、已知:

intx=6;则执行x+=x-=x*x;语句后,x的值为______。

A、36B、-60C、60D、-24

26、若a=1,b=2,c=3,d=4,则条件表达式a>b?

a:

(c

c:

d)的值为_____。

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

27、若intk;且有下面的程序片段,则输出结果为____。

k=-3;

if(k<0)

printf("#####")

else

printf("&&&&&");

A、#####B、&&&&&C、#####&&&&&D、有语法错误,无法运行

28、若ints=10;执行下列程序段后,变量s的正确结果是______。

switch(s)

{

case9:

s+=1;

case10:

s+=1;

case11:

s+=1;

default:

s+=1;

}

A、10B、11C、12D、13

29、C语言程序由函数组成,它的______。

A、主函数必须在其它函数之前,函数内可以嵌套定义函数

B、主函数可以在其它函数之后,函数内不可以嵌套定义函数

C、主函数必须在其它函数之前,函数内不可以嵌套定义函数

D、主函数必须在其它函数之后,函数内可以嵌套定义函数

30、一个C语言程序的基本组成单位是_____。

A、主函数B、子程序C、函数D、过程

31、一个C语言程序总是从______开始执行的。

A、程序的第一个函数B、主函数C、子程序D、主程序

32、凡在函数中未指定存储类别的变量,其隐含的存储类别是____。

A、自动(auto)B、静态(static)

C、外部(extern)D、寄存器(register)

33、已知:

inta[3][4];则对数组元素引用正确的是______。

A、a[2][4]B、a[1,3]C、a[1+1][0]D、a

(2)(3)

34、已知:

int*p,a;则语句p=&a;中的运算符“&”的含义是_______。

A、逻辑与运算B、按位与运算C、取指针变量内容D、取变量地址

35、程序运行的结果是______。

#include

main()

{

staticchara[]="computer";

char*p=a;

while(*p)

{

printf("%c",*p-32);

p++;

}

}

A、COMPUTERB、死循环C、computerD、语法错

36、下列叙述中不是C语言特点的是__________。

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

B、C语言是面向对象的程序设计语言

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

D、C语言数据类型丰富、生成的目标代码质量高

37、所有C函数,其结构包括三部分________。

A、语句、花括号和函数体B、函数名、语句和函数体

C、函数名、形式参数和函数体D、形式参数、语句和函数体

38、下面属于C语言标识符的是__________。

A、1abB、@fC、?

bD、_a12

39、C语言中主函数的个数是___________。

A、2个B、1个C、任意个D、10个

40、下列关于C语言注释,叙述错误的是_______。

A、以"/*"开头并以"*/"结尾的字符串为C语言的注释符

B、注释可出现在程序中任何位置,用来向用户提示或解释程序的意义

C、程序编译时,不对注释作任何处理

D、程序编译时,需要对注释进行处理

41、下列不是C语言的分隔符的是__________。

A、逗号B、空格C、制表符D、双引号

42、下列关于C语言关键字叙述错误的是_________。

A、关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字

B、用户定义的标识符不应与关键字相同

C、ANSIC标准规定的关键字有64个

D、ANSIC标准规定的关键字有32个

43、以下不是C语言基本数据类型的是__________。

A、字符型B、浮点型C、整型D、构造类型

44、以下_________是八进制数。

A、0x12B、123C、1001D、0123

45、实数在用指数形式输出时是按规范化的指数形式输出的。

因此当指定将实数584.7按指数形式输出时,正确的输出形式是______。

A、584.7B、5.847e+002C、584.7e+000D、58.47e+001

46、字符串"sizeof(n)=%d\n"的长度是_________。

A、12B、11C、13D、14

47、下列程序语句的输出结果是__________。

charsp[]="\t\v\\\0will\n";

printf("%d",strlen(sp));

A、12B、3C、9D、字符串中有非法字符

48、下面_________是不正确的字符串赋值或赋初值的方式。

A、char*str;str="string";

B、charstr[7]={'s','t','r','i','n','g'};

C、charstr1[10];str1="string";

D、charstr1[]="string";str2[]="12345678";

49、下列关于符号常量的叙述中错误的是_______。

A、定义符号常量有三种方法:

宏定义、const修饰符和枚举。

B、宏定义必须以#define开头,行末不加语句结束符--分号。

C、const定义是以关键字const开头,以冒号结束的C语句。

D、当程序中多次出现一个常量需要修改时,必须逐个修改,很可能漏改或错改;用符号常量只需修改定义,就可以做到统统修改,减少出错几率。

50、下面这个程序段的输出是_______。

intx,y,z;

x=7;y=8;z=9;

if(x>y)

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

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

A、x=7y=8z=7B、x=7y=9z=7

C、x=8y=9z=7D、x=8y=9z=8

51、使用字符串处理函数时,应该包含的头文件是________。

A、stdio.hB、math.hC、string.hD、不用包含头文件

52、下列程序段的输出结果是_____。

charc1,c2;

c1=65;

c2=65+32+1;

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

A、a,BB、A,BC、A,bD、a,b

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

A、数组的首地址B、数组中第一个元素的值

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

54、下面的程序中有错误的行是_______。

#include

main()

{

floatm[5]={0.0};/*第A行*/

inti;

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

scanf("%f",&m[i]);

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

m[0]=m[0]+m[i];/*第B行*/

printf("%f\n",m[0]);/*第C行*/

}

A、第A行B、第B行C、第C行D、都没有错误

55、对于以下程序段,当输入"3"并回车后屏幕上显示的内容是________。

intch;

ch=getchar();

putchar(ch);

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

56、对于inti=0,则表达式"++i,--i,i+1"的值是______。

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

57、以下程序段的输出结果是________。

inty=7;

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

A、8,7,8B、8,7,7C、7,8,7D、7,8,8

58、表达式"sizeof(unsignedshort)"的值是_______。

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

59、下列关于break语句与continue语句叙述错误的是___________。

A、break用来退出循环体

B、continue用来退出本次循环,提前进入下次循环的判定

C、break语句与continue语句均可用在while、do-while、for循环体中

D、在循环语句中break语句不能与if语句连在一起使用

60、下列关于do-while循环与while循环叙述错误的是_______。

A、do-while循环先执行循环体,然后再判断表达式

B、while循环先进行条件判断,满足条件才去执行循环体

C、while循环至少要执行一次循环体

D、do-while循环至少要执行一次循环体

61、如果n为整型,以下while循环执行________。

#include

main()

{

intn;

n=2;

while(n==0)

printf("%d",n);

n--;

printf("\n");

printf("%d",n);

}

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

62、下列有关空语句的叙述错误的是_______。

A、只有分号";"组成的语句称为空语句

B、空语句是什么也不执行的语句

C、空语句是只执行一次的语句

D、在程序中空语句可用作空循环体

63、以下______属于C语言基本数据类型。

A、指针类型B、空类型C、整型D、构造类型

64、表达式"!

5||6&&8"的值是________。

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

65、当输入"Beijing2008"时,下列程序段的输出结果是______。

charst[20];

charstt[]="nihao";

gets(st);

strlwr(st);

strcat(st,stt);

puts(st);

A、beijingnihaoB、beijing2008nihao

C、Beijing2008nihaoD、Beijingnihao

66、以下程序段输出结果是_________。

chars[12]="abook!

";

printf("%d",strlen(s));

A、12B、8C、7D、11

67、以下转义字符"反斜杠线"正确的表示方法是_______。

A、\B、\\C、'\'D、"\"

68、下面关于字符常量和字符串常量的叙述中错误的是_______。

A、字符常量由单引号括起来,字符串常量由双引号括起来。

B、字符常量只能是单个字符,字符串常量则可以含一个或多个字符。

C、字符常量占一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数。

D、可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。

69、下列关于一维数组的引用叙述正确的是_______。

A、数组元素可以先引用后定义。

B、C语言规定只能逐个引用数组中的元素,而不能一次引用整个数组。

C、数组元素可以被赋值,但不可以参与组成表达式。

D、如果给全部元素赋值,则在数组说明中必须给出数组元素的个数。

70、C语言可执行程序从_______开始执行。

A、程序中第一条可执行语句

B、程序中第一个函数

C、程序中的main()函数

、包含文件中的第一个函数

71、对于以下程序段的输出结果"3333.333664"有效的数据项是________。

floata;

a=3333.33333;

printf("%f",a);

A、3333.333664B、3333.33333C、3333,3333D、3333.333

72、若定义如下函数:

sub(intx)

{

floaty;

y=3*x-4;

returny;

}

则该函数返回值的数据类型是_______。

A、intB、不确定C、voidD、float

73、在C语言的if语句中,用作判断的表达式为__________。

A、算术表达式B、其他表达式C、关系表达式D、任意表达式

74、下面这个程序的输出是________。

main()

{

intn=10;

while(n--);

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

}

A、while构成死循环B、n=0C、n=1D、n=-1

【简答题】

75、简述开发C程序的步骤。

76、C语言中采用哪种代码形式表示字符?

77、C语言程序结构有何特点?

78、简述C语言提供的基本数据类型。

79、*.c,*.obj,*.exe分别表示什么文件?

80、什么是C语言的保留字?

使用保留字时应注意些什么?

81、计算机怎样执行C程序?

82、对math.h进行预处理,应该如何表示?

【填空题】

83、1966年,Bohra和Jacopini提出了三种基本结构__________、__________、__________作为表示一个良好算法的基本单元。

84、把变量x定义为整型的语句为________________。

85、设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为___________。

86、下列程序的运行结果为__________。

main()

{

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

87、设a和n为整型变量,且a=12,表达式a+=a=a-=a*=a运算后a的值为________。

88、下面程序的功能是输入三角形的三边长,求三角形面积。

#include

#include

main()

{

floata,b,c,s,area;

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

s=1.0/2*(a+b+c);

______________________________________

printf("a=%3.2f,b=%3.2f,c=%3.2f,s=%3.2f\n",a,b,c,s);

printf("area=%3.2f\n",area);

}

89、下面程序的功能是打印以下图案,请把程序补充完整。

******

******

******

******

******

#include

main()

{

inti,j,k;

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

{

____________________________/*打印每行的前导空格*/

for(j=1;j<=5;j++)printf("*");

printf("\n");

}

}

90、下列程序的功能是求出两个数中的较大者,请把用户自定义函数max(x,y)填写完整。

#include

intmax(int,int);

main()

{inta,b,c;

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

c=max(a,b);

printf("Maxis%d",c);

}

max(intx,inty)

{

intz;

/*利用条件表达式使z保存x和y中较大者的值*/

____________________

return(z);

}

91、下列程序采用递归方法计算n!

,请把程序补充完整。

#include

longfac(intn)

{

longf;

if(n<0)

printf("n<0,dataerror!

");

elseif(n==0||n==1)

f=1;

else

________________________

returnf;

}

main()

{

intn;

longy;

printf("inputaninteger:

");

scanf("%d",&n);

y=fac(n);

printf("%d!

=%ld\n",n,y);

}

92、下列程序运行时输入5,9,输出结果为______。

#include

main()

{

inta,b,*p1,*p2,*p;

printf("a,b=");

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

p1=&a;

p2=&b;

if(a

{

p=p1;

p1=p2;

p2=p;

}

printf("%d\t%d",*p1,*p2);

}

93、对键盘输入的任意10个整数求和。

#include

main()

{

intcount,num,total;

count=0;total=0;

while(count<10)

{

count++;

printf("EntertheNo.%d",count);

________________________

total+=num;

}

printf("Total=%d\n",total);

}

94、计算1+2+3+……+100。

#include

main()

{

inti,sum;

sum=0;

i=1;

while(i<=10)

{

________________

i++;

}

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

}

95、统计100~200之间不能被3整除的数有多少。

#include

main()

{

intn,num;

for(n=100;n<=200;n++)

{

if(n%3==0)continue;

_________________

}

printf("%d",num);

}

96、C程序是由_____构成的,一个C程序中至少包含______。

97、C程序注释是由_____和____所界定的文字信息组成的。

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

(答题请打上双引号)字段宽度为4的十进制整数应使用"%4d",字段宽度为6的十六进制整数应使用______,字段宽度为5的八进制整数应使用_____,字段宽度为3的字符应

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

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

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

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