C语言程序设计试卷A
期末测试卷1
一、选择题(每小题4分,共60分)
1.C语言源程序名的后缀是()
A).exe B) .C C) .obj D) .cp
2.下面不合法的C语言标识符有()
A) A3?B B) _4x C) 3xy D) a2+b
3.若x和y是double类型,则表达式x=1,y=x+3/2执行后的值为()
A) 1 B) 2 C) 2.0 D) 2.5
4.以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A) 均占4个字节 B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义 D)由C语言编译系统决定
5.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A)x=y==5; B)x=n%2.5; C)x+n=1; D)x=5=4+1;
6.以下选项中,当x为大于1的奇数时,值为0的表达式( )
A) x%2==1 B) x/2 C) x%2!=0 D) x%2==0
7.以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C) break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
8.在一个完整的C语言源程序中,必须包含的函数是( )
A) main( ) B) scanf( ) C) printf( ) D)getchar( )
9.执行下列两个语句后,输出的结果为()
char c1=97,c2=98;
continue语句执行过程printf(“%c%d”,c1,c2)
A) 97 98 B)a 97 C)97 b D) a 98
10.在C语言中,函数返回值的类型最终取决于( )
A) 函数定义时在函数首部所说明的函数类型
B) return语句中表达式值的类型
C) 调用函数时主函数所传递的实参类型
D) 函数定义时形参的类型
11.关于C语言中的do…while循环,下列说法正确的是()
A.必须使用break才能跳出循环
B.循环体至少执行一次
C.可以使用continue结束循环
D.while后的条件满足时跳出循环
12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
13.若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是()
A. a[2][1]
B. a[2][3]
C. a[0][3]
D. a[1][1]
14.以下叙述中正确的是( )
A)C语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,用以命名任意一个函数作为主函数
15.以下为一维整型数组a的正确说明是()
A)int a(10); B)int n=10,a[n];
C)int n; D)#define SIZE 10;
scanf("%d",&n); int a[SIZE];
int a[n];
二、填空题(每空2分,共20分)
1. C语言的语句结束标志是 ____________。
2.定义一个符号常量EOF,使其与-1等价,则正确的表示方式为____________。
3.在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的
4.定义a为共有16个元素的一维字符数组、同时定义p为指向a数组首地址的指针变量的语句为_______________。
5.函数的实参为数组名时,形参与实参结合的传递方式为_______________。
6.已定义:char c=‘’;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为_______________ 。
7.设有如下程序段c har s[20]=”Beijing”,*p;p=s;则*p= _______________。
8.C语言中,一个长度为n的字符串要占用n+1个字节的存储空间,多出来的一个用来存放_______________ 。
9.当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行_________次。#include
void main()
{
char ch;
While((ch=getchar())!=’0’) printf(“#”);
return 0;
}
三、程序分析(每小题10分,共20分)
1.根据以下源程序,程序运行后的输出结果是______________
#include
void main()
{int x=3,y;
if(x<0) y=-1 ;
else if(x==0)
y=0;
else
y=-1;
printf(“x=%d,y=%d\n”,x,y);
}
2.有以下程序,程序运行后的输出结果是__________________
#include
void main()
{int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j); printf(“\n”);
}
}
参考答案
一、选择题
1-5: B B D D A
6-10: D C A D A
11-15: B D D C D
二、填空题
1.分号(;)
2.#define EOF -1
3.scanf printf
4.char *p,a[15];
p=a;
5.地址传递
6.0
7.B
8.\n
9.9
三、程序分析
1.该程序实现的符号函数的功能,即:当x>0,y=1 ;x=0,y=0;x<0,y=-1。
2.1×1=1 1×2=2 1×3=3
2×2=4 2×3=6
3×3=9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。