《语言试卷及答案(共6页).doc》由会员分享,可在线阅读,更多相关《语言试卷及答案(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C语言程序设计考试试卷(答案)一、 填空题(每小空1分,共10分)1. C语言程序的三种基本结构是 顺序结构 、选择结构 、 循环结构 。2. 一个C程序有且仅有一个 main( ) 函数。3. C语言描述“x和y都大于或等于z”的表达式是 x=z & y=z 。4. C语言可以用来实现循环的结构化语句是 while 、 do while 、for。5. 数组名表示数组在内存的 首地址。6. int a=3,*p=&a;*p+2的值是 5 。二 、单项选择题(每小题2分,共70分)1 _B_是C语言合法的常量。 (A).45 (B)078 (C)25.6e3.4 (D
2、)xy2 一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结 束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。3 以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。4 以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。
3、 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)a和“a”是完全等价的常量。5 int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60 (D)176 设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7 (C)4.7 (D)4.037 执行下面两个语句后,输出的结果为_D_。char c1=98;printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B8 执行下面语句后的结果为 C 。y=10;x=
4、y+; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109 Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是 A 。 (A)double (B)char (C)int (D)float10 C语言中要求操作数必须是整数的运算符是 B 。 (A)/ (B)% (C)!= (D)=11 用scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。 (A)123,4 (B)123 4 (C)123;4 (D)12 以下关于运算符优先顺序的描述中正确的是_C_ (A)关系运算符算
5、术运算符赋值运算符逻辑与运算符 (B)逻辑与运算符关系运算符算术运算符赋值运算符 (C)赋值运算符逻辑与运算符关系运算符算术运算符 (D)算术运算符关系运算符赋值运算符逻辑与运算符13 下列程序段中,功能与其它程序段不同的是 B 。 (A)for(i=1,p=1;i=5;i+) p*=i; (B)for(i=1;i=5;) p=1;p*=i;i+; (C)i=1;p=1;while(i=5) p*=i;i+; (D)i=1;p=1;do p*=i;i+; while(i=5);14 C语言规定else总是与 D 配对。 (A)缩进位置相同的if (B)同一行上的if (C)其之前最近的if (
6、D)其之后最近的if15 以下程序的运行结果为_A_。main() int n; for( n1;n10;n+) if( n%3=0) continue; printf(“%d”,n); (A) (B)369 (C)12 (D)16 设x和y均为int型变量,则语句x+=y;y=xy;x=y;的功能是 D 。 (A)把x和y按从大到小排列 (B)把x和y按从小到大排列 (C)无确定结果 (D)交换x和y中的值17 变量的指针,其含义是指该变量的 _B_ (A)值 (B)地址 (C)名 (D)一个标志18 以下函数调用语句中含有 A 个实参。 func(e1,e2),(e3,e4,e5);(A)
7、2 (B)3 (C)5 (D)语法错误19 以下正确的描述是_B_(A)continue语句的作用是结束整个循环的执行(B)只能在循环体内和switch语句体内使用break语句(C)在循环体内使用break语句或continue语句的作用相同(D)goto语句只能用于退出多层循环20 以下程序运行的结果是 D 。 main()int a=2,b=3,c=2; if(ab) if(ac) c-; else c+=1; printf(“%dn”,c); (A)0 (B)1 (C)2 (D)321 int a4=2,3,4,I;i=a0*a1+a2*a3;i的值为 C 。 (A)2 (B)4 (C
8、)6 (D)1022 以下正确的函数定义形式是 C 。 (A)double fun(int x,int y); (B)double fun(int x;int y) (C)double fun(int x,int y) (D)double fun(int x,y)23 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。 (A)float型 (B)int型 (C)long型 (D)double型24 若有定义int a4=1,2,3;请问aaa0的值是 C 。 (A)1 (B)2 (C)3 (D)425 以下正确的描述是_B_ (A)函数的定义可以嵌套,函数的调用不可以嵌套 (B)函
9、数的定义不可以嵌套,函数的调用可以嵌套 (C)函数的定义和函数的调用均不可以嵌套 (D)函数的定义和函数的调用均可以嵌套26 以下不正确的说法是_A_ (A)在函数内的复合语句中定义的变量在本函数范围内有效 (B)在不同函数中可以使用相同名字的变量 (C)形参是局部变量 (D)函数调用结束后,静态局部变量的值仍然保留。27 已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&y+z/2的值是 D 。 (A)6 (B)0 (C)2 (D)128 main()int n4=1,2,3,4,k; for(k=0;k4;k+) if(k/2) break; nk+; printf(
10、“%dn”,n+k); 执行后输出的结果是 C 。 (A)2 (B)3 (C)4 (D)529 判断字符串是否相等,应当使用 D 。 (A)if(a=b) (B)if(a=b) (C)if(strcpy(a,b) (D)if(!strcmp(a,b)30 以下程序运行结果是 A 。void sub(int x,int y,int *z)*z=y-x;main()int a,b,c; sub(11,7,&a);sub(5,a,&b);sub(a,b,&c); printf(“%d,%d,%dn”,a,b,c); (A)-4,-9,-5 (B)-4,9,5 (C)4,-9,-5 (D)-4,9,-
11、531 以下程序运行结果是 B 。 main()int a23=1,3,5,4,7,6,i,j,b=a00; for(i=0;i2;i+) for(j=0;j3;j+) if(baij) b=aij; printf(“%dn”,b); (A)5 (B)7 (C)4 (D)132 以下程序运行结果是 C 。main()char s50=”I am a student”,c; int i,num=0,word=0; for(i=0;c=si;i+) if(c=) word=0; else if(word=0) word=1;num+; printf(“%dn”,num); (A)2 (B)3 (C
12、)4 (D)533 以下程序运行结果是 A 。#include main()char s50=”,*p=s; int i; i=*(p+5)-*(p+2); printf(“%dn”,i*strlen(s); (A)21 (B)24 (C)14 (D)2834 以下程序运行结果是 D 。 main()int a=1,2,3,4,5,6,7,8,9,i,j,k; for(i=0,j=8;ij;i+,j-) k=ai;ai=aj;aj=k; printf(“%dn”,a1+a5); (A)11 (B)12 (C)13 (D)1435 以下程序运行结果是 C 。 main()int x=1,2,3,
13、s,*p=x,i; for(i=0,s=1;i3;i+,p+) s*=*p; printf(“%dn”,s); (A)2 (B)4 (C)6 (D)8三 阅读填空(每小空2分,共20分)1. 计算球的体积。 main()float r,v; scanf(“ %f ”,&r); v=4*3.14*r*r*r/3 ; printf(“v=%6.2fn”,v);2. 判断质数。#include main()int i,flag=1,n; scanf(“%d”,&n); for(i=2;i=sqrt(n);i+) if( n%i=0 ) flag=0; break; if( found=1 ) printf(“%d是质数n”,n); else printf(“%d不是质数n”,n);3. 计算数组中元素的平均值。 main()float average(int a); int a10,i; float aver; for(i=0;i10;i+) scanf(“%d”,&ai); aver= average(a) ; printf(“average is %6.2f”,aver);float average(int a) int sum=0,i; float aver; for(i=0;i=A&si=a&si=z) j+; printf(“j=%dn”,j);专心-专注-专业
限制150内