C语言练习题2.doc_第1页
C语言练习题2.doc_第2页
C语言练习题2.doc_第3页
C语言练习题2.doc_第4页
C语言练习题2.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、填空(10分,每空1分)1C语言源程序中主函数名由系统规定为 _ ,程序员是不能改变的。2有数学表达式: -3,其C语言表达式为 _ _。3已知函数定义为:int stat(int a , float *p) . 则此函数的两个参数类型分别是 、 。4设有数组a10;则首地址可以写成 _ _ ,数组元素a3的地址可以写成_ _。5要使以下程序段中的函数调用语句printf(“*”);执行10次,应在 处填入整数 _。for( i=1;i=_;i+=2 ) printf(“*”);7用只读方式打开e:20051234目录下的名为 “aa.dat”的文件,正确的打开语句为 FILE *fp;fp=_ _。8.判断两个浮点型变量x和y是否相等一般用:if( 1e-6 ) 。9.已知赋值语句zhang.year =1985;可判断zhang是 类型的变量。二、单项选择题(20分,每题1分)1语言程序的三种基本结构是 _。顺序结构,分支结构,循环结构 递归结构,循环结构,转移结构嵌套结构,循环结构,顺序结构递归结构,分支结构,顺序结构2能正确表达逻辑关系“0a1或0b1”的c语言表达式是 _。. (0a)&(a1)|(0b)&(b1).(0a)|(a1)&(0b)|(b1). (0a1)&(0b1) . (0a1)|(0b=a . a%=a5定义如下变量和数组,则下面程序段落的输出结果是_。int i; int x33=0,1,2,3,4,5,6,7,8;for (i=0;i3;i+) printf (“%d ”,xi2-i);2 4 60 3 6 0 4 8 2 5 86有下列程序段落:int i,a5;for(i=0;i5;i+) scanf(“%d”,&ai);若要使数组元素的值分别为1,2,3,4,5,应从键盘输入 _。1,2,3,4,5 1 2 3 4 512345 1;2;3;4;57数组名作为函数参数进行传递时,形参获得的是_。A该数组第一个元素的值 B该数组所有元素的值C该数组所有元素的地址 D该数组的首地址8.设有如下宏定义:#define A 3+2#define B A*A则表达式“B*B”的值为 _。23 5 25 6259在下列说明中,结构类型变量x 所占用内存字节数为_。 struct exp int i; float j; double k; x;8个 7个 14个 随计算机而定10设有定义:int k=3,*p=&k; 则表达式 *p的值是 _。1 0 2 311 下列程序的输出结果为 _。 main() int i=3,b; b=(i-)+(i-); printf(“%d”,b); 6 2 3 412当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 c=b=a . (a=c)|(b=c) . a=c=b . (a=c)&(b=c)13下列叙述不正确的是_。函数定义可以嵌套 宏定义可以嵌套函数调用可以嵌套 循环结构可以嵌套14设 char *p=“abcde”,则printf(“%s”, p ) 的输出结果为_。c cde b abcde15p1,p2 为指向浮点的指针变量,下列运算没有意义的是_。*p1*p2 p1+*p1+ *p2 p1+p216在c语言中,运算对象的逻辑值“真”用_表示。A false 非0 0 负数17已知函数原型声明为:char *www(char a, char b);该函数的类型为_。 指向字符型的指针 字符型 整型 指向整型的指针18设int类型的数据长度为2字节,则该类型数据的取值范围是_。 0至65536 0至65535 -32767至32768 -32768至3276719int a, *p, *w; p=&a, w=&p; 取a的值的表达式为_。 * * *w20语言程序的基本单位是_。A函数B标识符C表达式D语句三、 写出以下程序的运行结果(20分,每题5分)1main( ) int i,j; for(i=1;i4;i+) for(j=1; j2*i+1; j+) printf(“%c” , * ); printf(“n”); 2 #include void main(void) int a10=1,9,18,24,-14,2,6,-16,4,5;int m1,m2, j;m1=m2=a0;for(j=1; j*(a+j) ) m1=*(a+j);if( m2*(a+j) ) m2=*(a+j); printf( “m1=%d,m2=%d”, m1, m2 ); 3 #include struct student long num; char name10; float score; stu4= 930001l, Wang, 80.5, 930002l, Zhang, 79.5, 930003l, Li , 95.5, 930004l, Zhao , 74.5, ; void main(void) int i; for(i=0; i= 80.0)printf(%10ld%10s%10.2fn, stui.num, , stui.score); 4 #include int b ; int f ( int c) b+; return( c+b );void main(void) int a = 2 ;b=3; printf ( %dn, f(a) ; printf ( %dn, f(a) ;四、 程序设计题(50分)1有一分段函数: 2x + 5 (x=2) y= 3x - 4 (2x5) 编程序,输入变量 x的值,计算并输出y的值。(7分)2由键盘任意输入10个同学的数学成绩,按从高分到低分的顺序排序,并输出排序后的成绩。(9分)3编写程序,通过级数 求 的值,要求精度为10-6 (即某项的绝对值小于10-6),输出结果 的值。(8分)4编写一程序任意输入一串字符,统计其中大写字母的个数,并输出结果。(7分)5由键盘任意输入9个整数,组成3行3列的二维数组,计算并输出主对角线上元素的和。(7分)6编制子函数,以判断一个整数n是否为素数,如果n是素数,则返回整数1;如果n不是素数,则返回整数0;并在主函数中调用该函数统计100到200之间的素数的个数。(12分) 答案二、单项选择题(20分,每题1分)1234567891011121314151617181920一、填空(10分,每空1分)1C语言源程序中主函数名由系统规定为 _main_ ,程序员是不能改变的。2有数学表达式: -3,其C语言表达式为 _sqrt(x)-3 _。3已知函数定义为:int stat(int a , float *p) . 则此函数的两个参数类型分别是 整形 、 指向浮点型的指针 。4设有数组a10;则首地址可以写成 _a或 &a0_ ,数组元素a3的地址可以写成_&a3_ 或a+3_ _。5要使以下程序段中的函数调用语句printf(“*”);执行10次,应在 处填入整数 _19或20_。for( i=1;i=_;i+=2 ) printf(“*”);7用只读方式打开e:20051234目录下的名为 “aa.dat”的文件,正确的打开语句为FILE *fp;fp=fopen(“e:20051234 aa.dat”,”r”); 。8.判断两个浮点型变量x和y是否相等一般用:if( fabs(x-y) 1e-6 ) 。9.已知赋值语句zhang.year =1985;可判断zhang是 结构或联合 类型的变量。说明:每一个空只有完全正确,得1分。三、 写出以下程序的运行结果(20分,每题5分)1 * * * 3行各1分,每行个数共1分,图形形状1分2m1=-16,m2=24 最小数2分,最大数2分,逗号1分(数据颠倒扣2分)3 930001 Wang 80.50 930003 Li 95.50 两行记录各2分,格式1分4 6 7 两行数据各2分,格式1分 四、 程序设计题(50分)1有一分段函数: 2x + 5 (x=2) y= 3x - 4 (2x5) 编程序,输入变量 x的值,计算并输出y的值。(7分)#include void main(void) -1分 float x,y;/*或int x,y */ -1分 scanf(“%f”,&x); -1分 if(x = 2) y = 2*x+5; else if(x = 5) y = 3*x-4; else y = 7; 条件分支3分 printf(“y=%f”,y); -1分2由键盘任意输入10个同学的数学成绩,按从高分到低分的顺序排序,并输出排序后的成绩。(9分)#include void main(void) -1分 int a10,i,j,t; -1分 for(i=0;i10;i+)scanf(“%d”,&ai); -1分 for(i=0;i9;i+)for(j=i+1;j10;j+) if(aiaj) t=ai; ai=aj; aj=t;排序算法5分 for(i=0; i10;i+)printf(“%5d”,ai); -1分3编写程序,通过级数 求 的值,要求精度为10-6 (即某项的绝对值小于10-6),输出结果 的值。(8分)#include #include void main(void) -1分 float pi=0,t=1,it=1; int s=1;-2分 while(fabs(t)1e-6) pi+=t; it+=2; s=-s;t=s/it;级数算法4分 printf(“PI=%f”,4*pi);-1分4编写一程序任意输入一串字符,统计其中大写字母的个数,并输出结果。(7分)#include #include void main(void) -1分 char str80;int iCount=0,i; -1分gets(str); -1分 for(i=0;stri!=0;i+) if(srti=A&stri= Z)iCount+; 循环统计3分 printf(“%5d”,iCount); -1分5由键盘任意输入9个整数,组成3行3列的二维数组,统计主对角线上元素的和。(7分)#include void main(void) -1分 int a33,i,j,sum=0; -1分 for(i=0;i3;i+)for(j=0;j3;j+)scanf(“%d”,&aij); -2分 for(i=0;i3;i+)sum+=aii;循环求和2分printf(“%5d”,sum); -1分6编制子函数,以判断一个整数n是否为素数,如果n是素数,则返回整数1;如果n不是素数,则返回整数0;并在主函数中调用该函数以统计100到200之间的素数的个数。(12分)#include int isPrime(int);-1分void main(void) int i,iCount=0; -1分 for(i=101;i200;i+=2) if(isPrimer(i)=1) iConut+循环统计3分 printf(“%5d”,iCount);-1分int isPrime(int n)-1分 int i;-1分 for(i=2;i=n/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论