文档库 最新最全的文档下载
当前位置:文档库 › C语言练习题a汇总

C语言练习题a汇总

C语言练习题a汇总
C语言练习题a汇总

C语言练习题

一、单项选择题

1. 一个C程序的执行是从( )。

A. 本程序的main函数开始,到main函数结束

B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C. 本程序的main函数开始,到本程序文件的最后一个函数结束

D. 本程序文件的第一个函数开始,到本程序main函数结束

2. 字符型数据使用( )括起来。

A. 单引号

B. 双引号

C. 圆括号

D. #

3. 下列符号中用来表示C语言中的回车换行的是( )。

A. \r

B. \n

C. \b

D. \t

4. 以下不能定义为用户标识符的是( )。

A. MAIN

B. _HJ

C. 2ong

D. LINE1

5. 被调函数通过( )语句,将值返回给主调函数。

A. if

B. for

C. while

D. return

6. printf(“%d”,7%4); 执行之后,输出结果是( )。

A. 2

B. 3

C. 4

D. 1.75

7. C语言中形参的默认存储类别是( )。

A. 自动auto

B. 静态static

C. 寄存器register

D. 外部extern

8. 表达式1&&2&&3&&4的值为( )。

A.1

B.2

C.3

D.4

9. 若x=0,y=3,z=3,以下表达式值为0的是( )。

A. !x

B.x

C. x&&y&&z

D. y=x||z/3

10. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )。

A. 'a'<=c<= 'z'

B. (c>= 'a')||(c<= 'z')

C. ('a'<=c)and ('z'>=c)

D. (c>= 'a')&&(c<= 'z')

11. 设有数组定义:char ch[]=“student”,则数组ch 所占的空间为( )。

A. 5字节

B. 6字节

C. 7字节

D. 8个字节

12. 数学比较表达式:5>x≥2对应的C语言逻辑表达式是( )。

A.5>x>=2

B.5>x && x>2 && x=2

C.x<5 && x>=2

D.x<5 || (x>2)

13. 若有定义:int a[][3]={1,2,3,4,5,6},则a[1][0]的值是( )。

A. 4

B. 1

C. 2

D. 5

14. 以下函数调用语句中,含有实参的个数为( )。

fun(max(2,3),4);

A. 1

B. 2

C.3

D.4

15. 在C语言中,若对函数类型未另显示说明,则函数的隐含类型是( )类型。

A.void

B.double

C.int

D.char

16. 在C 语言中,每个语句必须以( )结束。

A. 回车符

B. 冒号

C. 逗号

D. 分号

17. 字符串的结束标志是( )。

A. 0

B. '0'

C. '\0'

D. "0"

18. printf("%c,%d",'b', 'b');的输出结果是( )。

A. b,98

B. b 98

C. 98,b

D. 98 b

19. 复合语句是用( )括起来的语句组。

A. ( )

B. [ ]

C. { }

D. < >

20. int a[4]={5,3,8,9};其中a[3]的值为( )。

A. 5

B. 3

C. 8

D. 9

21. 若有以下定义:float w[20];,则w数组元素的下标最大为( )。

A. 20

B. 19

C. 21

D. 0

22. for(i=1;i<9;i+=1);该循环共执行了( )次。

A. 9

B. 8

C. 0

D. 1

23. 基本整型的数据类型符为( )。

A. int

B. char

C. float

D. double

24. 在C语言中,printf和scanf 函数均包含在头文件( )中。

A. stdio.h

B. math.h

C. string.h

D. time.h

25. C语言程序的基本单位是()。

A.过程B.函数 C.语句 D.子程序26. 选出下列标识符中不合法

...的标识符的是()。

A.answer B.to C.signed D.max

27. C语言用( )表示逻辑“真”值。

A.true B.t或y C.非零值D.整型值0

28. 在C程序中有如下语句:char func(int x,int y); 它是()。

A.对函数func的定义。 B.对函数func的调用。

C.对函数func的声明。 D.不合法的

29. 若有说明int a[10];则对a数组元素的不正确引用

.....是( )。

A.a[0] B.a[i] C.a[10] D.a [2+3]

30. 以下对二维数组a的正确定义是( )。

A.int a[3][] B.float a(3,4)

C.float a[3][4] D.int a(3)(4)

31. C语言允许函数类型缺省定义,此时函数值隐含的类型是( )。

A.float B.int C.long D.double

32. 一个C语言的执行是从( )。

A.本程序的主函数开始,到本程序的主函数结束

B.本程序的第一个函数开始,到本程序的最后一个函数结束

C.本程序的主函数开始,到本程序的最后一个函数结束

D.本程序的第一个函数开始,到本程序的主函数结束

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

A. 地址传递

B. 单向值传递

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

D. 传递方式由用户指定

34. 以下程序的输出结果是( )。

int x=10,y=10;

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

A.10,11 B.11,10 C.10, 10 D.11, 11

35. 可用于跳出switch和循环结构的语句是( )。

A.break语句 B.return语句 C.continue语句 D.空语句

36. 若x=5,y=3 则y*=x+5; y的值为( )。

A.10 B.20 C.15 D.30

37. 若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( )。

A.0 B.2 C.1.5 D.1

38. 下列程序的输出结果是( )。

char str1[10]="abcd", str2[10]="ABCDEF",

strcpy(str1,str2);

printf("%s",str1);

A.abcd B.ABCDEF C.abcdABCDEF D.abcdEF

39. 假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

m=(m

A.4 B.3 C.2 D.1 40.表达式:10!=9的值是( )。

A.true B.非零值 C.0 D.1

41.下面合法的C语言字符常量是( )。

A.'\t' B."A" C.65 D. A 42. C语言的基本数据类型包括( )。

A.整型,实型,逻辑型B.整型,实型,字符型

C.整型,字符型,逻辑型D.整型,实型,逻辑型,字符型

43. C语言中while和do—while循环的主要区别是( )。

A.do—while的循环体至少无条件执行一次

B.while的循环控制条件比do—while的循环控制条件严格

C.do—while允许从外部转到循环体内

D.do—while循环体不能是复合语句

44. 单精度实数的数据类型符为( )。

A. int

B. char

C. float

D. double

45. 字符串常量使用( )括起来。

A. 单引号

B. 双引号

C. 圆括号

D. #

46. C语言规定,函数返回值的类型是由( )。

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

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

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

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

47. 设有说明:char w; int x; float y; 则表达式: w*x-y值的数据类型( )。

A.float B.char C.int D.double

48. 在 C 语言中,每个语句必须以( )结束。

A. 回车符

B. 冒号

C. 逗号

D. 分号

49. C语言规定:在一个源程序中,main函数的位置( )。

A. 必须在最开始

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

C. 可以任意

D. 必须在最后

50. C语言程序的基本单位是( )。。

A. 函数

B. 过程

C. 子程序

D. 子例程

51. 在下列字符串中,合法的标识符是( )。。

A. p12&.a

B. stud_100

C. water$12

D. 88sum

52、求标有/**/语句的执行次数( )。。

int a=0,i;

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

{ if (i%5!=0) break;

a+=i; /**/

}

A. 0

B. 1

C. 20

D. 19

53、现有以下定义,int a;double b;float c;char k;则下面的表达式a*b+c/k值的类型是( )。。

A. int

B. double

C. float

D. char

54、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。

A. 地址传递

B. 由实参传给形参,并由形参返回给实参

C. 值传递

D. 由用户指定传递方式

55、printf(“%d”,15/4); 执行之后,输出结果是( )。

A. 2

B. 3

C. 4

D. 3.75

56、在C 语言中,以下正确的描述是( )。

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

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

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

D. 函数的定义和函数的调用均可以嵌套

57、若变量c为char类型,能正确判断出c为大写字母的表达式是( )。

A. 'A'<=c<= 'Z'

B. (c>= 'A')||(c<= 'Z')

C. ('A'<=c)and ('Z'>=c)

D. (c>= 'A')&&(c<= 'Z')

58、若x=0,y=3,z=3,以下表达式值为0的是( )。

A. !x

B. x

C. x&&y&&z

D. y=x||z/3

59、数学比较表达式:5>x≥2对应的C语言逻辑表达式是( )。

A. 5>x>=2

B. 5>x && x>2 && x=2

C. x<5 && x>=2

D. x<5 || x>2

60、设有数组定义: char ch[]=“computer”,则数组ch 所占的空间为( )。

A. 6字节

B. 7字节

C. 8字节

D. 9字节

61、在C语言中,若对函数类型未显式说明,则函数的隐含类型是类型。

A. void

B. double

C. int

D. char

62、在 C 语言中,每个语句必须以结束。

A. 回车符

B. 冒号

C. 逗号

D. 分号

63、字符串的结束标志是。

A. 0

B. '0'

C. '\0'

D. "0"

64、复合语句是用括起来的语句组。

A. ( )

B. [ ]

C. { }

D. < >

65、C语言程序的基本单位是()。

A. 子程序

B. 程序

C. 函数

D. 过程

66、以下不正确的C语言标识符是( )。

A. ABC

B. abc

C. a_bc

D. ab.c

67. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。

A. float型

B. int型

C. long型

D. double型

68. C语言规定,函数返回值的类型是由( )。

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

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

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

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

69. printf(“%d”,17/5); 执行之后,输出结果是()。

A. 3.4

B. 4

C. 3.6

D. 3

70. printf(“%d”,7%4); 执行之后,输出结果是()。

A. 2

B. 3

C. 4

D. 1.75

71. 复合语句是用( )括起来的语句组。

A. ( )

B. { }

C. [ ]

D. < >

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

A. 地址传递

B. 值传递

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

D. 传递方式由用户指定

73. 若x=0,y=3,z=3,以下表达式值为0的是 ( ) 。

A. !x

B. x

C. x&&y&&z

D. y=x||z/3

74. 若有定义: int a[][3]={1,2,3,4,5,6},则a[1][0]的值是 ( )。

A. 4

B. 1

C. 2

D. 5

75. 设有数组定义: char ch[]=student”,则数组ch 所占的空间为()。

A. 5字节

B. 6字节

C. 7字节

D. 8个字节

76. 若有数组定义: int a[10],则()数组引用是合法的。

A. a[0]

B. a(0)

C. a[10]

D.a(10)

77. 求标有/**/语句的执行次数()。

int a=0,i;

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

{ if (i%5!=0) break;

a+=i; /**/

}

A. 0

B. 1

C. 20

D. 19

78. 有定义语句:int a=l,b=2,c=3,x;则以下各程序段执行后,x的值不为3的是( )。

A. if (c

B. if(a<3) x=3;

else if(b

else x=3; else x=l;

C. if (a<3) x=3;

D. if(a

if (a<2) x=2; if(b

if (a<1) x=l; if(c

79. 字符型数据使用()括起来。

A. 单引号

B.双引号

C. 圆括号

D. #

80. 执行下面语句后,a的值为()。

int a=1 ;

if (a>0) a+=1;

if (a>1) a=0;

A. 0

B. 1

C. 2

D. 3

81. 以下程序段的执行结果为()。

main()

{ char c1,c2;

c1=97; c2=98;

printf(“%c,%c\n”,c1,c2);

}

A. 97,98

B. a,b

C. A,B

D. 以上都不对

82. 在C语言中,要求运算数必须是整型的运算符是()。

A. %

B. /

C. <

D. 以上都不对

83. 以下说法中正确的是()。

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

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

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

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

84. 下列程序段的输出结果是()。

#define N 10

main()

{ int x=8; printf(“%d”,N+x); }

A. 8

B. N

C. 10

D. 18

二、判断题(每小题1分,共10分)

注意:正确的填A,错误的填B

1. C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。()

2.在C程序中,min 和Min代表不同的变量。( )

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

4.C语言规定:在一个源程序中,main函数的位置必须在最开始。( )

5.在C语言中,要求运算数必须是整型的运算符是/ 。 ( )

6.在C语言中,逗号运算符的优先级最低。( )

7.字符串是C语言中一种基本数据类型,字符串总是以‘\n’作为结束标志。( )

8.有数组定义int a[2][2]={{1},{2,3}};则a[2][2]的值为3。( )

9.在调用函数时,实参的个数与形参的个数可以不一致。( )

10.C语言程序的变量必须先定义再使用。( )

11、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。()

12、C语言中的逻辑值“真”是用T表示的,逻辑值“假”是用F表示

的。()

13、利用printf函数可以输出一个字符串。()

14、一个C程序必须有且只能有一个main()函数。()

15、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以省。()

16、在C语言中,虽然有逻辑运算,但没有逻辑型变量。()

17、在调用函数时,实参的个数与形参的个数可以不一致。()

18、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作。()

19、C程序的基本组成单位是函数。()

20、字符串是C语言中一种基本数据类型,字符串总是以‘\n’作为结束标志。()

21、数组大小固定,所有元素的类型必须相同()

22、C 语言中,数组的各元素必须具有相同的类型。()

23、C语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其

长度也是任意的。()

24、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。()

25、if语句有多种使用方法,其中if子句和else 子句也都可以单独使用。()

26、for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内

的分号却不可以省。()

27、在C语言中,虽然有逻辑运算,但没有逻辑型变量。()

28、在对一个C程序进行编译的过程中,可以发现注释中的拼写错误。()

29、C语言本身没有输入输出语句,是用输入输出函数实现输入输出操作的。()

30、C程序中数组名可以与其他变量名相同。()

31、字符串是C语言中一种基本数据类型,字符串总是以‘\n’作为结束标志。()

32.利用函数 putchar( )可以输出一个字符串。()

33. 一个循环的循环体中还可以包含另外一个循环,称为循环嵌套。()

33. C语言不区分大小写字母,如ABC和 abc 是相同的标识符。()

34. 在C程序中,语句之间必须要用分号“;”分隔()

35. 一个C程序必须有且只能有一个main()函数。( )

36. C语言中标识符不能与保留字同名。()

37. C语言中数组名可以与其他变量名相同。()

38. 字符数据在计算机内部也是以二进制形式来表示的。()

39. 在调用函数时,实参的个数与形参的个数可以不一致。()

40. while 循环是“先执行,后判断”,即不管循环条件是否满足,循环体至少执行一次。()

三、程序分析题(每小题4分,共24分)

1.分析程序的运行结果___________________

#include

void main( )

{

int a,b,x;

a=3;b=a--;

x=a+b;

printf(“%d”,x);

}

2.分析程序的运行结果___________________

#include

void main()

{ int a=5,b=3;

if(a>b) printf(“yes”);

else printf(“no”);

}

3. 分析程序的运行结果___________________

# include

void main()

{

int i,t;

t=1;

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

t=(t+1)*2;

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

}

4. 若i=7,下列程序的运行结果是。

switch(i)

{case 6: i+=1; break;

case 7: i+=2; break;

case 8: i+=3; break;

case 9: i+=4; break;

}

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

5. 利用一维数组求斐波那契数列,补充完整以下程序。#include

void main()

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

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

___________________

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

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

}

6. 判断某一年是否是闰年,请补充完整以下程序。

#include

void main()

{ int year;

printf(“please input a year:”);

scanf(“%d”,year);

if ( ) printf(“%d is a leap year!\n”,year);

else

printf(“%d is not a leap year!\n”,year);

}

7.写出下面程序的执行结果。

main()

{ int num=0;

while(num<=2)

{ num++;

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

}

}

8.以下程序段的输出结果是_________。

int x=5;

if(x>0) y=1;

else if(x==0) y=0;

else y= 1;

printf("%d",y);

9.计算1+1/2+1/4+…+1/50的值,请填空使完整。

main()

{ int i=2;

float sum=1.0;

while(i<= )

{ sum+=1.0/i;

i+=2;

}

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

}

10.写出下面程序的执行结果。

(1)#include

main()

{ int num=0;

while (num<=2)

{ num++;

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

}

}

执行结果:

11.写出下面程序的执行结果。

#include

main()

{

int x=5,y;

if (x>0) y=1;

else if (x==0) y=0;

else y= 1;

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

}

执行结果:

12.阅读程序并填空。

(1)编写程序实现两个数互换。

void main ()

{ int ①, x , y ;

scan f (“%d ,%d ”, &x, &y );

temp=x;

②;

③;

p rintf (“%d , %d ”, x, y );

}

13.判断某一年是否是闰年。

#include

main()

{ ①;

printf(“please input a year:”);

scanf(“%d”,year);

if ( ②) printf(“%d is a leap year!\n”,year);

printf(“%d is not a leap year!\n”,year);

}

14.根据程序的功能,完成程序填空:

(1)计算2+4+6+8+...+98+100

main()

{ int i, ① ;

for( ② ;i<=100; ③ )

s+=i;

printf(“2+4+6+…+100=%d\n”,s);

}

15.判断某一年是否是闰年。

#include

main()

{ int year;

printf(“please input a year:”);

① ;

if ( ② )

printf(“%d is a leap year!\n”,year);

printf(“%d is not a leap year!\n”,year);

}

16.阅读程序,写出程序的执行结果:

(1)main()

{ int n=1;

while(n<=10)

{ n+=3;

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

}

}

结果为:

17.阅读程序,写出程序的执行结果:

main()

{ int i;

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

{

if (i%5!=0)

continue;

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

if (i==10)

break;

}

}

结果为:

四、编程题(3个编程题左右,书上的例题及课后作业编程题要认真看)

1.输入三个整数,输出其中最大数。

2. 计算1+1/2+1/4+…+1/50的值。

3. 输入一个五位数,将它反向输出,例如输入12345,则输出54321。

4. 求100以内奇数的和。

5、请编程实现下列分段函数的值:

(1-x) / 2 (x ≤0 )

y= 1-x (0 < x ≤ 1)

(1-x)×2 ( x > 1)

6、利用数组编写程序,输出斐波那奇数列1、1、2、3、5、8…的前20项。

7、编写一个函数判断一个数是否是素数,如果是返回1,否则返回0。并编写main()函数

调用它。

8、计算n的阶乘。

9、从键盘输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是其它字符,则原样输出。

10、编写一函数求三个整数的最大值,并在main()函数中调用它。

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

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语言期末考试试卷A卷

一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是。 A、 C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、 C语言可以直接对硬件进行操作 D、 C语言移植性好 2、以下不正确的C语言标识符是 A、 ABC B、 abc C、 a_bc D、 ab.c 3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+…a?+i*f值的数据类型为 A、 int B、 float C、 double D、不确定 6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是。#include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、 12345 B、 123 C、 45 D、 345 8、若有以下定义int a,b; float x,则正确的赋值语句是。

A、 a=1,b=2 B、 b++; C、 a=b=5 D、 b=int(x); 9、以下程序的执行结果是。 #include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、 11,10 B、 9,10 C、 11,9 D、 10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是。 #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、 A,Y B、 65,65 C、 65,90 D、 65,89 11、下列运算符中优先级最高的是。 A、< B、十 C、 % D、 != 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。 A、?x?&&?y? B、 x<=y C、 x||y+z&&y-z D、 !((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为。 A、?a?<=c1<=f?z? B、 (c1>=a)&&(c1<=z) C、 (…a?>=c1) (…z?<=c1) D、 (c1>=?a?)&&(c1<=?z?) 14、字符串"a"在内存中占据的字节个数为。 A、 0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是。

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 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 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 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

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语言试题与答案

大学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语言程序设计试题A

四川职业技术学院2005—2006学年第 1 学期期末考试 《C语言程序设计》(A) (供04电气、04机电班使用) 考试时间:120分钟满分:100分命题人:陈科 ………………………………………………………………………………………… 一、单项选择题,答案不写入答题栏的一律不得分!(每题分,共分) 1、结构化程序设计的3种结构是。 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 2、以下叙述中正确的是。 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 3、C语言中最简单的数据类型包括。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4、若变量已正确定义并赋值,以下符合C语言语法的表达式是。 A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b 5、若变量a,i已正确定义,且i已正确赋值,合法的语句是。 A)a= =1 B)++i; C)a=a++=5; D)a=int(i); 6、已知: int t=0; while(t=1){...} 则以下叙述正确的是。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法D)以上说法都不对7、若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a 赋予,b赋予,c赋予,下列不正确的输入形式是。 A)10<回车>22<回车>33<回车> B),,<回车> C)<回车>回车> D)10 22<回车>33<回车> 8、有如下程序: main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是 A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 9、有以下程序 main() {int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是。 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 10、有如下程序 main() {float x=,y; if(x<)y=; else if(x<)y=x; else y=; printf("%f\n",y);} 该程序的输出结果是。 A)B)C)D) 11、有如下程序: main() {int n=9; while(n>6){n--; printf("%d",n);}

C语言思考题

1、机器语言:机器语言及其指令是计算机能够直接识别的执行的一组二进制代码。一条机器指令通常由操作码和操作数两部分构成。 2、汇编指令:是机器语言的符号化表示MOV 3、汇编语言:由汇编指令、汇编伪指令及汇编语言的语法规则组成。 4、汇编语言源程序:用汇编语言编写的程序 5、汇编程序:把汇编语言源程序翻译成目标程序的加工程序MASM 6、二、十、十六进制转换(掌握<256)练习1:117=(1110101)B练习2:1000 1011 B=(139)D练习3:1011 1000 0000 0101 B=(B805)H 7、机器数:是指计算机中的数据,可以分为无符号数和有符号数字长为N位时无符号数表示范围0≤N≤2N-1 当N=8时0≤N≤255 8、原码(8位):最高位为符号位(正数用0表示,负数用1表示),其他位为数值位 如X=+45=+0010 1101B [X]原=0010 1101B 如X=-45=-0010 1101B [X]原=1010 1101B 9、补码(8位):正数的补码与原码相同,负数的补码是将符号位取1,数值位逐位取反,未位加1。如X=+45=+0010 1101B [X]补=0010 1101B 如X=-45=-0010 1101B [X]补=1101 0011B 10、补码运算:是指对一个补码表示的数按位求反后再在末尾加1,可以得到与此数相应的符号相反的数的补码。例、已知[117]补=0111 0101B,[-117]补=1000 1011B,对[117]补作补码运算。解:因为[117]补=0111 0101B,按位求反后得1000 1010B,末尾加1得1000 1011B=[-117]补。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 12、BCD码:BCD码用4位二进制数表示1位十进制数。常用8421BCD码例:写出十进制314所对应的BCD码 13、8086/8088CPU:16位微处理器和16位数据总线,20位地址总线(寻址空间为1MB)。8088微处理器内部16位数据,外部8位数据,也称准16位机。8086/8088CPU的组成(功能方面):运算器、控制器、寄存器组 14、寄存器是CPU内部临时存放数据的部件,速度比内存快。(1)数据寄存器4个16位寄存器AX,BX,CX,DX,每个寄存器还可以拆成2个8位寄存器使用。 AX累加器:算术运算寄存器,用于存放操作数或运算结果。I/O指令中通过AX与外部交换数据。在乘除运算中指定存放被乘数与被除数,系统功能调用号。AX累加器可以分为AH、AL分别使用。 BX基址寄存器:可作为通用寄存器使用。在计算内存地址是,常作基址寄存器,作为通用寄存器还可以分为BH、BL分别使用。 CX数据寄存器:可作为通用寄存器使用。在循环和串操作指令中作隐含计数器。作为通用寄存器还可以分为CH、CL分别使用。 DX数据寄存器:可作为通用寄存器使用。在I/O操作中,DX用来存放I/O端品地址。在乘除法运算中与AX组合一起存放双字型数据。作为通用寄存器还可以分为DH、DL 分别使用。 (2)变址寄存器(2 个16位):SI 源变址寄存器.DI 目的变址寄存器 BP基址寄存器:用于存放栈中的操作数的偏移地址。SP堆栈指针寄存器:用来指示栈顶的当前位置(偏移地址)。 IP 指令指针寄存器(程序计数器):用于存放下一条指令所在偏移地址。与CS配合,用来确定程序中下一条指令的物理地址。 15、PSW程序状态字寄存器(标志寄存器):8088微处理器使用16位中的9位设置了9个标志。标志位SF、OF、CF、ZF的含义0010 1001B+1110 1000B=1 0001 0001B CF=1 OF=0 SF=0 ZF=0 16、段地址寄存器:段表示一块内存空间(大小可变),最大为64K字节,最小为16字

c语言模拟试卷A

《C语言程序设计》模拟试卷A (闭卷考试) 一、选择题(每题 分,共 分) 、以下不正确的 语言标识符是 。 、设有说明: 则表达式 值的数据类型为: 。 、根据下述定义,可以输出字符 的语句是 。

、以下说法中正确的是: 。 语言程序总是从第一个定义的函数开始执行 在 语言程序中,要调用的函数必须放在 函数中定义 语言程序总是从 函数开始执行 语言程序中的 函数必须放在程序的开始部分 、在定义 之后,对 的引用正确的是 。 、以下不能正确赋值的是 。 、设 和 都是 类型,则 循环语句 。 最多执行 次 最多执行 次 是无限循环 循环体一次也不执行 、 语言中表示“在使用 之前,先使 的值加 ”的正确方式是 。 、设有说明 其中 是 。

个指向整型变量的指针 指向 个整型变量的函数指针 一个指向具有 个整型元素的一维数组的指针 具有 个指针元素的一维指针数组,每个元素都只能指向整型量 、在下面关于指针的说法中,错误的一条是 。 变量的指针就是变量的地址 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量 一个指针变量只能指向同一类型的变量 指针变量中只能存放地址(指针) 二、读程序写结果(每题 分,共 分) 、以下程序运行后输出的结果是: 、若输入 ,以下程序的输出结果是:

、以下程序的输出结果是 、以下程序的输出结果是

、以下程序的输出结果是 、以下程序的输出结果是

; 、以下程序的输出结果是 三、程序填空(每空 分,共 分) 、将一个数组中的元素按逆序重新存放。例如原来的顺序为: 要求改为: 。 初始数组

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语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

c语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

C语言模拟试卷A

安徽农业大学经济技术学院 《C语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是___C_____。 A)C语言程序总是从第一个定义的函数开执行 B)在C语言程序中,被调用的函数必须在main( )函数中声明 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.C语言程序的三种基本结构是 A 结构。 A)循环、选择、顺序 B)递归、转移、嵌套 C)for while do-while D)if break continue 3以下选项中不属于C语言的基本数据类型的是__D______。 A)int B)double C)char D)bool 4.以下选项中正确的C语言标识符是_B_______。 A)2b B)x_1 C)a@b D) h#3 5.有以下程序段:int m=0,n=0;char c=’a’; scanf(“%d%c%d”,&m,&c,&n); printf(“%d,%c,%d\n”,m,c,n); 若从键盘上输入98A56(回车)输出结果是____B____。 A)98,A,56 B)98,a,56 C)98,a,0 D)98,A,6 6.以下选项中,和语句k=n++;等价的是__A______。 A)k=n,n=n+1; B)n=n+1,k=n; C)k=++n; D)k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是____B____。 A)8 B)10 C)12 D)14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2),a+b;后,c的值是____A____。 A)2 B)3 C)4 D)5 9.已知:int x,y;float z;,若要给变量x,y,z输入数据,以下正确的输入语句是__C______。 A)scanf("%d,%d,%f",x,y,z); B)scanf("%d,%d,%f\n",&x,&y,&z); C)scanf("%d,%d,%f",&x,&y,&z); D)scanf("%2d,%2d,%3.2f",&x,&y,&z); 10.设有int m=9,n; 则表达式( B )不能使n的值为1。 A.n=m%2 B.n=m/10 C.n=m-1<10?1:2 D.n= m %8 11.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是_B_______。 A)stdio.h B)math.h C)string.h D)stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是____A____。 A)A B)65 C)97 D)出错 13.能正确表示逻辑关系“a≥5或a≤-1”的C语言表达式是__D______。 A)a>=5|a<=-1 B) a≥5||a≤1

C语言期末试卷A

1 C 语言 期末试卷(A 卷) 一、单选(20%,每题1分) 1、以下叙述不正确的是( )。 A 、一个C 源程序可由一个或多个函数组成。 B 、一个 C 源程序必须包含一个main( )函数。 C 、C 程序的基本组成单位是函数。 D 、在C 程序中,注释说明只能位于一条语句的后面。 2、以下选项中,能用作用户标识符的是( )。 A 、void B 、8_8 C 、_0_ D 、unsigned 3、若有定义:int x=3,y=4;则表达式!x||y 的值为( )。 A 、1 B 、0 C 、3 D 、4 4、对于类型相同的指针变量,不能进行的运算是( )。 A 、+ B 、 - C 、= D 、== 5、以下程序段的运行结果是( )。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d ”,week); A 、ee B 、5 C 、 2 D 、4 6、下面程序中,结构体变量a 所占的内存字节数是( ) union U {char st[4]; int i; long l;}; struct A {int c; union U u;}a; A 、4 B 、5 C 、 6 D 、8 7、以下程序的输出结果是( )。 main( ) {int a[]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2; printf(“%d,%d\n ”,*p,*(p+3));} A 、2,4 B 、 2,6 C 、1,4 D 、1,6 8、下面说法不成立的是( )。 A 、结构体可以嵌套定义 B 、共用体可以嵌套定义 C 、结构体的成员不可以是共用体 D 、结构体的成员可以是共用体、结构体和基本数据类型 9、以下程序的输出结果是( )。 void main( ) {char a=3,b=6; char c=a^b<<2; printf(“%d ”,c);} A 、10 B 、20 C 、27 D 、28 10、以下对结构体变量stu1 中成员age 的非法引用是( )。 struct student{int age;int num;}stu1,*p; p=&stu1; A 、stu1.age B 、student.age C 、p->age D 、(*p).age 11、当调用函数时,实参是一个数组名,则向函数传递的是( )。 A 、数组的首地址 B 、数组的长度 C 、数组每一个元素的地址 D 、数组每个元素中的值 12、以下程序的输出结果是( )。 #define SUM(y) 1+y main( ) {int x=2; printf(“%d ”,SUM(5)*x);} A 、 10 B 、 11 C 、12 D 、15 13、以下运算符中优先级最高的是( )。 A 、& B 、 << C 、 | D 、~ 14、在C 语言中,用“W ”方式打开一个已含有10个字符的文本文件,并写入了5个新字符,则该文件中存放的字符是( )。 A、新写入的5个字符 B 、新写入的5个字符覆盖原有字符中的前5个字符,保留原有的后5个字符 C 、原有的10个字符在前,新写入的5个字符在后 D 、新写入的5个字符在前,原有的10个字符在后 15、若有定义:int *p,a=4; p=&a;则以下均代表地址的是( )。 A 、a,p B 、&a,p C 、&a,*p D 、a,*p 16、下面函数调用正确的是( )。 A 、fopen(…file.dat ?,?r ?); B 、fprintf(“%ld ”,data,fp) ; C 、fclose(“file.dat ”); D 、fread(&i,sizeof(int),1,fp); 17、函数调用语句fseek(fp,-10L,2);的含义是( )。 A 、将文件位置指针移动到距离文件头10个字节处。 B 、将文件位置指针从当前位置向文件尾方向移动10个字节。 C 、将文件位置指针从当前位置向文件头方向移动10个字节。 D 、将文件位置指针从文件末尾处向文件头方向移动10个字节。 18、以下程序运行后,屏幕显示File open error!,则可能的原因是( )。 main() { FILE *fp;char str[256]; fp = fopen("test.txt", "rt"); if(fp==NULL) { printf("File open error!");return;} fscanf(fp,"%s",str); 班级: 姓名: 学号 ○ ○ 密 ○ 封 ○ 装 ○ 订 ○ 线 ○ ○ 密 封 线 内 不 要 答 题

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

2012年C语言试卷(A)

青海大学试卷(A卷) 一.填空题(每空1分,共16分) 1.一个C程序一般由若干函数构成,程序中至少应包含一个主函数。 2.在循环控制中,break语句用于结束当前循环层,continue语句用于结束本次循环。 3. 若x和n均是int型变量,且x和n的初值均为8,计算表达式x+=n++后,x的值为 【4】,n的值为【5】。 4.若有定义int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是【6】。 5. 有这样的定义: int a=10;int *p;让指针p指向a的语句【7】,当p指向a 后, 【8】与p等价,【9】与*p等价。 6.有说明char s1[40],s2[20]=“you are a teacher.”;如果想把s2中的字符串复制到s1中的函数调用语句是【10】。 7.函数直接或者间接地自己调用自己,称为函数的【11】。 8.结构体的变量定义为:struct aa{int a;char c;float x;}b1;则变量b1占用的内存空间的字节数是【12】。 9.在函数内部定义的只在本函数内有效的变量叫【13】,在函数以外定义的变量叫【14】。 10.feek(fp,-10L,1)中的fp和1分别代表文件【15】和文件【16】。二.选择题(每小题2分,共40分) 1.程序调试的任务是()。 A.设计测试用例 B.验证程序的正确性 C.发现程序中的错误 D.诊断和改正程序中的错误 2.C语言中,逻辑“真”等价于()。 A.非零的数 B.大于零的整数 C.大于零的数 D.非零的整数 3.以下程序的输出结果是()。 main(){ int a=2,b=5; printf(“a=%%d,b=%%d\n”,a,b);} A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d 4.若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()。 A.3 5 B.3,5 C.3;5 D.35 5.以下程序段的输出结果是()。 #include main(){ double a=-3.0,b=2; printf(“%3.0f %3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));} A.9 8 B.8 9 C.6 6 D.以上三个都不对 6.若给定条件表达式(M)?(a++):(a--),则和表达式M等价的表达式为()。 A.M==0 B.M==1 C.M!=0 D.M!=1 7.有以下程序: #include main( ){ int a=1,b=0; if(--a) b++; else if(a==0) b+=2; else b+=3; printf(“%d\n”,b) ;} 程序运行后的输出结果是()。 A.2 B.1 C.0 D.3 8.以下程序段的输出结果是()。 int x=3;do { printf(“%3d”,x-=2);}while(!(--x)); A.1 B.3 0 C.1 -2 D.死循环 9.有以下程序: #include main( ){ int a=7; while(a--); printf(“%d\n”,a);} 程序运行后的输出结果是()。 A.7 B.0 C.l D. -1 10.在编译预处理中,以下有关宏替换的叙述不正确的是()。 A.宏替换不占用运行时间 B.宏名无类型 C.宏名必须用大写字母表示 D.宏替换只是字符替换 11.以下对一维数组a的正确说明是()。 A.char a(10); B.int a[ ];C.int k=5,a[k]; D.char a[ ]={‘a’,‘b’,‘c’}; 12.有以下程序: #include main( ){ char ch[3][5]={“AAAA”,“BBB”,“CC”};printf(“%s\n”,ch[1]);} 程序运行后的输出结果是()。

相关文档
相关文档 最新文档