2022年青海大学昆仑学院C语言 .pdf
第 1 页 共 3 页青 海 大 学 昆 仑 学 院 试 卷(A)班级:学号:姓名:考试课程:程序设计语言( C)考试日期:2011X 年 7月日注:所有答案均写在答题卡上, 答在试卷上不得分,考试结束后试卷和答题卡一并交回一填空题(每空1 分,共 15 分)1.一个 C 程序总是从主函数(或main)开始执行的。2表达式2/3+7%4+3.5/7 的值是3.5。3在函数内部定义只在本函数内有效的变量叫内部变量(或局部变量)。4C 语言中用1(或非零)表示逻辑值“真” ,用0表示逻辑值“假” 。5.将 数 学 式2ba改 写 成C 语 言 表 达 式 为sqrt(a+b*b)。6.有程序段: intf=-1 ;printf(“%d,%u ”,f,f);则输出结果为-1、65535。7.数组在内存中占连续的存储区,用数组名代表其首地址。8有定义 staticinta5 2,4,6,8,10,*p;p=&a0 ;与 p=&a0 等价的语句是p=a,*(p+1) 的值是4,*(a+2) 的值是6。9有结构体和共用体的变量定义如下:structaainta;charc;floatx;b1;unionbbinta;charc;floatx;b2;则变量b1 和 b2 占用的内存空间的字节数分别为7和4。二选择题(每小题2 分,共计40 分)1下列变量名合法的是(B )。A B.C.TOMB _testC 3a6bD ab$2C 语言中运算对象必须是整型的运算符是(B ) 。A /B %C !D *3以下程序的输出结果是(D ) 。A a=%2 ,b=%5B a=2,b=5C a=%d,b=%dD a=%d ,b=%dmain() inta=4,b=9;printf( “a=%d,b=%dn ”,a,b);4下列程序的输出结果是(C ) 。A 18B 9C -18D -9main() inta=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) 。A BCD代码B ASCII 代码C 内部码D 十进制码7对下面程序段描述正确的是(D) 。A while 循环执行了10 次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句只执行一次intx=10;dox=x-1; while (x=0);8.下面选项中,与if(a)等价的是( D ) 。A if(a=0)B if(a!=0)C if(a=0)D if(a=1)9.有程序段:intn=1;do+n;n=n*5;while(n=10);(B)A 执行一次B 执行2 次C 不执行D 执行无限次10若有声明语句: intb24;则对 a 数组元素的正确引用是(A ) 。A b13B b14C b24D b0411欲将字符串“ kunluncollege ”赋给字符数组str ,正确的语句是(D ) 。A str=“kunluncollege ”;B str= “kunluncollegen ”;Cstrcpy( “kunluncollege ”,str);D strcpy(str,“kunluncollege ”);12语句 printf( “%dn ”,strlen (“xining ”) ) ;的输出结果是(B ) 。A 7B 6C 存在语法错误D 不定值13以下函数的类型是(C ) 。A 与参数 x 的类型相同B void类型C int类型D 无法确定ff (floatx) printf(“%dn ” ,x*x) ;14.若用数组名作为函数调用的实参,传递给形参的是(A)A 数组的首地址B 数组第一个元素的值C 数组中全部元素的值D 数组元素的个数15以下不正确的说法是(C )。A 在 C语言中允许函数递归调用B 函数值类型与返回值类型出现矛盾时,以函数值类型为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 第 2 页 共 3 页准C 形参可以是常量、变量或表达式D C 语言规定,实参变量对形参变量的数据传递是“值传递”16以下程序的输出结果是(D ) 。A 15B 100C 10D 150#defineMAX (x,y)(x)(y)?(x) : (y)main() inti=10,j=15,k;k=10*MAX (i ,j );printf(“%dn ” ,k) ;17函数直接或间接地自己调用自己,被称为函数的(A ) 。A 递归调用B 主函数调用C 自定义调用D 嵌套调用18.下列说法中错误的是(D ) 。A 枚举类型中的枚举元素是常量B 一个整数不能直接赋给一个枚举变量C 枚举类型中枚举元素的值都是从0 开始以 1 为步长递增D typedef可以用来定义新的数据类型19在 C语言中,对文件的存取是以(A )为单位的。A.字节B.函数C. 记录D.模块20当 fclose函数正确执行后,函数的返回值是(A) 。A 0B -1C 1D 非零值三阅读下列程序,按题意填空(每空2 分,共计 16分)1有以下程序(求20 以内的 偶数和 ,包括 20) 。请填空:#includemain() intn=0,sum=0 ;do n+;if (n%2=0) ; sum+=n ; while( n=20 ) ; printf( “%dn ”,sum ) ;2以下程序判断输入的一个整数m是否既能被 4 又能被 6 整除,若能整除,输出“ YES ”,若不能整除,输出“ NO ” 。请填空:#includemain() intm ;printf ( “Entera intnumber : ” ) ; scanf( “%d ” ,&m) ;if( m%4=0& m%6=0)printf( “YESn ”) ;elseprintf( “NOn ”) ;3以下程序的功能是输出杨辉三角形。请填空:#includemain( )inta1010,inti,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=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()intk=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()inti,j,a33=1,3,5,2,4,6, 9,8,7;intsum=0 ;for(i=0;i=2;i+)sum+=aii;printf(“%dn ”,sum);3inta=9,b=5;输出结果:3。intmin(inta, intb)intc;c=ab?a:b;return(c);main() inta=3; printf(“min=%d ”,min(a ,b) ;五编程题(共计20 分)1(8分)利用循环求12+22+32+42+52。#includemain()inti,sum=0;for(i=1;i=5;i+)sum+=i*i ;printf(“%dn ”,sum);2 (6 分)从键盘输入8 个任意整数,计算数组中所有的负数之和(用一维数组)。#includemain()inti,j,a8,sum=0 ;printf(“Pleaseinput8 numbers:n ”);for(i=0;i8;i+)scanf( “%d ”,&ai);for(i=0;i8;i+)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 第 3 页 共 3 页if(ai0)sum=sum+ai;printf(“%dn ”,sum);3 (6 分)利用函数编写求两数相乘的函数xc()。#includefloatxc(floatx,floaty)return(x*y) ;main()floata,b,c ;scanf( “%f,%f”,&a,&b) ;c=xc(a,b) ;printf(“c=%fn”,c) ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -