当前位置:文档之家› C语言函数章节选择题

C语言函数章节选择题

C语言函数章节选择题
C语言函数章节选择题

有问题的题目是:

14、20(答案对,但是不好解释,不同系统也许有不同结果)41超出范围、

1.在C语言中,全局变量的存储类别是:

A) static B) extern

C) void D) register

A

2.C语言中,凡未指定存储类别的局部变量的隐含存储类别是:

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

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

A

3. 在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用

的全局变量,则该变量需要使用的存储类别是:________。

A) extern B) register

C) auto D) static

D

4. 若有以下调用语句,则正确的fun函数首部是

main()

{ ∶

int a;float x;

fun(x,a);

}

A) void fun(int m,float x) B) void fun(float a,int x)

C) void fun(int m,float x[]) D) void fun(int x,float a)

B

5. 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是

A) 3 B) 4

C) 5 D) 有语法错误

A

6. 以下程序的运行结果是。

#include

main()

{ int k=4,m=1,p;

p=func(k,m); printf("%d, ",p);

p=func(k,m); printf("%d\n",p); }

func(int a,int b)

{ static int m=0,i=2;

i+=m+1;

m=i+a+b;

return m; }

A) 8,17, B) 8,17

C) 8,8 D) 4,1

B

7. 函数fun的功能是:根据以下公式计算S,n通过形参传入,n的值大

于等于0。划线处应填________。

1 1 1 1

S=1 - ─+ ─- ─+ …───

3 5 7 2n-1

float fun(int n)

{ float s=0.0,w,f=-1.0;

int i=0;

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

{________;

w=f/(2*i+1);

s+=w; }

return s; }

A) f=1 B) f=-1

C) f=-1*f D) f=0

C

8. 函数fun的功能是:根据以下公式计算并返回S,n通过形参传入,n的值大于等于0。划线处应填________。

1 1 1 1

S=1 - ─+ ─- ─+ …───

3 5 7 2n-1

float fun(int n)

{ float s=0.0,w,t,f=-1.0;

int i;

for(i=0;i

{f=-f;

w=f/(2*i+1);

s+=w; }

____________; }

A) return (f) B) return (S)

C) return (s) D) return (w)

C

9. 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

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

该程序的输出结果是__________。

A) 12 B) 13

C) 14 D) 15

D

10. 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{ int x=2,y=5,z=8,r;

r=func((x-y),z);

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

该程序的输出结果是__________。

A) 10 B) 13

C) 5 D) 15

C

11. 以下函数返回a数组中最小值所在的下标,在划线处应

填入的是________。

fun( int a[],int n)

{ int i,j=0,p;

p=j;

for(i=j;i

if(a[i]

return (p); }

A) i=p B) a[p]=a[i]

C) p=j D) p=i

D

12. 函数pi的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)

请你在下面程序中的划线部分填入________,完成求π的功能。

#include "math.h"

double pi(long n)

{ double s=0.0; long i;

for(i=1;i<=n;i++) s=s+________;

return (sqrt(6*s)); }

A) 1.0/i/i B) 1.0/i*i

C) 1/(i*i) D) 1/i/i

A

13. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为________(要求形参名为b)。

main()

{ double s[10][22];

int n;

fun(s);

}

A) void fun(double b[22])

B) void fun(double b[][22])

C) void fun(double b[][])

D) void fun(double b[22][])

B

14. 以下程序的输出结果是________。

void fun()

{ static int a=0;

a+=2;

printf("%d",a); }

main()

{ int cc;

for(cc=1;cc<4;cc++) fun( );

printf("\n"); }

A) 2222 B) 2468

C) 222 D) 246

C(应为D)

15. 以下函数把b字符串连接到a字符串后面,并返回a中新字符串的长度。下面的两划线处应分别填入________。

strcen(char a[],char b[])

{ int num=0,n=0;

while( a[num]!=______) num++;

while(b[n]) { a[num]=b[n];num++;________;}

return (num); }

A) '\n'和n++ B) '\n'和num++

C) '\0'和n++ D) '\0'和num++

C

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

#include

main()

{ char a[]="123456789"; int k;

fun(a); puts(a); }

fun( char s[])

{ int x,y; char c;

for(x=0,y=strlen(s)-1; x

{c=s[y];s[y]=s[x];s[x]=c; } }

A) 987654321 B) 123456789

C) 123454321 D) 987656789

A

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

#include

main()

{ char a[]="abcdefghi"; int k;

fun(a); puts(a); }

fun( char s[])

{ int x,y; char c;

for(x=0,y=(strlen(s)-1)/2; x

{c=s[y];s[y]=s[x];s[x]=c; } }

A) ihgfedcba B) abcdefghi

C) edcbafghi D) ihgfefghi

C

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

#include

main()

{ char a[]="abcdefghi"; int k;

fun(a); puts(a); }

fun( char s[])

{ int x,y; char c;

for(x=0,y=3; x

{c=s[y];s[y]=s[x];s[x]=c; } }

A) ihgfedcba B) abcdefghi

C) dcbaefghi D) ihgfefghi

C

19. 以下程序的输出结果是________。

main()

{ int w=5; fun(w); printf("\n"); }

fun (int k)

{ if(k>0) fun(k-1);

printf("%d ",k); }

A) 5 4 3 2 1 B) 0 1 2 3 4 5

C) 1 2 3 4 5 D) 5 4 3 2 1 0

B

难解释20. 以下程序的输出结果是________。main()

{ int w=5; printf("%d\n", fun(w)); }

fun (int k)

{ int n;

if(k>0) n=n+fun(k-1);

else n=0;

return n; }

A) 5 4 3 2 1 0 B) 0 1 2 3 4 5

C) 15 D) 25

D

21. 以下程序的输出结果是________。

int d=1;

fun( int p)

{ static int d=5;

d+=p;

printf("%d ",d);

return (d); }

main()

{ int a=3; printf("%d \n",fun(fun(d))); }

A) 6 11 11 B) 6 6 9

C) 6 12 12 D) 6 6 15

C

22. 以下程序的输出结果是________。

#include

int a[3][3]={1,2,3,4,5,6,7,8,9},b[10];

main()

{ f(b,a);

printf("%d\n",b[0]); }

f (int s[],int p[ ][3])

{ s[0]=p[1][1]; }

A) 1 B) 4

C) 7 D) 5

D

23. 下列程序的输出结果是________。

int t(int x,int y,int cp,int dp)

{ cp=x*x+y*y; dp=x*x-y*y; }

main()

{ int a=4,b=3,c=5,d=6;

t(a,b,c,d);

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

A) 16 9 B) 4 3

C) 5 6 D) 25 9

C

24. 下列叙述中正确的是________。

A) C语言编译时不检查语法

B) C语言的子程序有过程和函数两种

C) C语言的函数可以嵌套定义

D) C语言所有的函数都是外部函数

D

25. 以下所列的各函数首部中,正确的是________。

A) void play(var a:Integer,var b:Integer)

B) void play(int a,b)

C) void play(int a,int b)

D) void play(a as integer,b as integer)

C

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

fun(int x,int y,int z)

{ z=x*x+y*y;}

main()

{ int a=31;

fun(5,2,a);

printf("%d",a); }

A) 0 B) 29

C) 31 D) 无定值

C

27. 以下程序输出的结果是________。

long fun(int n)

{ long s;

if(n==1||n==2) s=2;

else s=n-fun(n-1);

return s; }

main()

{ printf("%ld\n",fun(3));}

A) 1 B) 2

C) 3 D) 4

A

28. 若形参n的值为24,则调用prnt函数后,共输出______行。void prnt(int n,int arr[])

{ int i;

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

{printf("%6d",arr[i]);

if( !(i%5) ) printf("\n"); }

printf("\n"); }

A) 3 B) 4

C) 5 D) 6

C

29. 请读程序:

#include

f(char s[ ])

{ int i=0,p=0;

while(s[i++]!='\0') p++;

return(p); }

main()

{ char str[10]= "ABCDEF";

printf("%d\n",f(str));}

上面程序的输出结果是

A) 3 B) 6

C) 8 D) 10

B

30. 以下程序调用findmax函数求数组中值最大的元素在数组中的下标

#include

findmax(s,t)

int s[10],t;

{ int j,p=0;

for (j=1;j

if (s[j]>s[p]) ___________;

return p; }

main( )

{int a[10],i,k;

for (i=0;i<10;i++) scanf("%d",&a[i]);

k=findmax(a,10);

printf("%d,%d\n",k,a[k]); }

则程序中划线处的正确答案是________。

A) j=p B) p=j

C) j=t D) p=t

B

31. 请读以下程序:

#include

findmax(s,t)

int s[10],t;

{ int j,p=0;

for (j=1;j

if (s[j]>s[p]) p=j;

return p; }

main( )

{int a[10],i,k;

for (i=0;i<10;i++) scanf("%d",&a[i]);

k=findmax(a,10);

printf("%d,%d\n",k,a[k]); }

则下面的说法中,不正确的是________。

A) 程序输出的结果是数组a中最大元素的值和最大元素的下标

B) 程序输出的结果是数组a中最大元素的下标和最大元素的值

C) 函数findmax中处理的数据的个数由形参t决定

D) 函数findmax返回的函数值是数组中最大元素的下标

A

32. 请读程序:

#include

void fun(int s[ ])

{ static int j=0;

do

s[j]+=s[j+1];

while (++j<2); }

main()

{ int k, a[10]={2,3,4,5,6};

for(k=1;k<3;k++) fun(a);

for(k=0;k<5;k++) printf("%d",a[k]); }

上面程序的输出结果是_________。

A) 56956 B) 34556

C) 57956 D) 1211456

C

33. 请读程序:

#include

char fun(char c)

{ if (c<='Z' && c>='A') c-='A'-'a';

return (c); }

main()

{ char s[81]; int k=0;

gets(s);

while(s[k])

{ s[k]=fun(s[k]); putchar(s[k]); k++;}

putchar('\n'); }

若运行时从键盘上输入OPEN THE DOOR(表示回车),则上面程序的输出结果是________。

A) oPEN tHE dOOR B) open the door

C) OPEN THE DOOR D) Open The Door

B

34. 请读程序:

#include

f(int b[ ],int n)

{ int i,r;

r=1;

for (i=0;i<=n;i++) r=r*b[i];

return r; }

main()

{ int x,a[]={2,3,4,5,6,7,8,9};

x=f(a,4);

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

上面程序的输出结果是________。

A) 720 B) 120

C) 24 D) 6

A

35. 请读程序:

#include

#include

void fun(char w[ ],int m)

{ char s; int i,j;

i=0;j=m-1;

while (i

{ s=w[i]; w[i]=w[j]; w[j]=s;i++;j--;} } main()

{ char a[]="ABCDEFG";

fun(a,strlen(a));

puts(a); }

上面程序的输出结果是________。

A) GFEDCBA B) AGADAGA C) AGAAGAG D) GAGGAGA A

36. 有以下程序

#inclde

main()

{int k=4,m=1,p;

p=func(k,m); printf("%d, ",p);

p=func(k,m); printf("%d\n",p); } func(int a,int b)

{ static int m=0,i=2;

i=m+1;

m=i+a+b;

return(m); }

输出结果是________。

A) 6,6 B) 6,12

C) 6,8 D) 8,8

B

37. 请读程序:

#include

func(int a,int b)

{ int c;

c=a+b;

return c; }

main()

{ int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

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

上面程序的输出结果是________。

A) 11 B) 20

C) 21 D) 31

C

38. 以下说法中正确的是________。

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

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

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

C

39. 下列程序执行后输出的结果是________。

#include

f(int a)

{int b=0;

static c=3;

a=c++,b++;

return(a); }

main()

{int a=2,i,k;

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

k=f(a++);

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

A) 3 B) 0

C) 5 D) 4

C

40. 下列程序执行后输出的结果是________。

int d=1;

fun(int p)

{int d=5;

d+=p++; printf("%d ",d);}

main()

{int a=3;

fun(a);

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

A) 8 4 B) 9 6

C) 9 4 D) 8 5

A

41. 以下程序的输出结果是________。

#include "ctype.h"

space(char str[ ])

{int i,t; char ts[81];

for(i=0,t=0;str[i]!= '\0';i+=2)

if(!isspace(str[i]) && str[i]!= 'a')

ts[t++]=toupper(str[i]);

ts[t]= '\0';

strcpy(str,ts); }

main()

{char s[81]={ "a b c d ef g"};

space(s);

puts(s);}

A) abcdeg B) bcde

C) ABCDE D) BCDE

D

42. 阅读程序:

#include "string.h"

#include "stdio.h"

lengh(char a[ ],char b[ ])

{int num=0,n=0;

while(a[num]!= '\0')num++;

while(b[n]){a[num]=b[n];num++;n++;}

return(num); }

main()

{char str1[81],str2[81];

gets(str1);gets(str2);

printf("%d\n",lengh(str1,str2)); }

运行程序,如果从键盘上输入字符串qwerty和abcd则程序的输出结果是________。

A) 9 B) 8

C) 10 D) 12

C

43. 阅读程序:

#include "string.h"

#include "stdio.h"

strl(char a[ ],char b[ ])

{int num=0,n=0;

while(a[num]!= '\0')num++;

for(;b[n];num++,n++) a[num]=b[n];

return(num); }

main()

{char str1[81],str2[81];

gets(str1);gets(str2);

printf("%d\n",strl(str1,str2)); }

运行程序,如果从键盘上输入字符串abcde和abcd则程序的输出结果是________。

A) 9 B) 8

C) 10 D) 12

A

44. 下面程序的输出是________。

fun3(int x)

{static int a=3;

a+=x;

return(a); }

main()

{int k=2,m=1,n;

n=fun3(k);

n=fun3(m);

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

A) 3 B) 4

C) 6 D) 9

C

45. 下面程序的输出是_________。

int m=13;

int fun(int x,int y)

{int m=3;

return(x*y-m); }

main()

{int a=7,b=5;

printf("%d\n",fun(a,b)/m); }

A) 1 B) 2

C) 7 D) 10

B

46. C语言规定,程序中各函数之间________。

A) 既允许直接递归调用也允许间接递归调用

B) 不允许直接递归调用也不允许间接递归调用

C) 允许直接递归调用不允许间接递归调用

D) 不允许直接递归调用允许间接递归调用

A

47. 下面程序的输出是________。

#include

main()

{ char a[80]= "abcdefgh";

fun(a); puts(a); }

fun(char s[10])

{ int x=0,y; char c;

for(y=strlen(s)-1;x

{c=s[x];s[x]=s[y];s[y]=c; } }

A) abcdefgh B) hgfdecba

C) dcbahgfe D) hgfedcba

D

48. 下面程序的功能是,将字符数组a中的字符逆序存放,划线处应填入________。

#include

main()

{ char a[80]= "abcdefgh";

fun(a); puts(a); }

fun(char s[10])

{ int x=0,y; char c;

for(________;x

{c=s[x];s[x]=s[y];s[y]=c; } }

A) y=0 B) y=strlen(s) C) y=strlen(s)-1 D) y=x

C

49. 下面程序的输出是________。main()

{ int t=1; fun(fun(t)); }

fun(int h)

{ static int a[3]={1,2,3}; int k;

for(k=0;k<3;k++) a[k]+=a[k]-h;

for(k=0;k<3;k++) printf("%d, ",a[k]);

printf("\n"); return(a[h]); }

A) 1,3,5, B) 1,3,5,

1,5,9, 1,3,5,

C) 1,3,5, D) 1,3,5,

0,4,8, -1,3,7,

D

50. 下面程序的输出是________。

int w=3;

main()

{ int w=10;

printf("%d\n",fun(5)*w); }

fun(int k)

{ if(k==0) return w;

return(fun(k-1)*k); }

A) 360 B) 3600

C) 1080 D) 1200

B

51. 下面函数的功能是________。

sss(s,t)

char s[ ],t[ ];

{ int i=0;

while( t[i]) { s[i]=t[i]; i++ ; }

s[i]= '\0'; }

A) 求字符串的长度

B) 比较两个字符串的大小

C) 将字符串s复制到字符串t中

D) 将字符串t复制到字符串s中

D

52. 下面函数的功能是________。

sss(s)

char s[ ];

{ int i=0;

while( s[i]) i++ ;

return i; }

A) 求字符串的长度

B) 比较两个字符串的大小

C) 将字符串s逆序存放

D) 功能无法确定

A

53. 设有如下的函数

ggg(x)

float x;

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

则函数的类型________。

A) 与参数x的类型相同B) 是void

C) 是int D) 无法确定

C

54. 设有如下程序

float ggg(x)

float x;

{ return (x*x);}

main()

{ printf("________\n",ggg(1.2)); }

则划线处应填________。

A) %f B) %ld

C) %d D) 无法确定

A

55. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。

A) 地址传递

B) 单向值传递

C) 由实参传给形参,再由形参传回实参

D) 传递方式由用户指定

B

56. 在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是________。

A) 地址传递

B) 单向值传递

C) 由实参传给形参,再由形参传回实参

D) 传递方式由用户指定

A

57. 以下函数fun形参的类型是________。

fun( float x)

{ float y;

y=3*x-4;

return y; }

A) int B) 不确定

C) void D) float

D

58. 设有以下函数:

f(int a)

{ int b=0;

static c=3;

b++ ; c++;

return (a+b+c); }

如果在下面的程序中调用该函数,则输出结果是________。main()

{ int a=2,i;

for(i=0;i<3;i++) printf("%d\n",f(a)); }

A) 7 B) 7

8 9

9 11

C) 7 D) 7

10 7

13 7

A

59. 以下程序的输出结果是________。

int a,b;

void fun()

{ a=100; b=200; }

main()

{ int a=5,b=7;

fun();

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

A) 100200 B) 57

C) 200100 D) 75

B

60. 读以下程序,下面的说法中错误的是________。

main( )

{ char s[ ]={ "Hello"};

pt(s); }

pt( char string[ ])

{ char str[10]; int i=0;

strcpy(str,string);

if(str[i]== '\0') return;

while(str[i]!= '\0') i++;

i--;

printf("%c",str[i]);

str[i]='\0';

pt(str); }

A) 在函数pt( )中使用了递归调用

B) 在函数pt( )中使用了嵌套调用

C) 程序的功能是使字符串s按反序存放

D) 程序的功能是将字符串"Hello"按反序输出

D

61. C语言中规定函数的返回值的类型是由________。

A) return语句中的表达式类型所决定

B) 调用该函数时的主调用函数类型所决定

C) 调用该函数时系统临时决定

D) 在定义该函数时所指定的类型所决定

D

62. 对于C语言的函数,下列叙述中正确的是________。

A) 函数的定义不能嵌套,但函数调用可以嵌套

B) 函数的定义可以嵌套,但函数调用不能嵌套

C) 函数的定义和调用都不能嵌套

D) 函数的定义和调用都可以嵌套

A

63. 以下程序的输出结果是________。

int i=10;

main( )

{ int j=1;

j=func( ); printf("%d,",j);

j=func( ); printf("%d\n",j); }

func( )

{ int k=0;

k=k+i;

i=i+10;

return (k); }

A) 0,0 B) 10,20

C) 10,10 D) 20,20

B

64. 以下程序的输出结果是________。

main( )

{ int a=3,b=2,c=1;

c-=++b;

b*=a+c;

{ int b=5,c=12;

c/=b*2; a-=c;

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

a+=--c; }

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

A) 3,2,1,2,3,-2 B) 2,5,1,3,5,12

C) 2,5,1,2,3,-2 D) 3,2,1,3,5,12

C

65. 以下程序的输出结果是________。

func( int x)

{ int p;

if(x==0 || x==1) return (3);

p=x-func(x-2);

return p; }

main( )

{ printf("%d\n",func(9)); }

A) 7 B) 2

C) 0 D) 3

A

66. 以下程序的输出结果是________。

func1( int a,int b)

{ int c;

a+=a; b+=b;

c=func2(a,b);

return (c*c); }

func2(int a,int b)

{ int c;

c=a*b%3; return (c); }

main ( )

{ int x=7,y=17;

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

A) 7 B) 17

C) 4 D) 0

C

67. 以下函数htoi的功能是,将一个十六进制数字的字符串转换成与它等价的十进制整数值,划线处应填入________。

int htoi( char s[ ])

{ int i,n;

n=0;

for(i=0;s[i]!= '\0';i++)

{ if(s[i]>= '0'&&s[i]<= '9') n=__________;

if(s[i]>= 'a'&&s[i]<= 'f') n=n*16+s[i]-'a'+10;

if(s[i]>= 'A'&&s[i]<= 'F') n=n*16+s[i]-'A'+10; }

return (n); }

A) n*16+s[i]-'0' B) n*10+s[i]-'0';

C) n*16+s[i]- 0 D) n*10+s[i]-0

B

68. 以下函数strtod的功能是,将一个十进制数字的字符串转换成与它等价的十进制整数值,划线处应填入________。

long strtod( char s[ ])

{ int i; long n;

n=0;

for(i=0;s[i]!= '\0';i++) n=____________;

return (n); }

A) n+s[i]-'0' B) n+s[i]

C) n*10+s[i] D) n*10+s[i]-'0'

D

69. 以下程序的功能是,将一个十进制数字的字符串转换成与它等价的有符号十进制整数值,下面的说法中不正确的是________。

long strtod( char s[ ])

{ int i=0,f=0; long n;

n=0; if(s[0]== '-') {f=1;i=1; }

for(;s[i]!= '\0';i++) n= n*10+s[i]-'0';

if(f==1) return (-n);

else return (n); }

main()

{ char s[10];

scanf("%s",s);

printf("%d\n",strtod(s)); }

A) 在main()函数的输入语句中使用scanf()函数比使用gets()函数要好

B) 程序第3行中的语句i=1;可以省略

C) 在strtod( )函数中,变量f的值决定了转换结果的正负号

D) 每调用一次strtod()函数,只能返回一个函数值

B

70. 阅读下面的程序:

main()

{ int swap();

int a,b;

a=3;b=10; swap(a,b);

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

swap(int a,int b)

{ int temp;

temp=a; a=b; b=temp; }

下面的说法中,正确的是________。

A) 在main()函数中调用swap()后,能使变量a和b的值交换

B) 在main()函数中输出的结果是:a=3,b=10

C) 程序第2行的语句int swap();是对swap()函数进行调用

D) swap()函数的类型是void

B

71. 分析程序:

func(int n)

{ static long s=1;

s=s*n;

return s; }

main()

{ int i; long sum=0;

for(i=1;i<6;i++) sum+=func(i);

printf("sum=%ld\n",sum); }

则下面的说法中正确的是________。

A) 程序的输出结果是1—5的累加和

B) 程序的输出结果是1—5的连乘积

C) 程序的输出结果是1—6的连乘积

D) 程序的输出结果是1—5的阶乘之和

D

72. 分析程序:

sum(int k)

{ static x=0;

return x+=k; }

main()

{ int i,s;

for(i=1;i<=10;i++) s=sum(i);

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

则下面的说法中正确的是________。

A) 程序的输出是1+(1+2)+……+(1+2+3+……+10)之值

B) 程序的输出是1+2+3+……+10之值

C) 程序的输出结果是s=10

D) 以上都不对

B

73. 以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值都增加2,划线处应填入________。

func(int b[ ],int n)

{ int ;

for(i=0;i

A) b[i++] B) b[i]++

C) b[i+=2] D) b[i]+=2

D

74. 下面程序中,函数func1()的功能是:将一个偶数分解成两个素数之和。划线处应填______。

func1(int n)

{ int i,j;

for(i=n-2;i>=n/2;i--)

{ for(j=2;i%j;j++) ;

if(j!=i) continue;

for(j=2;________;j++) ;

if(j!=n-i) continue;

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

main()

{ int data[]={6,8,10},i;

C语言函数章节选择题

有问题的题目是: 14、20(答案对,但是不好解释,不同系统也许有不同结果)41超出范围、 1.在C语言中,全局变量的存储类别是: A) static B) extern C) void D) register A 2.C语言中,凡未指定存储类别的局部变量的隐含存储类别是: A) 自动(auto) B) 静态(static) C) 外部(extern) D) 寄存器(register) A 3. 在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用 的全局变量,则该变量需要使用的存储类别是:________。 A) extern B) register C) auto D) static D 4. 若有以下调用语句,则正确的fun函数首部是 main() { ∶ ∶ int a;float x; ∶ ∶ fun(x,a); ∶ ∶ } A) void fun(int m,float x) B) void fun(float a,int x) C) void fun(int m,float x[]) D) void fun(int x,float a) B 5. 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是 A) 3 B) 4 C) 5 D) 有语法错误 A 6. 以下程序的运行结果是。 #include main() { int k=4,m=1,p; p=func(k,m); printf("%d, ",p); p=func(k,m); printf("%d\n",p); }

C语言选择题题库

C语言程序设计题库说明 一本题库适用对象 计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业 二本题库包含有175道选择题 三本题库所有题目均附有答案

一、选择题 下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。 1、不合法的整数是()。 A)0x35 B)43.6 C)0532 D)-346 2、下列合法的字符常量是()。 A)“f” B)x C)65 D)‘\Xab’ 3、设有整型变量x,单精度变量y=,表达式x=float(y*3+((int)y%4))执行后,x的值为()。 A)17 B)17.500000 C) D) 4、在C语言中,负整数在内存中以()形式释放。 A)补码 B)BCD码 C)反码 D)十进制数 5、在C语言中,要求参加运算的数必须是整数的运算符是()。 A)/ B)!C)% D)= = 6、()是C语言中非法的数据类型关键字。 A)float B)singed C)integer D)Char

7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。 A)1 B)5 C)6 D)以上三个答案都不正确 8、下列语句的输出结果是()。 printf(“%f\n”,(float)(2+4)/2); A)有语法错误不能通过编译 B)3 C)D) 9、C语言中,整数-8在内存中的存储形式是()。 A)1111,1111,1111,1000 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111 10、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。 A)1 B)2 C)8 D)4 11、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。 A)a=(a*100+/ B)a=(a*100+/100 C)a=(int)(a*100+/ D)a=(a/100+*

C语言上机题库百科园第1章!南信大!

第一章 以下叙述中错误的是( ) A.一个C语言程序只能有一个主函数 B.C语言编写的每个函数都可以进行独立的编译并执行 C.C语言编写的函数都可以作为一个独立的源程序文件 D.C语言编写的函数源程序,其文件名后缀可以是C 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( ) A.C语言程序仅可以编译执行 B.C语言程序仅可以解释执行 C.以上说法都不对 D.C语言程序既可以编译执行又可以解释执行 C语言规定:在一个源程序中,main的位置( ) A.可以任意 B.必须在最后 C.必须在最开始 D.必须在系统调用的库函数后面 一个C语言程序是由( ) A.若干过程组成 B.若干子程序组成 C.函数组成

D.一个主程序和若干子程序组成 以下关于结构化程序设计的叙述中正确的是( ) A.一个结构化程序必须同时由顺序、分支、循环三种结构组成 B.在C语言中,程序的模块化是利用函数实现的 C.由三种基本结构构成的程序只能解决小规模的问题 D.结构化程序使用goto语句会很便捷 以下叙述正确的是( ) A.在C程序中,main函数必须位于程序的最前面 B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 C.C语言本身没有输入输出语句 D.程序的每行中只能写一条语句 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立的编译并执行 B.C语言编写的函数源程序,其文件名后缀可以是C C.一个C语言程序只能有一个主函数 D.C语言编写的函数都可以作为一个独立的源程序文件 以下叙述正确的是( ) A.C程序的书写格式是固定的,每行只能写一条语句 B.C程序中注释部分可以单独占一行 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名

C语言题库_选择题(1)

本卷共有4道大 一、单项选择题(25道小题,共50分) 1、以下说法中正确的是(C)(2分) A、C语言程序总是从第一个的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 3、以下选项中,不合法常量的是(B)(2分) A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 4、C语言中最简单的数据类型包括(B)(2分) A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是(D)(2分) A、10>=a>=0 B、a>=0 and a<=10 C、a>=0||a<=10 D、a>=0&&a<=10 6、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、6.500000B、6 C、5.500000 D、6.000000

7、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分) A、INPUT x、y、z; B、scanf("%d%d%d",&x,&y,&z); C、scanf("%d%d%d",x,y,z); D、read("%d%d%d",&x,&y,&z); 8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值 9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、0B、0.5 C、1 D、2 10、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是(B)。(2分) A、A B、a C、Z D、z 11、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b-- <=0);printf(“%d %d %d\n”,k,a,b);后的输出结果是(D )。 (2分) A、1 0 4 B、1 0 3 C、0 0 3 D、0 0 4 12、设intx=1, y=1;表达式(!x||y--)的值是(B)。(2分) A、0B、1 C、2 D、-1 13、程序段intx=3;do{printf(“%d”,x-=2);}while(!(--x));的输出结果是(C)。(2分) A、1 B、30 C、1-2 D、死循环

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

C语言单项选择题

单项选择题(本大题共20小题,每小题1分,共20分) 1.C++源程序文件扩展名为(A) A..cpp B..h C..1ib D..obj 5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.create C.delete D.realse 6.从本质上看,引用是被引用变量的(B) A.拷贝 B.别名 C.复制 D.克隆 7.在函数调用时,如某一默认参数要指明一个特定值,则有(B) A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值 C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值 8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C) A.int m=max(22,max(59,70));B.int m=max(max(22,59),70); C.int m=max(22,59,70);D.int m=max(59,max(22,70)); 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B) A.int m=min(min(15,26),min(15,47)); B.int m=min(15,26,47); C.int m=min(15,min(47,26)); D.int m=min(min(47,26),16); 13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15; 在执行语句min(a,b)--;之后,a,b值分别为(B) A.9,14 B.9,15 C.10,14 D.10,15 16.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C) A.10,10 B.10,15 C.15,10 D.15,15

C语言试题-选择题及答案

C语言试题 ★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。 #include

char *p=”abcdefghijklmnopq”; main() { while(*p++!=?e?) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。 #include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23 B. 24 C. 25 D. 26 第7 题: 阅读程序,选择程序的输出结果___B___。 #include main() { static char a[ ]= ”language”, b[]=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k<7; k++) if(*(ptr1+k)==*(ptr2+k)) printf(”%c”, *(ptr1+k)); } A. gae B. ga C. language D. 有语法错误 ★第8 题: 函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后

《C语言》章节列表

第1章程序设计和C语言1 第2章算法——程序的灵魂16 第3章最简单的C程序设计——顺序程序设计第4章选择结构程序设计85 第5章循环结构程序设计114 第6章利用数组处理批量数据142 6.1怎样定义和引用一维数组142 6.1.1怎样定义一维数组143 6.1.2怎样引用一维数组元素144 6.1.3一维数组的初始化145 6.1.4一维数组程序举例146 6.2怎样定义和引用二维数组148 6.2.1怎样定义二维数组149 6.2.2怎样引用二维数组的元素150 6.2.3二维数组的初始化151 6.2.4二维数组程序举例152 6.3字符数组154 6.3.1怎样定义字符数组154 6.3.2字符数组的初始化155 6.3.3怎样引用字符数组中的元素155 6.3.4字符串和字符串结束标志156 6.3.5字符数组的输入输出159 6.3.6使用字符串处理函数161 6.3.7字符数组应用举例165 习题168 第7章用函数实现模块化程序设计170 7.1为什么要用函数170 7.2怎样定义函数172 7.2.1为什么要定义函数172 7.2.2定义函数的方法173 7.3调用函数174 7.3.1函数调用的形式174 7.3.2函数调用时的数据传递175 7.3.3函数调用的过程177 7.3.4函数的返回值178 7.4对被调用函数的声明和函数原型179 7.5函数的嵌套调用182 7.6函数的递归调用184 7.7数组作为函数参数192 7.7.1数组元素作函数实参193 7.7.2数组名作函数参数194 7.7.3多维数组名作函数参数197 7.8局部变量和全局变量199 7.8.1局部变量199

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

C语言学习知识程序设计(第3版)何钦铭颜晖第5章函数

第5章函数 【练习5-1】使用函数求1到n之和:输入一个正整数 n,输出1~n之和。要求自定义和调用函数sum(n)求 1~n 之和。若要计算 m~n(m int sum(int n); int main(void) { int n; int sum; printf("Enter n:") scanf("%d", &n); printf("sum = %d\n", sum(n)); return 0; } int sum(int n) { int result, i; result = 0; for(i = 1; i <= n; i++) result = result + i; return result; } 若要计算 m~n(m

【练习5-2】使用函数找最大值:输入2个数,输出其中较大的数。要求定义和调用函数 max(a, b)找出并返回 a、b 中较大的数。试编写相应程序。 解答: #include double max(double a, double b); int main(void) { int a, b; printf(“Input a and b:”); scanf("%lf%lf",&a, &b); printf("max= %lf\n", max(a, b)); return 0; } double max(double a, double b) { if(a > b) return a; else return b; } 【练习5-3】数字金字塔:输入一个正整数 n,输出n行数字金字塔。试编写相应程序。 解答: #include int main(void) { int n,i,j; printf(“Enter n:”); scanf("%d", &n); for(i = 1; i <= n; i++){ for(j = 1; j <= n - i; j++) printf(" "); for(j = 1; j <= i; j++) printf("%d ", i); putchar('\n'); } return 0; } 【练习5-4】思考:若把例 5-9 中静态变量 f 定义成普通局部变量,还能实现计算 n!吗?请上机检验。若把 f 换成全局变量又会如何?

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言章节复习题

一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、若有代数式,则不正确的C语言表达式是( 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 7、表达式!x||a==b 等效于( D )。

c语言-第8章--函数习题

c语言-第8章--函数习题

第8章函数习题 A卷 1. 单项选择题 (1)C 语言总是从函数开始执行。 A A. main B. 处于最前的 C.处于最后的 D. 随机选一个 (2)函数在定义时,省略函数类型说明符,则该函数值的类型为。A A. int B. float C. long D. double (2)以下函数,真正地没有返回值。 B A. int a(){int a=2;return (a);} B. void b(){printf("c");} C. int a(){int a=2;return a;} D. 以上都是 (3)在C 语言中,有关函数的说法,以下正确的是。A A. 函数可嵌套定义,也可嵌套调用 B. 函数可嵌套定义,但不可嵌套调用 C. 函数不可嵌套定义,但可嵌套调用 D. 函数不可嵌套定义,也不可嵌套调用 (4)以下函数调用语句中,含有实参的个数为。C fun((2,3),(4,5+6,7)); A. 1 B. 2 C. 5 D. 6 (5)函数调用可以在。D A. 函数表达式中 B. 函数语句中 C. 函数参数中 D. 以上都是 (6)被调函数返回给主调函数的值称为。C A. 形参 B. 实参 C. 返回值 D. 参数 (7) ,可以不进行函数类型说明。D A. 被调函数的返回值是整型或字符型时 B. 被调函数的定义在主调函数定义之前时 C. 在所有函数定义前,已在函数外预先说明了被调函数类型 D. 以上都是 (8)被调函数通过语句,将值返回给主调函数。D A. if B. for C. while D. return (9)被调函数调用结束后,返回到。D A.主调函数中该被调函数调用语句处 B.主函数中该被调函数调用语句处

c语言第8章函数

第8章函数 1.以下程序的输出结果是( ) A、6 9 9 B、6 6 9 C、6 15 15 D、6 6 15 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3;printf("%d \n",fun(a+fun(d)));} 答案:C 注解:函数fun调用两次,第一次调用的实参是全局变量d的值1,在函数调用执行过程中,输出的是局部静态变量d;第二次调用的实参是第一次调用的返回值和变量a的和,输出的仍是局部静态变量d的值。注意静态变量的定义和初始化是在第一次使用时进行的,在以后的使用过程中,保留上一次的值,不再初始化。2.若有以下调用语句,则不正确的fun函数的首部是() A、void fun(int m,int x[]) B、void fun(int s,int h[41]) C、void fun(int p,int *s) D、void fun(int n,int a) main( ) { … int a[50],n; … fun(n,&a[9]); … } 答案:D 注解:从主函数中fun函数的调用格式可以看出,fun函数的两个形参的类型,第一个形参是整型变量,第二个形参是变量的地址,则必须是数组名或者是指针。 3.有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是() A、3 B、4 C、5 D、有语法错 答案:A 注解:该函数调用语句中,含有的实参分别是rec1,rec2+rec3表达式计算后的值和(rec4,rec5)逗号表达式计算后值。 4.有如下程序 int runc(int a,int b) { return(a+b);} main( ) { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r);

C语言题库及答案(选择题)

C语言题库(选择题) 1.C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 2.下列字符序列中,可用作C标识符的一组字符序列是()。 A. S.b,sum,average,_above B. class,day,lotus_1,2day C. #md,&12x,month,student_n! D. D56,r_1_2,name,_st_1 3.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.a3_b3 B.void C._123 D.IF 4.以下数据中,不正确的数值或字符常量是()。 A.0 B.5L C.o13 D.9861 5.以下数值中,不正确的八进制数或十六进制数是()。 A.0x16 B.16 C.-16 D.0xaaaa 6.以下的选择中,正确的赋值语句是()。 A.a=1,b=2 B.j++ C.a=b=5; D.y=int(x) 7.以下运算符中,优先级最高的运算符是()。 A.?: B.++ C.&& D., 8.在C语言中,能代表逻辑值“真”的是()。 A.TRUE B.大于0的数 C.非0整数 D.非0的数 9.下列变量说明语句中,正确的是()。 A.char:a b c; B.char a;b;c; C.int x;z; D.int x,z; 10.下列字符序列中,不可用作C语言标识符的是()。 A.b70 B.#ab C.symbol D.a_1 11.以下不正确的叙述是()。 A.在C程序中所用的变量必须先定义后使用。 B.程序中,APH和aph是两个不同的变量。 C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。 D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。 12.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.For B.Printf C.WORD D.sizeof 13.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.answer B.to C.signed D._if 14.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.putchar B._double C._123 D.INT 15.以下数据中,不正确的数值或字符常量是()。 A.8.9e1.2 B.10 C.0xff00 D.82.5 16.以下数据中,不正确的数值或字符常量是()。 A.c B.66 C.0xaa D.50 17.以下运算符中,优先级最高的运算符是()。

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题 选择 1.一个C程序的执行是从。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述不正确的是。 A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 3.以下叙述正确的是。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4.一个C语言程序是由。 A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。 A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件 7.以下叙述正确的是。 A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x)) C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在 二、数据类型、运算符与表达式 选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 52 2.下列四组选项中,均不是C语言关键字的选项是。 A)define IF type B)getc char printf C)include case scanf D)while go pow 3.下列四组选项中,均是不合法的用户标识符的选项是。A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP 4.下列四组选项中,均是合法转义字符的选项是。 A)‘\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’ 5.下面不正确的字符常量是。

C语言试题库(带详细讲解答案)

一单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)

6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D 中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53. %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2 11.如果int a=3,b=4;则条件表达式"a

C语言选择题大全

C语言选择题精选*1、A 一个C程序的执行是从_____。 A)本程序的main函数开始,到main函数结束√ B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 *2、C 以下叙述正确的是: A)在C程序中,main函数必须位于程序的最前面× B)C程序的每行中只能写一条语句× C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误× *3、D 以下叙述不正确的是。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 *4、C C语言规定:在一个源程序中,main函数的位置。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 *5、B 一个C语言程序是由 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 *6、A 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A)char

相关主题
文本预览