《青海大学昆仑学院C语言期末考试试卷带答案.doc》由会员分享,可在线阅读,更多相关《青海大学昆仑学院C语言期末考试试卷带答案.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date青海大学昆仑学院C语言期末考试试卷带答案青 海 大 学 昆 仑 学 院 试 卷(A)青 海 大 学 昆 仑 学 院 试 卷(A)班级: 学号: 姓名: 考试课程: 程序设计语言(C) 考试日期:2011X年 7 月 日注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回一填空题(每空1分,共15分)1.一个C程序总是从 主函数(或main) 开
2、始执行的。2表达式2/3+7%4+3.5/7的值是 3.5 。3在函数内部定义只在本函数内有效的变量叫 内部变量(或局部变量) 。4C语言中用 1(或非零) 表示逻辑值“真”,用 0 表示逻辑值“假”。5. 将数学式改写成C语言表达式为 sqrt(a+b*b) 。6. 有程序段:int f=-1;printf(“%d,%u”,f,f);则输出结果为 -1 、 65535 。7. 数组在内存中占 连续 的存储区,用 数组名 代表其首地址。8有定义static int a52,4,6,8,10,*p; p=&a0; 与p=&a0等价的语句是 p=a ,*(p+1)的值是 4 ,*(a+2)的值是
3、6 。9有结构体和共用体的变量定义如下: struct aaint a;char c;float x;b1;union bbint a;char c;float x;b2;则变量b1和b2占用的内存空间的字节数分别为 7 和 4 。二选择题(每小题2分,共计40分)1下列变量名合法的是( B )。AB.C.TOM B_test C3a6b Dab$2C语言中运算对象必须是整型的运算符是( B )。A / B% C! D*3以下程序的输出结果是( D )。Aa=%2,b=%5 Ba=2,b=5 Ca=%d,b=%d Da=%d,b=%dmain() int a=4,b=9; printf(“a=
4、%d,b=%dn”,a,b);4下列程序的输出结果是( C )。A18 B9 C-18 D-9main() int a=9;a+=a-=a+a;printf(“%dn”,a); 5.为表示关系abc,应使用的C语言表达式是( A )。A.(a=b)&(b=c) B.(a=b)AND(b=c) C.(a=b=c) D(a=b)&(b=c)6字符型常量在内存中存放的是( B )。ABCD代码 BASCII代码 C内部码 D 十进制码7对下面程序段描述正确的是( D )。A while循环执行了10次 B 循环是无限循环C 循环体语句一次也不执行 D 循环体语句只执行一次 int x=10;do x
5、=x-1; while(x=0);8. 下面选项中,与if(a)等价的是(D )。Aif(a=0) Bif(a!=0) Cif(a=0) D if(a=1)9.有程序段: int n=1;do+n;n=n*5;while(n=10); ( B )A执行一次 B执行2次 C不执行 D执行无限次10若有声明语句:int b24;则对a数组元素的正确引用是( A )。Ab13 B b14 C b24 Db0411欲将字符串“kunlun college”赋给字符数组str,正确的语句是( D )。Astr=“kunlun college”; Bstr=“kunlun collegen”;Cstrcp
6、y(“kunlun college”,str); Dstrcpy(str ,“kunlun college”);12语句printf(“%dn”,strlen(“xining”);的输出结果是( B )。A7 B6 C存在语法错误 D不定值13以下函数的类型是( C )。A与参数x的类型相同 Bvoid类型 Cint类型 D无法确定ff(float x) printf(“%dn”,x*x);14. 若用数组名作为函数调用的实参,传递给形参的是(A )A数组的首地址 B数组第一个元素的值C数组中全部元素的值 D数组元素的个数15以下不正确的说法是( C )。A在C语言中允许函数递归调用B函数值类
7、型与返回值类型出现矛盾时,以函数值类型为准C形参可以是常量、变量或表达式DC语言规定,实参变量对形参变量的数据传递是“值传递”16以下程序的输出结果是( D )。A15 B100 C10 D150#define MAX(x,y) (x)(y)?(x):(y)main() int i=10,j=15,k;k=10*MAX(i,j); printf(“%dn”,k);17函数直接或间接地自己调用自己,被称为函数的( A )。A递归调用 B主函数调用 C自定义调用 D嵌套调用18.下列说法中错误的是( D )。A枚举类型中的枚举元素是常量 B一个整数不能直接赋给一个枚举变量C枚举类型中枚举元素的值都
8、是从0开始以1为步长递增 Dtypedef可以用来定义新的数据类型19在C语言中,对文件的存取是以( A )为单位的。 A. 字节 B.函数 C. 记录 D.模块 20当fclose函数正确执行后,函数的返回值是( A)。 A0 B-1 C1 D非零值三阅读下列程序,按题意填空(每空2分,共计16分)1有以下程序(求20以内的偶数和,包括20)。请填空:#include main() int n=0,sum=0; do n+;if( n%2=0 ); sum+=n; while( n=20 ); printf(“%dn”,sum); 2以下程序判断输入的一个整数m是否既能被4又能被6整除,若能
9、整除,输出“YES”,若不能整除,输出“NO”。请填空:#include main() int m; printf(“Enter a int number:”); scanf(“%d”, &m ); if( m%4=0 & m%6=0 ) printf(“YESn”);else printf(“NOn”);3以下程序的功能是输出杨辉三角形。请填空:#include main( ) int a1010,int i,j; for(i=0;i10;i+) ai0=1;for( i=1(或i=0);i10;i+) aii=1;for( i=2 ;i10;i+) for(j=1; ji ;j+) aij
10、= ai-1j-1+ai-1j ; for(i=0;i10;i+) for(j=0;j=i;j+) printf(“%4d”,aij);printf(“n”); 四程序阅读题(每题3分,共计9分)1#include 输出结果: 8 。main()int k=5,m=1;switch(k) case 1: m+;case 5: m*=4;case 9: m+=4; break;default: m+=3; printf(“%d”,m) ; 2#include 输出结果: 12 。main( )int i,j,a33=1,3,5,2,4,6,9,8,7;int sum=0; for(i=0;i=2
11、;i+) sum+=aii;printf(“%dn”,sum); 3int a=9,b=5; 输出结果: 3 。 int min(int a, int b) int c;c=ab?a:b; return(c);main( ) int a=3; printf(“min=%d”,min(a,b);五编程题(共计20分)1 (8分)利用循环求12+22+32+42+52。#include main( )int i,sum=0;for(i=1;i=5;i+) sum+=i*i; printf(“%dn”,sum); 2(6分)从键盘输入8个任意整数,计算数组中所有的负数之和(用一维数组)。 #include main( )int i,j,a8, sum=0; printf(“Please input 8 numbers:n”);for(i=0;i8;i+) scanf(“%d”,&ai);for(i=0;i8;i+) if(ai0) sum=sum+ai;printf(“%dn”,sum); 3(6分)利用函数编写求两数相乘的函数xc( )。#include float xc(float x,float y) return (x*y);main( )float a,b,c;scanf(“%f,%f”,&a,&b);c=xc(a,b); printf(“c=%fn”,c); -