文档详情

2015年程序设计基础c语言 考试样卷.doc

发布:2016-01-01约8.17千字共5页下载文档
文本预览下载声明
程序设计基础(C语言)考试卷(本科样卷) (理论部分)考试时间120分钟,答案请写在答题卡上 、选择题 (每小题2分,共0分) 1.以下语句中不包含关键字的是()。 A.x=sqrt(2); B.while(x!=0)x--; C.if(x0)x=-x; D.return x; 2.执行以下程序时, #includestdio.h main() { int a; float b; scanf(%3d%f,a,b);printf(%d\t%f,ab); } 若要求变量a和b分别从键盘获得输入值45和678.0,则以下四种输入数据中(凵代表”空格”键,↙代表”回车”键),不能达到该要求的输入数据是()。 A.45凵678↙B.45↙678↙ C.45,678↙D.045678↙ 3.已知有声明int x=2:,以下表达式中值不等于8的是()。 A.x+=2,x*2B.x+=x*=X C.(x+7)/2*((x+1)%2+1)D.x*7.2/x+1 4.已知有声明”int a=3, b=4, c;”,则执行语句”c=1/2*(a+b);”后,c的值是()。 A.0B.3C.3.5D.4 5.已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是()。 A.c=tolower(c)B.c=c+32 C.c=c-’A’+’a’D.c= (c +’A’)%26-’a’ 6.已有声明”char *s1=China, s2[10], *s3=Nanjing; *s4;”,以下字符串赋值语句在执行时可能出现错误的是()。 A.strcpy(s3, s1);B.strcpy(s4, s1); C.strcpy(s2, s1);D.strcpy(s2, s3); 7.执行以下程序后的结果是()。 #include stdio.h void main() { int x=3; Do { printf(%d\t, x=x-3); }while(!x); } A.输出一个数:0B.输出一个数:3 C.输出两个数:0和-3D.无限循环,反复输出数 8.设有声明”int p[10]={1, 2}, i=0;”,以下语句中与”p[i]=p[i+1], i++;”等价的是()。 A.p[i]=p[i+1];B.p[++i]=p[i]; C.p[++i]=p[i+1];D.i++, p[i-1]=p[i]; 9.已知有声明”int m[]={5,4,3,2,1},i=0;”,下列对m数组元素的引用中,错误的是()。 A.m[++i]B.m[5] C.m[2*2]=0D.m[m[4]] 10.若有函数fun的定义为 void fun(…) {static int a=1; … } 则下列叙述中不正确的是()。 A.在每次调用fun函数时,变量a的值是上次调用结束时a的值 B.在fun函数之外,可以用变量名a直接引用a的值 C.在其他函数中,可以出现声明double a=2.5; D.fun函数的形式参数不能取名为a 11.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()。 A.实参和其对应的形参占用同一存储单元 B.形参不占用存储单元 C.同名的实参和形参占用同一存储单元 D.形参和实参占用不同的存储单元 12.已有声明”int a[5];”,以下表达式中不能正确取得a[1]指针的是()。 A.a[1]B.++aC.a[0]+1D.a+l 13.若有如下声明和语句: int t[3][3], *pt[3], k; for(k=0; k3;k++) pt[k]=t[k][0]; 则表达式*(*(pt+1)+2)所引用的是()。 A.t[2][0]B.t[2][0]C.t[1][2]D.t[1][2] 14.若有如下的类型定义和变量声明,则在给出的选项中值不为7的表达式是()。 struct ss { int a; struct ss *b; }x[3]={{5, x[1]}, {7, x[2]}, {9, 0}}, *ptr=x[0]; A.ptr-aB.(++ptr)-a C.x[1].AD.x[0].b-a 15.下列叙述中正确的是()。 A.main函数必须出现在其他函数之前 B.main函数中至少必须有一条语句 C.C程序总是从main函数的第一条语句开始执行 D.C程序总是在执行完main函数的最后一条语
显示全部
相似文档