C语言试卷一

发布 2021-04-23 11:40:28 阅读 1902

聊城大学2004—2005学年第一学期期末考试《计算方法》试题。

第 1 页共 2 页。

一、 选择题(每小题2分,共50分)

1)下列不正确的转义字符是 ( c )

abc) '074' d) '0'

2)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为( d )

a) float b) int c) char d) double

3)表示关系x<=y<=z的c语言表达式为 ( a )

a) (x<=y)&&y<=z)

b) (x<=y)and(y<=z)

c) (x<=y<=z)

d) (x<=y)&(y<=z)

4)设a=1,b=2,c=3,d=4,整个表达式的值为: (d )

a) 4 b) 3 c) 2 d) 1

5)设x为int型变量,则执行 x=10; x+=x; 后, x的值为 ( b )

a) 10 b) 20 c) 40 d) 30

6)设x,y,z,t均为int型变量,则执行 x=y=z=1; t=++x||+y&&+z; 语句后,t的值为 ( c )

a) 不定值 b) 2 c) 1 d) 0

7)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为( b )

a) 100765.12 b) i=100,f=765.12

c) 100,765.12 d) i=100f=765.12

8)设x和y均为int型变量,则执行下列的循环后,y值为 ( c )

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

if(x= =10)} break;

if (x%2==1)

x+=5; continue;}

x-=3;a) 2 b) 4 c) 6 d) 8

9) 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是。

a)把x和y按从大到小排列

b)把x和y按从小到大排列

c)无确定结果。

d)交换x和y中的值。

10)给出以下定义: (c )

char x[ ]abcdefg";

char y[ ]

则正确的叙述为。

a) 数组x和数组y等价。

b) 数组x和数组y的长度相同。

c) 数组x的长度大于数组y的长度。

d) 数组x的长度小于数组y的长度。

11)以下叙述中不正确的是( d )

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

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

c) 函数内定义的变量只在本函数范围内有效。

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

12) 假定a和b为int型变量,则执行以下语句后b的值为( d )

a=1; b=10; do while (b--<0);

a) 9 b) -2 c) -1 d) 8

13) 在函数调用过程中,如果函数funa调用了函数 funb,函数funb又调用了函数funa,则。

a) 称为函数的直接递归调用。

b) 称为函数的间接递归调用。

c) 称为函数的循环调用。

d) c语言中不允许这样的递归调用。

14)设有以下宏定义: (c )

#define n 3

#define y(n) (n+1)*n)

则执行语句:z=2 * n+y(5+1));后,z的值为。

a) 出错 b) 42 c) 48 d)54

15)设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( b )

a) k=*p1+*p2; b) p2=k;

c) p1=p2; d) k=*p1 * p2);

16)设有如下定义: (d )

int arr=

int *ptr;

则下列程序段的输出结果为。

ptr=arr;

(ptr+2)+=2;

printf ("d,%d",*ptr,*(ptr+2));

a) 8,10 b) 6,8 c) 7,9 d) 6,10

17)以下程序的输出结果是( b )

main()

int i,k,a[10],p[3]:

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

for (i=0;i<3;i++)p[i]=a[i*(i+1)];

for (i=0;i<3;i++)k+=p[i]*2;

printf("%d",k);

a) 20 b) 21 c) 22 d)23

18)执行以下程序段后,m的值为( a )

int a[2][3]=,

int m,*p;

p=&a[0][0];

m=(*p)*(p+2))*p+4));

a) 15 b) 14 c) 13 d) 12

19) c语言规定,函数返回值的类型是由。

a) return语句中的表达式类型所决定。

b) 调用函数时的主调函数类型所决定。

c) 调用该函数时系统临时决定。

d) 在定义该函数时所指定的函数类型所决定。

20)有以下程序输出结果是( a )

#include “

main()

int a,b,c=246;

a=c/100%9;

b=(-1)&&1);

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

a) 2,1 b) 3,2 c) 4,3 d) 2,-1

21) 以下程序输出结果是( d )

main()

char a=programming", b=language";

char *p1,*p2;

int i;

p1=a; p2=b;

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

if(*(p1+i)==p2+i)) printf("%c",*p1+i));

a) gm b) rg c) or d) ga

22) 以下程序输出结果是( a )

viod fun (int a,int b,int c)

a=456; b=567; c=678;}

main()

int a=10, b=20,c=30;

fun (a,b,c);

printf("%d,/%d",a,b,c);

a) 30,20,10 b) 10,20,30

c) 456,567,678 d) 678,567,456

23) 以下程序输出结果是( c )

int fun(int x,int y,int *cp,int *dp)

*cp=x+y; *dp=x-y; }

main()

int a, b, c, d;

a=30; b=50;

fun(a,b,&c,&d);

printf("%d,%d", c, d);

a)50,30 b)30,j50 c)80,-20 d)80,20

24) 在c语言中,数组内的各元素:

a) 必须是同一类型 (b) 不必是同一类型。

c) 必须不相等 (d) 必须按数值大小排列。

25)当说明一个共用体变量时系统分配给它的内存是 (

(a)各成员所需内存量的总和

b) 结构中第一个成员所需内存量。

c)成员中占内存量最大者所需容量。

d) 结构中最后一个成员所需内存量。

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

1、c语言程序的三种基本结构是顺序结构、选择结构和循环结构。(

2、在c语言中整数只能表示为十进制数的形式。(

3、在c程序中,无论多大的整数还是实数,都能准确无误的表示。(

4、turbo-c语言中,字符类型数据占1个字节。(

5、空语句是合法的c语句。(

6、while语句的循环体不能是复合语句。(

7、for( ;s中的语句s必执行无穷多次。 (

8、break语句只能用于for循环。(

9、在main函数中定义的变量称为全局变量。(

三、 写程序运行结果(每小题4分,共20分)

1. abc(int a,int b)

int temp;

temp=a;

a=b;b=temp;

main()

printf(“%d”,m);

若输入89,则输出结果是:

void main()

int a

int y,*p=&a[1];

y=(*p)++

printf(“%d ”,y);

printf(“%d”,a[0]);

C语言试卷一

试卷 一 学号姓名成绩。一 填空题。1.一个c源程序户至少应包括一个函数。2.c语言程序中,一个char数据在内存中所占的字节数 一个int数据在内存中所占的字节数为 3.若有以下定义,则执行表达式y十 y一 m y后的y值 int m 5,y 2 4.若s是int型变量,且s 6,则表达式s 2十...

c语言试卷c

a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...

C语言模拟试卷一

模拟试卷一。1.一个c语言源程序,main函数的位置 c a 必须在最开始。b 必须在自定义函数的前面。c 可以放在某一用户函数定义之前,也可以放在某一用户函数定义之后d 必须在自定义函数的后面。2.在c语言中,不正确的实型常量 a a 123e 3.0b 123c 1.23e 1d 0.123 3...