大学生C语言期末考试试题汇总_第1页
大学生C语言期末考试试题汇总_第2页
大学生C语言期末考试试题汇总_第3页
大学生C语言期末考试试题汇总_第4页
大学生C语言期末考试试题汇总_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐大学生C语言期末考试试题汇总第1-3章习题

一、单项挑选题

1C语言属于()。

A.机器语言

B.低级语言

C.中级语言

D.高级语言

2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。

A.函数

B.主函数

C.include

D.过程

3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?

A.编辑?编译

B.编译?衔接

C.编辑?改错

D.编辑?衔接

4C语言程序从开头执行。

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

B.程序中第一个函数

C.程序中的main函数

D.包含文件中的第一个函数

5C语言程序是由构成的。

A.一些可执行语言

B.main函数

C.函数

D.包含文件中的第一个函数

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

A.有效性

B.有穷性

C.有零个或多个输入

D.有零个或多个输出

7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f值的数据类型。

A.int

B.float

C.double

D.不确定

8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节

B.由用户自己定义

C.由变量的类型打算

D.是随意的

9执行scanf(“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。

A.3,4

B.a:3b:4

C.a=3,b=4

D.34

10在算术表达式中允许使用的括号类型是。

A.{}

B.[]

C.()

D.以上三项皆错

11存储以下数据,占用存储字节最少的是。

A.0

B.‘0’

C.“0”

D.0.0

12设n=10,i=4,则运算n%=i+1执行后,n的值是。

A.0

B.3

C.2

D.1

13C语言中运算对象必需是整型的运算符是。

A.%

B./

C.=

D.〈=

14已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是.

A.0B.1C.5D.6

15若有以下类型说明语句:charw;intx;floaty;doublez;则表达式w-x*y/z的结果为类型

A.float

B.char

C.int

D.double

16在C语言的库函数中,可以输出char型变量x值的语句是。

A.getchar(x);

B.fputc(x)

C.putchar(x)

D.puts(x)

17已知intx;chary;则下面错误的scanf函数调用语句为。

A.scanf(“%d,%d”,

B.scanf(“%d,%c”,x,y)

C.scanf(“%d%d”,floatf=13.8;”,则执行“n=(int)f%3”后,n的值是。

A.1

B.4

C.4.333333

D.4.6

19设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是。

A.b=1.0/a

B.b=(float)(1/a)

C.b=1/(float)a

D.b=1/(a*1.0)

20C语言中运算对象必需是整型的运算符是。

A.%=

B./

C.=

D.〈=

21若int类型数据占2个字节,则unsignedint类型数据的取值范围是。

A.0~255

B.0~65535

C.-32768~32767

D.-256~255

22在C语言中,字符型数据所占的内存空间是。

A.2个字节

B.4字节

C.1字节

D.由用户自定义

23C语言中字符型(char)数据在内存中的存储的是。

A.原码

B.补码

C.反码

D.ASCII码

24已知ch是字符型变量,不正确的赋值语句是。

A.ch='a+b';

B.ch='\0';

C.ch='7';

D.ch=';

25已定义c为字符型变量,则下列语句中正确的是。

A.c='97'

B.c="97"

C.c='a'

D.c="a"

26下列可以正确表示字符型常量的是。

A.’\t’

B.”a”

C.”\n”

D.297

27下列C语言用户标识符中合法的是。

A.*y

B.sum

C.int

D.%5f

28下列正确的标识符是.

A.-a1

B.a2_i

C.a[i]

D.intt

二、推断题

29在C源程序中,解释信息也被编译,但对程序运行运果不发生影响。

正确错误

30将C程序编译成目标文件,其扩展名为EXE。

正确错误

31C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。

正确错误

32被main函数调用的函数只能是库函数。

正确错误

33一个C语言程序中可以有多个函数,但只能有一个主函数。

正确错误

34结构化程序设计语言的三种基本结构是:挨次结构、挑选结构、循环结构。

正确错误

35程序中的“=”是赋值号,与数学中等号的功能相同。

正确错误

36C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。

正确错误

37执行语句++i;i=3;后变量i的值为4。

正确错误

38C程序中的一个变量可以被定义为两个或多个不同的类型。

正确错误

39自增1(++)、自减1(--)运算符都是双目运算符。

正确错误

40字符常量和字符串常量的存储是相同的,都是以字符的ASCII码值举行存放。

正确错误

41C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。

正确错误

42C语言标准输出操作中,putchar()函数可以输出显示一个字符串。

正确错误

43C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

正确错误

44一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。

正确错误

45条件运算符?和:是一对运算符,不能分开单独使用。

正确错误

46表达式语句和表达式没有什么区分。

正确错误

三、填空题

47算法具有以下特点:有穷性、()、有零个或多个输入、有一个或多个输出、有效性。48解决问题的办法和步骤,称为()。

49假如i的原值等于3,则printf(“%d\n”,i++);的输出结果是()。

50假如i的原值等于3,则printf(“%d\n”,++i);的输出结果是()。

51在C程序中,字符输出函数是()函数。

52在C程序中,字符输入函数是()函数。

53格式声明由%和格式字符组成,如%f,f格式符用来输出一个()。

54在输出字符数组中的字符串时,遇()就停止输出。

55格式声明由%和格式字符组成,如%s,s格式符用来输出一个()(不包括双引号)。

56格式声明由%和格式字符组成,如%c,c格式符用来输出一个()。

57格式声明由%和格式字符组成,如%d,d格式符用来输出一个有符号的()。

58在C程序中,用来实现输入的,主要是()函数,这个函数是格式输入函数。

59在C程序中,用来实现输出的,主要是()函数,这个函数是格式输出函数。

60在C程序中,格式化输出库函数是()函数。

61在C程序中,格式化输入库函数是()函数。

62语句x++;、++x;、x=x+1;、x=1+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举相同)()。

63已知intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是()。

64赋值语句是在赋值表达式的末尾加一个()构成的。

65C语句分为以下5类:控制语句、函数调用语句、()、空语句、复合语句。

66按照c语言标识符的命名规章,标识符只能由数字、字母、下划线组成,而且第一个字母不能是()。

67在VC编译系统下,一个double型数据在内存中占()个字节。

68在VC编译系统下,一个float型数据在内存中占()个字节。

69在VC中,一个int型数据在内存中占()个字节。

70在VC中,一个char型数据在内存中占()个字节。

71在程序运行过程中,其值可以转变的量称为()。

72在程序运行过程中,其值不能转变的量称为()。

73在c语言中,十六进制整型常量以()作前缀。

74在c语言中,八进制整型常量以()作前缀。

四、问答题

75下面程序的输出结果是:

#include

#defineM3

#defineN(M+1)

#defineNNN*N/2

voidmain()

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

printf("%d",5*NN);

}

76下面程序的输出结果是:

#include

#defineM3

#defineN(M+1)

#defineNNN*N/2

voidmain()

{printf("%d",5*NN);

}

77下面程序的输出结果是:

#include

#defineM3

#defineN(M+1)

#defineNNN*N/2

voidmain()

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

printf("%d",5*NN);

}

78下面程序的输出结果是:

#include

#definePT5.5

#defineS(x)PT*x*x

intmain()

{inta=1,b=2;

printf("%4.1f\n",S(a+b));

return0;

}

第4章习题

一、单项挑选题

1有以下定义:inta=3,b=4,c=5;则表达式a||b+c则执行(m=a>b&&(n=c>d)后n的值为()。

A.1

B.2

C.3

D.4

3若希翼当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A.A%2==1B.!(A%2==0)C.!(A%2)D.A%2

4已知x=43,ch=′A′,y=0;则表达式(x>=y)xy

B.x<=y

C.x||y+zA<=ch<=Z

B.(cb>=A)&(ch<=Z)

C.(ch>=A)Z)

D.(A<=ch)AND(Z>=ch)

7有如下程序段:w,x,y,z,m;w=1;x=2;y=3;z=4;m=(w=-58)&&(x=40)&&(x=-58)||(x=40)||(x=-58)&&(x=40)&&(x=-58)||(x=40)||(xb)&&(n=c>d)后n的值为()。

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

13已有定义:intx=3,y=4,z=5;则表达式!(x+y)+z-1执行下列程序后,变量i的正确结果是。

switch(i)

{case9:i+=1;

case10:i+=1;

case11:i+=1;

default:i+=1;}

A.13

B.12

C.11

D.10

20以下程序的输出结果是:

main()

{intx=-10,y=1,z=1;

if(x=’A’)执行下面语句后m的值是。

m=(w>x)?w:x;

m=(m>y)?m:y;

A.12

B.0

C.3

D.1

27a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是

A.a则表达式!(a+b)+c-1则表达式!(x=a)则表达式!(a>b)则表达式a||b+c则表达式a+b>c&&b==c的值为0。

正确错误

33只能在循环体内和switch语句体内使用break语句。

正确错误

34switch…case结构中case后的表达式必需为常量表达式。

正确错误

35C语言规定,else总是与它上面、最近的、尚未配对的if配对。

正确错误

36全部关系运算符的运算优先级相同。

正确错误

37case语句后如没有break,挨次向下执行。

正确错误

38在switch语句中,多个case可以共用一组执行语句。

正确错误

39若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。

正确错误

40C语言规定,else总是与它上面、最近的、尚未配对的if配对。

正确错误

41规律表达式的值只能为1或0。

正确错误

42continue不是结束本次循环,而是终止囫囵循环的执行。

正确错误

43在if语句的三种形式中,假如要想在满足条件时执行一组(多个)语句,则必需把这一组语句用{}括起来组成一个复合语句。

正确错误

三、填空题

44switch后面括号内的表达式,其值的类型应为()(包括字符型)。

45若a=1,b=2,c=3,d=4,m=1,n=2,则计算表达式(m=a>b)&&(n=c>d)后,n的值为()。

46若a=1,b=2,c=3,d=4,m=1,n=2,则计算表达式(m=a>b)&&(n=c>d)后,m的值为()。

47若a=1,b=2,c=3,d=4,m=1,n=2,则表达式(m=a>b)&&(n=c>d)的值为()。

48若a=1,b=2,c=1,则表达式f=a>c>c的值是()。

49若a和b的值分离是4和5,则!a||b的值是()。

50若a和b的值分离是4和5,则a||b的值是()。

51若a=4,b=5,则a&&b的值是()。

52若a=4,则!a的值是()。

53若a=3,b=2,c=1,f=a>b>c,则f的值为()。

54若a=3,b=2,c=1,d=a>b,则d的值为()。

55若a=3,b=2,c=1,则关系表达式b+c56若a=3,b=2,c=1,则关系表达式(a>b)==c的值为()。

57若a=3,b=2,c=1,则关系表达式a>b的值为()。

58表示“P的值不等于12345并且n的值小于3”的C语言表达式是()。

59使用()语句可以使流程跳出switch结构,继续执行switch语句下面的语句。60()语句是多分支挑选语句,适用于处理分支较多的状况。

61()语句惟独两个分支可供挑选,而实际问题中经常需要用到多分支的挑选。62else总是与它上面的最近的未配对的()配对。

63C语言中用于挑选结构的控制语句有()语句和switch语句两种。

64条件运算符是C语言中唯一的一个()目运算符。

65条件运算符由两个符号()组成,必需一起使用。

66()是条件运算符。

67规律表达式的值是一个规律量,在推断一个量是否为假时,以()代表假。68规律表达式的值是一个规律量,在推断一个量是否为真时,以()代表真。69C语言中提供3种(),如

x=2;

if(x

intmain()

{floatx,y;

x=2;

if(x

intmain()

{

floatx=2.0,y;

if(x

main()

{inta,b,c,max;

printf("pleasescanthreenumbera,b,c:\n");

scanf("%d,%d,%d",

max=a;

if(max,输出结果是:#include

intmain()

{

chark;

inti;

for(i=1;i

intmain()

{

intx,y,t;

x=7;y=9;

if(x

intmain()

{

inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!b)

if(!c)d=15;

elsed=25;

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

return0;

}

78以下程序的输出结果是:

#include

intmain()

{

inta=10,b=50,c=30;

if(a>b)

a=b;

b=c;

c=a;

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

return0;}

79下面程序的输出结果是:

#include

intmain()

{intx=0,a=0,b=0;

switch(x){

case0:b++;

case1:a++;

case2:a++;b++;}

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

return0;}

五、计算题

80编程实现如下功能:从键盘随意输入4个整数,找出其中最大的数,并对这4个数按由小到大的挨次罗列。

81编写程序,从键盘上随意输入一个不多于5位的正整数num,输出它是几位数,并分离输出每一位数字,按逆序输出各位数字(如,原数为321,应输出123)。

82编写程序,从键盘上随意输入一个不多于5位的正整数num,计算num的每一位数字相加之和。如,输入num为321,则由321分别出3、2、1三个数字,然后计算3+2+1=6,并输出6。

83编写程序,从键盘上随意输入一个不多于5位的正整数num,按逆序输出该数的各位数字。如,输入num为321,先求出它是3位数,再由321分别出3、2、1三个数字,然后输出123。

84编写程序,从键盘上随意输入一个不多于5位的正整数,求出它是几位数,并输出该数的位数。

85编写程序,从键盘输入一个3位数的正整数n,推断该数是否为回文数。所谓回文数就是从左到右读这个数与从右到左读这个数是一样的。如,12321、4004都是回文数。

86编写程序,从键盘输入一个正整数n,推断n能否同时被3和5整除。假如n能够同时被3和5整除,则输出“n能被3和5整除”,否则输出“n不能被3和5整除”。

87编写程序,给出一百分制成果,要求输出成果等级‘A’、‘B’、‘C’、‘D’、‘E’。60分以下为‘E’;60~69分为‘D’;70~79分为‘C’;80~89分为‘B’;90分以上为‘A’。

88有一分段函数:假如x小于0,y=2x;假如x大于等于0并且小于10,y=10x-1;假如x大于等于10,y=10x-11。要求编写程序,从键盘输入x的值,输出相应的y值。

89编写程序,从键盘输入年,输出该年是否为闰年。其中,年用y表示。

90编写程序,从键盘输入年、月,输出该年该月一共有多少天。其中,年、月、日分离用y、m、d表示。

91有一分段函数:假如x小于60,y=‘E’;假如x大于等于60并且小于70,y=‘D’;假如X大于等于70并且小于80,y=‘C’;假如x大于等于80并且小于90,y=‘B’;假如x大于等于90,y=‘A’。要求编写程序,从键盘输入x的值,输出相应的y值。

92输入某职工的应发工资x,按照不同档次扣除工资所得税,然后计算实发工资y。计算方式如下:假如工资小于5000元,工资不扣税;假如工资大于等于5000元并且小于8000元,工资要扣除收入2%的税;假如工资大于等于8000元,工资要扣除收入5%的税。编写程序,输入应发工资x,输出相应的实发工资y。

第5章习题

一、单项挑选题

1此处do—while循环的条件是()。

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于

3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于

3

2有定义如下:charch;若输入字符串:abcde,则以下while循环体将执行多少次()。

while((ch=getchar())!=′\n′)printf("*")

A.5

B.4

C.3

D.2

E.1

F.0

3有定义如下:charch;若输入字符串:ncre,则以下while循环体将执行多少次()。

while((ch=getchar())!=′\n′)printf("*");

A.5

B.4

C.3

D.2

E.1

F.0

4以下程序的功能是:按挨次读入10名同学4门课程的成果,计算出每位同学的平均分并输出,程序如下:

#include

voidmain()

{intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;n,则以下while循环体将执行多少次。

while((ch=getchar())!='e')printf("*");

A.5

B.4

C.6

D.1

13执行语句for(i=0;i++0);

A.是死循环

B.循环执行一次

C.循环执行二次

D.有语法错误

19执行语句{for(j=0;j

intmain()

{

ints,i;

for(s=0,i=1;i

intmain()

{

inti;

for(i=1;i

intmain()

{

inti=7,j;

while(i>2)

{

j=i%2;

printf("%d",j);

i--;

}

printf("%d",i);

return0;

}

46下面程序的输出结果是:

#includeprintf("a=%d\n",a);

intmain()return0;}

{

inta,b;

for(a=1,b=1;a20)break;

if(b%4==1)

{

b=b+4;

continue;

}

b=b-5;

}

47下面程序的输出结果是:

#include

intmain()

{

inti,j,k;

for(i=1;i

intmain()

{

inti=10,j;

do

{

j=i%2;

printf("%d",j);

i--;

}while(i>4);

return0;

}

49下面程序的输出结果是:#include

intmain()

{

inti,j,t=0;

for(i=3;i>0;i--)

for(j=0;j

intmain()

{

inti,j,t;

for(i=1,j=10;i

intmain()

{

inti,s=0;

for(i=1;i10)break;

}

printf("i=%d,s=%d\n",i,s);

return0;

}

52下面程序的输出结果是:#include

intmain()

{

inti=10,m=0,n=0;

do

{

if(i%2!=0)

m=m+i;

else

n=n+i;

i--;

}while(i>=0);

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

return0;

}

#include

intmain()

{

intnumber,digit;

number=1234;

while(number!=0)

{

digit=number%10;

printf("%d",digit);

number=number/10;

}

return0;

}

54下面程序的输出结果是:

#include

intmain()

{

inti,s,x;

s=0;

x=15;

for(i=1;i

intmain()

{inti,a[5];

for(i=0;i

{inti,a[5];

for(i=0;i=0;i--)

printf("%d",a[i]);

printf("\n");

return0;

}

57下面程序的输出结果是:

#include

intmain()

{inti,a[10];

for(i=0;i=0;i--)

printf("%d",a[i]);

printf("\n");

return0;

}

58下面程序的输出结果是:

#include

intmain()

{inti;intf[5]={1,1};

for(i=2;iprintf("\n");

intmain()return0;}{inti;intf[5]={1,1};

for(i=2;i

{

inta[]={6,8,7,9};

inty=0,x,*p;

p=a;

for(x=0;x

intmain()

{

inta[]={9,8,7,6};

inty=0,x,*p;

p=a;

for(x=0;x

intmain()

{

inta[]={1,3,5,7};

inty=0,x,*p;

p=a;

for(x=0;x,下面程序的输出结果是:

#includewhile(i>=0return0;}{i--;}

inta[5]={6,9,12,16};a[i+1]=x;

intx,i=3;for(i=0;i

{

inta[5]={2,6,1,3,4},n=5,i,j,t;

for(i=0,j=1;j

intmain()

{

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

inta[5]={1,4,5};

while(i=i;j--)

a[j+1]=a[j];

a[i]=k;

for(i=0;ifor(j=0;j,下面程序的输出结果是:#includea[i]=a[i]+10;

intmain()for(i=0;i=0;i--)return0;}

scanf("%d",

for(i=0;i

{

inta[5]={24,15,33,64,45},n=5,i,j,t;

for(i=0;i0;i--)

printf("%d,",a[i-1]);

return0;}

五、计算题

69编程实现如下功能:从键盘随意输入20个同学的成果,输出最高分,同时统计并输出不及格同学的人数。

70编写程序,输出斐波那契数列中的前20个数,每行输出5个数据。其中,斐波那契数列中的第1个数为1,第2个数为1。

71编程实现如下功能:输出以下一个3*3的矩阵,并求该矩阵对角元素之和。

123

678

111213

72编写程序,输出如下三阶魔方阵。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

816

357

492

73编程实现如下功能:输出以下一个4*5的矩阵,并求全部元素中的最大值。

12345

678910

1112131415

1617181920

74编程实现如下功能:从键盘随意输入10个整数,将这10个整数按逆序输出。如,输入的10个数是10987654321,则输出12345678910。

75编写程序,输出以下图案。

$$$$$

$$$$$

$$$$$

$$$$$

$$$$$

76编写程序,输出以下图案。

$$$$$

$$$$$

$$$$$

$$$$$

$$$$$

77编写程序,输出如下图案。

*

**

***

****

*****

78编写程序,输出以下形式的杨辉三角形。

1

11

121

1331

14641

79编程实现如下功能:从键盘随意输入10个整数,将这10个整数按升序罗列输出,并奇数在前,偶数在后。如,输入的10个数是10987654321,则输

80编程实现如下功能:从键盘随意输入10个整数,将这10个整数按升序罗列输出。

81编程实现如下功能:从键盘随意输入20个整数,统计非负数个数,并计算非负数之和。

82编程实现如下功能:从键盘随意输入20个同学的成果,输出最低分,同时统计并输出及格同学的人数。

83编程实现如下功能:从键盘随意输入20个同学的成果,输出最高分,同时统计并输出不及格同学的人数。

第7章习题

一、单项挑选题

1一个C程序可由()。

A.一个主函数和若干个其他函数构成

B.若干主函数构成

C.若干变量构成

D.一个主函数构成

2C语言程序的执行,总是起始于()。

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

B.程序中的第一个函数

C.main函数

D.包含文件中的第一个函数

3全局变量的作用域限于。

A.囫囵程序包括的全部文件B.从定义该变量的语句所在的函数

C.本程序文件D.从定义该变量的位置开头到本程序结束

4下列有关函数错误的描述是。

A.C语言中允许函数递归调用

B.C语言中允许函数嵌套定义

C.调用函数时,

实参加形参的个数、类型需彻低全都D.C语言函数的缺省数据类型是int类型

5程序中通过调用库函数中数学函数来实现相关操作,需通过命令将math.h文件包含到该程序中。

A.#define

B.#include

C.#if

D.#iend

6C语言中,若未说明函数的类型,则系统默认该函数的类型是________。

A.float型

B.long型

C.int型

D.double型

7有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是

A.3

B.4

C.5

D.有语法错误

8下述函数定义形式正确的是。

A.intf(intx;inty)

B.intf(intx,y)

C.intf(intx,inty)

D.intf(x,y:int)

9未指定存储类别的变量,其隐含的存储类别为。

A.auto

B.static

C.extern

D.register

10在C语言中,表示静态存储类别的关键字是:。

A.auto

B.register

C.static

D.extern

11下列说法中正确的是:

A.局部变量在一定范围内有效,且可与该范围外的变量同名。

B.假如一个源文件中,

全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。C.局部变量缺省状况下都是静态变量。D.函数体内的局部静态变量,在函数体外也有效。

12用数组名作为函数调用时的实参时,传递给形参的是。

A.数组首地址

B.数组第一个元素的值

C.数组所有元素的值

D.数组元素的个数13在C语言程序中,有关函数的定义正确的是。

A.函数的定义可以嵌套,但函数的调用不行以嵌套

B.函数的定义不行以嵌套,

但函数的调用可以嵌套C.函数的定义和函数的调用均不行以嵌套

14C语言规定,容易变量做实参时,它和对应形参之间的数据传递方式为。

A.由系统挑选

B.单向值传递

C.由用户指定传递方式

D.地址传递

15C语言中函数返回值的类型是由打算的.

A.函数定义时指定的类型

B.return语句中的表达式类型

C.调用该函数时的实参的数据类型

D.形参的数据类型

二、推断题

16由主函数调用其他函数,其他函数也可以相互调用。

正确错误

17主函数可以调用其他函数,其他函数也可以调用主函数。

正确错误

18return后面括号里的表达式的值即是此函数的值。

正确错误

19惟独在函数被调用时,其形式参数才暂时地占有存储空间。

正确错误

20实参向形参举行数值传递时,数值传递的方向时单向的,即形参变量值的转变不影响实参变量的值。

正确错误

21数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。

正确错误

22函数形参的存储单元是动态分配的。

正确错误

23在同一个作用域中不行定义同名变量,在不同的作用域中可以定义同名变量。

正确错误

24假如函数定义浮现在函数调用之前,可以不必加函数原型声明。

正确错误

三、填空题

25静态局部变量的作用域是()。

26静态局部变量的生存期是()。

27若在定义静态局部变量时不赋初始值,则编译时系统自动赋初值()(对数值型变量)。28按照变量的(),可以知道变量的作用域和生存期。

29在C语言中,函数的隐含存储类别是()。

30C的存储类别包括()种。

31外部变量用关键字()作存储类别的声明。

32寄存器变量用关键字()作存储类别的声明。

33静态局部变量用关键字()作存储类别的声明。

34自动变量用关键字()作存储类别的声明。

35在C语言中,每一个变量和函数都有两个属性:()和数据的存储类别。

36从变量值存在的时光(即从生存期)的角度来观看,变量的存储有两种不同的方式:静态存储方式和()方式。

37从变量的作用域(即从空间)的角度来观看,变量可以分为()和局部变量。

38在函数外定义的变量是()。

39在函数内定义的变量是()。

40在调用一个函数的过程中又浮现直接或间接地调用该函数本身,称为函数的()。

41在定义函数时,一个函数内不能再定义另一个函数,也就是不能嵌套定义,但可以()函数,也就是说在调用一个函数的过程中,又调用另一个函数。

42对于有返回值的函数,通常在函数体内包含有()语句,用于将返回值带给调用函数。

43对于不带回值的函数,应该定义函数为()类型,此时在函数体中不得浮现return语句,函数不带回任何值。

44()参数可以是常量、变量或表达式。

45在主调函数中调用一个函数时,函数名后面括号中的参数称为()。

46在定义函数时函数名后面括号中的变量名称为()。

47C语言程序中用到的全部函数,必需先(),后使用。

48从用户使用的角度看,函数有两种:库函数和()。

四、问答题

49下面程序的输出结果是:

#include

intswap(intx,inty)

{

intz;

z=x%10;

x=y%10;

y=z;

z=x;

returnz;

}

voidmain()

{

inta=38,b=29,c;

c=swap(a,b);

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

}

50下面程序的输出结果是:

intfunc(inta[][3])

{

inti,j,sum=0;

for(i=0;i

intage(intn)

{

intc;

if(n==1)

c=10;

else

c=age(n-1)+2;

return(c);

}

voidmain()

{

printf("%d",age(5));

}

52下面程序的输出结果是:

#include

intfun(intn)

{

if(n==1)return1;

elsereturnfun(n-1)+3;

}

voidmain()

{

inti,j=0;

for(i=1;iprintf("%d%d\n",a,b);

voidprint();}

inta=5;

intmain()

{

inta=1,b=2;

a=a+b;

print();

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

return0;

}

voidprint()

{

intb=3;

54下面程序的输出结果是:

#include{

voidfuna(intx[],intn);intt,i,j,m=(n-1)/2;

voidmain()for(i=0;i

intx;

voidcube()

{

x=x*x*x;

}

intmain()

{

x=5;

cube();

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

return0;

}

56下面程序的输出结果是:

#includereturnp;

longfun(intx,intn);}

intmain()

{

intx=3,n=3;

longp;

p=fun(x,n);

printf("p=%ld\n",p);

return0;

}

longfun(intx,intn)

{

inti;

longp=1;

for(i=0;i

intmain()

{

chara[]={′q′,′w′,′e′,′r′,′t′,′y′},*p;

p=a;

printf("%c\n",*(p+4));

return0;

}

33下面程序的输出结果是:

#include

intmain()

{

chara[]={′q′,′w′,′e′,′r′,′t′,′y′},*p;

p=a;

printf("%c\n",*(p+4));

return0;

}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论