c语言历年试卷

发布 2021-04-23 11:39:28 阅读 1497

一、 单选题(四个选项中,只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。共50道小题,80分,其中1-20题每题1分,21-50题每题2分)

1. 下列4个选项中,( 是合法的用户自定义标识符。

a. b-b b. floatc. 2ad. _isw

2. 下列表达式中值为0的是。

a.3%5b.3/5.0c.3/5d.3.0/5

3. 在c 程序中,用( )表示逻辑值“真”。

a.1 b. 非0的数 c. 非 1 的数 d. 大于 0 的数。

4. 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是( )

a. 1/a*b*cb.1/(a*b*cc.1/a/b/(float)c

d.1.0/a/b/c

5. 若有说明和语句:

int a=5;

a;此处表达式++a的值是( )

a.7b.6c.5d.4

6. 以下所列的c语言常量中,错误的是( )

a. 0xff b.1.2e0.5 c.2l d.'c'

7. 以下程序段的输出结果是( )

int a=1234;

printf("%2d",a);

a.12 b.34 c.1234 d.提示出错、无结果。

8.若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值是( )

a.-3 b.9 c.-6 d.6

9.若变量c为char类型,能正确判断出c为小写字母的表达式是( )

a.'a'<=c<= z' b.(c>= a')|c<= z')

c.('a'<=c)and ('z'>=c) d.(c>= a')&c<= z')

10. 有以下程序段

int n=0,p;

do while(p!=12345&&n<3);

此处do-while循环的执行条件是( )

a.p的值不等于12345并且n的值小于3

b.p的值等于12345并且n的值大于等于3

c.p的值不等于12345或者n的值小于3

d.p的值等于12345或者n的值大于等于3

11. 若定义:int a=511,*b=&a;, 则printf("%d",*b);的输出结果为( )

a.无确定值 b.a的地址 c.512 d.511

12.以下所列的各函数首部中,正确的是( )

a.void play(var :integer,var b:integer)

b.void play(int a;b)

c.void play(int a,int b)

d.sub play(a as integer,b as integer)

13.设 int x=1, y=1; 表达式(!x||y--)的值是( )

a. 0 b. 1 c. 2 d. -1

14.当调用函数时,实参是一个数组名,则向函数传送的是( )

a.数组的长度b.数组的首地址。

c.数组每一个元素的地址 d.数组每个元素中的值。

15. 设有以下说明语句。

typedef struct

int n;

char ch[8];

per;则下面叙述中正确的是( )

a.per 是结构体变量名b.per是结构体类型名。

c.typedef struct 是结构体类型 d.struct 是结构体类型名。

16. 若有说明语句: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,d); d.scanf("%d%d%d",a,b,*d);

17.对于基类型相同的两个指针变量之间,不能进行的运算是( )

a.< b.= c.+ d.-

18.在c语言中,局部变量的隐含存储类别是( )

a.auto b.static c.extern d.无存储类别。

19. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( )

a. x||y b. x|y c. x&y d. x^y

20.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )

a.无返回值 b.0 c.非零值 d.null

21. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )

a.for(i=1,p=1;i<=5;i++)p*=i;

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

c.i=1;p=1;while(i<=5)

d.i=1;p=1;dowhile(i<=5);

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

a.4 b.16 c.32 d.52

23.假定有以下变量定义:

int k=7,x=12; 则能使值为3的表达式是( )

a.x%=(k%=5) b.x%=(k-k%5) c. x%=k-k%5

d.(x%=k)-(k%=5)

24.下列程序执行后的输出结果是( )

a.6 b.8 c.10 d.12

#define ma(x) x*(x-1)

main()

25. 以下程序的输出结果是( )

main()

char cf[3][5]=;

printf("%s",cf[1]);

a.aaaa b.bbb c.bbbcc d.cc

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

a=1; b=10;

dob-=a; a++;

while (b--<0);

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

27. 下列程序的输出结果是( )

main()

double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

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

a. 3 b. 3.2 c. 0 d. 3.07

28. 以下程序的输出结果为( )

main()

i++;s+=i;

while(i<7);

printf("%d",s);

a.16 b.12 c.28 d.21

30. 设有如下定义:

int arr=

int *ptr;

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

ptr=arr;

* (ptr+2)+=2;

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

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

31. 以下程序的运行结果是( )

fun(int x, int y, int z)

z=x*x+y*y; }

main()

int a=31;

fun(5,2,a);

printf("%d",a);

a. 0 b. 29 c. 31 d. 无定值。

32. 定义如下变量和数组:

int i;

int x[3][3]=;

则下面语句的输出结果是( )

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

a.1 5 9b.1 4 7c.3 5 7d.3 6 9

33. 有以下程序段。

char arr=abcde";

char *ptr;

for(ptr=arr;ptr 输出结果是( )

a. abcd b. ac. ed. abcde

bdbcde

cccdedbdeeae

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语言试卷A

青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...

C语言试卷

一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...