搜档网
当前位置:搜档网 › C语言复习资料

C语言复习资料

C语言复习资料
C语言复习资料

选择题(20题,每题1.5分):

1.下面能正确使用的语句是_______A____。

(A)、int *x, y=1; x=y;

(B)、int *x; *x=1;

(C)、int *x, y; x=&y;

(D)、int *x; y=1; x=&y;

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

void main()

{

int x=1,y=-1,z=2;

if (x>y)

if (y>0) z=0;

else z++;

else x++;

printf(“%d,%d”,x,z);

}

(A)、22

(B)、12

(C)、13

(D)、23

3.若变量x和y均为double类型,且x=1,则合法的语句是______D______。

(A)、x=y++;

(B)、x=x&y;

(C)、x=y++=1

(D)、y=x%2;

共页,第页

4.C++语言中最简单的数据类型包括____B____。

(A)、整型、实型、逻辑型

(B)、整型、实型、字符型

(C)、整型、字符型、逻辑型

(D)、整型、实型、逻辑型、字符型

5.字符型(char)数据在微机内存中的存储形式是____D____。

(A)、反码(B)、补码(C)、EBCDIC码(D)、ASCII码

6. 已知字母A的ASCII码为十进制的65,下面程序的输出是__A______。 #include

main()

{

char ch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);

}

(A)、67,D (B)、不确定的值(C)、C,D (D)、B,C

7.若有定义和语句:

int a=5;

a++; 此处表达式a++的值是___D_____。

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

8、设 x=1,y=2,则表达式x+++y的值为______A__。

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

9. 表达式:10!=9的值是_____D___。

(A)、true (B)、 0 (C)、非零值(D)、1

10. 若以下变量均已定义,则下面表达式不正确的是___B_________。

(A)、 a=b,c

(B)、 x+y=5

(C)、 x/=10

(D)、 x>y?y:x

11.下列函数的声明正确的是___B______。

(A)、 void func(x,y)

(B)、 void func(int x,int y)

(C)、 void func(int,int);

(D)、void func(int x,y);

12. C++程序的注释符是_____A____。

(A)、 //

(B)、 '

(C)、 !

(D)、 ;

13.以下对一维数组n的正确定义是____C________。

(A)、 int a;int n[a];

(B)、 int a=3,n[a];

(C)、 int n(3);

(D)、 const int a=3;int n[a];

14.设有int a[]={1,2,3},*p=&a[0];

则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是___C______。

(A)、2, 2, 3 (B)、1, 2, 3 (C)、1, 3, 3 (D)、2, 3, 3 15. 下面选项中,__________是函数的重载。

(A)、 int print( float x) 与 int *print( float x)

(B)、 int print( float x) 与float print( int x)

(C)、int print( char *y, float x) 与int print( float x, char *y) //形式参数(指参数的个数、类型或者顺序)必须不同

(D)、 float print1( int x) 与float print2( int y)

16. [单选题]有以下程序

#include

void main()

{ int n;

n=9;

cout<<(n--/3)<

}

程序运行后的输出结果是__C______。

(A)、 2

(B)、 3

(C)、编译出错

(D)、 4

17. 执行以下语句后,变量n的值是________。

for(n=0,i=5;i<=20;i++)

if(i<=15 && i%5==0) n++;

(A)、 4

(B)、 2

(C)、 1

(D)、 3

18. 有以下程序段

char x='3';int y=0;

switch(x-'2')

{

case '1': y=1;break;

case '2': y=2;break;

default: y=3;

}

程序运行后,变量y的值是________。

(A)、 0

(B)、 2

(C)、 3

(D)、 1

19. 表示C++一条预处理命令开始的符号中是________。

(A).# (B). ;(C). }(D).//

20.类的析构函数的作用是________。

(A)、解析对象

(B)、初始化对象

(C)、删除对象

(D)、重置对象

21.________的功能是对对象进行初始化。

(A)、数据成员(B)、析构函数

(C)、静态数据成员(D)、构造函数

22. C++源程序文件经过编译后,生成的目标文件扩展名是________。

(A)、.obj

(B)、.c

(C)、.cpp

(D)、.exe

23. 若有下面函数调用语句:

fun(a+b,(x,y),fun(n+k,d,(a+b)));

在此函数调用语句中实参的个数是________。

(A)、 5

(B)、 3

(C)、 4

(D)、 6

24.每个C++程序都必须由且仅有一个_________。

(A)、预处理命令

(B)、函数

(C)、语句

(D)、主函数

25.在函数声明时,下列________项是不必要的。

(A)、函数的类型

(B)、函数的名字

(C)、函数参数类型

(D)、返回值表达式

26.执行下面的程序段后,k 的值是_________。

int k=1,n=532;

do{k*=n%10;n/=10;}

while(n);

(A)、 1

(B)、30

(C)、235

(D)、 5

27. 以下不能对数组x进行正确初始化的语句是____________。

(A)、int x[3]={1, 2, 3};

(B)、int x[3]={0, 1, 2};

(C)、int x[3]={0, 1, 2, };

(D)、int x[3]={0, 1, 2, 3};

28、以下程序的运行结果是_________。

void main()

{

int x=1,y=-1,z=2;

if (x>y)

if (y>0) z=0;

else z++;

else x++;

cout<

}

(A)、22

(B)、12

(C)、13

(D)、23

29. 可以赋给指针变量的唯一整数是________。

(A)、0

(B)、 3

(C)、 1

(D)、 2

30. 若以下变量均已定义,则下面表达式不正确的是________。

(A)、a^=5

(B)、a+3=10

(C)、a=++a

(D)、a>>3+1

31.下列函数的声明正确的是_________。

(A)、 void func(x,y)

(B)、 void func(int x,int y)

(C)、 void func(int,int);

(D)、 void func(int x,y);

32. 下列字符数组初始化语句中,正确的是________。

(A)、 char c[3][10]={"China, Guanzhou, University"};

(B)、 char c[4][10]={"China", "Guanzhou", "University"};

(C)、 char c[3][11]={"China", "Guanzhou", "University"};

(D)、 char c[4][11]={"China, Guanzhou, University"};

33.判断char型变量c是否为数字字符的表达式是__________。

(A)、('0'<=c) && (c<='9')

(B)、'0'<=c<='9'

(C)、( c>=0) && (c<=9)

(D)、(0<=c) && (9>=c)

34、C++语言中最简单的数据类型包括________。

(A)、整型、实型、逻辑型、字符型

(B)、整型、字符型、逻辑型

(C)、整型、实型、字符型

(D)、整型、实型、逻辑型

35. 若n为整型变量,则以下循环的执行次数是________。

for(n=0;--n>=0;n++);

(A)、 2

(B)、 1

(C)、0

(D)、无限次

36. C++程序的注释符是_________。

(A)、 ;

(B)、 '

(C)、 !

(D)、 //

37. 已知变量x,y均为整型变量,则下面表达式正确的是______。

(A)、 x*2=6

(B)、 y=--y

(C)、 x+y=x-y

(D)、 y++=x

38. 有以下程序段

char x='3';int y=0;

switch(x-'2')

{

case '1': y=1;break;

case '2': y=2;break;

default: y=3;

}

程序运行后,变量y的值是________。

(A)、 0

(B)、 2

(C)、 3

(D)、 1

39. 若有定义"int x[5]={1,2,3,4,5},*p=&x[0];",则以下表达式中值为5的是________。

(A)、*( p+5)

(B)、p+4

(C)、*( p+4)

(D)、* p+5

40.执行以下语句后,变量n的值是________。

for(n=0,i=5;i<=20;i++)

if(i<=15 && i%5==0) n++;

(A)、 4

(B)、 1

(C)、 2

(D)、 3

41. 以下说法正确的是

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

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

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

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

42.下列关于C语言的说法不正确的是

A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能

B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的

一部分,是语句之间的分隔符号

C)注释可以出现在程序中任意合适的地方

D)命令行后面不能加分号,命令行不是C语言的语句

43. 是正确的字符常量。

A.''C'' B.'ab' C.'11' D.'\n'

44.C语言中,求余运算符是。

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

45. C语言中最简单的数据类型包括

A)整型、实型、逻辑型

B)整型、实型、字符型

C)整型、字符型、逻辑型

D)字符型、实型、逻辑型

46.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000

B)2.750000

C)3.500000

D)0.000000

47.在C语言中,char型数据在内存中的存储形式是

A)补码

B)反码

C)原码

D)ASCII码

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

A.‘A’<=c<= ‘Z’B.(c>= ‘A’) || (c<= ‘Z’) C.(‘A’<=c) and (‘Z’>=c)D.(c>= ‘A’) && (c<= ‘Z’)

49.下列正确的标识符是:

A. 12ab

B. float

C. b6ty

D. aw~1e

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

A)36

B)0

C)-24

D)-60

51. 设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是。

A.2,1,2

B.2,0,3

C.2,2,3

D.2,1,3

52.下列关于字符串的说法中错误的是

A)C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志

B)′\0′作为标志占用存储空间,计入串的实际长度

C)在表示字符串常量的时候不需要人为在其末尾加入′\0′

D)在C语言中,字符串常量隐含处理成以′\0′结尾

53.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予

10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是

A)10<回车>22<回车>33<回车>

B)10.0,22.0,33.0<回车>

C)10.0<回车>22.0 33.0<回车>

D)10 22<回车>33<回车>

54.执行下面程序时,如果从键盘上输入:defABC〈回车>,则输出为

#include <Stdio.h>

main() { char ch;

while ((ch=getchar())!='\n')

{ if (ch>='A' && ch<='Z') ch=ch+32;

else if (ch>='a' && ch<='z') ch=ch-32;

printf("%c",ch);}

A. ABCdef

B. DEFabc

C. abc

D.DEF

55.下列程序段的输出结果是:

int a=1234;

float b=123.456;

double c=12345.54321;

printf("-,%2.1f,%2.1f",a,b,c);

A)无输出

B)12,123.5,12345.5

C)1234,123.5,12345.5

D)1234,123.4,1234.5

56.下面程序中的输出语句,a的值是

main()

{ int a;printf("%d\n”,,(a=3*5,a*4,a+5));}

A.65

B.20

C.15

D.10

57.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是

A)a>=10 or a<=0

B)a>=0|a<=10

C)a>=10 &&a<=0

D)a>=10‖a<=0

58.6.1 对表达式for(表达式1; ;表达式3)可理解为

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

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

#include

void main()

{ int m=5;

if (++m>5) printf(“%d\n”,m);

else printf(“%d\n”,m--); }

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

60.下列选项中错误的说明语句是

A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′};

B)char a[]={"toyou\0"};

C)char a[]="toyou\0";

D)char a[]=′toyou\0′;

61. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A.必须为字母或下划线

B.必须为下划线

C.必须为字母

D.可以是字母、数字和下划线中的任一种字符

62. 以下说法中正确的是。

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

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

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

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

63. if语句的基本形式:if(表达式)语句

其中“表达式”

A.必须是逻辑表达式或关系表达式B.必须是关系表达式

C.必须是逻辑表达式D.可以是任意合法的表达式64. 是不正确的字符常量。

A.'A' B."a" C.'1' D.'\n'

65.C语言中,整除运算符是。

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

66. 表达式:(int)((double)11/2)-(9)%2的值是。

A.0 B.3 C.4 D.5

67. 组成C语言程序的是。

A.子程序B.过程C.函数 D.主程序和子程序68. 若变量c为char类型,能正确判断出c为小写字母的表达式是。

A.‘a’<=c<= ‘z’B.(c>= ‘a’) || (c<= ‘z’)

C.(‘a’<=c) and (‘z’>=c)D.(c>= ‘a’) && (c<= ‘z’)

69. x,y,z和k都是int型变量,执行表达式:x=(y=4,z=16,k=32)后,x的值为

A. 4

B. 16

C. 32

D. 52

70.在C语言中,逻辑值“真”用__________表示。

A. true

B. 大于0的数

C. 非0的整数

D. 非0的数

71. 设int x,y;且x = 3, y = 5则下面表达式中值为0的是。

A.!(x = y ) B.‘x’ && ‘y’C.x || y D.x <= y 72.设有程序段:int k = 10 ;

while ( k = 0 ) k = k - 1 ;

以下描述正确的是。

A.循环体语句一次也不执行。B.循环是无限循环。

C.while 循环语句执行十次。D.循环体语句执行十一次。

73.以下if语句语法正确的是。

A.if (x>0) B.if (x>0) printf ( "%f ",-x ) { x=x+y ;printf ("%f ", x) ; } else printf ("%f",-x) ;

else printf ("%f ", -x) ;

C.if (x>0) D.if(x>0)

{x=x+y ; printf ("%f ", x) ; };{x=x+y ; peintf ("%f", x)}

else printf ("%f", -x) ;else printf ("%f", -x) ;

74. 执行下面程序时,如果从键盘上输入:ABCdef〈回车>,则输出为

()#include <Stdio.h>

main() { char ch;

while ((ch=getchar())!='\n')

{ if (ch>='a' && ch<='z') ch=ch-32;

else if (ch>='A' && ch<='Z') ch=ch+32;

printf("%c",ch);}

A. ABCdef

B. abcDEF

C. abc

D.DEF

75.有两个字符变量a, b,则以下正确的输入格式是。

A.scanf ("% c % c", &a, &b ) B.scanf ("% s % s", a, b )

C.scanf ("% c % c", a, b ) D.gets ("a"); gets ("b")

76. 下面程序中的输出语句,a的值是( )

main()

{ int a;printf("%d\n”,,(a=15/5,a*4,a+5));}

A.8

B.12

C.3

D.5

77. 输出整型变量a,b的语句为printf(“”, a,b) ;

A.a=%2,b=%5 B.a=2,b=5

C.a=%%d,b=%%d D.a=%d,b=%d

78.有以下程序:#include

void main()

{ int a=2,b=1;

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

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

程序运行后的输出结果是。

A.3,2 B.3,0 C.3,6 D.3,1

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

#include

void main()

{ int m=5;

if (m++>5) printf(“%d\n”,m);

else printf(“%d\n”,m--); }

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

80. 有以下程序:#include

void fun(int p)

{ int d=2;

p=d+1;

printf(“%d”,p); }

void main( )

{ int a=1;

fun(a); printf(“%d\n”,a); }

程序运行后的输出结果是。

A.32 B.13 C.23 D.31

81.以下运算符中优先级最低的是

A) && B) & C) || D) |

82.printf函数中用到格式符%6s,其中数字6表示输出的字符串占用6列,如果字符串长度大于6,则输出按方式

A) 从左起输出该字符串,右补空格

B) 输出错误信息

C) 右对齐输出该字串,左补空格

D) 按原字符长从左向右全部输出

83. 判断char型变量cl是否为大写字母的正确表达式是

A) (cl>=A)&&(cl<=Z) B) (cl>='A')&&(cl<='Z')

C) ('A'>=cl)||('Z'<=cl) D) 'A'<=cl<='Z'

84.以下能对一维数组c进行正确初始化的语句是

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

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

85.字符型(char)数据在微机内存中的存储形式是________。

(A)、反码(B)、补码(C)、EBCDIC码(D)、ASCII码

86. 请读程序:

#define ADD(x) x+x

main()

{

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

int sum=ADD(m+n)*k;

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

}

上面程序的运行结果是

A) sum=11 B) sum=10 C) sum=12 D) sum=18

87.若有定义和语句:

int a=5;

++a; 此处表达式++a的值是________。

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

88、以下叙述正确的是

A) 在C程序中,main函数必须位于程序的最前面

B) C程序的每行中只能写一条语句

C) C语言本身没有输入输出语句

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

89. 表达式:10!=9的值是________。

(A)、true (B)、 0 (C)、非零值(D)、1

90. C语言规定,在一个源程序中,main函数的位置

A) 必须在最开始 B) 必须在系统调用的库函数的后面

C) 可以任意 D) 必须在最后

91.下面四个选项中,均是不合法的用户标识符的选项是

A) A P_0 do B) float la0 _A

C) b-a goto int D) _123 temp int

92. C++程序的注释符是_________。

(A)、 //

(B)、 '

(C)、 !

(D)、 ;

93.下面正确的字符常量是

A) "c" B) '\\'' C) 'W' D) ''

94.在C语言中,引用数组元素时,其数组下标的数据类型允许是

A) 整型常量 B) 整型表达式

C) 整型常量或整型表达式 D) 任何类型的表达式

95. 在C语言中,要求运算数必须是整型的运算符是

A) / B) ++ C) != D) %

96. [设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为

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

97. 以下关于运算符优先顺序的描述中正确的是

A) 关系运算符<算术运算符<赋值运算符<逻辑运算符

B) 逻辑运算符<关系运算符<算术运算符<赋值运算符

C) 赋值运算符<逻辑运算符<关系运算符<算术运算符

D) 算术运算符<关系运算符<赋值运算符<逻辑运算符

98. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是

A) !(A%2) B) !(A%2==0)

C) A%2==1 D) A%2

99. 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是

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

100.请阅读以下程序:

main()

{

int a=5,b=0,c=0;

if(a=b+c) printf("***\n");

else printf("$$$\n");

}

以上程序

A) 有语法错不能通过编译

B) 可以通过编译但不能通过连接

C) 输出***

D) 输出$$$

101.以下运算符中优先级最低的是

A) * B) ( ) C) = D) &&

102. 判断char型变量cl是否为小写字母的正确表达式是

A) (cl>='a')&&(cl<='z') B) (cl>=a)&&(cl<=z)

C) ('a'>=cl)||('z'<=cl) D) 'a'<=cl<='z'

103. 以下能对一维数组a进行正确初始化的语句是

A) int a[10]=(0,0,0,0,0) B) int a[10]={};

C) int a[]={0}; D) int a[10]={10*1};

104.每个C++程序都必须由且仅有一个_________。

(A)、预处理命令

(B)、函数

(C)、语句

(D)、主函数

105.以下程序的运行结果是

#define MIN(x,y) (x)<(y)?(x):(y)

main()

{int i=10,j=15,k;

k=10*MIN(i,j);

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

}

A) 10 B) 15 C) 100 D) 150

106.一个C程序的执行是从

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

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

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

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

107. 以下叙述不正确的是

A) 一个C源程序可由一个或多个函数组成

B) 一个C源程序必须包含一个main函数

C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

108、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

A) char

B) char=int

C) char

D) char=int=long int<=float

109. 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为

x=(i=4,j=32,k=16)

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

110. 下列四个选项中,均是C语言关键字的选项是

A) auto enum include B) switch typedef continue

C) signed union scanf D) if struct type

111.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A) 必须为字母 B) 必须为下划线

C) 必须为字母或下划线 D) 可以是字母,数字和下划线中任一字符

112. 下面四个选项中,均是合法转义字符的选项是

A) '\'' '\\' '\n' B) '\' '\017' '\"'

C) '\018' '\f' 'xab' D) '\\0' '\101' 'xlf'

113. putchar函数可以向终端输出一个

A) 整型变量表达式值B) 实型变量值

C) 字符串D) 字符或字符型变量值

114、在C语言中,char型数据在内存中的存储形式是

A) 补码 B) 反码 C) 原码 D) ASCII码

115. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为A) int B) float C) double D) 不确定

116. C++程序的注释符是_________。

(A)、 ;

(B)、 '

(C)、 !

(D)、 //

117. 逻辑运算符两侧运算对象的数据类型

A) 只能是0或1

B) 只能是0或非0正数

C) 只能是整型或字符型数据

D) 可以是任何类型的数据

118. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是

if(a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

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

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

main()

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

if(x

if(y<0) z=0;

else z+=1;

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

}

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

120. 为了避免在嵌套的条件语句if-else 中产生二义性,C语言规定:else子句总是与________配对

A) 缩排位置相同的if B) 其之前最近的if

C) 其之后最近的if D) 同一行上的if

二、判断题(5题,每题3分)

1. 能正确表示a和b同时为正或同时为负的逻辑表达式是a*b>0。 ( √ )

2. 表达式a!=b等价于a=a!b 。( )

3.int a[][3]={{1,2,3},{4,5,6}}没正确实现了数组的初始化。

( )

4. 若有说明: int a[][4]={0,0}; 则数组a的每个元素都可得到初值0 ( )

5. 预处理命令行都必须以#号开始 ( )

6. int a[2][3]={{1,2},{3,4},{5,6}};正确实现了数组的初始化。( )

7.执行语句 for(i=1;i++<4;); 后变量 i 的值是5。 ( ) 。

8. main()函数是由C++语言提供的函数,并不需要用户自己编写。( )

9. 若有说明: int a[][4]={0,0};二维数组a的第一维大小为1。 ( )

10. 在程序中凡是以#号开始的语句行都是预处理命令行。 ( )

11. 能正确表示a和b同时为正或同时为负的逻辑表达式是a*b>0。()

12. 设i,j,k均为int型变量,则执行完下面的for循环后,k的值为10。( ) for(i=0,j=10;i< =j;i++,j--)

k=i+j;

13. 在C++语言中,所有函数说明都必须指明返回值类型,没有说明返回值类型的

函数默认为char类型的函数。

( )

14. 下面程序的输出是 4 。( × ) //是6

#include< stdio.h>

main()

{

int a[]={2,4,6},*prt=&a[0],y,z;

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

z=(*(prt+y));

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

}

15. 以下程序的输出结果是8,8 。 ( × )

//8,17

int fun(int x,int y)

{ static int m=0,i=2;

i+=m+1;

m=i+x+y;

return m;

}

main()

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

k=fun(j,m); printf("%d, ",k);

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

}

16.((a>=10)or(a< =0))不是C语言合法关系表达式。 ( × )

17.下面程序的输出是-1 ( √ ) 。

main()

{

int x=2;

while(x--);

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

}

18. main()函数是由C++语言提供的函数,并不需要用户自己编写。( × )

19. 设有定义一维数组如下:int a[5],*p=a; 则表达式p=p+1是合法。( )

20. 以下程序的输出结果是8,17 。 ( √ )

int fun(int x,int y)

{ static int m=0,i=2;

i+=m+1;

m=i+x+y;

return m;

}

main()

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

k=fun(j,m); printf("%d, ",k);

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

}

三、程序填空题(每空5分,共30分,两题,以课后题选择出题,下两题为考试方式。)

1. 有3个整数a,b,c,由键盘输入,输出其中最大的数。

请填写程序中的三处空白,使它能得到正确的结果。

#include

void main()

{

int a,b,c,temp,max;

printf("请输入3个整数:");

_scanf(“%d,%d,%d”,&a,&b,&c)____________________; /*第一处填空*/ temp=a>b?a:b______; /*使用条件表达式将a和b中的最大者存入temp中*/

max=___temp>c?temp:c_________________;/*将a和b中的最大者与c比较*/ printf(“3个整数的最大数是%d\n”,max);

}

运行情况如下:

请输入3个整数:89,44,188

3个整数的最大数是:188

2. 一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过了多少米?第10次反弹多高?

请填写程序中的三处空白,使它能运行后得到正确的结果。

#include

void main()

{

double sn=100,hn=sn/2;

int n;

for(n=2;_n<=10________;n++) /*第一处填空*/

{

__ sn=sn+2*hn___; /*第二处填空,求第n次落地时共经过的米数*/

___hn=hn/2______________; /*第三处填空,求第n次反单高度*/

}

printf(“第10次落地时共经过%f米.\n”,sn);

printf(“第10次反弹%f米.\n”,hn);

}

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)。 [i] 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# 语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A) B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言复习题A

C语言复习题A 一、单项选择题 1、C语言提供的合法关键字是_______。 A、AUTO B、include C、unsigned D、dafault 2、合法的C语言标识符是__________。 A、2a B、sum C、default D、a+b 3、下面四个选项中,不是C语言整型常量的是。 A、01 B、0x11 C、081 D、-32768 4、下面四个选项中正确的实型常量是。 A、0x12 B、-12345.e-3 C、Ie0.5 D、e-5 5、若a为整型变量,则下面语句。 a=-2L; printf(“%d\n”,a); A、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为-2 6、在C语言中,要求参加运算的数必须是整数的运算符是。 A、/ B、! C、% D、= = 7、字符串“\\012\012”在内存中占用的字节数是个。 A、4 B、5 C、6 D、7 8、下列说法中,错误的是。 A、变量的定义可以放在所有函数之外 B、变量的定义可以不放在本编译单位中,而放在其他编译单位中 C、变量的定义可以放在某个函数的函数头中 D、变量的定义可以放在某个复合语句的开头 9、下列说法中,正确的是。 A、自动型变量是分配在内存的数据区的 B、寄存器型变量是分配在内存的数据区中的 C、表态型变量是分配在内存的数据区中的 D、外部参照型变量是分配在内存的数据区中的 10、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是。 A、-128~127 B、-32768~32767 C、0~65536 D、0~2147483647 11、下面不正确的字符串常量的。 A、’abc’ B、”12’12” C、”0” D、” ” 12、char型常量在内存中存放的是。 A、ASCII代码值 B、BCD代码值 C、内码值 D、十进制代码值 13、以下程序段。 int x=2,y=3;

2017全国计算机等级考试二级C语言知识点超全整(打印版).docx

全国计算机等级考试

目录 第-部分公共基础知识 第1章算法与数据结构 (1) 考点1算法........................... I 考点2数据结构.. (1) 考点3线性表及英顺序存储结构 (1) 考点4栈和队列 (1) 考点5线性链表 (2) 考点6树与二叉树 (2) 考点7查找技术 (3) 考点8排序技术 (3) 第2章程序设计基础 (4) 考点I程序设计方法与风格 (4) 考点2结构化程序设计 (5) 考点3面向对象的程序设计 (5) 第3章软件工程基础 (5) 考点1软件工程基本概念 (5) 考点2软件分析方法 (6) 考点3结构化设计方法 (7) 考点4软件测试 (8) 考点5程用的调试 (9) 笫4帝数据库设计基础 (9) 考点1数据库系统的基本概念 (9) 考点2数据带系统的基木概念 (10) 考点3关系代数 (12) 考点4数据库设计与管理 (12) 第二部分二级C语言 笫1章程序设汁基本概念 (14) 考点1程序设计 (14) 考点2 C程序的结构和格式 (14) 考点3常鱼和变蛍 (14) 考点4算术表达式 (15) 考点5赋值表达式 (16) 考点6自加.口减和逗号运算 (16) 第2章顺疗结构 (17) 考点1字符型常屋与变虽 (17) 考点 2 putchar 与gclchar 函数 (17) 考点3 printf函数 (17) 考点4 scanf函数 (18) 考点5位运算的含义和应用 (18) 第3章选择结构 (19) 考点1关系运算符和关系表达式 (19) 考点2逻轉运算符和逻辑表达式 (19) 考点3 if语句及其构成的选择结构 (19) 考点4 switch语句与break语句 (20) 第4章循环结构 (20) 考点1 while循环结构 (20) 考点2 do-while循环结构 (21) 考点3 for循环结构 (21) 考点4嵌套循环语句 (21) 第5章函数 (21) 考点I库函数 (21) 考点2函数的调用 (22) 考点3参数传递 (22) 考点4函数的递归调用 (23) 考点5局部、全局变量和存储分类 (23) 第6章地址与指针 (23) 考点1变量的地址和指针 (23) 考点2抬针变量的操作 (24) 考点3函数之间地址的传递 (24) 第7章数组 (24) 考点1 一维数组的定义及元素的引用??24 考点2函数对-维数组及元素的引用??25 考点3二维数组的定义 (25) 考点4二维数组和指针 (25) 考点5二维数组名和指针数组作为实参???26 第8章字符串 (26) 考点|用-?维字符数组存放字符出? (26) 考点2使指针指向字符串 (26) 考点3字符串的输入和输出 (26) 考点4字符串数组 (27) 考点5用于字符串处理的函数 (27) 第9章编译预处理和动态存储分配 (27) 考点I編译预处理 (27) 考点2宏替换 (27) 考点3文件包含处理 (28) 考点4动态存储分配 (28) 第10章结构体.共用体和用戸定义类型28考点1结构体 (28) 考点2共用体 (29) 考点3用户定义类型 (29) 第11章文件 (29) 考点1文件指针 (29) 考点2文件的读写 (30)

C语言常用函数

C语言的常用库函数 函数1。absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h 函数2。abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h 函数3。atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h 函数4。atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h 函数5。atol()将字符串转换成长整型数的函数 原形:long atol(const char *s)

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语言复习资料

第一章C语言概述1.1选择题 【题1.1】以下不是C语言的特点的是( B ) A.C语言简洁、紧凑 B.能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作 D.C语言移植性好 【题1.2】以下不正确的C语言标识符是( D )。A.ABC B.abc C.a_bc D.ab.c 【题1.3】以下正确的c语言标识符是( C )。 A.%x B.a十b C.a123 D.test! 【题1.4】一个c程序的执行是从( A ). A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束 D.main( )函数开始,直到最后一个函数结束 【题1.5】一个C语言程序是由(B)。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 【题1.6】一个c程序是由( B )。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C. 若干过程组成 D.若干子程序组成 【题1.7】C语言派程序的基本单位是( B )。 A.过程 B.函数 c子程序 D.标识符 【题1.8】编辑程序的功能是( A )。 A.建立并修改程序 B.将c源程序编译成目标程序C.调试程序 D.命令计算机执行指定的操作

1.2填空题 【题1.9】c语言符号集包括【英文字母、数字和一些有待定含义的标点符号】。 【题1.10】一个c程序有且仅有一个【main()】函数。 【题1.11】C程序的基本单位是【函数】。 【题1.12】一个c派程序有【1】个main( )函数和【若干】二个其他函数。【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【/*】和【*/】。 【题1.14】结构化设计中的三种基本结构是【顺序结构、分支结构和循环结构】。 【题1.15】在C语言中,输入操作是由库函数【scanf】完成的,输出函数是由库函数【printf】完成的。 1.3编程题 【题1.16】编写一个程序,在屏幕上输出你的姓名。试着上机编辑、编译、运行你的程序。 #include main() { printf("My Name is : Your Name!\n"); } 第二章数据类型、运算符与表达式 2.1选择题 【题2.1】以下结果为整数的表达式(设有int i;char c;float f;)(B). A.i十f B.i*c C.c十f D.i十c十f 【题2.3】以下使i的运算结果为4的表达式是(D)。 A.int i=0,j=0; (i=3,(j十十)十i); B.int i=1,j=0; j=i=((i=3)*2); C.int i=0,j=1; (j==1)?(i=1);(i=3); D.int i=1,j=1;

计算机二级C语言高效考点

计算机二级C语言高效考点 2017年计算机二级C语言高效考点锦集 C语言基本知识 【考点1】C程序 C语言程序结构有三种:顺序结构,循环结构(三个循环结构),选 择结构(if和switch) 【考点2】main函数 每个C语言程序中main函数是有且只有一个。读程序都要从 main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做 选择)。 【考点3】存储形式 计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为0或者1构成。byte是指字节,一个字节=八 个位。数据存放的位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行, 注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 关键字不可以作为用户标识符号。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 【考点7】实型数据 实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。 2.333e-1就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。 【考点8】字符 字符数据的合法形式:: '1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。 字符型和整数是近亲: chara=65; printf(“%c”,a);得到的输出结果:a

C语言中常见的功能函数

C语言中常见的功能函数(应掌握的编程) 1、两个变量值的交换 void exchang(float *x,float *y) /*形参为两个变量的地铁(指针)*/ {float z; z=*x; *x=*y; *y=z; } void main() {float a,b; scanf(“%f%f”,&a,&b); exchang(&a,&b); /*因为形参是指针,所以实参必须给变量的地址,不能给变量名*/ printf(“a=%f,b=%f”,a,b); } 2、判断一个整数的奇偶 int jou(int n) /*如果是奇数返回1,否则返回0*/ { if(n%2==0) return 0; return 1; } 3、小写字符转换成大写字符 根据实参传给形参的字母,判断是否是小写字母,如果是小写字母,则转换成大写字母,否则不进行转换,函数返回转换后或原来的字符。 本函数仿照toupper()库函数的功能编写(toupper(c) 是将变量c字母转换成大写字母,如果不是小写字母不转换)。 char toupper1(char ch) {if(ch>=?a?&&ch<=?z?) ch-=32; /*小写字母比对应的大写字母ASCII码值大32*/ return ch; } 4、判断一个字符是否是字母(或数字) 根据实参传给形参的字符,判断是否是字母(或数字),如果是字母(或数字)返回1,否则返回0。此函数是根据库函数isalpha()(或isdigit())来编写的。 int isalpha1(char ch) /*判断是否是字母*/ {if(ch>=?A?&&ch<=?Z?||ch>=?a?&&ch<=?z?) return 1; else return 0; } int isdigit1(char ch) /*判断是否是数字字符*/ {if(ch>=?0?&&ch<=?9?) return 1; else return 0; } 5、根据学生成绩,返回其等级 char fun(float cj) {char c; switch((int)cj/10) {case 10:

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. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

D.语句的书写对程序的运行不起作用,因此可以随便写都可以 7.以下各标识符中,合法的用户标识符组为。 A.PAd,P#d,b-b,abc,_0123,ssiped B.cin,a10,CPP,float,del_word,signed C.void,max,hiy,,list,*jer D.a,temp,_isw,INT,keep,wind 8.字符串“\”E OF= -\61\””的长度是。 A.8 B.9 C.12 D.非法字符串9.数学式x sin在C程序中对应的不正确的表达式为。 A.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx)) C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x))) 10.下列是C语言的有效标识符? A._No1 B.No.1 C.12345 D.int 11.C语言中,表示一条语句结束的标号是 A.# B.; C.// D.} 12.每个C程序中都必须有且仅有一个 A.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是。 A.字符型B.整型C.实型D.数组 14.下列字符列中,可作为C语言程序自定义标识符是。 A.switch B.file C.break D.do 15.运算符+、<=、=、% 中,优先级最低的运算符是。 A.+ B.<= C.= D.% 16.下列字符列中,可以作为“字符串常量”的是。 A.ABC B.″xyz″ C.′uvw′ D.′a′ 17.设变量m,n,a,b,c,d均为0,执行(m = a= =b)||(n=c= =d)后,m,n的值是。 A.0,0 B.0,1 C.1,0 D.1,1 18.字符串"vm\x43\\\np\102q"的长度是。 A.8 B.10 C.17 D.16

C语言常用IO函数

一些比较常用的io函数,总结了一下,一块贴出来了 stdin标准输入流 stdout标准输出流 stderr标准错误流 字符IO函数 1.int getchar() 说明:从stdin读取1个字符 返回值:成功,返回该字符;出错,返回EOF; 2.int fgetc(FILE fp) 说明:功能同getchar,默认从文件fp读取; 返回值:成功,返回该字符;出错,返回EOF; 可以重定向 3.int getc(FILE fp) 说明:功能与fgetc相同,但getc既可以被用作 函数实现,也可以被用作宏实现,并且它的编码效率 可能会更高. 可以重定向 4.int putchar(int ch) 说明:向stdout输出字符ch; 返回值:成功,返回该字符;出错,返回EOF; 5.int fputc(int c,FILE fp) 说明:功能同putchar,默认向fp输出字符ch; 返回值:成功,返回该字符;出错,返回EOF; 6.int putc(int c,FILE fp) 说明:功能与fputc相同,但putc与getc一样既可能被用作 函数实现,也可能被用作宏实现,并且它的编码效率可能会更高;可以重定向 字符串IO函数 1.char gets(char str) 说明:从stdin读取字符串(不包括'n')写入到字符串str中; 返回值:成功,返回str首地址;错误,返回NULL; 2.char fgets(char str,int N,FILE fp) 说明:默认从文件fp中读取N个字符(包括'n')写入到字符串str中,

如果实际输入字符串小于N,fgets自动添加'n', 返回值:成功,返回字符串首地址;错误或遇到EOF,返回NULL;可以重定向 3.int puts(const char str) 说明:向stdout输出字符串str,然受输出一个'n', 返回值:成功,返回非负值;错误,EOF; 4.int fputs(const char str,FILE fp) 说明:功能同puts,默认向文件fp写入字符串str; 返回值:成功,返回非负值;错误,EOF; 可以重定向 格式化IO函数 1.int scanf(const char format,...) 说明:根据format从stdin格式化读取N个值,并输入到... 返回值:成功,返回读取的项数;出错,返回EOF 2.int fscanf(FILE fp,const char format,...) 说明:功能同scanf,默认从文件fp读取, 返回值:成功,返回读取的项数;出错或遇到文件尾,返回EOF 可以重定向 3.int sscanf(const char buf,const char format,...) 说明:根据format从buf格式化读取N个值,并输入到... 返回值:成功,返回读取的项数;出错,返回EOF 4.int printf(const char format,...) 说明:根据format格式化数据,并输出到stdout 返回值成功,返回输出字符数;错误,返回负数; 5.int fprintf(FILE fp,const char format,...) 说明:功能同printf,默认向文件fp写入; 可以重定向 6.int sprintf(char buf,const char format,...) 说明:根据format格式化数据,并输出到buf, 返回值:成功,返回输出字符数;错误,返回负数

(完整版)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.C语言中形参的缺省存储类别是__A___。 A.自动(auto) B.静态(static) C.寄存器(register) D.外部(extern) 2.已知 struct sk { int a; float b; }data,*p; 若有p=&data; 则对data中成员a的正确引用是__B__。 A.(*p).data B.(*p).a C.p->data.a D.p.data.a 3.以下对C语言函数的描述中,正确的是__A__。 A.C程序由一个或一个以上的函数组成 B.C函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C程序中调用关系的所有函数必须放在同一个程序文件中 4.以下说法中正确的是__C_。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 5.设有以下说明语句: struct stu { int a; float b; }stutype ; 则下面的叙述不正确的是__C。 A.struct是定义结构体类型的关键字 B.struct stu是用户定义的结构体类型 C.stutype是用户定义的结构体类型 D.a和b都是结构体成员名 6.以下不正确的描述是__D。 A.在函数外部定义的变量是全局变量 B.在函数内部定义的变量是局部变量。 C.函数的形参是局部变量 D.局部变量不能与全局变量同名 7.已知学生记录描述为: struct student { int no; char name[20]; char sex; struct

国家二级C语言公共基础知识要点及历年真题

1算法 1.1 算法的基本概念 1.算法的概念(必记): 算法是指解题方案的准确而完整的描述。 分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现。整套的指导方 案称之为算法,而具体的实现称之为程序。并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即可以一点点的理想化),但在程序实现时,必须受到具体环境的约束(现实不同于理想)。 结论:算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。 2.算法的基本特征(必记): a.可行性:由于算法总是在某个特定的计算工具上实现并执行的,因而受到计算工具的限制,所以在设计算法时,要考虑到设计的算法是否是可性的。 b.确定性:算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。 c.有穷性:算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。 d.拥有足够的情报:算法有相应的初始数据。 3.算法的基本要素: 一个算法通常由两个基本要素所组成:一是对数据对象的运算和操作,二是算法的控制结构。 基本运算和操作分为四类: a. 算术运算: (加、减、乘、除等运算) b. 逻辑运算: (与、或、非等运算) c. 关系运算: (大于、小于、等于、不等于等运算) d. 数据传输: (赋值、输入、输出等操作) 算法的控制结构: 算法中各操作之间的执行顺序称之为算法的控制结构。一个算法一般都可以用顺序、选择、循环三种基本控 制结构组合而成。 注意:一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。 4.算法设计基本方法: 列举法、归纳法、递推、递归、减半递推技术、回溯法。 1.2 算法的复杂度 (必记) 算法的复杂度主要包括时间复杂度和空间复杂度。 1.算法的时间复杂度: 是指执行算法所需要的计算工作量,是由算法所执行的基本运算次数来度量。 可用平均性态和最坏情况两种分析方法。其中平均性态分析是指用各种特定输入下的基本运算次数的加权平 均值来度量算法的工作量;而最坏情况分析是指在所有特定输入下的基本运算次数据的最大次数。 2.算法的空间复杂度: 一个算法的空间复杂度,是指执行这个算法所需要的内存空间。包含有三部分所组成:算法程序所占的空间 +输入的初始数据所占的存储空间+算法执行过程中所需要的额外空间。 历届的考题: 1、算法具有五个特性,以下选项中不属于算法特性的是(______) [2005.4] A)有穷性B)简洁性C)可行性D)确定性 2、问题处理方案的正确而完整的描述称为______。[2005.4] 3、下列叙述中正确的是________。[2006.9] A)一个算法的空间复杂度大,则其时间复杂度也必定大

C语言常用函数手册

1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度

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语言复习题整理(1)

C语言程序设计习题与解答 题解1 绪论 习题 一、选择题 1.一个完整的可运行的C源程序中(B )。 A.可以有一个或多个主函数B.必须有且仅有一个主函数 C.可以没有主函数D.必须有主函数和其他函数 2.构成C语言源程序的基本单位是(D )。 A.子程序B.过程C.文本D.函数 3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( D )。 A.总是从max( )函数开始执行B.写在前面的函数先开始执行 C.写在后面的函数先开始执行D.总是从main( )函数开始执行 4.C语言规定,一个C源程序的主函数名必须为(C )。 A.program B.include C.main D.function 5.下列说法正确的是(C)。 A.在书写C语言源程序时,每个语句以逗号结束 B.注释时,'/'和'*'号间可以有空格 C.无论注释内容的多少,在对程序编译时都被忽略 D.C程序每行只能写一个语句 6.C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件 的后缀是(B)。 A..obj B..exe C..c D..doc 7.Visual C++ IDE的编辑窗口的主要功能是(A ),输出窗口的主要功能是(D ),调试器(Debug)的主要功能是(C)。 A.建立并修改程序B.将C源程序编译成目标程序 C.跟踪分析程序的执行D.显示编译结果信息(如语法错误等) 8.在Visual C++ 开发环境下,C程序按工程(project)进行组织,每个工程可包括(D)C/CPP源文件,但只能有( A )main函数。 A.1个B.2个 C.3个D.1个以上(含1个) 9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(A )。而某个“计算2的平方”的程序在 调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(D)。 A.语法错误B.正常情况 C.编译器出错D.逻辑设计错误

相关主题