C语言试卷A

发布 2020-05-16 23:28:28 阅读 6744

青海大学试卷(a卷)

系别: 班级学号姓名。

考试课程: 程序设计基础(c) 考试日期:2009 年 12月17日。

注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。

一.填空题(每空1分,共16分)

1.整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 。

2.数组在内存中占连续的存储区,用数组名代表其首地址。

3. 在函数内部定义的只在本函数内有效的变量叫局部变量 ,在函数以外定义的变量叫全局变量 。

4.调用一个函数时,实参变量和形参变量之间的数据传递是值 ;若用数组名作为实参,则实际上传递给形参的是地址。

5. 有这样的定义:static int a[5]=;int *p; p=&a[0];则与p=&a[0]等价的语句 p=a,*(p+1)的值是 4 ,*a+3)的值是 8 。

6.有说明char s1[40],s2[20]= you are a teacher.";如果想从键盘上把字符串"i am a student."输入到数组s1中,函数调用的语句是 strcpy(s1,“i am a student能把s2中的字符串接到s1中的字符串后面的函数调用的语句是 strcat(s1,s2

7.c语言中逻辑运算符的优先级高于算术运算符。

8.在c语言中,声明枚举类型用关键字 enum开头。

9.在c语言中,文件的存取是以字符为单位的,这种文件被称作流式文件。

二.选择题(每小题2分,共40分)

1.可以在c语言中用做用户标识符的是( b )。

a.else b.a_b1 c.for d.2cd

2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(c )。

a.1 b.2c.2.0 d.2.5

3.以下程序的输出结果是( d)。

main( )

int m=10; printf("%d,%d,%d",-m,++m,++m);

a.9,10,11 b.10,10,11 c.9,12,11 d.11,12,11

4.c语言中,逻辑"真"等价于(b )。

a.大于零的数 b.非零的数 c.小于零的数 d.非零的整数。

5.c语言程序的执行总是从( b )开始。

a.编译预处理命令b.main函数的入口。

c.源程序的第一个函数d.源程序的第一行语句。

6.在c语言中,字符型数据在内存中以( a )形式存放。

a.ascii码 b.补码 c.反码 d.原码。

7.a为5,执行下列语句后,b不为2的是( c)。

a.b=a/2 b.b=6-(-a) c.p[. b=a%2 d. b=a>3?2:1

8.若有float x;则sizeof(x)和sizeof(float)两种描述( a)。

a.都正确 b.都不正确 c.前者正确 d.后者正确。

9.若有定义char s=‘\092’;则该语句( b )。

a.使s的值包含1个字符 b.定义不合法,s的值不确定。

c.使s的值包含4个字符 d.使s的值包含3个字符。

10.以下概念正确的是(d )。

a.形参是虚设的,所以它始终不占用存储单位。

b.实参与它所对应的形参同名时可占用一个存储单元。

c.实参与它所对应的形参占用一个存储单元。

d.实参与它所对应的形参占用不同的存储单元。

11.以下程序的输出结果是( c )。

void increment(void)

static int x=0; x++;printf("%d,",x) ;

main( )

increment( )

increment( )

increment( )

a.1,1,1, b.3,2,1, c.1,2,3, d.x的值不确定。

12.以下程序的输出结果是( b )。

main( )

int i,s=0;

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

s=s+i*i*i;

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

a.s1 b.s=9 c.s=8 d. 值不确定。

13.请选出以下程序的输出结果(b )。

sub(int x, int y,int *z)

*z=y-x;}

main( )

int a,b,c;

sub(10,5,&a);sub(7,a,&b); sub(a,b,&c);

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

a.5,2,3 b.-5,-12,-7 c.-5,-12,-17 d.5,-2,-7

14.以下程序的输出结果是( a )。

#include <>

main float a=-1,b=2;

printf("%0f,%.0f",pow(b,fabs(a)),pow(fabs(a),b));

a.2,1 b.2,2 c.1,2 d.以上三个都不对。

15.下列选项中正确的语句组是( d )。char s[8] =jianzhu”;

a.char s[8] ;s=;

c.char s[8] ;s="jianzhud.char *s; s="jianzhu";

16.以下程序输出的结果是( a )。

fun(int a,int b,int c)

c=a*b;}

main( )

int c;fun(4,3,c);printf("%d",c);}

a.无定值 b.1 c.6 d.0

17.以下程序段的输出结果是( a )。

a.32,28,15 b.40,36,15 c.32,28,7 d.32,28,7.5

int x=20,y=40,z=30;

while(x18.以下程序的输出结果是( c)。联合体。

a.32b.16c.8d.24

typedef unionmytype;

mytype them;

main()

19.语句printf("%d",strlen("xini\0ng"))的输出结果是( c )。

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

20.fread和fwrite函数常用来要求一次读入/输出(b )数据。

a.一个整数 b.一组 c.一个字节 d.一个实数。

三.阅读下列程序,按题意填空(每空2分,共20分)

1.以下程序是判断某年(year)是否是闰年,请填空。

#include <>

main()

int year;

printf("please input year:")

scanf("%d",&year);

if((year%4==0 &&year% 100 !=0year%400==0)

printf("a leap year.";

2.输入一行字符,分别统计出其中英文字母、空格、数字以及其它字符的个数。

#include <>

main( )

char c;int letter=0,space=0,digit=0,other=0;

printf("please input: ")

while((c=getcharn’)

printf("%d, %d, %d, %d ",letter, space, digit, other );

3.以下函数的功能是把两个整数指针所指的存储单元中的内容进行交换。请填空。

change(int *x, int *y)

int *t; *t=*y;*y=__x___x=__t___

4.用数组求fibonacci数列前20个数,要求每行输出5个数据。

#include <>

main( )

int i;int f[20]=;

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

f[i]= f[i-2]+f[i-1

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

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

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

C语言试卷A

姓名 班级 学号 密封线请在本线宽度范围内出题。新余高专2010 2011学年第二学期计算机系各班。c语言程序设计 期末试卷 a 卷出卷人 何巍批准人 一 选择题 15 2 30分 1 以下叙述中正确的是。a c语言比其他语言高级b c语言可以不用编译就能被计算机识别执行c c语言以接近英语国家的自...