首页 二级C语言等级考试程序填空题题库

二级C语言等级考试程序填空题题库

举报
开通vip

二级C语言等级考试程序填空题题库程序填空题一1.下面C语言程序将两个递增有序的数值a和b合并一个数组c,并保持递增次序,最后输出数组c.#include#defineM6#defineN5main(){inta[M]={1,3,5,7,9,11}b[N]={2,4,6,8,10}intc[MN]inti,j,k;i=j=k=0while(1)ifa[i]

二级C语言等级考试程序填空题题库
程序填空题一1.下面C语言程序将两个递增有序的数值a和b合并一个数组c,并保持递增次序,最后输出数组c.#include#defineM6#defineN5main(){inta[M]={1,3,5,7,9,11}b[N]={2,4,6,8,10}intc[MN]inti,j,k;i=j=k=0while(1)ifa[i] 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 的功能是计算如下数学函数H的值。请填空。doublefgh(double(*f)(doublea),double(*g)(doubleb),doublex,doubley){return(【1】);}doubleh(doublea,doubleb)return(fgh(sin,cos,a,b)*fgh(【2】));}解:(1)(*f)(x+y)/(*g)(y-x)(2)cos,sin,a,b[解析]本题考察的是函数的声明。要填写的两个空都出现在return语句中,所以要仔细 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 函数的返回值。本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。根据函数h的定义以及题干要求,可以看出函数fgh应该 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的是乘号两边的某一项。(*f)和(*g)用来表示sin或cos,参数x和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(xy)/(*g)(y-x)。3.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 。A a f c B d e b c g f D main() { staticcharss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'}; intx,y,z; for(x=0;【1】;x++) for(y=0;【2】;y++) {z=x+y; if(【3】) printf("%c\n",ss[x][y]); } }解:(1)x<4(2)y<3(3)z==3[解析]本题应用穷举法找到满足要求的值。第一个空:变量x为行数所以是x<4;第二个空:变量y为列数所以是y<3;第三个空:判断x+y是否为3所以是z==3。4.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。A a f c B d e b c g f D main() { staticcharss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'}; intx,y,z; for(x=0;【1】;x++) for(y=0;【2】;y++) {z=x+y; if(【3】) printf("%c\n",ss[x][y]); } }解:(1)x<4(2)y<3(3)z==3[解析]本题应用穷举法找到满足要求的值。第一个空:变量x为行数所以是x<4;第二个空:变量y为列数所以是y<3;第三个空:判断x+y是否为3所以是z==3。程序填空题二【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include main(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a= ① ; b= ② ; a= ③ ;printf("a=%d,b=%d\n",a,b);} 答案: ① ab ② a-b ③ a-b 或者 ① a^b ② b^a ③ a^b【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/121/221/32 …… 1/n2,求π值。#include   /*数学函数数包含在头函数math.h 中*/double pi(long n){ double s=0.0;long i;for(i=1;i<=n;i)s=s ① ;return( ② );}答案:① 1.0/(float)(i*i) ② sqrt(6*s) /* sqrt()是求平方根函数*/【3.3】下面程序的功能是计算1-35-7 …… -99101的值。main(){ int i,t=1,s=0;for(i=1;i<=101;i=2){ ① ;s=st;② ;}printf("%d\n",s);}答案:① t=t*i ② t=t>0?-1:1【3.4】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ① ){ if(x>amax) amax=x; if( ② ) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}答案: ① x>=0 ② xmain(){ ① ; int i,j;printf("Input 10 numbers please\n");for(i=0; ② ;i ) scanf("%f", &a[i]);printf("\n");for(i=2; ③ ;i ) for(j=0; ④ ;j )if( ⑤ ) { x=a[j];⑥ ;a[j1]=x;}printf("The sorted 10 numbers;\n");for(i=0; ⑦ ;i ) { if( ⑧ ) printf("\n");printf("%f\t",a[i]);}printf("\n");}答案:① float a[10],x ② i<=9 ③ i<=8 ④ j<=9-i ⑤ a[j]>a[j1] ⑥ a[j]=a[j1] ⑦ i<=9 ⑧i%5==0【3.9】下面程序的功能是读入20个整数,统计非负数个数,并计算非负数之和。#include "stdio.h"main(){ int i,a[20],s,count;s=count=0;for(i=0;i<20;i )scanf("%d", ① );for(i=0;i<20;i){ if(a[i]<0)② ;s=a[i];count;}printf("s=%d\t count=%d\n",s,count);}答案:① &a[i] ② continue注释:①是基本概念,使用scanf函数输入数组元素的值。当输入的元素值小于0时,应当跳过后面的语句,取下一个数,所以②要填入continue。【3.10】下面程序的功能是删除字符串s中的空格。#include main(){ char *s="Beijing ligong daxue";int i,j;for(i=j=0;s[i]!='\0';i)if(s[i]!= ' ') ① ;else ② ;s[j]= '\0';printf("%s",s);}答案:① s[j]=s[i] ② s[j]=s[i]【3.11】下面程序的功能是将字符串s中所有的字符'c'删除。请选择填空。#includemain( ){ char s[80];int i,j;gets(s);for(i=j=0;s[i]!= '\0';i )if(s[i]!= 'c') ① ;s[j]= '\0';puts(s);}答案:① s[j]=s[i]【3.12】下面程序的功能是输出两个字符串中对应相等的字符。请选择填空。#include char x[]="programming";char y[]="Fortran";main(){ int i=0;while(x[i]!= '\0' && y[i]!= '\0')if(x[i]==y[i])printf("%c", ① );elsei;} 答案:① x[i]【3.13】下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a已排好序。#include main(){ char a[20]="cehiknqtw";char s[]="fbla";int i,k,j;for(k=0;s[k]!= '\0';k ){ j=0;while(s[k]>=a[j] && a[j]!= '\0' )j;for( ① ) ② ;a[j]=s[k];}puts(a);}答案:① i=strlen(a);i>=j;i-- ② a[i1]=a[i]【3.14】下面的函数index(char s[], char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。index(char s[], char t[]){ int i,j,k;for(i=0;s[i]!= '\0';i ){ for(j=i,k=0; ① && s[j]==t[k];j,k) ;if( ② ) return (i);}return(-1);}① t[k]!= '\0' ② t[k]== '\0'【3.15】下面程序的功能是计算S= k! 。k=0long fun(int n){ int i;long s;for(i=1;i ① ;i) s*=i;return( ② );}main(){ int k,n;long s;scanf("%d",&n);s= ③ ;for(k=0;k<=n;k)s= ④ ;printf("%ld\n",s);}答案:① <=n ② s ③ 0 ④ fun(k)【3.16】以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。#include age( int n ){ int c;if( n==1 ) c=10;else c= ① ;return(c);}main(){ int n=5;printf("age:%d\n", ② );}答案:① 2age(n-1) ② age(5)注释:由于程序是递归算法,因此首先要建立问题的递归数学模型。根据原题的描述可以写出如下递归公式: age(n) = 10 (n=1)age(n) = 2age(n-1) (n>1)对照程序和递归公式可以看出:n的含义是第n位学生。很显然,要求第5位学生的年龄,②处应当是调用函数age,实参的值应当是5。在①处应该是函数的递归调用,根据递归公式,应当填写:2age(n-1)。【3.17】下面的函数是一个求阶乘的递归调用函数。facto(int n){ if( n == 1 ) ① ;else return( ② );}答案:① return(1) ② n*facto(n-1)注释:我们熟悉的求n!的算法一般是采用循环语句实现,但在此程序中根本没有循环语句。这时我们应该想到:是采用递归算法实现的。首先写出求n!的递归公式; n!=1 当n=1时n!=n*(n-1) 当n>1时根据此递归定义,可以很容易完成程序。【3.18】下列函数是求一个字符串str的长度。 int strlen( char *str ){ if( ① ) return (0);  else return ( ② );}答案:① *str=='\0' ② 1strlen(str1)注释:求串长算法的关键是确定串结束标记'\0'的位置。根据求串长的方法,可以得到如下递归算法:指针str指向字符串的首字符如果 当前字符(*str)== 串结束标记'\0'则 串长=0否则 串长 = 1+除第一个字符之外的剩余字符串的串长因此,在①的位置上应当填写"*str=='\0'",以判断当前字符(*str)是否是串结束标记'\0'。在②的位置应当是根据上面的递归算法进行递归调用,因此应当填写"1strlen(str1)"。                      【3.19】函数revstr(s)将字符串s置逆,如输入的实参s为字符串"abcde", 则返回时 s 为字符串"edcba"。递归程序如下:revstr( char *s ){ char *p=s, c;while(*p) p;① ;if(s2 ) invent ( ① ,n-2);else ② ;}答案:① str1 ② return ①改为 n-2【3.21】下面程序的功能是实现数组元素中值的逆转。#include main(){ int i,n=10,a[10]={1,2,3,4,5,6,7,8,9,10};invert(a,n-1);for(i=0;i<10;i)printf("M",a[i]);printf("\n");}invert(int *s,int num){ int *t,k;t=snum;while( ① ) { k=*s;*s=*t;*t=k;② ;③ ;}}答案:① sw[p]) ① ;for(i=*n;i>=p;i--) ② ;w[p]=x;*n;} 答案:① p ② w[i1]=w[i]}【3.23】下面程序的功能是输入学生的姓名和成绩,然后输出。#include struct stuinf{ char name[20]; /* 学生姓名 */int score; /* 学生成绩 */} stu, *p;main ( ){ p=&stu;printf("Enter name:");gets( ① );printf("Enter score: ");scanf("%d", ② );printf("Output: %s, %d\n", ③ , ④ );}答案:① stu.name ② &stu.score ③ p->name ④ p->score【3.24】下面程序的功能是按学生的姓名查询其成绩排名和平均成绩。查询时可连续进行,直到输入0时才结束。 #include #include #define NUM 4 struct student { int rank;char *name;float score;}; ① stu[ ]={ 3,"liming",89.3, 4,"zhanghua",78.2, 1,"anli",95.1, 2,"wangqi",90.6};main(){ char str[10]; int i; do{ printf("Enter a name"); scanf("%s",str); for( i=0;i=NUM ) printf("Not found\n"); }while( strcmp(str,"0")!=0 );}答案:① struct student ② strcmp(stu[i].name,str)==0 ③ break注释:程序的主体是一个二重循环,内层for循环完成查找学生的工作。①处是进行结构数组说明并初始化,按照结构变量说明的格式规定,应该填写:strcut student。②处为if语句的逻辑条件,应当是当查找到指定的学生后输出学生的情况,因此应当填写:strcmp(stu[i].name,str)==0。③处应当将控制退出内层的for循环,只能选择break语句。【3.25】下面函数将指针p2所指向的线性链表,串接到p1所指向的链表的末端。假定p1所指向的链表非空。#define NULL 0struct link{ float a;struct link *next;};concatenate ( p1,p2 )struct list *p1,*p2;{ if( p1->next==NULL )p1->next=p2;elseconcatenate( ① ,p2);}答案:① p1->next【326】下面函数的功能是创建一个带有头结点的链表,将头结点返回给主调函数。链表用于储存学生的学号和成绩。新产生的结点总是位于链表的尾部。struct student{ long num;int score;struct student *next;};struct student *creat(){ struct student *head=NULL,*tail;long num; int a;tail= ① malloc(LEN);do{ scanf("%ld,%d",&num,&a);if(num!=0){ if(head==NULL) head=tail;else ② ;tail->num=num; tail->score=a;tail->next=(struct student *)malloc(LEN);}else tail->next=NULL;}while(num!=0);return( ③ );}答案:① (struct student *) ② tail=tail->next ③ head注释:①malloc函数的作用是在内存开辟指定字节数的存储空间,并将此存储空间的地址返回赋给尾指针tail,但是此地址为void型,应将其强制转换为所要求的结构指针类型。②新开辟的结点的内存地址存于tail所指向的已建立的链表的尾结点的结构成员next,新结点连入链表以后,尾指针tail应指向新的结点。【3.27】下面程序的功能是统计文件中的字符的个数。#include main(){ long num=0;① *fp;if((fp=fopen("fname.dat", "r"))==NULL){ printf("Can't open the file! ");exit(0);}while( ② ) { fgetc(fp); num;}printf("num=%d\n",num);fclose(fp);}答案:① FILE ② !feof(fp)注释:FILE 是文件结构类型名。feof()是测试文件结束标志的函数。
本文档为【二级C语言等级考试程序填空题题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:23
分类:
上传时间:2022-08-09
浏览量:3