搜档网
当前位置:搜档网 › C语言1

C语言1

C语言1
C语言1

《C语言》综合复习资料第一题读程序写出程序执行结果

1、#include <stdio.h>

void main()

{ int x[]={1,2,3};

int s=1,i,*p=x;

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

s*=*(p+i);

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

}

2、#include <stdio.h>

int fun(char *s1,char *s2)

{ int i=0;

while(s1[i]==s2[i] && s2[i]!='\0') i++;

return (s1[i]=='\0' && s2[i]=='\0');

}

void main()

{ char p[10]= ""abcdef"", q[10]= ""ABCDEF""

printf(""%d\n"",fun(p,q));

}

3、#include <stdio.h>

"void main()

{ int n=2;

printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ;

}

4、#include <stdio.h>

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

}

5、#include <stdio.h>

void main()

{ int s,t,a=-2,b=6;

s=t=1;

if(a>0) s=s+1;

if(a>b) t=s+t;

else if(a==b) t=5;

else t=2*s;

printf(""t=%d "", t); }

6、#include <stdio.h>

#define S(a,b) (a)*(b) void main()

{ int a=3 ,area;

area=S(a,a+3) ;

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

7、#include <stdio.h>

void main()

{ int i=0,a=0;

while( i<20 )

{ for(;;)

if((i%10)==0) break;

else i--;

i+=11;

a+=i;

}

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

}

8、#include <stdio.h>

void swap(int b[])

{ int *p,*p1,*p2;

p1=&b[0] ;p2=&b[1];

p=p1; p1=p1+1; p2=p;

}

void main()

{ int a[]={5,9};

printf(""%d,%d\n"",*a,*(a+1));

swap(a);

printf(""%d,%d\n"",a[0],a[1]);

}

9、#include <stdio.h>

fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

void main()

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

r=fun(fun(x,y), 2*z);

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

}

10、#include <stdio.h>

int fun(int x)

{ int y=1;

static int z=4;

z =1; y;

return(x y z);

}

void main()

{ int i;

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

printf("=",fun(i));

}

11、#include <stdio.h>

void fun(char *w, int n)

{ char t, *s1, *s2;

s1=w;

s2=w n-1;

while(s1

}

void main()

{ char p[]="abcdefg";

fun(p, strlen(p));

puts(p);

}

12、#include <stdio.h>

char fun(char *s)

{ if( *s >= ¢a¢ && *s <= ¢z¢ ) *s=*s-32;

return *s;

}

void main()

{ char a[20]="Welcome",*p,ch;

for(p=a;*p!=¢\0¢;p )

{ ch=fun(p);

putchar(ch);

} }

13、#include <stdio.h>

void main()

{ int a=10,b=0;

if(a==12)

{a++; b++; }

else

{ a=a+3 ; b=b+3;}

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

}

14、#include <stdio.h>

void main()

{ int s,i;

for(s=0,i=1;i<5;i++,s+=i) ;

prin tf(“%d\n”,s);

}

15、#include <stdio.h>

void main()

{ char n=‘c’;

switch(n )

{ default: printf(“error!”); break;

case ‘a’: case ‘A’:

case ‘b’: case ‘B’: printf(“good!”);break;

case ‘c’: case ‘C’: printf(“pass!”);

case ‘d’: case ‘D’: printf(“warm!”); }

}

16、#include <stdio.h>

void main()

{ int k=4,n=0;

for( ; n

{ ; n++;

if(n%3!=0) continue;

k- -;

}

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

}

17、#include <stdio.h>

int f(int b[],int m,int n)

{ int i,s=0;

for(i=m;i<=n;i+=2) s+=b[i];

return s;

}

void main()

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

x=f(a,3,8);

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

}

18、#include <stdio.h>

void copy_str(char from[ ],char to[ ])

{ int k=0;

while(from[k]!=‘\0’)

{ to[k]=from[k]; k ; }

to[k]=‘\0’; /*末尾加上串结束标志*/ }

void main()

{ char str1[80]=”red”,str2[80]=”green”;

copy_str (str1,str2);

puts(str2);

}

19、#include <stdio.h>

int d=1;

void fun(int p)

{ int d=5;

d+=p++;

printf(“%d”,d);

}

void main()

{ int a=3;

fun(a); d+=a++;

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

}

20、#include <stdio.h>

void f(int x, int y)

{ int t;

if (x

}

void main()

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

f(a,b); f(a,c); f(b,c);

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

}

21、#include <stdio.h>

void fun(char *w, int n)

{ char t, *s1, *s2;

s1=w;

s2=w n-1;

while(s1

void main()

{ char p[]=""1234567"";

fun(p, strlen(p));

puts(p);

}

22、#include <stdio.h>

#include <string.h>

int stre(char *s)

{ int num=0;

while(*(s+num)!=‘\0’)num++;

return num;

}

void main()

{ char str[]=""students"",*p=str;

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

}

23、#include <stdio.h>

void main()

{ int i,j;

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

{

for(j=0; j<=i;j )

printf(""*"");

printf(""\n"");

}

}

24、#include <stdio.h>

void main()

{ int i;

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

switch (i)

{ case 1: printf(""%d "", i);

case 2: printf(""%d "", i);

default : printf(""%d "", i);

}

}

25、#include <stdio.h>

int ws(int x)

{ if(x/100>0)

return(3);

else if(x/10>0 )

return(2);

else

return(1);

}

void main()

{ int a=123;

printf(""%d是%d位数\n"",a,ws(a));}

26、#include <stdio.h>

#include <string.h>

void main()

{ char a[10]=""abc"";

char b[]=""defg"";

puts(a);

puts(b);

puts(strcat(a,b));

}

27、#include <stdio.h>

void main()

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

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

{ n[i]=n[4-i]+1;

printf(""%d "",n[i]);

}

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

printf(""%d "",n[i]);

}

28、#include <stdio.h>

void main()

{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}}; int i,j,row=0,colum=0,max;

max=a[0][0];

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

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

if(a[i][j]>max)

{ max=a[i][j];

row=i;

colum=j;

}

printf(""max=%d,row=%d,colum=%d"",max,row,colum); }

29、#include <stdio.h>

void copy_str(char from[ ],char to[ ])

{ int k=0;

while(from[k]!= ‘\0’)

{ to[k]=from[k]; k ; }

to[k]=‘\0’; /*末尾加上串结束标志*/

}

void main()

{ char str1[80]= ""good"",str2[80]= ""abcdef""; copy_str(str1,str2);

puts(str2);

}

30、#include <stdio.h>

int fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

void main()

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

r=fun(fun(x,y), 2*z);

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

31、#include <stdio.h>

void ex( )

{ static int x=5 ;

--x ;

printf(“%d”,x) ;

} ;

void ; main ( )

{ ; ex( );;

ex( );;

ex( );

}

32、#include <stdio.h>

int f( )

{ int s=1;

static int i=0;

s+=i; i++;

return s ;

}

void main()

{ int i,a=0;

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

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

}

33、#include <stdio.h>

int m=13;

int fun(int x,int y)

{ int m=3;

return(x*y-m);

}

void main()

{ int a=7, b=5;

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

34、#include <stdio.h>

void main()

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

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

{ n[i]=n[4-i]+1;

printf(""%d "",n[i]);

}

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

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

}

}

35、#include <stdio.h>

void main()

{ int i;

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

{ if(i%2)

putchar(‘<’);

else

continue;

putchar(‘>’);

}

putchar(‘#’);

}

36、#include <stdio.h>

void main()

{ int i,j,m=0,n=0,k=0;

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

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

switch( i%j )

{ case 0: m++; break;

case 1: n++; break;

case 2: k++; break;

default: k++;n++;m++;

}

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

37、#include <stdio.h>

#define MAX(a,b) (a>b ? a : b)+1

void main()

{ int i=6,j=8;

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

}

38、#include <stdio.h>

void main()

{ int x=4;

if(x++>=5)

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

else

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

}

39、#include <stdio.h>

void main()

{ int a=0;

a+=(a=8);

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

}

40、#include <stdio.h>

void main()

{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0 ;

for(i=0;i<4;i++) s+=aa[i][2];

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

}

第二题选择题

1. 表示x≤0或x≥1的正确的表达式是

A. x>=1||x<=0

B. x>1 || x<=0

C. x>=1 or x<=0

D. x>=1 || x<0

2. 以下能正确定义数组并正确赋初值的语句是

A. int N=5,b[N][N];

B. int a[1][2]={{1},{3}};

C, int c[2][]= {{1,2},{3,4}};

D. int d[3][2]={{1,2},{34}};

3. 以下不合法的赋值语句是

A. x=(1,y=2);

B. ++x;

C. x=y=15;

D. y=int(x);

4. C语言中,函数返回值的类型是由

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

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

C. 调用函数时的临时类型决定

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

5. 下面程序段的输出结果是

int k=11;

printf(“%d,%o,%x”,k,k,k);

A. 11,12,11

B. 11,13,13

C. 11,013,0xb

D. 11,13,b

6. 对于int a[ ] = {1,2,3,4,5,6}, p; p=a; *(p 3) = 2; 则*p, *(p 3)的值是

A. 1 5

B. 1 3

C. 1 4

D. 1 6

7. 以下选项中,与k= n完全等价的表达式是

A. k=n,n=n 1

B. n=n 1,k=n

C. k= n

D. k =n 1

8. 设有定义语句:char str[][20]={"Hello","Beijing"},*p=str;

则printf("%d\n",strlen(p+20)); 输出结果是

A. 0

B. 5

C. 7

D. 20

9. 语句: printf("%d",(a=2)&&(b=-2)); 的输出结果是

A. 无输出

B. 结果不确定

C. 1

D. 2

10. 以下非法的赋值语句是

A. n=(i=2, i);

B. j ;

C. (i 1);

D. x=j>0;

11. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是

A. 1

B. 2

C. 3

D. 4

12. 结构化程序的3种基本控制结构是

A. if-else结构、while结构、for结构

B. 顺序结构、分支机构、循环结构

C. while结构、do-while结构、for结构

D. 以上三种都不对

13. 判断字符串s1是否大于字符串s2,应该使用

A. if(s1>s2)

B. if(strcmp(s1,s2))

C. if(strcmp(s2,s1)>0)

D. if(strcmp(s1,s2)>0)

14. 设有如下程序段:
int x=2, y=3;
printf("%d\n",(x,y));
则以下叙述中正确的是

A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B. 运行时产生出错信息

C. 输出值为2

D. 输出值为3

15. 已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是

A. 2

B. 3

C. 4

D. 无法确定;

16. 已定义c为字符型变量,则下列语句中正确的是

A. c='97';

B. c="97";

C. c="a";

D. c=97;

17. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是

A. a&&b

B. a<=b

C. a||b c&&b-c

D. !((a<b)&&!c||1)

18. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为

A. 0

B. 1

C. 4

D. 5

19. 以下关于C语言的不严格的叙述中,错误的说法是

A. 在标识符中,大写字母和小些字母的意义相同

B. 有些不同类型的变量可以在一个表达式中运算

C. 在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型

D. 同一个运算符号在不同的场合可以有不同的含义

20. 在C语言中,数字029是一个

A. 八进制数

B. 十进制数

C. 十六进制数

D. 非法数

21. C语言中基本数据类型有

A. 整型、实型、逻辑型

B. 整型、字符型、逻辑型

C. 整型、实型、字符型

D. 整型、实型、字符型、逻辑型

22. 用数组名作为函数调用时的实参,则实际传递给形参的是

A. 数组的第一个元素值

B. 数组中全部元素值

C. 数组的首地址

D. 数组的元素个数

23. 下程序段: char s[20 ]="xyz", *sp=s; strcat(sp,"12345"); puts(sp); 的输出结果是

A. xyz12345

B. 12345xyz

C. 12345

D. xyz

24. 假设已定义 char c[8]= "test"; int i;则下面的输出函数调用中错误的是

A. printf("%s",c);

B. for(i=0;i<8;i++) printf("%c",c[i]);

C. puts(c)

D. for(i=0;i<8;i++) puts(c[i]);

25. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是

A. 1

B. 0

C. 非0

D. 语法错

26. 已定义c为字符型变量,则下列正确的赋值语句是

A. c='66';

B. c="66";

C. c="B";

D. c=66;

27. 以下非法的赋值语句是

A. n=(i=2, i);

B. j ;

C. (i 1);

D. x=j>0;

28. 以下选项中合法的实型常数是

A. 5E2.0

B. E-3

C. 2.00E-01

D. 1.3E

29. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是

A. 12

B. 15

C. 6

D. 5

30. 能将高级语言编写的源程序转换为目标程序的软件是

A. 汇编程序

B. 编辑程序

C. 解释程序

D. 编译程序

31. 结构化程序设计的三种基本结构是

A. 顺序结构、选择结构、循环结构

B. if、switch、break

C. for、while、do-while

D. if、for、continue

32. 在一个C程序中

A. main函数必须出现在所有函数之前

B. main函数可以在任何地方出现

C. main函数必须出现在所有函数之后

D. main函数必须出现在固定位置

33. 以下合法的字符常量是

A. ‘\084’

B. ‘ab’

C. ‘\x43’

D. “\0”

34. 用8位无符号二进制数能表示的最大十进制数为

A. 127

B. 128

C. 255

D. 256

35. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是

A. 1,1,1

B. 1,2,0

C. 0,1,1

D. 0,2,0

第三题编程题

1. 设有分段函数:

x (x<1)

Y= 2x-1 (1≤x<10) 写一程序,输入x,输出y 的值。

3x-11 (x≥10)

2. 写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。

3.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。

a-b a>b

y= b

a a<

b a*b a=b

4.编程序计算 s=1!-2!+3!-4!+ …… -10! ,并输出结果。

5. 从键盘输入10个评委给参赛选手打的分,去掉一个最高分和一个最低分,求选手的得分(平均分)。

6. 编写函数change 使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:12345abcde ,则输出为:edcba54321

7. 计算s=1+12+123+12345+123456+1234567(要求用循环语句实现)

8. 编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。

参考答案

第一题 读程序写出程序执行结果

1. 6

2. 0

3. 4,3,1

4. a=2,b=1

5. t=2

6. area=18

7. 32

8. 5,9

5,9

9. 12

10. 8 10 12

11. gfedcba

12. WELCOME

13. 13,13

14. 14

15. pass!warm!

16. 3,3

17. 18

18. red

19. 84

20. 4,3,5

21. 7654321

22. 8

23. *

**

24. 11122

25. 123是3位数

26. abc

defg

abcdefg

27. 6565345

28. max=10,row=1,colum=2

29. good

30. 8

31. 432

32. 6

33. 2

34. 6565345

35. <><>#

36. 4 3 1

37. 9

38. 5

39. 16

40. 29

第二题选择题

1-5 ADBDD 6-10 DBCCC 11-15 BBBDC 16-20 DDAAD 21-25 CCADA 26-30 DCCDD 31-35 ABCCD

第三题编程题

1.1、

#include

void main()

{

int x,y;

printf(“输入x:”);

scanf(“%d\n”,&x);

if(x<1)

{y=x;

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

}

else if(x<10)

{y=2*x-1;

printf(“x=%3d,y=2*x-1=%d\n”,x,y);

}

else

{y=3*x-11;

printf(“x=%3d,y=3*x-11=%d\n”,x,y);

}

}

2、

#include

void main()

{

int prime(int);

int n;

printf(“\ninput an integer:”);

scanf("%d",&n);

if(prime(n))

printf("\n %d is a prime. \n",n);

else

printf("\n %d is not a prime. \n",n); }

int prime(int n);

{

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

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

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言期末试卷A12_13_1(含答案)

黄冈职业技术学院2012~2013学年度第1学期 《 C 语言程序设计》期末考试试卷(A 卷) (本试卷适用班级:2012级软件外包服务专业) 一、选择题(本大题共20小题,每小题1.5分,共30分) 1、C 语言中最简单的数据类型包括( ) A )整型、实型、逻辑型 B )整型、实型、字符型 C )整型、字符型、逻辑型 D )字符型、实型、逻辑型 2、以下关于C 语言程序执行的描述,正确的是( )。 A)C 语言执行的程序总是从main()函数开始,到main()函数结束 B)C 语言程序的执行是从第一个函数开始,到程序文件的最后一个函数结束 C)C 语言程序的执行是从第一个函数开始,到main()函数结束 D)C 语言程序的执行总是从main()函数开始,到程序文件的最后一个函数结束 3、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( ) A )必须为字母 B )必须为下划线 C )必须为字母或下划线 D )可以是字母,数字和下划线中任一字符 4、下列可用于C 语言用户标识符的一组是( ) A )void, define, WORD B )a3_b3, _123,Car C )For, -abc, IF Case D )2a, DO, sizeof 5、以下描述错误..的是( )。 A)C 语言源程序经编译后生成后缀名为.obj 的目标程序( ) B)C 语言程序经过编译、连接等步骤之后才形成一个真正可以执行的二进制机器指令文件 C)用C 语言编写的程序被称为源程序,它以ASCII 代码的形式存放在一个文本文件中 D)C 语言每条可执行与非执行语句最终都将被转换成二进制机器指令 6、在C 语言中,char 型数据在内存中的存储形式是( ) A )补码 B )反码 C )原码 D )ASCII 码 7、C 语言中运算对象必须是整型的运算符是( ) A )% B )/ C )= D )<= 8、设有定义char a,b;若通过a&b 运算保留a 的第3位和第6位的值,则b 的二进制数应是( ). A) 00100100 B) 11011011 C) 00010010 D) 01110010 命题人 题 号 一 二 三 四 五 总 分 黄国军 应得分 30 20 24 10 16 100 实得分 评卷人 得 分 ----------- ------- --------------- --装- --------------------- ----------- ---订- ------------------------ -----------线- ------ ------------------ ----------- 教学 学院 :__ __ __ __ __ _ 年级: __ __ __ __ __ __ 专业班 级:_ __ __ __ __ __ _ 姓 名:__ __ __ __ __ __ __ 学号 :_ _ _ __ __ __ __ __ _ -------------------------------密-----------------------------------------封--------------------------------线----------------------------------------

C语言1-1

主题:(一) 概述上 一、C语言的产生与发展 C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11 计算机上使用。它由早期的编程语言BCPL (Basic Combind Programming Language)发展演变而来。在1970年,A T&T贝尔实验室的Ken hompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。 随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准,成为现行的C语言标准。 二、C语言的特点 C语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如PC-DOS,DBASE Ⅳ都是由C语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了。归纳起来C语言具有下列特点: 1. C是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 2. C是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3. C语言功能齐全 C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。 4. C语言适用范围大 C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。 三、Turbo C的产生与发展 我们平常用的大部分都是Turbo C。Turbo C是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的公司。该公司相继推出了一套Turbo系列软件,如Turbo BASIC,Turbo Pascal,Turbo Prolog,这些软件很受用户欢迎。该公司在1987年首次推出Turbo C 1.0产品,其中使用了全然一新的集成开发环境,即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年,Borland 公司又推出Turbo C 1.5版本,增加了图形库和文本窗口函数库等,而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能,并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K中)文件。还可对数学协处理器(支持8087/80287/80387等)进行仿真。我们目前经常使用的集成环境就是Turbo C 2.0。 Borland 公司后来又推出了面向对象的程序软件包Turbo C++,它继承发展Turbo C 2.0的集成开发环境, 并包含了面向对象的基本思想和设计方法。习惯上我们也叫它Turbo C 3.0。

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.常量: 程序执行过程中,值不变的量。 3 ,'a' 变量:值可以改变的量。 一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。 2.常量类型: a.整型:12,0,-3 b.实型:4.6,-1.2 c.字符型: 'a','d' d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写) 3.变量: 先定义,后使用。一个变量只能被指定为一确定类型。 4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。 a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。 b.大写字母、小写字母被认为是两个不同的字符。 c.长度一般小于8个。 数据类型 一.整型: 1.整型常量 a.十进制:12,-3,0 b.八进制:以0开头。 c.十六进制:以0x开头。 2.整型变量 a. int -32768——32767 b. short int -32768——32767 c. long int d. unsigned int 0——65535 e. unsigned short 0——65535 f. unsigned long int、short int、long int 第一位为符号位 0000001 (0为正,1为负) unsigned 第一位不是符号位 0000001 所以int型和unsigned型的000001不是同一个值。 二.实型: 1.实型常量:

a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0 b.指数:e之前必须有数字,e后面必须为整数。12e3 2.实型变量: a.单精度:float 7位有效数字 111111.1可,111111.11不可。 b.双精度:double 15—16位有效数字。 三.字符型: 1.字符常量: a. 'a' , 'x' , '*' ,'$' 。 b. 转义字符:‘\n'换。 '\t'从第九列开始。'\r'回车。 '\b'退一格。 2.字符变量: char char='a' 一个字符变量在内存占一个字节。 。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码 放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出, 又可以以整数形式输出。 四.字符串常量: "how are you", "a","&12" 。不能把一个字符串赋给一个字符变量。 char c='a'对,char c="how" 错。 。'a' :在内存中存a。 “a”:在内存中存a\0。 ‘\0’是C语言中判断字符串是否结束的标志。 变量赋初值 a. int a=3; float f=7.2; char c='a'; b. int a,b,c=5; 相当于 int a,b,c; c=5; c. int a=3;b=3;c=3; 不可写: int a=b=c=3;

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

c语言1

C语言编程经典100例(四) 【程序76】 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n 为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数) 1.程序分析: 2.程序源代码: main() #include ““ main() { float peven(),podd(),dcall(); float sum; int n; while (1) {

scanf(“%d“,&n); if(n〉1) break; } if(n%2==0) { printf(“Even=“); sum=dcall(peven,n); } else { printf(“Odd=“); sum=dcall(podd,n); } printf(“%f“,sum); } float peven(int n)

float s; int i; s=1; for(i=2;i〈=n;i+=2) s+=1/(float)i; return(s); } float podd(n) int n; { float s; int i; s=0; for(i=1;i〈=n;i+=2) s+=1/(float)i; return(s);

float dcall(fp,n) float (*fp)(); int n; { float s; s=(*fp)(n); return(s); } ============================================================== 【程序77】 题目:填空练习(指向指针的指针) 1.程序分析: 2.程序源代码: main() { char *s[]={“man“,“woman“,“girl“,“boy“,“sister“}; char **q;

C语言基础知识归纳

C语言基础知识 1.每个C程序有且只有一个主函数main(),且程序必须从main() 函数开始执行,并在main()函数中结束。 2.在C语言中,用e来表示科学计数法时,规定在e的前面必 须有数字,后面必须为整数。 3.用单引号括起来的一个字符常量只能存放一个字符;C语言中 没有字符串变量,只能用字符数组来存储字符串。 4.外部变量在编译时由系统分配永久的内存空间,所以外部变 量的类型不是自动存储类别。 5.在一个函数内的复合语句中定义的变量,只能在这个复合语 句范围内有效。 6.用sizeof(int)计算int类型数据的字节数。 7.C语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8.预处理命令行的位置没有规定,只是习惯放在前面;在源文 件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9.feof函数的作用是检查文件是否结束,当结束时返回的 值为非零,否则为零。

10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数 组名。 11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在 求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12.静态局部变量,只有当程序结束后,其值才释放。 13.当调用函数时,实参是一个数组名,则向函数传送的是数组 每一个元素的地址。 14.算法的特点为有零个或多个输入,有一个或多个输出,当相 同的输入时,其结果相同;算法正确的程序最终一定会结束。 15.在C语言中,预处理命令行都以“#”开头;当需要时才用 #include;预处理的作用就是实现宏定义和条件编译。 16.当数组元素的下标超出了定义的下标范围时,系统不给出“下 标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17.共用体变量不能作为函数的参数,也不能使函数带回共用体 变量。 18.指向函数的指针变量的定义形式为:数据类型(*指针变量) ();,因此其为指向函数的指针变量。 19.用C语言编写的代码程序是源程序,只有通过编译、连接才 能进行。 20.在说明为static时,其生存期得到延长,而其作用域并没有改

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出得四个选项中只有一个 选项就是符合题目要求得,请将正确选项前得字母填在题后得括号内。 1、C语言程序编译时,程序中得注释部分就是( ) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( ) A、0与2 B、0与3 C、1与2 D、1与3 3、与语句if(a>b)if(c>d)x=1;else x=2;等价得就是( ) A、if(a>b){if(c>d)x=1;else x=2;} B、if(a>b){if(c>d)x=1;}else x=2; C、if((a>b)&&(c>d))x=1;else x=2; D、if(a<=b)x=2;else if(c>d) x=1; 4、设char x='a';则printf("x=%c,y=%c\n",x,97);得输出就是( ) A、x=a,y=97 B、x=97,y=a C、x=97,y=97 D、x=a,y=a 5、执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf("%d\n”,a[1][0]+b[0][0]);} 后输出得结果就是( ) A、0 B、1 C、2 D、3 6、结构化程序设计所规定得三种基本控制结构就是( ) A) 输入、处理、输出B) 树形、网形、环形 C) 顺序、选择、循环D) 主程序、子程序、函数 7、完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行得步骤依次为( ) A、连接、编译 B、编译、连接 C、连接、运行 D、运行 8、下列各语句中,能够且仅输出整型变量a、b中最大值得就是( ) A、if(a>b) printf(″%d\n″,a);printf(″%d\n″,b); B、printf(″%d\n″,b);if(a>b) printf(″%d\n″,a); C、if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b); D、if(a

C语言基础知识(详细版)

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、程序中以/* 开头并且以*/ 结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。 C程序的生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序的扩展名为.c ,目标程序的扩展名为.obj , 可执行程序的扩展名为.exe 。

c语言试卷及答案1

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

C语言1

《C语言》综合复习资料第一题读程序写出程序执行结果 1、#include <stdio.h> void main() { int x[]={1,2,3}; int s=1,i,*p=x; for(i=0;i<3;i++) s*=*(p+i); printf(“%d\n”,s); } 2、#include <stdio.h> int fun(char *s1,char *s2) { int i=0; while(s1[i]==s2[i] && s2[i]!='\0') i++; return (s1[i]=='\0' && s2[i]=='\0'); } void main() { char p[10]= ""abcdef"", q[10]= ""ABCDEF"" printf(""%d\n"",fun(p,q)); } 3、#include <stdio.h> "void main() { int n=2; printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ; } 4、#include <stdio.h> 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);

} 5、#include <stdio.h> void main() { int s,t,a=-2,b=6; s=t=1; if(a>0) s=s+1; if(a>b) t=s+t; else if(a==b) t=5; else t=2*s; printf(""t=%d "", t); } 6、#include <stdio.h> #define S(a,b) (a)*(b) void main() { int a=3 ,area; area=S(a,a+3) ; printf(""area=%d\n"",area);} 7、#include <stdio.h> void main() { int i=0,a=0; while( i<20 ) { for(;;) if((i%10)==0) break; else i--; i+=11; a+=i; } printf("%d\n",a); } 8、#include <stdio.h> void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1];

c语言基本代码

c语言基本代码 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支

goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c; if:条件语句与elseifelse并用1、在C语言中一般认为“0”是假,其他不是“0”的都是真。 2、if()里面为真,则进入if下的大括弧{},为假,就跳过。 以此题为例: 若X是“0”(为假)。则里面为假,跳过if下的大{} 若X不是“0”(为真)。则里面为真,进入if下的大{}。 case:开关语句分支,与switch(表达式)连用,case常量表达式;default冒号后面的语句,表示除去各种casei:情况外,其它情况均用default冒号后面的语句处理,即缺省case默认case的处理 else:条件语句否定分支(与if连用)

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语言基础知识归纳

C 语言基础知识 1. 每个C 程序有且只有一个主函数main() ,且程序必须从main() 函 数开始执行,并在 main() 函数中结束。 2. 在 C 语言中,用 e 来表示科学计数法时,规定在 e 的前面必须有 数字,后面必须为整数。 3. 用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有 字符串变量,只能用字符数组来存储字符串。 4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类 型不是自动存储类别。 5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围 内有效。 6. 用 sizeof(int) 计算 int 类型数据的字节数。 7. C 语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一 个函数中定义一个函数;只有在函数外部定义的函数才是外部函数; C语言的子程序有过程和函数两种。 8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的 可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9. feo f函数的作用是检查文件是否结束,当结束时返回的值为非零, 否则为零。 10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数

组名。 11. 在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运 算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12. 静态局部变量,只有当程序结束后,其值才释放。 13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个 元素的地址。 14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输 入时,其结果相同;算法正确的程序最终一定会结束。 15. 在 C 语言中,预处理命令行都以“ # ”开头;当需要时才用 #in clude;预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义的下标范围时,系统不给出“下标 越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。 18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量) ();,因此其为指向函数的指针变量。 19. 用 C 语言编写的代码程序是源程序,只有通过编译、连接才能进 行。 20. 在说明为static时,其生存期得到延长,而其作用域并没有改 变,在定义后系统会自动帮它赋值为 0, static 为关键字不能 被用作它用。

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺序、选择和嵌套。 (17) 在C语言程序中,在函数内部定义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。 (二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ","A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达(27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变量可以存放-123.4。 A、long a; B、unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100],pp是一个(29) 。 A、函数 B、数组元素 C、指针变量 D、数组 (30) 下列程序段的输出结果是(30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2) A、(MOON,M) B、(OON,C) C、(OON,Q) D、(OON,A) (31) 对于以下的变量定义,表达式(31) 是不正确的。 struct node { float x,y;

相关主题