C语言复习参考题

C语言复习参考题
C语言复习参考题

1、已知int a=6;则执行a+=a-=a*a;语句后,a的值为

A)36B)0C)-24D)-60

正确答案:D

2、下列表达式中,结果为5的是

A)6*5%6B)5*-2+15C)5+75%10D)6+-2/3

正确答案:B

3、已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是

A)-1B)0C)1D)语句错误

正确答案:B

4、已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为

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

正确答案:C

5、若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是

A)9B)8C)3D)2

正确答案:C

6、数学上的不等式和C语言中的关系表达式意义不同。若x=5,y=6,z=7,则x

()。A)1B)0C)5D)7

7、若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a>b?a:c

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

8、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)

运算后,n的值为()。A)0B)1C)2D)3

9、已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′&&ch<=′Z′)?(ch+32):ch;

A)A B)a C)Z D)c

正确答案:D

10、以下选项中,当x为大于1的奇数时,值为0的表达式是:(d)

A:x%2==1B:x/2C:x%2!=0D:x%2==0

11、为表示关系x≥y≥z,应使用C语言表达式(a)

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)

12、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是(a)

A)(!a==1)&&(!b==0)B)(!a||b)C)a&&b D)a||(b+b)&&(c-a)

13、逗号表达式(a=3*5,a*4),a+15的值为(B)

A)15B)30C)60D)90

14、设a=1,b=2,c=3,则(a>b)!=c的值为(B)

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

15、设有int i;char c;float f;则以下结果为整数的表达式是(D)

A)i+f B)c+f C)i+c+f D)i*c

16、表示关系a<=b<=c的c语言表达式为(B)

A)(a<=b)&(b<=c)B)(a<=b)&&(b<=c)C)(a<=b<=c)D)(a<=b)AND(b<=c)

17、有表达式:x=(y=4,z=16,k=32),式中x、y、z和k都是int型变量,则x=(c)

A)4B)16C)32D)52

18、执行语句“x=(a=3,b=a--)后x,a,b的值依次为(C)

A)3,3,2B)3,2,2C)3,2,3D)2,3,2

19、若有说明和语句:int a=5;++a;此处表达式++a的值是(C)。

A)4B)5C)6D)7

20、表达式9!=8的值是(D)。

A.true

B.非零值

C.0

D.1

21、表示关系x<=y<=z的c语言表达式为A

A.(X<=Y)&&(Y<=Z)B.(X<=Y)AND(Y<=Z) C.(X<=Y<=Z)D.(X<=Y)&(Y<=Z)

22、.若已定义x和y为double类型,则表达式:x=2,y=x+1/2的值是(C)。

A.1

B.2

C. 2.0

D.2.5

23、C语言程序中,有以下语句int a[5];int*p=a;则以下运算正确的是

A)329%3.2B)a++C)p++D)p=a+2

24、下列语句中,定义含有n个元素的一维指针数组的语句是()

A)int p[n]B)int*p()C)int*p[n];D)int(*p)[n];

1、以下程序的输出结果是()。

main()

{char str[12]={"china"};

printf(“%d\n”,strlen(str));

}

A)12B)6C)5D)11

2、如下程序的输出结果为:()

main()

{int x=1,a=0,b=0;

switch(x)

{case0:b++;

case1:a++;

case2:a++,b++;

}

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

}

A)a=1,b=1B)a=2,b=1C)a=1,b=0D)a=2,b=0

3、若int k=8;则执行下列程序后,变量k的正确结果是

main()

{int k=8;

switch(k)

{case9:k+=1;

case10:k+=1;

case11:k+=1;break;

default:k+=1;}

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

A)12B)11C)10D)9

正确答案:D

4、阅读下列程序,则执行结果是

#include"stdio.h"

main()

{int a=0,b=0,c=0,i;

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

switch(i)

{case0:a=i++;

case1:b=i++;

case2:c=i++;

case3:i++;}

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

A)0,1,3,4B)1,2,3,4C)0,1,2,5D)0,2,3,4正确答案:C

5、下列程序的输出结果是

#include"stdio.h"

main()

{int i=6;

while(i--)

printf("%d",--i);

printf("\n");}

A)531B)420C)654321D)死循环正确答案:B

6、下面程序的运行结果是

#include"stdio.h"

main()

{int j,i,k=0;

for(j=50;j<=60;j++)

{if(!(k%10))printf("\n");

for(i=2;i

if(i>=j-1){printf("%d",j);

k++;}}}

A)5359B)5953C)3595D)9535

正确答案:A

7、阅读下面程序,则执行后的结果为

#include"stdio.h"

main()

{fun3(fun1(),fun2());}

fun1()

{int k=20;

return k;}

fun2()

{int a=15;

return a;}

fun3(int a,int b)

{int k;

k=(a-b)*(a+b);

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

A)0B)184C)175D)编译不通过正确答案:C

8、阅读下面程序,则执行后的输出结果为

#include"stdio.h"

fun(int a,int b)

{int s;

s=a*b/2;

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

main()

{int a=10,b=16;

fun(a,b);}

A)10B)16C)160D)80

正确答案:D

9、阅读下面程序,则程序执行后的结果为

#include"stdio.h"

main()

{int a=4,b=6,c=7;

double d,fun(int,int,int);

d=fun(a,b,c);

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

double fun(int a,int b,int c)

{double s;

s=a%b*c;

return s;}

A)27B)27.000000C)28D)28.000000正确答案:D

10阅读下列程序,则执行后输出的结果是

#include"stdio.h"

int k=1;

main()

{fun(k);

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

fun(int k)

{k++;

k=k*6;}

A)1B)2C)6D)12

正确答案:A

11、阅读下列程序,则执行后的输出结果为

#include"stdio.h"

fun(int x)

{if(x/2>0)fun(x/2);

printf("%d",x%2);}

main()

{fun(20);

putchar(′\n′);}

A)11100B)10100C)10101D)10110正确答案:B

12、以下程序的输出结果是(D)

main()

{int a=2,b=3;

float x=3.5,y=2.5,z;

z=(float)(a+b)/2+(int)x%(int)y;

printf(“%.2f\n”,z);

}

A)2.00B)2.50C)3.00D)3.50

13、有如下程序段:

int*p,a=10,b=1;

p=&a;a=*p+b;

执行该程序段后,a的值为:B

A)12B)11C)10D)编译出错14.下面程序的输出是(A)。

main()

{int k=10;printf("k=%d,k=%o,k=%x\n",k,k,k);}

A.k=10,k=12,k=a

B.k=10,k=112,k=112

C.k=10,k=012,k=0xa

D.k=10,k=11,k=11

1、改正下列程序中不正确的语句。(5分)s=s+1.0/n

main()

{int n;

float s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf(“%6.1f\n”,s);

}

2、程序改错(每小题5分,共10分)

main()

{long int k;

k=35555;

printf(“%d”,k);}

3、main()

{int sum,k;

sum=0;

k=1;

while(k<=100)

{sum=sum+k;

k++;}

printf(“sum=%d\n”,sum);}

1、C语言中,在使用变量之前,必须先进行定义。

2、二进制数101010001转换成八进制数是(521)

8

3、C语言是结构化程序设计语言,主要包括顺序结构选择结构循环结构。

4、#define N10,则N的数据类型是符号常量(或宏),它不能再进行赋值。

5、若float a=2.15,b;b=(int)a;则a=2.15,b=2。

6、x=7,y=1,执行x+=(y+3/2),x=10。

7、C语言程序的基本语句中,常用的关于循环的语句是while do while for if goto(其中任意三个)。

8、算术表达式‘c’+3*3.14/2+155的值是double型数据。

9、printf(“abc\rd”);的输出结果是dbc。

10、判断某一年year是否为闰年,须具备下面两条件之一,(1)能被4整除,但不能被100整除(2)能被400整除。写出判断闰年为真的逻辑表达式__if(year%4&&year%100!=0|||year%400==0)。

11、以下语句的功能是把两个整型变量的值进行交换,请填空

int a=18,b=5;{int t;t=a;a=b;b=t;}

12、以下定义:int a[10],char c[5]则变量a和b的存储空间分别为20字节和5字节。

13.C语言中的标识符只能由字母、数字和下划线组成

14.若a为整形变量,a=12则表达式a+=a-a*=a的值为0。

15.在函数内定义变量时,省略存储类别,其默认存储类别是___自动__________。

16设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是9。

17.若int a=98;则putchar(a)的输出结果是:b。

18.设x和y均为int型变量,且x=1,y=2,则以下表达式的值为1.0+x/y_1.0________

19.若a=3,b=4,c=5则a+b>c&&b==c的值为0。

20.在函数内定义变量时,省略存储类别,其默认存储类别是____整形__________。

21、已定义char ch=‘$’;int i=1;j;执行j=!ch&&i++以后,

表达式的值为:0i的值为:1

22、执行以下程序时输入123456<回车>,则输出结果是:12,56

#include

main()

{int a=1,b;

scanf(“%2d%*2d%2d”,&a,&b);

printf(“%d,%d”,&a,&b);}

23、已知字母A的ASCII码为65。以下程序运行后的输出结果是:67G。

main()

{char a,b;

a=’A’+’5’-’3’;b=a+’6’-’2’;

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

24、定义int a=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为【6】。

正确答案: 1.(9)

25、执行下面的程序后,a的值为:8

main()

{int a,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;}}

26、下面程序是求出数组arr的两条对角线上元素之和,请填空。

#include"stdio.h"

main()

{int arr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

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

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

if(【12】)a=a+arr[i][j];

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

for(【13】;j>=0;j--)

if(【14】)

b=b+arr[i][j];

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

正确答案: 1.(i==j)2.(j=2)3.(i+j==2)

27、从键盘上输入10个数,求其平均值。scanf(“%f”,&f)sum+=f(或者sum=sum+f)(10分)

main()

{int i;

float f,sum=0.0;

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

{;

;} printf(“average=%f\n”,sum/10);}

28.用do-while循环求1到100的和。

#include

main()

{int i,sum=0;

i=1;

do

{sum+=i;

i++;

}while(i<=100);

printf("%d",sum);

}

29.输出圆面积,面积大于100时停止。

#define PI 3.14159

main()

{int r;

float area;

for(r=1;r<=10;*r++)

{area=PI*r*r;

if(area>100)

break;

printf("r=%d,area=%.2f\n",r,area);

}

}

30.用数组求Fibonacci数列前20个数。#include

main()

{int i;

int f[20]={1,1};

for(i=2;i<20;i++)

f[i]=f[i-2]+f[i-1];

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

{if(i%5==0)printf("\n");

printf("%12d",f[i]);

}

31、以下程序运行后的输出结果是:1。

main()

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

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

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

32、阅读下面程序,则在执行时候的输出为。

#include"stdio.h"

main()

{int x=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

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

正确答案: 1.(2,2)

33、语句printf("%d\n",′H′-′0′+64);的执行结果为【9】。

正确答案: 1.(88)

34、阅读下面程序,则程序的执行结果为【10】。

#include"stdio.h"

main()

{int a=10;

fun(a);

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

fun(int x)

{x=50;}

正确答案: 1.(10)

35、写出下列程序的运行结果。

main()

{int n;

For(n=3;n<=10;n++)

{if(n%5==0)break;

Printf(“%d”,n);

}

36、main()

{int i=2,x=5,j=7;

fun(j,6);

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

}

fun(int i,int j)

{int x=7;

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

}

程序的运行结果为:i=7;j=6;x=7i=2;j=7;x=5

37、程序如下。用代数式写出该程序执行的功能。1!+2!+3!+ (20)

main()

{float n,s=0,t=1;

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

{t=t*n;s=s+t;}

printf("%e\n",s);

}

38、试分析如下的程序的功能,用代数式写出本程序作的工作。1+2+3+……+20

main()

{int n,s=0;

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

s+=n;

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

}

39、分析以下程序的输出结果,将输出结果最后一行写出来。(5分)9*1=99*2=18……………………9*8=729*9=81

#include"stdio.h"

main()

{

int i,j,result;

printf("\n");

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

{for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

}

printf("\n");/*每一行后换行*/

}

}

}

一:

1、以下不合法的用户标识符是()

A)s1_low B)Char C)case D)_3d

2、下面各选项中,均是C语言标识符的选项组是

A)forchinato B)long_123short56_do

C)voidunion_342D)text.txt_023_3ew

3、下列强制类型转换错误的是:()。

A)(double)a;B)(int)(x+y);C)(float)(5%3);D)int(x);

3、作为结构化的语言,C语言程序应尽量采用模块的方式进行构造。C的基本单位是()。

A)语句B)数据C)子程序D)函数

4、以下选项中,不能作为合法常量的是()

A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0

5、假定int类型变量占用两个字节,其有定义:int x[8]={0,2,4};,则数组x在内存中所占字节数

是()。A)16B)8C)6D)3

6、以下叙述不正确的是:()

A)在C程序中所有的变量必须先定义后使用。

B)在程序中,APH和aph是两个不同的变量。

C)若a和b类型相同,在执行了赋值语句a=b后,b中的值将放入a中,b中的值不变。

D)当输入数值时,对于整型变量只能输入整型值,对于实型变量只能输入实型值。

7、有定义语句:int b;char c[10];,则正确的输入语句是B

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

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

C)scanf("%d%s",b,c);

D)scanf("%d%s",b,&c);

8、以下对一维数组c进行正确的定义初始化的语句是

A)int c[10]=0;B)int c[10]={0}*10;

C)int c[1]={0,0,0,0,0,0,0};D)int c[10]={0};

正确答案:D

9、以下二维数组c的定义形式是

A)int c[3][]B)float c[3,4]C)double c[3][4]D)float c(3)(4)正确答案:C

10、已知:int c[3][4];则对数组元素引用正确的是

A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误

正确答案:C

11、若有以下语句,则正确的描述是

char a[]="toyou";

char b[]={′t′,′o′,′y′,′o′,′u′};

A)a数组和b数组的长度相同

B)a数组长度小于b数组长度

C)a数组长度大于b数组长度

D)a数组等价于b数组

正确答案:C

12、已知:char a[15],b[15]={"I love china"};则在程序中能将字符串I love china赋给数组a的正确语句是

A)a="I love china";B)strcpy(b,a);C)a=b;D)strcpy(a,b);

正确答案:D

13、SA有以下程序,其中%u表示按无符号整数输出

Main()

{unsigned x=0xFFFF;

Printf(“%u\n”,x);

}

程序输出结果是:(b)

A:-1B:65535C:32767D:0xFFFF

14、以下不合法的的字符常量是:(b)

A:‘\x13’B:‘\081’C:‘65’D:‘\n’

15、可在C程序中用作用户标识符的一组标识符是:(a)

A:and_2007B:Data y-m-d C:Hi Dr.Tom D:case Big1

16、C语言中,运乍对象必须是整型数的运算符是(a)

A)%B)/C)%和/D)**

17、二进制数01100100换成十六进制数是(a)

A)64B)63C)100D)144

18、有以下程序(a)

#include

main()

{char c1=’1’,c2=’2’;

c1=getchar();c2=getchar();putchar(c1);putchar(c2);}

当运行时输入:a<回车>后,以下叙述正确的是

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

19、以下叙述正确的是:(C)

A)数组的大小是固定的,但可以有不同的类型的数组元素

B)数组的大小是可变的,但所有数组元素的类型必须相同

C)数组的大小是固定的,所有数组元素的类型必须相同

D)数组的大小是可变的,可以有不同的类型的数组元素

20、以下给字符数组str定义和赋值正确的是(c)

A)char str[10];B)char str[10];

str={“china”};strcopy(str,”abcdefghijklm”);

C)char str[]={“china”};D)char str[10]={“abcdefghijklm”};

21、在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是(A)

A)4B)1C)2D)5

22、C语言程序中,有以下语句int a[5];int*p=a;则以下运算正确的是D

A)329%3.2B)a++C)p++D)p=a+2

23、以下程序的输出结果是(B)

main()

{char s[12]={"string"};

printf(“%d\n”,strlen(s));

}

A)7B)6C)12D)13

24、以下叙述中正确的是:(A)

A)使用putchar函数时,必须在之前包含头文件stdio.h

B)调用printf函数时,必须要有输出表列

C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

25、C语言中while和do-while循环的主要区别是(A)

A)do-while的循环至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件严格

C)do-while的循环体不能是复合语句

D)do-while允许从外部转到循环内

26、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是(D)

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

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

{}

A.20

B.25

C.24

D.30

27、若要定义a为3*4的二维数组,正确的定义语句是(B)。

A float a(3,4);

B float a[3][4];

C float a(3)(4);

D float a[3,4];

28、设有定义:char s[12]={"string"};则printf("%d\n',strlen(s));输出是(B)

A.7

B.6

C.12

D.13

29、下列赋值正确的是:A

char c;

A:c=’a’;B:c="a";C:c="CHINA"D:c=’CHINA’; 30、下列强制类型转换错误的是:D

A(double)a;B(int)(x+y)C(float)(5%3);D int(x);

31、在printf函数中用来输出十六进制无符号整数的格式字符是(C)

A.d格式符

B.x格式符

C.u格式符

D.o格式符

32、C语言提供的合法的数据类型关键字是(C)。

A.Double

B.SHORT

C.int

D.Char

33、在C语言中,合法的字符型常数是(A)。

A.‘\0’

B.A

C.65

D.a

二:

1、已知int a=6;则执行a+=a-=a*a;语句后,a的值为

A)36B)0C)-24D)-60

正确答案:D

2、下列表达式中,结果为5的是

A)6*5%6B)5*-2+15C)5+75%10D)6+-2/3

正确答案:B

3、已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是

A)-1B)0C)1D)语句错误

正确答案:B

4、已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为

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

正确答案:C

5、若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是

A)9B)8C)3D)2

正确答案:C

6、数学上的不等式和C语言中的关系表达式意义不同。若x=5,y=6,z=7,则x

()。A)1B)0C)5D)7

7、若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a>b?a:c

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

8、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)

运算后,n的值为()。A)0B)1C)2D)3

9、已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′&&ch<=′Z′)?(ch+32):ch;

A)A B)a C)Z D)c

正确答案:D

10、以下选项中,当x为大于1的奇数时,值为0的表达式是:(d)

A:x%2==1B:x/2C:x%2!=0D:x%2==0

11、为表示关系x≥y≥z,应使用C语言表达式(a)

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)

12、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是(a)

A)(!a==1)&&(!b==0)B)(!a||b)C)a&&b D)a||(b+b)&&(c-a)

13、逗号表达式(a=3*5,a*4),a+15的值为(B)

A)15B)30C)60D)90

14、设a=1,b=2,c=3,则(a>b)!=c的值为(B)

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

15、设有int i;char c;float f;则以下结果为整数的表达式是(D)

A)i+f B)c+f C)i+c+f D)i*c

16、表示关系a<=b<=c的c语言表达式为(B)

A)(a<=b)&(b<=c)B)(a<=b)&&(b<=c)C)(a<=b<=c)D)(a<=b)AND(b<=c)

17、有表达式:x=(y=4,z=16,k=32),式中x、y、z和k都是int型变量,则x=(c)

A)4B)16C)32D)52

18、执行语句“x=(a=3,b=a--)后x,a,b的值依次为(C)

A)3,3,2B)3,2,2C)3,2,3D)2,3,2

19、若有说明和语句:int a=5;++a;此处表达式++a的值是(C)。

A)4B)5C)6D)7

20、表达式9!=8的值是(D)。

A.true

B.非零值

C.0

D.1

21、表示关系x<=y<=z的c语言表达式为A

A.(X<=Y)&&(Y<=Z)B.(X<=Y)AND(Y<=Z) C.(X<=Y<=Z)D.(X<=Y)&(Y<=Z)

22、.若已定义x和y为double类型,则表达式:x=2,y=x+1/2的值是(C)。

A.1

B.2

C. 2.0

D.2.5

23、C语言程序中,有以下语句int a[5];int*p=a;则以下运算正确的是

A)329%3.2B)a++C)p++D)p=a+2

24、下列语句中,定义含有n个元素的一维指针数组的语句是()

A)int p[n]B)int*p()C)int*p[n];D)int(*p)[n];三:

1、以下程序的输出结果是()。

main()

{char str[12]={"china"};

printf(“%d\n”,strlen(str));

}

A)12B)6C)5D)11

2、如下程序的输出结果为:()

main()

{int x=1,a=0,b=0;

switch(x)

{case0:b++;

case1:a++;

case2:a++,b++;

}

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

}

A)a=1,b=1B)a=2,b=1C)a=1,b=0D)a=2,b=0

3、若int k=8;则执行下列程序后,变量k的正确结果是

main()

{int k=8;

switch(k)

{case9:k+=1;

case10:k+=1;

case11:k+=1;break;

default:k+=1;}

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

A)12B)11C)10D)9

正确答案:D

4、阅读下列程序,则执行结果是

#include"stdio.h"

main()

{int a=0,b=0,c=0,i;

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

switch(i)

{case0:a=i++;

case1:b=i++;

case2:c=i++;

case3:i++;}

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

A)0,1,3,4B)1,2,3,4C)0,1,2,5D)0,2,3,4正确答案:C

5、下列程序的输出结果是

#include"stdio.h"

main()

{int i=6;

while(i--)

printf("%d",--i);

printf("\n");}

A)531B)420C)654321D)死循环正确答案:B

6、下面程序的运行结果是

#include"stdio.h"

main()

{int j,i,k=0;

for(j=50;j<=60;j++)

{if(!(k%10))printf("\n");

for(i=2;i

if(i>=j-1){printf("%d",j);

k++;}}}

A)5359B)5953C)3595D)9535

正确答案:A

7、阅读下面程序,则执行后的结果为

#include"stdio.h"

main()

{fun3(fun1(),fun2());}

fun1()

{int k=20;

return k;}

fun2()

{int a=15;

return a;}

fun3(int a,int b)

{int k;

k=(a-b)*(a+b);

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

A)0B)184C)175D)编译不通过正确答案:C

8、阅读下面程序,则执行后的输出结果为

#include"stdio.h"

fun(int a,int b)

{int s;

s=a*b/2;

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

main()

{int a=10,b=16;

fun(a,b);}

A)10B)16C)160D)80

正确答案:D

9、阅读下面程序,则程序执行后的结果为

#include"stdio.h"

main()

{int a=4,b=6,c=7;

double d,fun(int,int,int);

d=fun(a,b,c);

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

double fun(int a,int b,int c)

{double s;

s=a%b*c;

return s;}

A)27B)27.000000C)28D)28.000000正确答案:D

10阅读下列程序,则执行后输出的结果是

#include"stdio.h"

int k=1;

main()

{fun(k);

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

fun(int k)

{k++;

k=k*6;}

A)1B)2C)6D)12

正确答案:A

11、阅读下列程序,则执行后的输出结果为

#include"stdio.h"

fun(int x)

{if(x/2>0)fun(x/2);

printf("%d",x%2);}

main()

{fun(20);

putchar(′\n′);}

A)11100B)10100C)10101D)10110

正确答案:B

12、以下程序的输出结果是(D)

main()

{int a=2,b=3;

float x=3.5,y=2.5,z;

z=(float)(a+b)/2+(int)x%(int)y;

printf(“%.2f\n”,z);

}

A)2.00B)2.50C)3.00D)3.50

13、有如下程序段:

int*p,a=10,b=1;

p=&a;a=*p+b;

执行该程序段后,a的值为:B

A)12B)11C)10D)编译出错

14.下面程序的输出是(A)。

main()

{int k=10;printf("k=%d,k=%o,k=%x\n",k,k,k);}

A.k=10,k=12,k=a

B.k=10,k=112,k=112

C.k=10,k=012,k=0xa

D.k=10,k=11,k=11

四:

4、以下描述错误的是

A)C程序中,函数可以直接或间接的调用自己

B)函数调用时,函数名必须与所调用的函数名字完全一致

C)函数说明语句中的类型必须与函数返回值的类型一致

D)实参数可以与形参个数不一致

正确答案:D

5、C语言规定函数的返回值的类型是由(D)。

A)return语句中表达式类型决定B)调用该函数时的主调函数类型决定

C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型决定

6、以下叙述中不正确的是(D)

A)在不同的函数中可以使用相同名字的变量

B)函数中的形式参数是自动变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效

7、作为结构化的语言,C语言程序应尽量采用模块的方式进行构造。C的基本模块单位是(A)

A)函数B)过程C)子程序D)子例程

8、下列关于#include命令的叙述中错误的一条是C

A)在#include命令中,文件名可以用双引号或尖括号括起来

B)在一个被包含文件中又可以包含另一个被包含文件

C)在一个#include命令中可以指定多个被包含文件

D)在一个#include命令中只能指定一个被包含文件

c语言复习题答案

c语言复习题-2010 1~5 ABCDB 6~10 BADAD 11~15 DABAB 16~20 ADDDC 1. 编程计算1!+2!+3!+……+n!的值,其中n的值由用户输入。 #include main() { long term = 1,sum = 0; int i,n; scanf(“%d”,&n); for (i = 1; i <= n; i++) { term = term * i; sum = sum + term; } printf("1!+2!+...n! = %ld \n", sum); } 2. 从键盘任意输入某班20个学生的成绩,打印最高分,并统计不及格学生的人数。要求按如下函数原型进行编程,分别计算最高分和统计不及格学生的人数:int FindMax(int score[], int n); int CountFail(int score[], int n); #include int FindMax(int score[], int n); int CountFail(int score[], int n); main() { int i, score[20],max,count; for (i=0; i<20; i++) { scanf("%d",&score[i]); } max = FindMax(score, 20); printf("max = %d\n",max); count = CountFail(score, 20); printf("count = %d\n",count); } int FindMax(int score[], int n) { int max,i;

c语言期末复习试题(附答案)

试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a–2; }while(a!=n); printf("%d\n", s); } 若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1 B:-3

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言基础练习题(含答案)Word版

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。B A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C语言标识符的是()。B A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。A A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。B A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。B A.\\ B.\0xAA C.\t D.\0 6. 不属于C语言关键字的是()。d A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。b A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。b A.scanf B.Void C._3com_ D.int 9. 一个C程序是由()。 b A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 c A.程序行 B.语句 C.函数 D.字符 11. 下列说法中,错误的是()。 a A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是()。 c A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行

大学c语言复习题附答案

判断题 1.运算器是完成算术和逻辑操作的处理部件,通常称为CPU。× 2.通常硬盘安装在主机箱内,因此它属于主存储器。× 3.指令与数据在计算机内是以ASCII码进行存储的。× 4.操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集 合。√ 5.用计算机机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过 编译才能执行。√ 6.计算机的所有计算都是在内存中进行的。× 7.字长是指计算机能直接处理的二进制信息的位数。√ 8.计算机区别于其他计算工具的本质特点是能存储数据和程序。√ 9.系统软件就是市场上买来的软件,应用软件就是自己编写的软件。× 10.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、小写英文字母、大 写英文字母。× 11.多台计算机相连,就形成了一个网络系统。× 12.在Internet网上,IP地址、E-mail地址都是唯一的。√ 13.不同类型的变量在内存中占用存储空间的大小都是一样的。× 14.表示数学式3

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言1-5章复习题及参考答案

一.选择题 1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是()。 A .6 B.3 C.死循环 D.0 4、下列关于表达式的描述中,错误的是()。 A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是()。 A . '\t' B.” A” C.65 D.a 6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。 A .1 B.2 C.2.00000 D.2.50000 7、表达式:10!=9的值是()。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是()。 #include void main() { printf("%d\n", NULL); } A . 不确定的 B.0 C.-1 D.1 9、请选出合法的C语言赋值语句。() A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b); 10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。 A .0 B.2 C.4 D.8 11、关于语句printf(“hello world\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。 C. printf()括号中的内容会全部输出到控制台上。 D. \n表示换行操作。 12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^ 13、以下程序的输出结果是()。 void main()

c语言期末复习试题

试卷编号:11201 所属语言:试卷方案:试卷总分:共有题型:C 语言 C 语言期末考试100 分 4种 一、单项选择共30 题(共计60 分)第1 题设有定义分) :int k=0;, 以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 分) 第2题 已知int i=5, 执行语句i+=++i 后, i 的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(分) 以下程序的功能是: 给r 输入数据后, 计算半径为r 的圆面积s. 程序在编译时出错. #include <> void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A: 注释语句书写位置错误 B: 存放圆半径的变量r 不应该定义为整型

B:-3 C :输岀语句中格式描述符非法 D: 计算圆面积的赋值语句中使用了非法变量 A:1 B:2 C:-1 D:-2 第 6题 (分) 有以下程序 : #include <> void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a — 2; }while (a!=n ); printf ("%d\n", s ); } 若要使程序的输岀值为 2, 则应该从键盘输入给 n 的值是 ( B ). A:-1 第 4题 (分) "ABC " 〃的长度是(B ). A:11 B:7 C:5 D:3 第 5题 (分) 已知 int j,i=1;, 执行语句j= - i++;后,j 的值是(C ).

c语言复习题(有答案)●

思考题 不仅要会做这些题,更重要的是要掌握其相关知识点一、一般填空题 1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 8; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】. 4-2、if(!a)中的表达式!a等价于【1】. 4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 答案:8;a==0;8; 5-1、若所用变量都已定义,下列程序段的执行结果是【1】. for(i=1;i<=5;i++);printf(“OK\n”); 5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】. 5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】. 5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);} 答案:OK;’\0’;1;10 6-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】. 6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】. 6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】. 答案:9;10;6 . 二、单项选择题 1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。 A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确 1-2、若执行fopen函数时发生错误,则函数的返回值是()。

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 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为关键

(完整版)数据结构(c语言版)期末考试复习试题

《数据结构与算法》(c语言版)期末考复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位

B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

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语言考试复习试题及参考答案

中南大学现代远程教育课程考试复习试题及参考答案 C语言程序设计 一、单项选择题 若以下各题所有库函数都可以合法使用,且变量定义如下: int m=5, i=3,j=2,*p, a=8,b=0; int arr[10]={0,1,2,3,4,5,6,7,8,9},td[ ][3]={1,2,3,4,5,6}; float x=2.5,y=3.0; double z=0; long n=1; char c=’A’,ch[20]={’a’,’b’,’c’,’\0’,’d’,’\0’}; struct student { int num; char name[20]; float score; struct student *next; }st1,st2,*ps;

FILE *fp; 1.若将3和10从键盘输入给变量a、x,输入语句为 scanf(“a=%d,x=%f”,&a,&x);正确的键盘输入是(↙表回车): A a=3,x=10↙ B 3,10↙ C 3 10↙ D 3,10.0↙ 2. 以下不是死循环的语句是: A for ( ;;y+=i++); B while(a) y+=i++ ; C do{ y+=i++}while (a>0); D for (b=0;(c=getchar()!=’\n’);)b++; 3.若p=arr;正确的语句是: A *p=arr[10]; B *p=arr[2*a]; C p=arr[5]; D p[i]=arr[0]; 4.若ps=&st1;则下面描述正确的是: A ps->num与st1->num等价。 B ps.num与st1.num等价。 C ps->num与num等价。 D ps->num与st1.num等价。 5.语句printf(“%d",aj);的输出结果是:

C语言期末复习题

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是: A 。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: D 。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。 A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 12.设有说明:char w; int x; float y; double z;

C语言复习题答案

c语言程序设计教程(第2版)参考答案 习题1 1-1 单选题 1~5 BBBAC 1-2填空题 1. 函数 2. 主函数main(),主函数main() 3. 主函数main() 4.函数首部,函数体 5.{,} 6.顺序结构,选择结构,循环结构 7. .c, .obj,.exe 第2章 2.1 单选题 1~5 DBDCA6~10 DCABA 11~15CADBD 16~20CAAB C 21~25ADAAA 26~30ACBAC 31~35BADDA 36~40BBCCC 41~45BDABA 46~49ABBB 2.1填空题 1.2.000000? 2.1,0.5 3.9,2 4.6 5.100,d 6.(1)20(2)0(3)60 7. (1)10,6,4 (2)6,9,15 (3)3,60,83 8.55 9.11 6 4 10.5 11.double 12..整型字符型实型枚举类型

13.数据类型数据类型 14.字母数字下划线字母下划线 15.单精度双精度 16.变量初始化 17. 双引号 18. ’\0 19. x=3.600000,i=3 习题3 3-1选择题 1-5BDABC 6-10ADCAC 11-15BBBCC16-20 CDCDA 21-25 CACAA26-29BCBA 3-2 填空题 1. 3 2.0261 3.0x10 4.2,1互换a,b的值 5.6.6 6.–003 7. 5.0,4,c=3<Enter> 8.i=10,j=20<Enter> 9.(1)65 (2) 65,A (3) 56.123400,123.456001 (4) 3.141600 (5)8765.432 (6) 5.864000e+002 (7)3.141600e+000 (8) 3.1416 (9) 8765 (10) 3.1416,8765.43 10.a=2 b=5x=8.8 y=76.34c1=65 c2=97 11.B66 12.n1=%d\nn2=%d\n 13. 12 14. 11 15.25 2137 16.10030 17. 1B

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

C语言期末练习题及答案

期末练习题2-48课时 一、单选题(共20题,共30分) 1. 执行下列程序后的输出结果是() int fun(int x1,int x2) { int x;x1>x2(x=3):(x=4);return(x+x1);} main() { printf("%d\n",fun( 7,8));}(分) 2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分) 3. 若有以下定义和语句: double r=99,*p=&r; *p=r; 则以下正确的叙述是( ) (分) A.以下两处的*p含义相同,都说明给指针变量p赋值 B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元 C.语句"*p=r;"把变量r的值赋给指针变量p D.语句"*p=r;"取变量r的值放回r中 4. 有以下程序 #define N 20 fun(int A[],int n,int m) {int i,j; for(i=m;i>=n;i--)A[i+1]=A[i]; }

main() { int i,A[N]={1,2,3,4,5,6,7,8,9,10}; fun(A,2,9); for(i=0;i<5;i++)printf("%d",A[i]); } 程序运行后的输出结果是()(分) 5. 下面程序的输出是() main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } (分) =11,k=12,k=13 =11,k=13,k=13 =11,k=013,k=oXb =11,k=13,k=b 6. 以下程序段的输出为: int x=011; printf("%d\n",++x); (分) 7. 执行下述程序的输出结果是()。 #include <> #include <> main() { char *p1,*p2,str[50]="ABCDEFG";

大学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语言试题及答案

第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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

相关文档
最新文档