文档库 最新最全的文档下载
当前位置:文档库 › C语言-课程综合复习资料

C语言-课程综合复习资料

C语言-课程综合复习资料
C语言-课程综合复习资料

《C语言》课程综合复习资料

一、单选题

1. 在C语言中,字符型数据在内存中的存储形式是

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

2. 在C语言中,十进制数47可等价地表示为

A) 2f B) 02f C) 57 D) 057

3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为

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

4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str;

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

A)10 B) 6 C) 0 D) 20

5. 已定义以下函数: fun(int *p)

{ return *p; }

该函数的返回值是

A)不确定的值 B)形参p所指存储单元中的值

C)形参p中存放的值 D)形参p的地址值

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

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

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

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

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

7. 有以下函数定义:

void fun( int n , double x ) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 );

C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 );

8. 以下选项中不能正确赋值的是

A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′};

B) char b[10];b="Hello!";

C) char b[10]= "Hello!";

D) char *str="Hello!";

9. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是

A) ps+3 B)s[3] C) ps[3] D) ps+=3,*ps

10. 当对两个字符串进行比较时,应该使用的函数是

A) strcat B) strcmp C) strcpy D) strlen

11. 若i为整型变量,则以下循环的次数是

for(i=2;i==0;)printf(“%d”,i--);

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

12. 以下关于数组的描述正确的是

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

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

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

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

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

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

14. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是

A)5 11 B)1 9 C)5 9 D)有错误

15. 已知char b[5],*p=b; ,则正确的赋值语句是

A)b=“abcd” ; B)*b=“abcd”; C) p=“abcd”; D)*p=“abcd”;

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

A)数组的第一个元素值 B)数组中全部元素值

C)数组的首地址 D)数组的元素个数

17. 以下叙述中不正确的是

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

B)函数中的形式参数是局部变量

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

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

18. 当对两个字符串进行比较时,应该使用的函数是

A) strcat B) strcmp C) strcpy D) strlen

19. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是

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

20. 假设已定义 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]);

21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是

A) ps+3 B) s[3] C) ps[3] D) ps+=3,*ps

22. 以下选项中不能正确赋值的是

A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′};

B) char b[10];b="Hello!";

C) char b[10]= "Hello!";

D) char *str="Hello!";

23. 有以下函数定义:

void fun( int n , double x ) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。 A) fun( int y , double m ); B) k=fun( 10 , 12.5 );

C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 );

24.从变量的作用域来分,可分为全局变量和局部变量,形参是

A)局部变量 B)全局变量 C)静态变量 D)动态变量

二、读程序,写出程序的执行结果

1、6

2、WELCOME

3、Sum of the digits in 26587 is 28

4、8 10 12

5、j=81

6、x=8,y=4

7、L

A

N

G

U

A

G

E

8、210 9、12,12 10、21

11、32 12、max=10,row=1,colum=2

13、18 14、5,9 15、7 16、查找数组中最大值并记录元素下标

17、x=8,y=4

18、1 4 7 19、ZYXcba

2 5 8 20、5,7

3 6 9 21、5,12,12

22、*2*4*6*8*

1. #include

void main()

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

int s,i,*p=x;

s=1;

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

s*=*(p+i);

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

}

2. #include

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

}

}

3. #include

void main()

{ int x=26587,x1,r,sum=0;

x1=x;

while(x>0)

{ r=x%10;

sum+=r;

x/=10;

}

printf( "Sum of the digits in %d is %d", x1,sum);

}

4.#include

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("%3d",fun(i));

}

5.#include

void main()

{ int x=3,y=4;

int j;

for(j=1 ; y>0 ; y -- ) j=j*x;

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

}

运行结果:

6.#include

void main()

{ int x,y;

for(y=1,x=1; y<=20;y++)

{ if(x>=8) break;

if(x%2==1){ x+=5; continue ; } x-=3;

}

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

}

运行结果:

7. #include

void main()

{ char x[]="language";

char *ptr=x;

while(*ptr)

{ printf("%c\n",*ptr-32);

ptr++;

}

运行结果:

8. #include

void main()

{ int x[]={5,6,7};

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

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

s*=*(p+i);

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

}

运行结果:

9.#include

int fun(int x)

{ return(x>0 ? x : -x);

}

void main()

{ int a=12;

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

}

运行结果:

10. #include

void ex( )

{ static int x=3 ;

--x ;

printf(“%d”,x) ;

}

void main ( )

{ ex( );

ex( );

运行结果:

11. #include

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

}

12.#include

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

}

13. #include

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

{ int i,s=0;

for(i=m;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);

}

14.#include

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

}

15. #include

int b=3;

int fun(int *a)

{ b+=*a;

return(b);

}

void main()

{ int a=2, b=2;

b+=fun(&a);

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

}

16. #include

void main()

{ int a[10],*p,*s,i;

for(i=0;i<10;i++) scanf(%d”,a+i);

for(p=a,s=a;p-a<10;p++) if(*p>*s)s=p;

printf(“max=%d,index=%d\n”,*s, s-a);

}

简述上列程序完成的功能:

17. #include

void main()

{ int x,y;

for(y=1,x=1; y<=20;y++)

{ if(x>=8) break;

if(x%2==1){ x+=5; continue ; }

x-=3;

}

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

}

18. #include

#define N 3

void zz(int x[N][N])

{ int i,j,t;

for(i=0;i

for(j=0;j

{ t=x[i][j]; x[i][j]=x[j][i]; x[j][i]=t; } }

void main()

{ int str[N][N]={1,2,3,4,5,6,7,8,9}, i,j;

zz(str);

for(i=0;i

{ for(j=0;j

printf("\n") ;

}

}

19.#include

void main ( )

{ char a[20]= "abcXYZ", c ;

int i, j;

j= strlen(a)-1 ;

for (i=0; j>i; i++,j--)

{ c=*(a+i); *(a+i)=*(a+j); *(a+j)=c; }

puts(a);

}

20. #include

int a=100,b=200;

void f( )

{ p rintf(“%d,%d\n”,a,b);

a=1;b=2;

}

void main()

{ int a=5,b=7 ;

f( );

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

}

21. #include

int d=1 ;

int fun(int p)

{ static int d=3 ;

d+=p;

printf("%3d" , d) ;

return(d) ;

}

void main( )

{ printf("%3d\n" , fun(2+fun(d))) ;

}

22.#include

void main()

{ char x[]="123456789",*p=x ;

int i=0;

while(*p)

{ if(i%2==0) *p='*’;

p++; i++;

}

puts(x);

}

三、编程题

1.编程输入实数x ,计算下面函数的值,并输出y 值。 x 2

x<1 y= 3x-1 1 ≤ x ≤ 10

5

x x > 10 2.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出统计结果。

3. 编写打印如下图形的程序 (必须用循环语句实现)

*

* *

* * *

* * * *

* * * * *

4. 编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标

5. 编程打印下列的杨辉三角形。(设8行)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

6.求分段函数的值 ??

???<=>+=0ln 01

012X x X X e Y x

7.编程打印以下图形 (要求用循环控制语句实现)

&

& &

& & &

& & & &

& & & & &

& & & & & &

1、#include

void main()

{

int x,y;

scanf(“%d”,&x);

if(x<1)

y=x*x;

else

if(x>=1&&x<=10)y=3*x-1;

else y=x/5;

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

}

2.#include

#include

void main() /*主函数*/

{

char c; /*定义变量*/

int m=0,n=0,a=0,b=0;

printf("请输入任意字符串.\n"); /*输入提示部分,提示输入*/

while((c=getchar())!='\n') /*循环语句,将由键盘输入的非'\n'字符赋值给c*/

{

if((c>=65&&c<=90)||(c>=97&&c<=122)) /*第一个选择语句,统计英文字符个数*/ {

m=m+1;

}

else if(c==32) /*第二个选择语句,统计空格字符的个数*/

{

n=n+1;

}

else if(c>=48&&c<=57) /*第三个选择语句,统计数字字符的个数*/ {

a=a+1;

}

else /*统计其他字符的个数*/

b=b+1;

}

printf("%d%d%d%d",m,a,n,b); /*输出最后统计结果*/ getch(); /*输出结果后屏幕停留*/

}

3. #include

main( )

{

int n,i,j;

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

scanf(“%d”,&n);

for(i=0;i

{

for(j=0;j

for(j=0;j

printf(“\n”);

}

4. #include

void main( )

{

int a[20],i,max,min,num1,num2;

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

{printf(“input the number%d:”,i);

scanf(“%d”,&a[i]);

printf(“\n”);

}

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

{

If(a[i]<= a[0])

{min=a[i];

Num1=i;

}

Else

{max=a[i];

num2=i;

}

}

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

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

5. #include

#define N 11

void main()

{

int i,j,a[N][N]; /*数组为11行11列,0行0列不用*/ for(i=1;i

{

a[i][1]=1; /*使第1列元素的值为1*/

a[i][i]=1; /*使对角线元素的值为1*/

}

for(i=3;i

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

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=1;i

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

printf(“%6d”,a[i][j]);

printf(“\n”);

}

printf(“\n”);

}

《C语言》课程综合复习资料答案

一、单选题:

1D 2D 3A 4A 5D 6B 7C 8B 9A 10B 11B 12C 13D 14A 15C 16C 17D 18B 19D 20D 21A 22B 23C 24A

二、读程序写出程序执行结果:

1、6

2、WELCOME

3、Sum of the digits in 26587 is 28

4、8 10 12

5、j=81

6、x=8,y=4

7、L

A

N

G

U

A

G

E

8、210 9、12,12 10、21

11、32 12、max=10,row=1,colum=2

13、18 14、5,9 15、7 16、查找数组中最大值并记录元素下标

17、x=8,y=4

18、1 4 7 19、ZYXcba

2 5 8 20、5,7

3 6 9 21、5,12,12

22、*2*4*6*8*

三、编程题

1、#include

void main()

{

int x,y;

scanf(“%d”,&x);

if(x<1)

y=x*x;

else

if(x>=1&&x<=10)y=3*x-1;

else y=x/5;

pri ntf(“x=%d,y=%d\n”,x,y);

}

2.#include

#include

void main() /*主函数*/

{

char c; /*定义变量*/

int m=0,n=0,a=0,b=0;

printf("请输入任意字符串.\n"); /*输入提示部分,提示输入*/

while((c=getchar())!='\n') /*循环语句,将由键盘输入的非'\n'字符赋值给c*/

{

if((c>=65&&c<=90)||(c>=97&&c<=122)) /*第一个选择语句,统计英文字符个数*/ {

m=m+1;

}

else if(c==32) /*第二个选择语句,统计空格字符的个数*/

{

n=n+1;

}

else if(c>=48&&c<=57) /*第三个选择语句,统计数字字符的个数*/ {

a=a+1;

}

else /*统计其他字符的个数*/

b=b+1;

}

printf("%d%d%d%d",m,a,n,b); /*输出最后统计结果*/

getch(); /*输出结果后屏幕停留*/

}

3. #include

main( )

{

int n,i,j;

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

scanf(“%d”,&n);

for(i=0;i

{

for(j=0;j

for(j=0;j

printf(“\n”);

}

4. #include

void main( )

{

int a[20],i,max,min,num1,num2;

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

{printf(“input the number%d:”,i);

scanf(“%d”,&a[i]);

printf(“\n”);

}

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

{

If(a[i]<= a[0])

{min=a[i];

Num1=i;

}

Else

{max=a[i];

num2=i;

}

}

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

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

5. #include

#define N 11

void main()

{

int i,j,a[N][N]; /*数组为11行11列,0行0列不用*/ for(i=1;i

{

a[i][1]=1; /*使第1列元素的值为1*/

a[i][i]=1; /*使对角线元素的值为1*/

}

for(i=3;i

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案) 一、单项选择题(选择一个最佳答案,每题2分,共20分) 1. 一个C程序的执行是从(A )。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 2. 下列选项中,不能用作标识符的是(D )。 A) _1234_ B) _1_2 C) int_2_ D) 2_int_ 3. 以下定义语句中正确的是( C)。 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 4. 设有以下定义:#define d 2 int a=0; double b=1.25; char c=’A’; 则下面语句中错误的是(B)。 A) a++; B) b++ C) c++; D) d++; 5. 以下4个选项中,不能作为一条C语句的是(D)。 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; 6. 有以下定义语句double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( C)。 页脚内容1

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b; 7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。 A) p=1; B) *q=2; C) q=p; D) *p=5; 选D. A.p是一个指针,不能给它赋一个整型的值1 B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值. C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针. *p=5,即给n赋值为5,正确. 8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。 A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa); 9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式 *language[1]>*language[2]比较的是(A)。 A)字符B和字符P B) 字符串FORTRAN和字符串BASIC C)字符F和字符B D) 字符串BASIC和字符串PASCAL 10. 执行语句for(i=1;i++<4;);后变量i的值是(C )。 A) 3 B)4 C) 5 D) 不定 一、填空题(每空2分,共18分) 1. 若有定义:int a=7;float x= 2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为2.5。 页脚内容2

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“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 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

C语言程序设计期末考试试题及答案知识分享

C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

C语言程序设计期末考试样卷

2008年C语言程序设计期末考试样卷 一、填空题 1、C语言程序从函数开始执行。 2、关系运算的结果得一个整数值:或者。 3、已知int a[ ]={0,1,2,3,4,5}; ,则它的最大下标是。 4、结构化程序的3种基本结构是,和。 5、若a1和a2都是double型变量,且a1的初值为3.0,a2的初值为2.0,则表达式pow(a2,fabs(a1))的值为。 6、表达式“8.2-2/3”的计算结果是。 7、若有定义:int a=25, b=14, c=19; 则表达式(a=bb?c:d):c)的值是。 8、设有以下结构体定义 struct emp { char name[8]; int age; char sex; }staff; 则用户定义的结构体类型名为。 9、表达式5>3&&2||8<4-!1的值。 10、已知int a[10]; ,则a占用内存个字节的存储单元,代表他们的首地址是 。 11、将str定义为字符数组并初始化为“Lei”的语句是。 12、设有定义:int n, *k=&n; ,以下语句利用指针变量k读写变量n中的内容,请将下列语句补充完整。scanf(“%d”, ); printf(“%d\n”, ); 13、设y是int型变量,请写出判断y为奇数的关系表达式:。 14、设有以下变量定义,并已赋确定值 char w; int x; float y; double z; 则表达式w*x+z-y所求得的数据类型为。 15、设i、j、k均为int型变量,则执行完下面的for循环后,k的值为。 for(i=0, j=10; i<=j; i++, j--) k=i+j; 16、语句:x++; ++x; x=x+1; x=1+x; 执行后都使变量x中的值增1,请写出一条相同功能的赋值语句(不得与列举的相同):。 17、设a,b,c均为整型数,且a=1,b=2,c=3,则语句a-=a+(++b)+(c--);被执行后a的值是。 18、若有定义“int a[2][3] = {1,3,5,7,9,11}; ”则a[1][0]的值是,*(*(a +1)+2))的值是。 19、设X为int型变量,请写出描述“X是偶数”的表达式是:。 20、C语言提供的三种逻辑运算符是、和!; 二、选择题 (1) 以下非法的赋值语句是 A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; (2) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

C语言程序设计期末考试及答案

第一次试验1.编写一个程序,求出给定半径r的圆的面积和周长,并且输 出计算结果。其中:r的值由用户输入,用浮点型数据处理。 #include<> voidmain() { floatPI=; floatr,area,perim; printf("请输入圆的半径:\n"); printf("r="); scanf("%f",&r); } 2.给一百分制成绩,要求输出成绩等 级’A’、’B’、’C’、’D’、’E’。90分以上 为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 #include<> voidmain() { intiNum; printf("请输入分数:"); scanf("%d",&iNum); switch(iNum/10) { case10: case9:printf("学生成绩A\n");break; case8:printf("学生成绩B\n");break; case7:printf("学生成绩C\n");break; case6:printf("学生成绩D\n");break; default:printf("学生成绩E\n");break; } }

3. 输入两个正整数m 和n ,求其最大公约数和最小公倍数。 #include<> intmain() { intp,r,n,m,temp; 4. printf("请输入两个正整数n,m:");.a (n 个a )之值,其中a 是一个数字。例如:2+22+222+2222+22222(此时n=5),n 由键盘输入。 #include<> intmain(void) { intsum=0; intsun=0; inta; intn; inti=0; printf("请入入a 值(整数):\n"); printf("a="); scanf("%d",&a); printf("请入入n 值:\n"); printf("n="); scanf("%d",&n); while(i

C语言程序设计期末考试试卷(A卷)

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

C语言程序设计期末考试试题(含答案)

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

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计期末考试试题及答案

C 语言程序设计 试 题 (2008 /2009 学年 第 二 学期) 一. 选择题(满分30分,每题2分) 1.若a 、b 、c 都定义为int 类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j 的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C 语言中函数返回值的类型由 D 决定的。 A. return 语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。 8. 若int i=10;执行下列程序后,变量i 的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A . char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案) 一、单项选择题(本大题共20题,每题2分,共40分) 1、以下不是C语言的特点的是() A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是() A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由() A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是() A、有零个或多个输入 B、有零个或多个输出 C、有穷性

D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为() A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是() A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是()。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123

C、45 D、345 8、若有以下定义int a,b;float x,则正确的赋值语句是() A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是() #include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是() #include main() { char c1='A',c2='Y';

C语言程序设计期末考试题及答案

装订线

装订线

装订线

订 线

庄子云:“人生天地之间,若白驹过隙,忽然而已。”是呀,春秋置换,日月交替,这从指尖悄然划过的时光,没有一点声响,没有一刻停留,仿佛眨眼的功夫,半生已过。 人活在世上,就像暂时寄宿于尘世,当生命的列车驶到终点,情愿也罢,不情愿也罢,微笑也罢,苦笑也罢,都不得不向生命挥手作别。 我们无法挽住时光的脚步,无法改变人生的宿命。但我们可以拿起生活的画笔,把自己的人生涂抹成色彩靓丽的颜色。 生命如此短暂,岂容随意挥霍!只有在该辛勤耕耘的时候播洒汗水,一程风雨后,人生的筐篓里才能装满硕果。 就算是烟花划过天空,也要留下短暂的绚烂。只有让这仅有一次的生命丰盈充实,才不枉来尘世走一遭。雁过留声,人过留名,这一趟人生旅程,总该留下点儿什么! 生活是柴米油盐的平淡,也是行色匆匆的奔波。一粥一饭来之不易,一丝一缕物力维艰。 前行的路上,有风也有雨。有时候,风雨扑面而来,打在脸上,很疼,可是,我们不能向生活低头认输,咬牙抹去脸上的雨水,还有泪水,甩开脚步,接着向前。 我们需要呈现最好的自己给世界,需要许诺最好的生活给家人。所以,生活再累,不能后退。即使生活赐予我们一杯不加糖的苦咖啡,皱一皱眉头,也要饮下。 人生是一场跋涉,也是一场选择。我们能抵达哪里,能看到什么样的风景,能成为什么样的人,都在于我们的选择。 如果我们选择面朝大海,朝着阳光的方向挥手微笑,我们的世界必会收获一片春暖花开。如果我们选择小桥流水,在不动声色的日子里种篱修菊,我们的世界必会收获一隅静谧恬淡。 选择临风起舞,我们就是岁月的勇者;选择临阵脱逃,我们就是生活的懦夫。 没有淌不过去的河,就看我们如何摆渡。没有爬不过去的山,就看我们何时启程。 德国哲学家尼采说:“每一个不曾起舞的日子,都是对生命的辜负。”让我们打开朝着晨光的那扇窗,迎阳光进来,在每一个日出东海的日子,无论是鲜衣怒马少年时,还是宠辱不惊中年时,都活出自己的明媚和精彩。 时间会带来惊喜,只要我们不忘记为什么出发,不忘记以梦为马,岁月一定会对我们和颜悦色,前方也一定会有意想不到的惊喜。 人生忽如寄,生活多苦辛。 短暂的生命旅程, 别辜负时光,别辜负自己。 愿我们每一个人自律、阳光、勤奋,

C语言程序设计期末考试及答案

第一次试验 1.编写一个程序,求出给定半径r的圆的面积和周长,并且 输出计算结果。其中:r的值由用户输入,用浮点型数据处理。 #include <> void main( ) { float PI=; float r,area,perim; printf("请输入圆的半径:\n"); printf("r="); scanf("%f",&r); } 2.给一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。 90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 #include <> void main() { int iNum; printf("请输入分数:"); scanf("%d", &iNum); switch (iNum / 10) { . case 10: case 9 : printf("学生成绩A\n");break; case 8 : printf("学生成绩B\n");break; case 7 : printf("学生成绩C\n");break; case 6 : printf("学生成绩D\n");break; default: printf("学生成绩E\n");break; } } 3.输入两个正整数m和n,求其最大公约数和最小公倍数。#include <> )

int main() { int p,r,n,m,temp; 4. printf("请输入两个正整数n,m:");.a (n 个a )之值,其中a 是一个数字。例如:2+22+222+2222+22222(此时n=5),n 由键盘输入。 #include<> int main(void) { int sum = 0; int sun = 0; int a; int n; int i = 0; printf("请入入a 值(整数):\n"); printf("a = "); scanf("%d", &a); printf("请入入n 值:\n"); printf("n = "); scanf("%d", &n); while (i main()

大学大一C语言程序设计期末考试试卷及标准答案

大学大一C语言程序设计期末考试试卷及答案

————————————————————————————————作者:————————————————————————————————日期:

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟 完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 题号 一 二 三 四 总分 总分人 分数 得分 评卷人 壱、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x \n″,~x^x);的结果是( ) A). ffffffff B). ff C). 0 D). 1 6、 对于while 语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句 __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

大学大一C语言程序设计期末考试试卷及答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。 2、闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x \n″,~x^x);的结果是( ) A). ffffffff B). ff C). 0 D). 1 6、 对于while 语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

C语言程序设计期末考试及答案

第一次试验 1.编写一个程序,求出给定半径r的圆的面积与周长,并且 输出计算结果。其中:r的值由用户输入,用浮点型数据处理。 #include void main( ) { float PI=3、1415; float r,area,perim; printf("请输入圆的半径:\n"); printf("r="); scanf("%f",&r); //输入半径r perim=2*PI*r; //周长=2πr area=PI*r*r; //面积=πr^2 printf("周长:%f\n面积:%f\n",perim,area); //输出周长与面积、、 } 2.给一百分制成绩,要求输出成绩等 级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 #include void main() { int iNum; printf("请输入分数:"); scanf("%d", &iNum); switch (iNum / 10) { case 10: case 9 : printf("学生成绩A\n");break; case 8 : printf("学生成绩B\n");break; case 7 : printf("学生成绩C\n");break; case 6 : printf("学生成绩D\n");break; default: printf("学生成绩E\n");break; } }

3.输入两个正整数m与n,求其最大公约数与最小公倍数。#include int main() { int p,r,n,m,temp; printf("请输入两个正整数n,m:");//请用空格隔开 scanf("%d%d,",&n,&m); if (n #include #include int i,a[4]; char t; int main() { printf("请输入字符串"); for(i=0;;i++) { scanf("%c",&t); if(t=='\n')break; else if(t>='A'&&t<='Z') a[0]++; else if(t>='a'&&t<='z')a[0]++; else if(t==' ')a[1]++;

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案 一、选择题 (1) 一个C语言程序总是从(C )开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定 (2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D ) A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案 一、单项选择题。从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内(每小题1分,共计30分)。 1.一个C 语言程序的执行是从()。 A )本程序文件的第一个函数开始,到 本程序文件的最后一个函数结束 B )本程序的main 函数开始,到main 函数结束 C )本程序的main 函数开始,到本程 序文件的最后一个函数结束 D )本程序文件的第一个函数开始,到 本程序的main 函数结束 2.下列选项中不属于... C 语言关键字的 是()。 A )switch B )printf C ) default D )case 3.设有语句inta=4;,则执行了语句 a+=a-=a*a;后,变量a 的值是()。 A )24 B )-24 C )4 D )16 4.已知inti;floatd;,则正确的表达 式是()。 A )(intd) B )int(d)%i C )(int)d%i D )int(d%i) 5.已知 inti,a;,执行语句 i=(a=3*9,a/5),a+11;后,变量i 的值是()。 A )5 B )16 C )27 D ) 38 6.下列选项中合法的字符型常量是()。 A )"a" B )'\n' C ) 7.下面程序的运行结果是()。 #include voidmain() {intk=15; printf("k=%d,k=%o,k=%x\n",k,k,k); } A )k=15,k=15,k=15 B )k=15,k=17,k=17 C )k=15,k=017,k=0xf D )k=15,k=17,k=f 8.已知a,b,c 为int 类型,执行语句: scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以 下不正确... 的输入形式是()。 A )10B )10C )10,20,30D )1020 20203030 30 9.已知intx=1,y=2,z=3;,执行下列程序段后,输出的结果是()。 if(x>y)z=x;x=y;y=z; printf("%d,%d,%d",x,y,z); A )1,2,3 B )2,3,3 C )2,3,1 D )2,3,2 ------------------------------------------第----------------------------2----------------------------装---------------------------------------线--------------------------------------------- 班级姓名 学号 ------------------------------------------第----------------------------1----------------------------装---------------------------------------线--------------------------------------------

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