文档库 最新最全的文档下载
当前位置:文档库 › C语言基础练习100题(含答案)

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

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

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

雷柳青编排

1、下面程序的输出是________

#include

void main()

{ int k=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b

2、在下列选项中,不正确的赋值语句是________.

A) ++t; B) n1=(n2=(n3=0));

C) k=i=j; D) a=b+c=1;

3、下面合法的C语言字符常量是__________.

A) '\t' B) "A" C) 65 D) A

4、字符(char)型数据在微机内存中的存储形式是____.

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

5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________

A) 552 B) 264 C) 144 D) -264

6、执行下面程序中的输出语句后,输出结果是______.

#include

void main()

{int a;

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

}

A) 65 B) 20 C) 15 D) 10

7、下面程序的输出是__________.

#include

void main()

{int x=023;

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

}

A) 17 B) 18 C) 23 D) 24

8、下面程序的输出是___________.

#include

void main()

{char ch1,ch2;

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

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

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

}

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

9、以下程序的输出结果是________.

#include

void main()

{ int x=10,y=10;

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

}

A) 10 10 B) 9 9 C) 9 10 D) 10 9

10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

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

上面程序片段的输出结果是_______.

A) 200 B) 100

C) 100 200 D) 输出格式符不够,输出不确定的值

11、阅读下面的程序

#include

void main()

{

int i,j;

i=010;

j=9;

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

}

则程序的运行结果是________.

A) 1,19 B) -1,19 C) 1,17 D) -1,17

12、阅读下面的程序

#include

void main()

{

int i,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

程序的运行结果是_________.

A) 8,10,8,10 B) 9,11,8,10

C) 9,11,9,10 D) 9,10,9,11

13、若已定义int a,则表达式a=10,a+10,a++的值是___.

A) 20 B) 10 C) 21 D) 11

14、阅读下面的程序

#include

void main()

{

int i,j;

scanf("%3d%2d",&i,&j);

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

}

如果从键盘上输入1234567<回车>,则程序的运行结果是________.

A) i=123,j=4567 B) i=1234,j=567

C) i=1,j=2 D) i=123,j=45

15、下面程序的输出结果是________.

#include

void main()

{

int a=-1, b=4, k;

k=(++a<=0)&&(b--<=0);

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

}

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

16、下面程序的输出结果是_______.

#include

void main()

{

int a=5,b=3;

float x=3.14, y=6.5;

printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));

}

A) 1,0 B) 0,1 C) 1,1 D) 0,0

17、若有以下定义和语句:

int a=010, b=0x10, c=10;

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

则输出结果是_________.

A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10

18、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.

A) 2.4 B) 2.5 C) 2.75 D) 0

19、设有以下语句:int x=10;x+=3+x%3,则x的值是._________

A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.

A) 1 B) 6.0 C) 2.0 D) 1.0

21、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.

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

22、若有定义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

23、在C语言中,以下叙述不正确的是________.

A) 在C程序中,无论是整数还是实数,都能被准确无误

的表示

B) 在C程序中,变量名代表存储器中的一个位置

C) 静态变量的生存期与整个程序的生存期相同

D) C语言中变量必须先定义后引用

24、设a为整型变量,不能正确表达数学关系10

A) 1010&&a<15 D) !(a<=10)&&!(a>=15)

25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)

A) if(c=='32') B) if(c==32)

C) if(c=='\40') D) if(c==' ')

26、执行下面程序时,若从键盘输入"2",则程序的运行结果是________.

#include

void main( )

{ int k; char cp;

cp=getchar( );

if (cp>='0' && cp<='9')

k=cp-'0';

else if (cp>='a' && cp<='f')

k=cp-'a'+10;

else k=cp-'A'+10;

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

}

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

27、执行下面程序后,运行结果是________.

#include

void main( )

{ int x=41,y=1;

if (x%3==0 && x%7==0)

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

else

{y=x;printf("y=%d",y);}

}

A) y=41 B) y=43 C) y=42 D) y=1

28、运行下面程序时,从键盘输入"12,34,9",则输出结果是______.

#include

void main( )

{ int x,y,z;

scanf("%d,%d,%d",&x,&y,&z);

if (x

if (y

else printf("%d\n",y);

else if (x

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

}

A) 34 B) 12 C) 9 D) 不确定的值

29、运行下面程序时,从键盘输入字母H,则输出结果是________.

#include

void main( )

{ char ch;

ch=getchar( );

switch(ch)

{ case 'H':printf("Hello!\n");

case 'G':printf("Good morning!\n");

default:printf("Bye_Bye!\n");

}

}

A) Hello! B) Hello!

Good Morning!

C) Hello! D) Hello!

Good morning! Bye_Bye!

Bye_Bye!

30、执行下列程序段后的输出结果是_________.

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

x+=y+=z;

printf("%d\n",x

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

31、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.

A) Z B) a C) z D) A

32、下面程序的输出结果是________.

#include

void main( )

{ int x=8,y=-7,z=9;

if (x

if (y<0) z=0;

else z-=1;

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

}

A) 8 B) 1 C) 9 D) 0

33、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是_______.

#include

void main( )

{ int a,b,s;

scanf("%d,%d",&a,&b);

s=a;

if (s

s=s*s;

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

}

A) 14 B) 16 C) 18 D) 20

34、下列程序的执行结果是_________.

#include

void main( )

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

if (x=z=y)

x=3;

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

}

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

35、能够完成如下函数计算的程序段是______.

┌-1 x<0

y= ┤0 x=0

└ 1 x>0

A) y=1; B) if (x>=0)

if(x!=0) if(x>0) y=1;

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

else y=0; else y=-1;

C) y=0; D) y=-1;

if (x>=0) if (x>0) y=1;

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

else y=-1;

36、以下程序的执行结果是________.

#include

void main( )

{ int x=1,y=0;

switch (x)

{

case 1:

switch (y)

{

case 0:printf("first\n");break;

case 1:printf("second\n");break;

}

case 2:printf("third\n");

}

}

A) first B) first

second third

C) first D) second

third

37、以下程序的执行结果是________.

#include

void main( )

{ int a,b,c,d,x;

a=c=0;

b=1;

d=20;

if (a) d=d-10;

else if(!b)

if (!c) x=15;

else x=25;

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

}

A) d=20 B) d=10 C) d=15 D) 25

38、下列程序执行后的输出结果是________.

#include

void main( )

{ int x,y=1,z;

if ((z=y)<0) x=4;

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

else x=6;

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

}

A) 4,1 B) 6,1 C) 5,0 D) 出错信息

39、有如下程序

#include

void 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

40、下面程序的输出结果是_________.

#include

void main( )

{ int a=-1,b=1,k;

if ((++a<0) && (b--<=0))

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

else

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

}

A) -1 1 B) 0 1 C) 1 0 D) 0 0

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

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

m=(w

则该程序段执行后,m的值是_________.

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

42、以下程序的输出结果是_________.

main( )

{ int a=100;

if (a>100) printf("%d\n",a>100);

else printf("%d\n",a<=100);

}

A) a<=100 B) 100 C) 0 D) 1

43、若执行下面的程序从键盘上输入9,则输出结果是.______________

#include

void main( )

{int n;

scanf("%d",&n);

if (n++<10) printf("%d\n",n);

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

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

44、以下程序段运行结果是________.

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

x+=y+=z;

printf("%d\n",x

A) 1 B) 2 C) 4 D) 不确定的值

45、有以下程序

#include

void main( )

{ int a,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是________.

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

46、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.

#include "stdio.h"

void main()

{ int num,i,j,k,place;

scanf("%d",&num);

if (num>99)

place=3;

else if(num>9)

place=2;

else

place=1;

i=num/100;

j=(num-i*100)/10;

k=(num-i*100-j*10);

switch (place)

{ case 3: printf("%d%d%d\n",k,j,i);

break;

case 2: printf("%d%d\n",k,j);

break;

case 1: printf("%d\n",k);

}

}

A) 123 B) 1,2,3 C) 321 D) 3,2,1

47、执行下列程序后的输出结果是_______.

#include

void main( )

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

printf("%d\n",k

}

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

48、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.

A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)

49、若运行下面程序时,给变量a输入15,则输出结果是______.

#include

void main( )

{ int a,b;

scanf("%d",&a);

b=a>15?a+10:a-10;

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

}

A) 5 B) 25 C) 15 D) 10

50、执行下面程序的输出结果是________.

#include

void main( )

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

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

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

}

A) 有语法错误不能编译

B) 能通过编译,但不能通过连接

C) 输出****

D) 输出####

51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.

A) 缩排位置相同的if

B) 在其之前未配对的if

C) 在其之前尚未配对的最近的if

D) 同一行上的if

52、以下程序段__________.

x=-1;

do

{

x=x*x;

} while (!x);

A)是死循环B)循环执行两次

C)循环执行一次D)有语法错误

53、对下面程序段描述正确的是_______.

int x=0,s=0;

while (!x!=0) s+=++x;

printf("%d",s);

A) 运行程序段后输出0

B) 运行程序段后输出1

C) 程序段中的控制表达式是非法的

D) 程序段循环无数次

54、下面程序段的输出结果是_______.

x=3;

do { y=x--;

if (!y) {printf("*");continue;}

printf("#");

} while(x=2);

A) ## B) ##* C) 死循环D)输出错误信息

55、下面程序的运行结果是_______.

#include

void main( )

{ int a=1,b=10;

do

{ b-=a;a++;

} while(b--<0);

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

}

A) 3,11 B) 2,8 C) 1,-1 D) 4,9

56、下面程序段的运行结果是__________.

int n=0;

while (n++<=2)

printf("%d",n);

A) 012 B) 123 C) 234 D) 错误信息

57、下面程序段的运行结果是________.

int x=0,y=0;

while (x<15) y++,x+=++y;

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

A) 20,7 B) 6,12 C) 20,8 D)8,20

58、下面程序的运行结果是________.

#include

void main()

{ int s=0,i=1;

while (s<=10)

{ s=s+i*i;

i++;

}

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

}

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

59、下面程序段的运行结果是________.

for(x=10;x>3;x--)

{ if(x%3) x--;

--x; --x;

printf("%d ",x);

}

A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.

#include

void main( )

{ int a,b;

a=-1;

b=0;

do {

++a;

++a;

b+=a;

} while(a<9);

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

}

A) 34 B) 24 C) 26 D) 25

61、下面程序段的运行结果是___________.

for(i=1;i<=5;)

printf("%d",i);

i++;

A) 12345 B) 1234 C) 15 D) 无限循环

62、下面程序的输出结果是__________.

#include

void main( )

{ int n=4;

while (n--) printf("%d ",n--);

}

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

63、以下程序运行后的输出结果是________.

#include

void main()

{ int i=10,j=0;

do

{ j=j+1; i--;

}while(i>2);

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

}

A) 50 B) 52 C) 51 D) 8

64、有如下程序

#include

void main()

{ int x=23;

do

{ printf("%d",x--);

}while(!x);

}

该程序的执行结果是_______

A) 321 B) 23

C) 不输出任何内容D) 陷入死循环

65、以下程序段的执行结果是_______.

int i,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

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

A) 12 B) 15 C) 20 D) 25

66、下面程序的输出结果是___________.

#include

void main( )

{ int i;

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

{ if (i%2!=0) {printf("#");continue;}

printf("*");

}

printf("\n");

}

A) #*#*# B) ##### C) ***** D) *#*#*

67、下面程序的输出结果是__________.

#include

void main( )

{ int x=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d %d ",x--,y);

}

A) 10 1 9 2 B) 9 8 7 6

C) 10 9 9 0 D) 10 10 9 1

68、执行以下程序后,输出的结果是__________.

#include

void main( )

{ int y=10;

do {y--;}

while (--y);

printf("%d\n",y--);

}

A) -1 B) 1C) 8D) 0

69、有如下程序

#include

void main( )

{ int n=9;

while(n>6) {n--;printf("%d",n);}

} 该程序段的输出结果是__________.

A) 987 B) 876 C) 8765 D) 9876

70、有如下程序

#include

void main( )

{ int i,sum=0;

for(i=1;i<=3;sum++) sum+=i;

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

}

该程序的执行结果是___________.

A) 6 B) 3 C) 死循环D) 0

71、以下循环体的执行次数是_______

#include

void main( )

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)

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

}

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

72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

#include

void 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);

}

printf("\n");

}

A) ABCdef B) abcDEF C) abc D) DEF

73、下面程序的输出结果是__________.

main( )

{

int i,k=0, a=0, b=0;

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

{

k++;

if (k%2==0) {a=a+k; continue;}

b=b+k;

a=a+k;

}

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

}

A) k=5 a=10 b=4 B) k=3 a=6 b=4

C) k=4 a=10 b=3 D) k=4 a=10 b=4

74、执行下面程序段后,k的值是_________.

int i,j,k;

for(i=0,j=10;i

k=i+j;

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

75、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________

#include

void main( )

{ float x,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while (________ )

{ if (x>amax) amax=x;

if (______) amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

A) x<=0 B) x>0 C) x>0 D) x>=0

x>amin x<=amin x>amin x

76、阅读以下程序,程序运行后的输出结果是______.

#include

void main( )

{ int x;

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

if (x--<5) printf("%d,",x);

else printf("%d,",x++); }

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

77、以下程序段的输出结果是_______.

int k,n,m;

n=10;m=1;k=1;

while (k<=n) {m*=2;k+=4;}

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

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

78、语句while(!e);中的条件!e 等价于________.

A) e==0 B) e!=1 C) e!=0 D) ~e

79、以下叙述正确的是_________.

A) continue语句的作用是结束整个循环的执行

B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用

相同

D) 从多层循环嵌套中退出时,只能使用goto语句

80、在下列选项中,没有构成死循环的程序段是____.

A) int i=100; B) for( ; ; );

while (1)

{ i=i%100+1;

if (i>100) break;

}

C) int k=1000; D) int s=36;

do {++k;} while (k>=1000); while (s) --s;

81、下面程序的输出结果是________.

#include

void main( )

{ int i;

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

{ if (i%2) printf("*");

else continue;

printf("#");

}

printf("$\n");

}

A) *#*#*#$ B) #*#*#*$ C) #*#*$ D) *#*#$

82、下面程序段中,循环体的执行次数是_________.

int a=10,b=0;

do {b+=2;a-=2+b;} while(a>=0);

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

83、若i为整型变量,则以下循环语句的循环次数是__. for(i=2;i= =0;)

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

A) 无限次B) 0次C) 1次D) 2次

84、对于for(表达式1;;表达式3)可理解为_________.

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

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

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

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

85、合法的数组定义是________.

A) int a[6]={"string"}; B) int a[5]={0,1,2,3,4,5};

C) char a={"string"}; D) char a[]={0,1,2,3,4,5};

86、给出以下定义:

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为________.

A) 数组x和数组y等价

B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

87、定义如下变量和数组:

int i;

int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; 则下面语句的输出结果是_______.

for(i=0;i<4;i++) printf("%3d",x[i][3-i]);

A) 1 5 9 13 B) 1 6 11 16

C) 4 7 10 13 D) 4 8 12 16

88、下面程序输出的结果是________.

#include

void main( )

{ int i,j,x=0;

static int a[6]={1,2,3,4,5,6};

for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];

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

}

A) 数组a中首尾的对应元素的乘积

B) 数组a中首尾的对应元素的乘积之和

C) 数组a中相邻各元素的乘积

D) 数组a中相邻各元素的乘积之和

89、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}; ,

则以下对数组元素或数组的输出语句中,正确的是_____.

A) printf("%s%s",s1[5],s2[7]);

B) printf("%c%c",s1,s2);

C) puts(s1);puts(s2); D) puts(s1,s2);

90、运行下面程序段的输出结果是_______.

char s1[10]={'S','e','t','\0','u','p','\0'};

printf("%s",s1);

A) Set B) Setup C) Set up D) 'S''e''t'

91、以下程序段的输出结果是________.

char s[ ]="an apple";

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

A) 7 B) 8 C) 9 D) 10

92、若有说明:char c[10]={'E','a','s','t','\0'};,则下述说法中正确的是__________.

A) c[7]不可引用B) c[6]可引用,但值不确定C) c[4]不可引用D) c[4]可引用,其值为空字符

93、若有说明char c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________. A) c[0] B) c[9-6] C) c[4*2] D) c[2*3]

94、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是________.

A) s1=getchar(); s2=getchar();

B) scanf("%s%s",s1,s2);

C) scanf("%c%c",s1,s2);

D) gets(s1,s2);

95、以下程序输出的结果是_________.

#include

void main( )

{ char str[ ]="1a2b3c"; int i;

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

if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);

printf("\n");

}

A) 123456789 B) 1a2b3c C) abc D) 123

96、以下程序输出的结果是________.

#include

void main( )

{ int a[ ]={5,4,3,2,1},i,j;

long s=0;

for(i=0;i<5;i++) s=s*10+a[i];

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

}

A) s=12345 B) s=5 4 3 2 1

C) s=54321 D) 以上都不对

97、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A) a[2][5] B) a[2][4] C) a[1][3] D) a[1][5]

98、当接受用户输入的含有空格的字符串时,应使用________函数.

A) gets( ) B) getchar( ) C) scanf( ) D) printf( )

99、以下一维数组a的正确定义是________ .

A) int a(10); B) int n=10,a[n];

C) int n; D) #define SIZE 10

scanf("%d",&n); int a[SIZE];

int a[n];

100、以下对二维数组a进行正确初始化的是_______.

A) int a[2][3]={ {1,2},{3,4},{5,6} };

B) int a[ ][3]={1,2,3,4,5,6 };

C) int a[2][ ]={1,2,3,4,5,6};

D) int a[2][ ]={ { 1,2},{3,4}};

答题卡

班级______姓名__________得分_________

参考答案:

1~5 DDADD 6~10 BBADA 11-15 DCDDD 15-20 ABBAD 21-25 ADAAA 26-30 AAACA 31-35 BCBDB 36-40 BABAC 41-45 DDBAA 46-50 CDBAC 51-55 CCBCB 56-60 BCBBD 61-65 DBDBC 66-70 ADDBC 71-75 CBDDD 76-80 BCABD 81-85 ACBBD 86-90 CCDCA 91-95 BDCBD 96-100CCADB

《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

第一章 C语言基础知识ji

第一章C语言基础知识 一、选择题 1.C语言规定,必须用 C 作为主函数名。(0级) A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个B,一个C程序总是从B开始执行。(0级) A)过程B) 主函数C)函数D)include 3.A是C程序的基本构成单位。(0级) A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是C。(0级) A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B)一个函数的函数体必须要有执行部分,可以没有变量定义 C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D)以上都不对 5.下列说法正确的是D。(0级) A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 6.下列说法正确的是C。(0级) A)在执行C程序时不是从mian函数开始的 B)C程序书写格式严格限制,一行内必须写一个语句 C)C程序书写格式自由,一个语句可以分写在多行上 D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号 7.在C语言中,每个语句和数据定义是用C结束。(0级) A)句号B)逗号C)分号D)括号 8.下列字符串是标识符的是A。(0级) A)_HJ B)9_student C)long D)LINE 1 (因为有空格) 9.以下说法正确的是C。(0级) A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 10.B不是C语言提供的合法关键字。(0级) A)switch B)print C)case D)default 11.C语言提供的合法关键字是A。(0级) A)break B)print C)funiton D)end 12.C语言提供的合法关键字是A。(0级) A)continue B)procedure C)begin D)append 13. C语言规定: 在一个源程序中, main函数的位置C。(02~03第一学期试题)(?) A) 必须在最开始B) 必须在系统调用的库函数的后面

第1章 C语言基本知识

第一章C语言基本知识 一、C语言的产生和发展 1、C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母)ALGOL60(高级语言)->CPL(硬件支持)-BCPC->B->C->标准C->ANSI C->ISO C 2、语言既具有高级语言特性,又具有低级语言特性-中级语言。 二、C语言的特点 1、语言简明、紧凑、使用方便、灵活。 2、运算符丰富。 3、数据结构丰富,具有现代化语言的各种数据结构。 4、具有结构化的控制语句。 5、语法限制不太严格,程序设计自由度大。 6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7、生成目标代码质量高,程序执行效率高。 8、用C语言写的程序可移植性好。 三、C程序的基本规则 1、C程序由函数构成。(亦称为函数语言。) 2、C程序中每条语句都用一个分号结尾,分号是C程序语句的必要组成部分,语句最后的分号不能省略。 3、每个C程序都有一个主函数(main()),且只有一个主函数。并且程序是从主函数开始执行的。 4、调用C语言的标准函数通常要在程序开头使用包含命令include,C程序中的命令不用分号结尾。 5、C程序中的变量必须先定义,后使用。 6、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写,同一字母的大小写被作为两个不同的字符。 7、C程序中可以用“/*……*/”的形式加注释。 8、C程序书写格式自由,一行内可以写几条语句,一条语句可以写在多行。 9.一个函数包含两个部分: (1)函数的说明部分。包括函数名,函数类型,函数属性,函数参数名等。 如:int max(x,y) int x,y; 函数名后必须跟一对圆括弧,函数参数可以没有,如:main()。 (2)函数体。

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

C语言公共基础知识总结(不容错过)

C语言公共基础知识总结 公共基础知识总结 第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;

(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

学习c语言的必备基础知识.doc

学习C语言的必备基础知识 第一章计算机和数据的存储 第一节了解计算机 很奇怪的一件事,现在的。语言教材,一上来就是变量,表达式,一点也不提计算机原理方面的事,把c语言当作语言,数学来学,只是生硬的列出一些语法规则,学生们难以理解,只好死记硬背,没有把握住本质的东西,也就无法随心所欲,其实c语言是一门非常好学的语言,核心的语法规则是非常少的,而旦都是和计算机息息相关,所以必须要学习好计算机的一些基础,掌握好计算机的基础知识对学习C语言至关重要,对将来其它语言的编程都极其有益,C语言还有一个优点,就是写法非常简洁明了,和c++, java, C#, javascript等语言有着非常相似的书写方式,所以学好C语言,可以轻松的过渡到大量其它编程语言。讲完C以后,将陆续推出java ,C#, C++, javascript, ruby, python等,不过都是在此教程的基础之上进行,所以C语言乃基础之基础,想要学编程,强烈建议从C语言开始。下面开始了解计算机。 按照冯诺依曼的理论,计算机含有5个部分,运算器、控制器、存储器、输入和输出设备。现在我们通常把运算器、控制器和在一起,称为CPU(中央处理器),存储器就是我们说的内存和硬盘,输入设备就是鼠标,键盘等,输出设备主要是显示器、打印机、绘图仪等。 其中CPU和内存最关键,CPU是执行指令的部件,内存是一些连续的存储单元,用来存储指令和数据,每个单元可以存8位二进制数,也称为1个字节,计算机里存储器都是以字节为单位的,在描述网络速度的时候通常以位为单位,大家注意区别。CPU要执行的指令就存在内存里,CPU按照指定顺序连续地执行内存中的指令,这就是冯诺依曼体系的基本工作原理。 什么是指令,就是一些二进制的数,比如10010001是一条加法指令, 10011011是一条存储指令,CPU遇见不同的指令就会完成不同的操作,CPU能够执行的指令是生产厂家生产时就设计好的,比如8086 基本指令有70条,那么CPU就只认识这70条指令,CPU在不断升级, 除了运行速度加快还会增加一些新的指令,CPU的指令分三大类:传

第一章C语言概述

第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名 是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C )。

第1章 C语言基础知识

第一章 C语言基础知识 一、选择题 1.算法具有五个特性,以下选项中不属于算法特性的是______。 A)有穷性B)简洁性C)可行性D)确定性 【答案】B 【解析】本题考查的是算法的特性。一个算法应当具有以下5个特性:有穷性;确定性;可行性;有零个或多个输入:由一个或多个输出。简洁性不属于这5个特性,所以本题应该选择B。 2.以下叙述中错误的是 A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识 【答案】A 【解析】本题考查C语言中标识符的概念。用用户标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,并且不能与C语言关键字相同。所以本题应该选择A。 3. 以下4组用户定义标识符中,全部合法的一组是() A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 【答案】A 【解析】本题考核的知识点是C语言中的标识符命名规则。标识符是以字母或下划线开头,由字母、数字或下划线组成的字符序列(例如,-max含非法字符-),并且用户标识符不能与C语言中的32个关键字同名(例如,int是关键字,不是合法的用户标识符)。选项B中-max不是字母、数字或下划线组成的字符序列,故选项B不正确;选项C中3COM 不是由字母或下划线开头,故选项c不正确;选项D中int为C语言中的关键字,故选项D不正确;选项A中全部为合法的标识符,所以,4个选项中选项A符合题意。 4. 以下选项中,合法的一组c语言数值常量是( ) A)028 B)12. C).177 D)0x8a .5e-3 0Xa23 4e1.5 10,000 -0xf 4.5e0 0abc 3.e5 【答案】B 【解析】本题考查的知识点是:数值常量。 数值常量分为整型和实型两类。其中,整型有十进制、八进制和十六进制三种表示法;实型有小数形式和指数形式两种表示法。十进制和书面使用的数据表示一样;八进制是以数字O开头,后面跟由0~7组成的八进制数组成;十六进制是以0x(或OX)开头,后面跟由0~9与A~F(或a~f)组成的十六进制数组成;小数形式由数字和小数点组成,其整数部分或小数部分如果为0可省略,但不能同时省略。指数形式由小数形式或十进制形式开头,后面跟e(或E),再跟一个十进制整数组成。选项A中,028是八进制形式,但后面跟的8不在0~7之内,所以非法;选项c中,4e1.5是指数形式,但e后面所跟的不是整数,所以非法;选项D中,10,000中不能有?,?,所以非法。故本题应该选择B。 5. 以下叙述中正确的是() A)C语言的源程序不必通过编译就可以直接运行 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C语言基础题(含答案)

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char

8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令

第一章 C语言基础知识

第一章C语言基础知识 考点 1 C语言程序的结构认识 本节通过一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。 例1 计算两个整数之和的c程序: #include main() { int a,b,sum; /*定义变量a,b,sum为整型变量*/ a=20; /*把整数20赋值给整型变量a*/ b=15; /*把整数15赋值给整型变量b*/ sum=a+b; /*把两个数之和赋值给整型变量sum*/ printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); /*把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c语言程序都必须包括以下格式: main() { } 这是c语言的基本结构,任何一个程序都必须包含这个机构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c 程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。 5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头(2)不以分号结尾 这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。 7、程序中以/*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。 考点 2 C程序的生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件,如图所示。 编译过程

C语言基础知识总复习

C语言基础知识总复习(考前突击专用) 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI ; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---.obj---.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)第三节、标识符

1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次) a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。 b、C语言中的十六进制规定要以0x开头。 2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。 在C语言中可写成1. 在C语言中可以写成.1。 3)实型数据的合法形式: a、就是合法的,且数据是×10-1。 b、考试口诀:e前e后必有数,e后必为整数。请结合书上的例子。 4)整型一般是4个字节, 字符型是1个字节,双精度一般是8个字节: long int x; 表示x是长整型。 unsigned int x; 表示x是无符号整型。

c语言基础知识及考点整理解读

第一周 int定义整型变量所有字母都要先定义再使用。 算法:描述完成任务的步骤序列。 算法的三个基本结构:顺序、分支、循环。 算法的表示:自然语言、程序流图、N-S图 程序流图中判定框用菱形,开始结束用圆角矩形,赋值用矩形。 main:主函数,后面一定是英文输入法下的() int:定义“整形变量” printf:输出语句 scanf:输入语句 %:占位符一个占位符就是占据一个字符的位置,格式化输出时显示为个空格. 具体用法如下: %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合

%% 读%符号(c此内容来自baidu) &:“取地址”运算符:这个运算发可以这样理解,比如说&a的含义就是a在内存中的地址。因为&运算符能够取出一个变量在内存中的地址,所以叫做取地址运算符。 输入语句scanf("%d %d",&a,&b); 输出语句printf("%d", c); 输出内容由“”引出 注意一个;就是一个语句,每句话后都要有分号,不能丢。括号是英文的, 一个程序主要由顺序分支循环3种结构构成 { }不能忘,限制变量作用范围 进入CodeBlocks之后新建一个项目,在project选项中选择控制台应用程序Console application进行编写。 输入语句scanf和输出语句printf中的“f”指的是format格式。 程序编写完成后点击Build——Build and run 或F9进行运行,并可点击View——log看到编程日志,检查错误。 分号;不能少 P.S.如果觉得编写过程中字符显示太小可以按住ctrl并将鼠标滚轮向下滚来放大~ 第二周 计算一元二次方程的根的题目中,遵守四则运算法则,求根公式.../2a中的2a 要用()括起来 华氏温标(Fahrenheit temperature scale)符号℉,1724年,德国人华伦海特制定了华氏温标,他把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32 ℉,把标准大气压下水沸腾的温度定为212℉,中间分为180等份,每一等份代表1度,这就是华氏温标,用符号F表示,这就是华氏温度 摄氏温度(℃)和华氏温度(℉)之间的换算关系为:

C语言期末考试题库(第一章 c语言基础知识)

C语言考研题库(第一章c语言基础知识) 一、单项选择 1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(). A、关系运算,赋值运算,算术运算 B、算术运算,关系运算,赋值运算 C、算术运算,赋值运算,关系运算 D、关系运算,算术运算,赋值运算 答案:B 2.下述正确的C语言常量是:(). A、E2 B、3e-3 C、1.5E2.5 D、5.0E 答案:B 3.使用共用体变量,不可以(). A、进行动态管理 B、节省存储空间 C、同时访问所有成员 D、简化程序设计 答案:C 4.为表示关系x>=y>=z,应使用C语言表达式为:() A、(x>=y)&(y>=z) B、(x>=y>=z) C、(x>=y)&&(y>=z) D、(x>=y)AND(y>=z) 答案:C 5.以下程序的输出结果是(). main()

{char str[]="ABCD",*p=str;printf("%s\n",p);} A、68 B、ABCD C、不确定的值 D、字符D的地址 答案:B 6.char a[10];不能将字符串"abc"存储在数组中的是(). A、a="abc"; B、a[0]=0;strcat(a,"abc"); C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; D、strcpy(a,"abc"); 答案:A 7.fscanf函数的正确调用形式是(). A、fscanf(文件指针,格式字符串,输入表列); B、fscanf(格式字符串,文件指针,输出表列); C、fscanf(fp,格式字符串,输出表列); D、fscanf(格式字符串,输出表列,fp); 答案:A 8.下列数组说明中正确的是(). A、int array[][]={1,2,3,4,5,6,7,8,9,10}; B、int array[][][5]={1,2,3,4,5,6,7,8,9,10}; C、int array[][4]={1,2,3,4,5,6,7,8,9,10}; D、int array[3][]={1,2,3,4,5,6,7,8,9,10}; 答案:C 9.以下选项中,与k=n++完全等价的表达式是(). A、n=n+1,k=n B、k+=n+1 C、k=++n D、k=n,n=n+1

第一章C语言基础知识

例1:计算两个整数之和的C程序 #include "stdio.h" main( ) /*求两数之和*/ { int a,b,sum; /*变量说明*/ a=10; /*把整数10赋值给变量a */ b=20; /*把整数20赋值给变量b */ sum=a+b; /*把两数之和赋值给变量sum */ printf("a=%d,b=%d,sum=%d\n",a,b,sum); /*把计算结果输出到用户屏幕上*/ } 2、关于注释的说明(考点一) ?程序中以“/*”开头并且以“*/”结尾的部分表示程序的注释部分。 ?注释可以加在程序的任何位置。 ?注释是为了提高程序的可读性而增加的,不属于C语言。 ?/*/*ddddddd*/*/ 这样的注释不是合法的。注释是从“/*“开始到”*/“结束的。就近原则,以该例为准, 属于注释的就是/* */两个之间的/*ddddddd,所以最后剩下的*/就是多余了。 例1:阅读以下程序,想一想结果是多少? main( ) { int a=0,b=0; a =10; /*给a赋值 b=20; 给b赋值*/ 这句等于/*给a赋值b=20; 给b赋值*/ printf("a+b=%d\n",a+b); /*输出计算结果*/ } 这是2006年9月全国计算机等级考试二级考试的第19题。需要特别注意的是,程序第三行“/*”开始的注释部分,直到第四行末尾才结束。因此上面的程序等价于以下的程序: main( ) { int a=0,b=0; a =10; printf("a+b=%d\n",a+b); } 3、标识符(考试重点) 在C语言中用于标识名字的有效字符序列称为标识符。标识符可以用作常量名、变量名、符号名、函数名和后面要学到的指针名、数组名等。C语言中标识符的命名规则如下: 1)标识符只能由字母、数字和下划线组成; 2)标识符的第一个字符必须是字母或下划线。 3)标识符区分大小写字母。如int与Int是两个完全不同的标识符。 合法的标识符: a x sum spels program ab1 _to file_5 a1b2c3 _2 B3 非法的标识符: ab12# (含有不合法的字符“#”) a1-c (含有不合法的字符“-”) ab c (空格不是合法标识符) πr (“π”不是字母,为不合法标识符字符) 23ab (第一个字符不能为数字) C语言的标识符分为如下三类: 1)关键字 关键字是具有特定含义的、专门用来说明C语言特定成分的一类标识符。关键字均由小写字母构成。Int 就不是关键字。

C语言通用基础知识点

C语言通用基础知识点 总体上必须清楚的: 1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0或者1。byte是指字节,一个字节=八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、#define PI 3.1415926;这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。

2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---à.obj---à.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数

C语言基础题第一章 C语言基础知识

第一章节C语言基础知识 一、单选题 1.下面叙述错误的是: A 、C程序中可以有若干个main()函数B、C程序必须从main()函数开始执行 C 、C程序中必须要有main()函数D、C程序是由若干个函数组成的 2.下面叙述正确的是: A、C程序中的变量定义语句可以写在函数体中任何位置 B、C程序中不能有空语句 C、C程序中的变量必须先定义后使用 D、C程序中的所有简单数据类型都可以准确无误地表示 3.C语言中,合法的用户标识符是: A、_A10 B、aB.txt C、return D、3ab 4.C程序中,运算对象必须为整形数据的运算符是: A、++ B 、% C、/ D、* 5. C语言中合法的字符常量是: A 、n B、'\n' C、110 D、"n" 6.表达式1/5+3%4+4.5/5的值是: A 、3.9 B、3.900000 C、1.100000 D、1.85 7. 运行以下程序后的输出结果是: main() { int a; float b; a=10/3; b=10%3; printf("%d,%f\n",a,b); } A、运行错误 B、3,1.000000 C、3,1 D、3.333333,1.000000 8. C语言中,错误的转义字符是: A、'\n' B、'\101' C、'\"' D、'\108' 二、多选题 1.以下不合法的用户标识符是 A、INT B、a1 C、_89 D、float E、b3 F、Max G、4b 2.以下合法的C语言字符常量是 A、"n" B、"\n" C、'\n' D、'c' E、'do' F、'\101' G、"\62" 三、填空题 1.表达式(double)(1/3+0.5*3+5%3)的计算结果为: 。 2. 若有定义"int x=5;",则表达式x+=x*=x的计算结果为:___________ 3.若有定义"int x=1,y=1;",则执行逗号表达式y=3,x++,x+5后,该表达式的值是___________ ,变量x 的值是___________ ,变量y的值是___________ 4.表达式12/5+(int)(3.2*(8.2-2))/(int)(1.2+0.85)的值的数据类型为___________ 5.以下程序运行后的输出结果是:main() { int a=’\021’,b=216; printf("%d %x\n",a,b); } 6.将数学式改写成C语言表达式为___________ 7.若有定义“int a=13,b=10;”,则执行语句“a%=a-b;”后变量a的值为___________ 8. C程序是由___________ 构成的,一个C程序必须有一个___________ 9.假设C源程序文件名为test.c,为得出该程序的运行结果,应执行的文件名是___________ ,此文件是通过___________ 产生的。 10、为了提高程序的可读性,写程序时除使用缩进格式外,建议在程序的必要处加上注释。注释可出现在程序的任何位置,而且对程序的运行结果___________ ,C程序中注释行的开头与结束由________ ___ 表示。

c语言基础知识总结

C语言知识要点复习资料 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。byte 是指字节, 一个字节= 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换

相关文档