C语言程序设计(专升本)A卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》(专升本)期末试卷 A卷
一、单选题(每小题4分,共60分)
1.下列是C语言提供的合法的数据类型关键字的是( B )A.Float B.long
C.Integer D.Char
2.在以下各组标识符中,合法的标识符是( A )A.B01 B.table-1
C.0_t D.k%
3.假定x和y为double型,表达式x=2,则y=x+3/2的值是( A )A.3.500000 B.3
C.2.000000 D.3.000000
4.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( D )A.k%2 B.k%2==1
C.(k%2)!=0D.!k%2==1
5.为了计算s=10!(即10的阶乘),则s变量应定义为( C )A.int B.unsigned int
C.long D.以上三种类型均可
6.以下不能正确计算代数式0.25sin2(0.5)值的C语言表达式是( A )A.1/4*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/4
C.pow(sin(0.5),2)/4D.1/4.0*pow(sin(1.0/2),2)
7.设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是( A )A.(!a==1)&&(!b==0) B.(a
C.a&&b D.a||(b+b)&&(c-a)
8.有以下程序段:
int k=0,a=1,b=2,c=3;
k=ac?c:k;
执行该程序段后,k 的值是( B )A.3 B.2 C.1 D.0
9.设该变量已正确定义,则以下能正确计算f=n!的程序段是( D )
A.f=0; B.f=1;
for(i=1;i<=n;i++) f*=i; for(i=1;i C.f=1; D.f=1; for(i=n;i>1;i++) f*=i; for(i=n;i>=2;i--) f*=i; 10.有以下程序: main() { int a[]={2,4,6,8,10},y=0,x,*p; p=&a[1]; for(x=1;x<3;x++) y+=*(p+x) printf(“%d\n”,y); } 程序运行后的输出结果是( C )A.10B.11 C.14 D.15 11.以下关于函数的叙述中正确的是( B )A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可单独运行 D.在一个函数内部可以定义另一个函数 12.若有语句:char *line[5];,以下叙述中正确的是( A )A.定义line是一个数组,每个数组元素是一个基类型为char的指针变量B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C.定义line是一个指针数组,语句中的*号称为间址运算符 D.定义line是一个指向字符型函数的指针 13.有如下程序: #define N 2 #define M N+1 #define NUM 2*M+1 #main() { int i; for(i=1;i<=NUM;i++)printf(“%d\n”,i); } 该程序中的for循环执行的次数是( B ) A. 5 B. 6 C.7 D. 8 14.有如下程序段: int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a的值为( B )A.12 B.11 C.10 D.编译出错15.有如下定义: struct person{char name[9]; int age;}; stru ct person class[10]={“Johu”, 17,“Paul”, 19,“Mary”, 18,“Adam 16,}; 根据上述定义,能输出字母M的语句是( D )A.prinft(“%c\n”,class[3].mane); B.pfintf(“%c\n”,class[3].name[1]); C.prinft(“%c\n”,class[2].name[1]); D.printf(“%c\n”,class[2].name[0]); 二、填空题(每空2分,共20分) 1.一个C语言程序总是从main(或主函数)开始执行。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为_____字母或下划线________________。 3.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为__2.5____。 4.如下为闰年的判断条件,须满足如下两个条件之一: 1)能被400 整除; 2)能被4 整除,并且不能被100 整除。 写出如上的条件表达式(设年份为int y):_y%400==0||y%4==0&&y%100 !=0;_。5.若有定义:double x[3][5],则x数组中行下标的最大值为___2____,列下标的最大值为___4____。 6.函数的实参传递到形参有两种方式:___传值______和___传地址______。7.C语言中的逻辑运算符共有三种,分别是:&&、___ ||____、___!_____。