C语言期末试卷A

发布 2021-04-23 13:39:28 阅读 4609

一、单选(20%,每题1分)

1、以下叙述不正确的是。

a、一个c源程序可由一个或多个函数组成。

b、一个c源程序必须包含一个main( )函数。

c、c程序的基本组成单位是函数。

d、在c程序中,注释说明只能位于一条语句的后面。

2、以下选项中,能用作用户标识符的是( )

a、void b、8_8 c、_0_ d、unsigned

3、若有定义:int x=3,y=4;则表达式!x||y的值为( )

a、1 b、0 c、3 d、4

4、对于类型相同的指针变量,不能进行的运算是( )

a、+ b、 -c、= d、==

5、以下程序段的运行结果是( )

enum weekdayweek=ee;

printf(“%d”,week);

a、ee b、5 c、 2 d、4

6、下面程序中,结构体变量a所占的内存字节数是( )

union u

char st[4]; int i; long l;};

struct a

int c; union u u;}a;

a、4 b、5 c、 6 d、8

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

main( )

int a=p;

p=a;(p+3)+=2;

printf(“%d,%d”,*p,*(p+3));

a、2,4 b、 2,6 c、1,4 d、1,6

8、下面说法不成立的是( )

a、结构体可以嵌套定义 b、共用体可以嵌套定义

c、结构体的成员不可以是共用体

d、结构体的成员可以是共用体、结构体和基本数据类型。

9、以下程序的输出结果是( )

void main( )

char a=3,b=6; char c=a^b<<2; printf(“%d”,c);}

a、10b、20 c、27 d、28

10、以下对结构体变量stu1 中成员age的非法引用是( )

struct studentstu1,*p;

p=&stu1;

a、 b、 c、p->age d、(*p).age

11、当调用函数时,实参是一个数组名,则向函数传递的是( )

a、数组的首地址b、数组的长度

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

12、以下程序的输出结果是( )

#define sum(y) 1+y

main( )

int x=2;

printf(“%d”,sum(5)*x);}

a、 10 b、 11 c、12 d、15

13、以下运算符中优先级最高的是( )

ab、

14、在c 语言中,用“w”方式打开一个已含有10个字符的文本文件,并写入了5个新字符,则该文件中存放的字符是( )

、新写入的5个字符。

b、新写入的5个字符覆盖原有字符中的前5个字符,保留原有的后5个字符。

c、原有的10个字符在前,新写入的5个字符在后。

d、新写入的5个字符在前,原有的10个字符在后。

15、若有定义:int *p,a=4; p=&a;则以下均代表地址的是( )

a、a,p b、&a,p c、&a,*p d、a,*p

16、下面函数调用正确的是( )

a、fopen(‘ b、fprintf(“%ld”,data,fp) ;

c、fclose(“

17、函数调用语句fseek(fp,-10l,2);的含义是( )

a、将文件位置指针移动到距离文件头10个字节处。

b、将文件位置指针从当前位置向文件尾方向移动10个字节。

c、将文件位置指针从当前位置向文件头方向移动10个字节。

d、将文件位置指针从文件末尾处向文件头方向移动10个字节。

18、以下程序运行后,屏幕显示file open error!,则可能的原因是( )

main()

file *fp;char str[256];

fp = fopen(""rt");

if(fp==null)

fscanf(fp,"%s",str);

fclose(fp);}

a、当前工作目录下有文件,但文件太小。

b、文件不能关闭。

c、当前工作目录下没有文件。

d、当前工作目录下有文件,但文件太大。

19、下面程序的输出结果是。

main( )

union us;

printf(“%d”,a、28 b、1000 c、0 d、不确定。

20、.以下程序段运行后x的值为。

int a[9]=;

int *p,*q;

int i,x;

p=&a[0]; q=&a[8];

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

if(*(p+i)==q-i))

x=*(p+i)*2;

a、2 b、4 c、6 d、8

二、填空(10%,每个空格1分)

1、对于整型变量x和y,语句for(x=0,y=0;(y!=20)&&x<4);x++)y++;

中的“y++;被执行次数为。

2、在c语言中,表示逻辑“真”值用___表示。

3、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是。

4、若fp已正确定义并指向某个文件,当末遇到该文件结束标志时,函数feof(fp)的返回值是。

5、设int a[5]=,p;p=a;则语句*++p的值为。

6、c语言可以处理的文件类型是二进制文件和。

7、c语言函数返回类型的默认定义类型是。

8、设x=2,y=3,则表达式x<9、程序段char a=abc\0mis";printf("%d",strlen(a));运行后屏幕输出为___

10、用来定义符号常量的预处理指令是。

三、程序分析题(24%,每题6分)

#include<>

void test(int *x,int *y)

void main( )

int a=10,b=20;

test(&a,&b);

printf(“a=%d,b=%d”,a,b);}

运行结果:#include<>

main( )

struct testx;

printf(“%d,%c”,运行结果:

#include<>

main( )

file *fp;int i=1,j=2,k,n;

fp=fopen(“

fprintf(fp,”%d”,i);

fprintf(fp,”%d”,j);

fclose(fp);

fp=fopen(“

fscanf(fp,”%d%d”,&k,&n);

printf(“%d,%d”,k,n);

fclose(fp);

运行结果:4、void fun(char s1)

*(s1+j)=’0’;}

main( )

char str=morning”,*p;

p=str;

fun(p);

puts(p);}

运行结果:四、程序填空题(16%,每个空格2分)

1、下列程序输出数组中的最大值及最小值。请填空。

#include<>

main( )

int a[10]=;

int *p,max,min;

for(p=a;p

2、有3个学生的成绩需要保存在文件中。保存格式如下:

学生姓名,年龄,成绩,学生姓名,年龄,成绩,学生姓名,年龄,成绩,请完成下面这段源程序。

#include<>

C语言期末试卷

考试课程 c语言程序设计考试时间 120分钟 本卷共有3道大题 一 单项选择题 40道小题,共45分 1 若已定义x和y为整型变量,且x 7,则表达式y 2.3 x 2的值是 1分 a 6 b 5 c 5.0 d 6.0 2 已知字母a的ascii码为十进制数65,且定义c2为字符型变量,则执行语句...

C语言期末试卷

一 单项选择题。1.c语言源程序文件经过c编译程序编译连接之后生成一个后缀为 c 的文件。a c b obj c exe d bas 2.以下选项中不正确的整型常量是 c a 12l b 10 c 1,900 d 123u 3.表达式 c 的值是0。a 3 5 b 3 5.0 c 3 5 d 3 5...

C语言期末试卷A

一 单项选择题 每空 2 分,共 50 分 请将各小题正确答案的字母序号填到相应小题的下划线上 1.c语言的运算符按运算对象的数目可以分为 a 单目运算一种b 单目和双目运算符。c 单目 双目和三目运算符 d 单目 双目 三目运算和四目运算符。2.c语言表达式2 5 10的值是 a 0.04 b 4...