您好,欢迎访问三七文档
《C语言程序设计》模拟题3一、选择题1.以下说法中正确的是(C)。A.C语言程序总是从第一个函数开始执行B.C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分2.下列为字符常量的是(C)。A.“a”B.‘ab’C.‘\n’D.‘\084’3.在C语言中,下面字符串能用作变量名的是(D)。A.a+bB.autoC.2-andD.a24.在C语言中运算对象必须是整型的运算符是(A)。A.%B./C.==D.=5.若有以下定义:intx=10,y=3,z;则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为(D)。A.1B.0C.2D.36.表达式(A)的值是整数类型。A.15/2B.15/2+2.0C.25/5.0D.0.5*107.若doublex=2,y;则执行y=x+3/2;后,y的值是(B)。A.3.500000B.3.000000C.2.000000D.38.C语言程序的基本单位是(C)。A.程序行B.语句C.函数D.字符9.设int类型的数据长度为2字节,则int类型数据的取值范围是(B)。A.0~255B.-32768~32767C.-256~255D.0~6553510.语句int(*p)()的含义是(C)。A.p是一个指向一维数组的指针变量B.p是指针变量,它指向一个整型数据的指针C.p是一个指向函数的指针,该函数的返回值为整型D.以上答案都不对11.下面程序的输出结果是(A)。main(){intx=10,y=10;printf(“%d,%d\n”,x--,y--);}A.10,10B.9,9C.9,10D.10,912.(A)是C语言的标准函数名。A.scanfB.caseC.whileD.int13.下面程序的输出结果是(D)。voidmain(){inti=10;switch(i){case9:i+=1;case10:i+=1;case11:i+=1;case12:i+=1;}printf(“i=%d\n”,i);}A.10B.11C.12D.1314.以下定义语句中,错误的是(D)。A.inta[]={1,2}B.inta[][3]={1,2,3,4,5};C.chars[10]=“test”;D.intn=5,a[n];15.在一个源文件中定义的全局变量的作用域为(B)。A.本文件的全部范围B.从定义该变量开始至本文件结束C.本函数的全部范围D.本程序的全部范围16.int型变量在内存中占2个字节,若inta[10]={0,2,4};则数组a所占字节数是(C)。A.3B.10C.20D.617.有以下程序#includestdio.h#includestring.hmain(){chara[7]=China;inti,j;i=sizeof(a);j=strlen(a);printf(%d%d\n,i,j);}程序运行后的输出结果是(C)。A.55B.76C.75D.6618.下面程序运行时,如果从键盘上输入5,则输出的结果是(B)。voidmain(){intx;scanf(“%d”,&x);if(x--5)printf(“%d\n”,x);elseprintf(“%d\n”,x++);}A.3B.4C.5D.619.若有以下说明和语句,且已知char型占1个字节,int型占两个字节,float型占4个字节。structst{intnum;charname[10];intage;floatscore;}student;则结构体变量student占用内存的字节数是(B)。A.10B.18C.9D.220.以下程序的输出结果是(D)。voidmain(){chars[]=ABCD;int*p;for(p=s;ps+4;p++)printf(%s\n,p);}A.ABCDB.AABCBABCADC.DD.ABCDCBCDBCDAD二、填空题1.若有定义inta[2][5],则整型数组a包含有10个元素。2.数学表达式x3+y3在C语言中应表示为pow(x,3)+pow(y,3)。3.若有数据3.5需要存储到变量x中,则变量x定义应写为floatx;。4.有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为11。5.表达式“0≤a≤10”在C语言中应表示为a=0&&a=10。6.若有定义floatx,y;则从键盘给x、y输入数据的语句应写为scanf(“%f%f”,&x,&y);。三、判断题(对的填√,错的填×)1.C语言源程序文件的扩展名均为.c。√2.C语言中的基本数据类型有整型、字符型和实型。×3.C语言中不同的函数中不可以使用相同名字的变量。√4.C语言程序区分字母大小写,符号常量必须定义为大写。×5.若intx=100,y=200,则语句printf(“%d”,(x,y))的输出结果是100。×6.C语言的源程序经过编译、连接后才能运行。√7.若inta[2][2]={{1},{2,3}};则a[0][1]的值为0。√8.C语言的数组名是一个地址常量,不能对它进行加、减和赋值运算。×9.若x为某函数f之内说明的变量,则当函数f执行完后,x值无定义。√10.若inti=10,j=2;则执行i*=j+8;后i的值为28。×四、编程题(任选3题)1.输入圆的半径,计算并输出圆的周长、面积及球的体积(结果保留两位小数)。#include“stdio.h”#definePI3.1415voidmain(){floatr,cir=0,area=0,vol=0;printf(“请输入圆的半径:”);scanf(“%f”,&r);printf(“圆的周长为:%.2f\n”,2*PI*r);printf(“圆的面积为:%.2f\n”,PI*r*r);printf(“圆的体积为:%.2f\n”,4/3*PI*r*r*r);}2.有一个函数:y=21311xxx101011xxx编程输入x的值,求y的值。#include“stdio.h”voidmain(){floatx,y;printf(“inputanumber:”);scanf(“%f”,&x);if(x1)printf(“y=%f”,x);elseif(x=10)printf(“y=%f”,3*x-11);elseprintf(“y=%f”,2*x-1);}3.Fibonacci数列为1、1、2、3、5、8、13、……,编程输出该数列的前20项。#include“stdio.h”voidmain(){intf1=1,f2=1,f,i;printf(“%5d%5d”,f1,f2);for(i=3;i=20;i++){f=f1+f2;printf(“%5d”,f);f1=f2;f2=f;}}4.编程输出所有的水仙花数。水仙花数是一个3位数,其各位数字立方和等于该数本身。如:153=13+53+33,故153是水仙花数。#includestdio.hvoidmain(){inti,x,y,z;for(i=100;i=999;i++){x=i/100;y=i/10%10;z=i%10;if(x*x*x+y*y*y+z*z*z==i)printf(%d是水仙花数,i);}}5.编程从输入的10个数中,去掉一个最大数和一个最小数,求剩余数的平均值。#includestdio.hvoidmain(){floata[10],sum=0;intmax,min,i;printf(请输入10个数);for(i=0;i10;i++)scanf(%f,a+i);max=min=0;for(i=1;i10;i++){if(a[i]a[max])max=i;if(a[i]a[min])min=i;}for(i=0;i10;i++)if(i!=max&&i!=min)sum+=a[i];printf(剩余数的平均值%.2f,sum/8);}6.编写判断素数的函数。调用该函数,计算并输出区间[100,200]内所有的素数及素数的和。#includestdio.h#includemath.hintisprime(intn){inti,j;if(n==2)return1;elseif(n%2==0)return0;else{j=(int)sqrt(n);for(i=2;i=j;i++)if(n%i==0)return0;if(ij)return1;}}voidmain(){inti,sum=0;printf(100至200之间的所有素数:\n);for(i=100;i=200;i++)if(isprime(i)){printf(%4d,i);sum+=i;}printf(\n这些素数的和:%d,sum);}7.有一个班,30名学生,各学4门课,查找有一门以上课程不及格的学生,输出他们的全部课程的成绩。#includestdio.hvoidmain(){inti,j,k=0,flag;floata[3][4];printf(请输入30名学生4门课程的成绩:\n);for(i=0;i3;i++)scanf(%f%f%f%f,&a[i][0],&a[i][1],&a[i][2],&a[i][3]);printf(有一门以上不及格学生的4门课程成绩为:\n);for(i=0;i3;i++){flag=0;for(j=0;j4;j++)if(a[i][j]60)flag++;if(flag1){k++;printf(第%d个:%f,%f,%f,%f\n,k,a[i][0],a[i][1],a[i][2],a[i][3]);}}}8.编程输入5个字符串,要求按从小到大的顺序排序并输出。(排序方法不限)。#includestdio.h#includestring.hvoidf(charp[][10],intn){chart[20];inti,j;for(i=0;i=n-1;i++)for(j=i+1;jn;j++)if(strcmp(p[i],p[j])0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}voidmain(){chara[5][10];inti;printf(请输入5个字符串:);for(i=0;i5;i++)scanf(%s,a[i]);f(a,5);for(i=0;i5;i++)printf(%s\n,a[i]);}9.试编写C程序:输入10个学生记录,每个记录含学生姓名、性别、数学成绩、英语成绩,计算总成绩并输出所有数据。#includestdio.hstructstudent{charname[20];charsex[2];floatmath;floatengl;}a[10];voidmain(){inti;floatsum[10];printf(请输入10个学生的姓名、性别、数学成绩和英语成绩:);for(i=0;i10;i++){scanf(%s%s%f%f,a[i].name,a[i].sex,&a[i].math,&a[i].engl);sum[i]=a[i].math+a[i].engl;}printf(该10个学生的姓名、性别、数学成绩、英语成绩和总成绩分别为:\n);for(i=0;i10;i++)printf(%s,%s,%10.2f,%10.2f,%10.2f\n,a[i].name,a[i].sex,a[i].math,a[i].engl,sum[i]);}
本文标题:C语言模拟题3
链接地址:https://www.777doc.com/doc-4813864 .html