2011__C语言上机填空题
2011年技能考试试卷C语言(真题)
第一部分【程序填空】第一套:题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。
---------------------------------------------------------注意:请勿改动主函数main()中的其他内容。
---------------------------------------------------------#includ e<stdio.h>#includ e<conio.h>voidgcd(inta[],intn,intb[],intc[]){inti,x,y,z;/***********SPACE***********/for(i=0;i<【?】;i++){x=a[i];y=a[i+1];whil e(z=x%y){x=y;y=z;}页脚内容1b[i]=y;/***********SPACE***********/c[i]=a[i]*a[i+1]/【?】;}}intmain(){inta[5]={8,12,5,7,14};intb[4],c[4];inti;gcd(a,5,b,c);for(i=0;i<5;i++)printf("%d\t",a[i]);printf("\n");for(i=0;i<4;i++)printf("%d\t",b[i]);printf("\n");for(i=0;i<4;i++)页脚内容2printf("%d\t",c[i]);printf("\n");getch();return0;}第二套题目:函数reverse()对字符串str进行逆序。
#includ e<stdio.h>#includ e<string.h>#includ e<conio.h>voidreverse(charstr[]){intlen,j;charc;/***********SPACE***********/l en=【?】(str);/***********SPACE***********/for(j=l en-1;【?】;j--){页脚内容3c=str[j];str[j]=str[l en-1-j];str[l en-1-j]=c;}}intmain(){chara[80];printf("Pl easeenterastring:");gets(a);reverse(a);printf("Theinversedstringis:");puts(a);getch();return0;}第三套题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。
2011年9月全国计算机等级考试二级C语言试卷及答案
2011年9月全国计算机等级考试二级笔试试卷(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)1.下列叙述中正确的是。
A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.某系统总体结构图如下图所示:该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下:则由关系 R 和 S 得到关系 T 的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于 C 语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b 值得类型是A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句 z=0.9+x/y,则 z 的值为A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句scanf(‚%d;%d‛,&a,&b);,能把整数 3 赋给变量 a,5 付给变量 b 的输入数据是A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1 和 k2 的值分别为A. 0 和 1B.0 和 20C.10 和 1D. 10 和 2018.有以下程序#include <stdio.h>Main(){ int a=1,b=0;If(--a) b++;Else if(a==0) b+=2;Elseb+=3;Printf(‚%d\n‛,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);B.if(a==0)printf(‚%d\n‛,y); else printf(‚%d\n‛,x);C.if(a!=0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);D.if(a==0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);20.有以下程序:#include <stdio.h>Main(){ int a=7;While(a--);Printf(‚%d\n‛,a);}程序运行后的输出结果是A.-1B.0C.1D.721.以下不能输出字符 A 的语句是(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为97)A.printf(‚%c\n‛,’A’-32);B.printf(‚%d\n‛,’A’);C.printf(‚%c\n‛,65);D.printf(‚%c\n‛,’B’-1);22.有以下程序(注:字符 a 的 ASCII 码值为 97)#include <stdio.h>Main(){ char *s={‚abc‛}; Do{printf(‚%d‛,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:double a,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的 p 只能存放 double 类型变量的地址D.定义语句中,*p=&a 把变量 a 的地址作为初值赋给指针变量 p24.有以下程序:#include <stdio.h>Double f(double x);Main(){ double a=0; int I; For(i=0;i<30;i+=10)a+=f((double)i); Printf(‚%5.0f\n‛,a);}Double f(double x){return x*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量 year 中的值增至 2010 的语句是A.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.int num[]={1,2,3,4,5,6};B.int num[][3]={{1,2},3,4,5,6};C.int num[2][4]={{1,2},{3,4},{5,6}};D.int num[][4]={1,2,3,4,5,6};27.有以下程序#include <stdio.h>Void fun(int *p){printf(‚%d\n‛,p[5]);}Main(){int a[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928. 有以下程序#include<stdio.h>#define N 4Void fun(int a[][N],int b[]) { inti;for(i=0;i<N;i++) b[j]=a[i]][j]-a[i][N,1-i];}Main(){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;Fun(x,y);for(i=0;i<N;i++) printf(‚%d‛,y[i]); printf(‚\n‛);程序运行后的输出结果是A.-12,-3,0,0,B.-3,-1,1,3,C.,0,1,2,3,D.-3,-3,-3,-3,29.有以下函数int fun(char *x,char *y){ int n=0;While((*x=*y)&&*x!=’\0’){x++;y++;n++;}Return n;}函数的功能是A.查找 x 和 y 所指字符串中是否有‘\0‘B.统计 x 和 y 所指字符串中最前面连续相同的字符个数C.将 y 所指字符串赋给 x 所值存储空间D.统计 x 和 y 所指字符串中相同的字符个数30.若有定义语句:char *s1=‛OK‛;*s2=‛ok‛;,以下选项中,能够输出‚OK‛的语句是A.if(stremp(s1,s2)==0) puts(s1);B.if(stremp(s1,s2)!=0) puts(s2);C.if(stremp(s1,s2)==1) puts(s1);D.if(stremp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的 fun 函数#include<stdio.h>Main(){double a[15],k; K=fun(a);}则以下选项中错误的fun函数首部是A.double fun(double a[15])B.double fun(double *a)C.double fun(double a[])D.double fun(double a)32.有以下程序:#include<stdio.h>#include<string.h>Main(){ char a[5][10]={‚china‛,‛beijing‛,‛you‛,‛tiananmen‛,‛welcome‛}; Int I,j;char t[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){ strepy(t,a[i]); strepy(a[i],a[j]); strepy(a[i],t);} Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#include<stdio.h> Int f(intm){ static int n=0; N+=m;Return n;}Main(){ int n=0; Printf(‚%d,‛,f(++n));Printf(‚%d\n‛,f(n++));程序运行后的输出结果是____________A. 1,2B. 1,1C. 2,3D. 3,334.有以下程序#include<stdio.h>Main(){ char ch[3][5]={‚AAAA‛,‛BBB‛,‛CC‛} Printf(‚%s\n‛,ch[1]);}程序运行后的输出的结果是A.AAAAC.BBBCCD.BBB35.有以下程序#include<stdio.h>#include<string.h> Void fun(char *u,int n){ char x,*y1,*y2; Y1=u;y2=u+n-1;While(y1<y2) {s=*y1;*y1=*y2;*y2=s;p1++;p2--;}}Main(){ char a[]=‛1,2,3,4,5,6‛;Fun(a,strem(a));puts(a);}程序运行后的输出结果是A.654321B.115611C.153525D.12345636.有以下程序#include<stdio.h>#include<string.h>typedef struct{char name[];char sex;int score[2]}STU; STU f(STU i) {STU i={‚Zhao‛,‛m‛,85,90}; Int I;Strcpy(a name,b name); A sex=b sex;For(i=0;i<2;i++) a score[i]=b score[i]; Return a;}Main()STU c={‚Qian‛,‛f‛,95,92},d; D=f(c);Printf(‚%s,%c,%d,%d,‛,,d.sex,d.score[0],d.score[1]);Printf(‚%s,%c,%d,%d\n‛,,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A.zhao,m,85,90,Qian,f,95,92B.zhao,m,85,90,zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhao,m,85,9037.在以下程序#include<stdio.h>Main(){struct node{int n; struct node *next;}*p; Struct nodex[3]={{2,x+1},{4,x+2},{6,NULL}}; P=x;Printf(‚%d,‛,p>a);Printf(‚%d\n‛,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#include<stdio.h>Main(){ int a=2,b;B=a<<2; printf(‚%d\n‛,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为 static 型变量40.有以下程序#include<stdio.h>Main() {FILE *fp;Int k,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(‚d2.dat‛,‛w‛);For(i=0;i<6;i++) fprintf(fp,‛%d\n‛,a[i]);Fclose(fp);Fp=fopen(‚d2.dat‛,‛r‛);For(i=0;i<3;i++) fscanf(fp,‛%d%d‛,&k,&n);Fclose(fp);Printf(‚%d,%d\n‛,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为 n 的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。
2011年计算机等级二级C语言章节习题及答案(13)
2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt
k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(17)B 【解析】根据清华大学出版社“C程序设计”P94关于逻辑表达式运算规定(1),
a&&b&&c,只要a为0,则不必判别b和c;若a为1才判别b;若b为0,则不必判别c。
现题目逻辑表达式左边(k1=k1>k2)为0,右边不再判别,所以答案是a为0;b仍为原值20。
(18)有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
是所有用户的公共数据视图。外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑
表示。内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的
描述,是数据在数据库内部的表示方式,所以正确答案为D。
(9)有三个关系R、S和T如下:
R S T
A
B
C
A
B
C
A
B
C
a
1
2
a
1
2
c
3
1
b
2
1
b
2
1
C
3
1
则由关系R和S得到关系T的操作是___________。
辑判断值为0,输出y;D) 逻辑判断值a==0为1,输出x
C语言机考习题
C语⾔机考习题2010-2011学年第⼀学期程序设计基础机试题库⼀、选择结构程序设计部分1.从键盘接收两个整数,屏幕输出其中较⼤的⼀个。
2.从键盘接收三个整数,屏幕输出最⼤的⼀个。
3.从键盘接收⼀个字母,如果接收的是‘y’或者‘Y’,则输出“正确”。
否则输出“错误”4.从键盘上接收⼀个⼗进制整数,转换成⼆进制输出。
5.从键盘上接收⼀个⼗进制整数,转换成⼋进制输出。
6.从键盘上接收⼀个⼗进制整数,转换成⼗六进制输出。
7.从键盘接收⼀个字符,如果是字母,输出其对应的ASCII码,否则给出提⽰信息“输⼊的不是字母”。
8.从键盘接收⼀个三位数的整数,求出每⼀位数字并按逆序输出,如输⼊的数位123,输出的⼀个数位321。
9.要将“china”译成密码。
密码规律是:⽤原来的字母后⾯第4个字母代替原来的字母。
例如,字母“A”后⾯第4个字母中“E”,⽤“E”代替“A”。
因此,“china”应译为“glmre”。
请编⼀程序,⽤赋初值的⽅法使c1. c2.c3.c4.c5 5个变量的值分别为’c’. ‘h’. ‘i’. ‘n’.‘a’,经过运算,使c1. c2 c3 c4 c5 的值分别变为’G’. ‘I’ . ‘m’‘r’‘e’, 并输出。
10.从键盘接收⼀个⾃然数,判断它是奇数还是偶数。
11.设圆的半径R=1.5,圆柱⾼H=3,求圆周长.⾯积.球表⾯积.球体积.圆柱体积.⽤scanf输⼊数据,输⼊数据,输出计算结果,输出时要求⽂字说明,取⼩数点后2位数字.请编程序。
12.输⼊⼀个华⽒温度,要求输出摄⽒温度,公式为C=5/9(F-32)输出要有⽂字说明,取两位⼩数。
13.编写⼀个程序,求a+|b|,其中a,b为两个整数。
14.编写程序实现交换两个变量的值。
15.从键盘上接收⼀个整数n,判断该数能否同时被3和5整除。
16.从键盘上输⼊⼀个年份,判断是否为闰年。
17.从键盘上输⼊三个数,判断是否可以由他们组成三⾓形,如果能,计算三⾓形的⾯积,否则给出提⽰信息“不能构成三⾓形”。
2011年计算机等级二级C语言填空题练习题及答案解析
else return (x +1)/(x-2); } double fun( int n ) {int i; double s=0.0, y; for (i= -n; i<=___2___; i++) { y=f(1.0*i); s += y; } return ___3___; } main ( ) { printf("%f\n", fun(5) ); } 第一处:0.0 第二处:n 第三处:s 解析:函数 f ( double x) 求每个单项的值。 if……else 的条件是互斥的。 fun( ) 是求和。
7) return___3___; 8) } 第一处:n==0 第二处:n==1 第三处:fun(n-1)+fun(n-2) 解析:求斐波契数列:一项等于其前两项的和。 这也是一个递归。 求斐波契数列的第 n 项的值,n 从0开始。 3. 请补全函数 fun,该函数的功能是求出以下分数序列的前 n 项之和。和值通过函数 值返回到 main 函数。 1) #include 2) #include 3) ___1___ fun(int n) 4) {int a,b,c,k; 5) double s; 6) s=0.0; 7) a=2; 8) b=1; 9) for(k=1;k<=n;k++) 10) { 11) s=s+(___2___)a/(___3___)b; 12) c=a; 13) a=a+b; 14) b=c; 15) } 16) return s; 17) }
第一处:double 第二处:double 第三处:double 解析:从第11----14总结出数列的表达式。第1项是 a/b=2/1;3/2 4/3 故:s=2/1+3/2+4/3+…… 和的初值是0。 记住:两个整数进行算术运算结果也是整数,算术运算中只要有一个操作数是实数, 运
C语言试题A
2011级计算机、软件外包专业2011-2012学年第1学期《C语言大学实用教程》期末试题(A卷)一、选择题(20*2′=40分)1.关于C程序的说法正确的是()A.程序总是从第一个函数开始执行。
B.C语句必须以分号作为结束标志。
C.C语法规定,一条语句不能写在多行上。
D.C语言函数可以嵌套定义,即在一个函数内部定义另外一个函数2.下列变量名合法的是()A.for B.a# C.2a D.int_sum3.字符串常量"\tname\n"的长度为( )A.8 B.6 C.10 D.不合法4.以下表达式正确的是()A.5.5%2 B.int(5.5)%2 C.int(5.5%2) D.(int)5.5%2 5.已知short int类型数据在内存中占2个字节,该类型有符号整数的范围是-32768~32767。
假设有short int a=32767,b;b=a+1;则b的值是()A.32768 B.-32768 C.0 D.表达式b=a+1不合法6.设有语句int a=2; 执行a+=a-=a*a; 后,变量a的值是()A.3 B.0 C.4 D.-47.C语言中用()表示逻辑值“假”A.true B.false C.0 D.18.若int a=5,b=6,c=7,d=8,m=2,n=2; 则执行(m=a<b) && (n=c>d)后n的值为()A.0 B.1 C.2 D.39.假设int a=5,b=4,c=3,则表达式a>b>c的值是()A.真B.假C.0 D.110.下面的条件语句中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是()A.if(a) s1; else s2; B.if(!a) s2;else s1;C.if(a!=0) s1; else s2; D.if(a= =0) s1; else s2;11.有以下程序段#include<stdio.h>void main(){int x,y;scanf("%2d%*2s%2d",&x,&y);printf("%d",x+y) ;}若程序运行时从键盘输入了1234567↙(其中,↙表示回车。
2011年3月计算机二级考试c语言试题及答案详细解析
2011年3月计算机二级考试c 语言试题及答案详细解析2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A) BY B) BT C) YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
C语言程序设计习题集(学校题库)
2010-2011 第一C语言程序设计一、填空题1. 每一个C程序都必须有一个____函数。
2. C程序是由____构成的。
3. TC集成开发环境中,用热键______查看运行结果。
4. 浮点数3*108写成C语言指数格式为_____(最简格式)。
5. TC控制字符'\r'表示____。
6. 字符串"abc\r\x41\x42\\"中有效字符个数是__。
7. 求表达式的值:123/10%10=___________ 。
8. 已知:a=3,b=4,c=5,求a=(b++)+c运算后a的值为:___________9. 用于从键盘读入一个字符但不回显的是__。
10. 执行语句if((x=4+3)==3)y=5;else y=10;后,结果:y=_______11. 执行语句if(!5)y=5;else y=10;后,结果:y=_____12. C语言是以( )为单位进行编译的。
第 1 页/共62 页13. 定义函数时在数据类型前面加static和extern分别表示定义____函数和____函数。
14. 内部函数的作用域只限于一个____。
15. 外部函数的作用域只限于一个____。
16. 有序线性表能进行二分查找的前提是该线性表必须是____ 存储的。
17. 对软件设计的最小单位(模块或程序单元)进行的测试通常称为____测试。
18. 实体完整性约束要求关系数据库中元组的____属性值不能为空。
19. 在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称____是关系A的外码。
20. 字符(char)型数据在微机内存中的存储形式是____21. 输入一个五位整数,将它反向输出。
例如输入12345,输出应为____。
22. C语言程序的基本单位是____ 。
23. C语言程序的三种基本结构是____。
24. C语言可执行程序的开始执行点是____ 。
c语言上机,填空题
1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int x[]){ int i,j,k,t,mid,b[N];for(i=0;ifor(i=0;i<=N/2;i++){ k=i;for(j=i+1;jb[j]) k=j;if(k != i ){/**********found**********/t=b[i]; b[i]=_b[k]___; b[k]=t;}}/**********found**********/mid=b[___N/2__];for(i=0; i/**********found**********/if(x[i] ___<___ mid) x[i]=mid;return mid;}main(){ int i, x[N]={1,5,7,23,87,5,8,21,45};for(i=0; ifor(i=0; i}2、给定程序中,函数fun的功能是建立一个N×N的矩阵。
矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。
例如,若N=5,生成的矩阵为:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
2011C语言程序设计习题集答案
第1~2章C语言概述、算法、数据类型、运算符与表达式一、选择题ACDbB CCDCBD二、填空题1、n=202、a=66,b=E第3章顺序程序设计一、选择题BAAD二、程序阅读1、12 240 122、2,3,2,23、0三、编程1.输入三个整数作为三角形的边,设能构成三角形,计算其面积和周长。
三角形的周长面积公式分别为:L=(a+b+c)/2; area=(s*(s-a)*(s-b)*(s-c))^(1/2).#include <stdio.h>#include <math.h>void main(){int a,b,c;floats,area;scanf("%d,%d,%d",&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,area=%f",a,b,c,area);}2.求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac>0。
#include <stdio.h>#include <math.h>void main(){float a,b,c,del,x1,x2;scanf("%f,%f,%f",&a,&b,&c);del=b*b-4*a*c;if (del>=0){x1=(-b+sqrt(del))/(2*a);x2=(-b-sqrt(del))/(2*a);printf("x1=%f,x2=%f",x1,x2);}elseprintf("没有实根");}3.求摄氏温度26度对应的华氏温度,计算公式为:F=(9/5)C+32,式中:C表示摄氏温度,F表示华氏温度。
2011年3月计算机二级C语言真题含答案
2011年3月電腦等級考試二級C語言筆試一、選擇題(1)下列關於棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最後才能被刪除C)棧底元素永遠不能被刪除D)以上三種說法都不對(2)下列敘述中正確的是A)有一個以上根結點的數據結構不一定是非線性結構B)只有一個根結點的數據結構不一定是線性結構C)迴圈鏈表是非線性結構D)雙向鏈表是非線性結構(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A)3 B)4 C)6 D)7(4)在軟體開發中,需求分析階段產生的主要文檔是A)軟體集成測試計畫B)軟體詳細設計說明書C)用戶手冊D)軟體需求規格說明書(5)結構化程式所要求的基本結構不包括A)順序結構B)GOTO跳轉C)選擇(分支)結構D)重複(迴圈)結構(6)下麵描述中錯誤的是A)系統總體結構圖支持軟體系統的詳細設計B)軟體設計是將軟體需求轉換為軟體表示的過程C)數據結構與資料庫設計是軟體設計的任務之一D)PAD圖是軟體詳細設計的表示工具(7)負責資料庫中查詢操作的資料庫語言是A)數據定義語言B)數據管理語言C)數據操縱語言D)數據控制語言(8)一個教師可講授多門課程,一門課程可由多個教師講授。
則實體教師和課程間的聯繫是A)1:1聯繫B)1:m聯繫C)m:1聯繫D)m:n聯繫(9)有三個關係R、S和T如下:RA B C a 1 2B 2 1C 3 1SA BC 3TC1則由關係R和S得到關係T的操作是A)自然連接B)交C)除D)並(10)定義無符號整數類為UInt,下麵可以作為類UInt實例化值的是A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}(11)電腦高級語言程式的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是A)C語言程式僅可以編譯執行B)C語言程式僅可以解釋執行C)C語言程式既可以編譯執行又可以解釋執行D)以上說法都不對(12)以下敘述中錯誤的是A)C語言的可執行程式是由一系列機器指令構成的B)用C語言編寫的根源程式不能直接在電腦上運行C)通過編譯得到的二進位目標程式需要連接才可以運行D)在沒有安裝C語言集成開發環境的機器上不能運行C根源程式生成的.exe檔(13)以下選項中不能用作C程式合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下選項中可用作C程式合法實數的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值運算式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程式段char name[20];int num;scanf("name=%s num=%d",name;&num);當執行上述程式段,並從鍵盤輸入:name=Lili num=1001<回車>後,name的值為A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if語句的基本形式是:if(運算式)語句,以下關於“運算式”值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值(18)有以下程式#includemain(){ int x=011;printf("%d\n",++x);}程式運行後的輸出結果是A)12 B)11 C)10 D)9(19)有以下程式#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}運行時,若輸入1 2 3 4 5 0<回車>,則輸出結果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程式段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下關於程式段執行情況的敘述,正確的是A)for迴圈語句固定執行8次B)當產生的亂數n為4時結束迴圈操作C)當產生的亂數n為1和2時不做任何操作D)當產生的亂數n為0時結束程式運行(21)有以下程式#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程式運行後的輸出結果是A)0 B)3 C)7 D)8(22)若i和k都是int類型變數,有以下for語句for(i=0,k=-1;k=1;k++) printf("*****\n");下麵關於語句執行情況的敘述中正確的是A)循環體執行兩次B)循環體執行一次C)循環體一次也不執行D)構成無限迴圈(23)有以下程式#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程式運行後的輸出結果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)設有定義:double x[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程式(說明:字母A的ASCII碼值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}。
计算机二级C语言程序填空题及答案解析精选
【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#includemain(){ 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);}【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#includedouble pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ①;return( ②);}【3.3】下面的程序的功能是求一维数组中的最小元素。
findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;p<T;P++)if(s[p]<S[*K])①;}main(){ int a[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。
main(){ int i,t=1,s=0;for(i=1;i<=101;i+=2)s=s+t;②;}printf("%d\n",s);}【3.5】有以下程序段:s=1.0;for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("%f\n",s);填空完成下述程序,使之与上述程序的功能完全相同。
s=0.0;①;k=0;do{ s=s+d;②;d=1.0/(k*(k+1));}while( ③);printf("%f\n",s);【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
c 上机试题及答案
c 上机试题及答案第一部分:多项选择题1. 下面哪个选项是正确的?a) Ab) Bc) Cd) D答案:d) D2. 在计算机科学中,什么是“算法”?a) 一种计算机语言b) 一种软件程序c) 一种解决问题的方法或步骤d) 一种计算机硬件答案:c) 一种解决问题的方法或步骤3. 下面哪个选项是关于二进制的描述?a) 使用0和1进行计算的系统b) 使用10个数字进行计算的系统c) 使用英文字母进行计算的系统d) 使用负数进行计算的系统答案:a) 使用0和1进行计算的系统第二部分:填空题1. 在C语言中,用于在屏幕上输出文本的函数是______。
答案:printf2. 在计算机领域中,RAM代表______。
答案:Random Access Memory(随机存取存储器)3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。
答案:运行时错误(Runtime Error)第三部分:编程题编写一个C程序,计算并输出1到100之间所有奇数的和。
```c#include <stdio.h>int main(void) {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```答案:1到100之间所有奇数的和为:2500第四部分:简答题1. 请简要解释什么是“数据类型”,并举例说明。
答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。
例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如:```cint age = 25;```2. 请简要介绍一下C语言的特点。
答:C语言是一种通用、高级的编程语言,具有以下特点:- 结构简洁:C语言的语法相对简单,易于学习和理解。
- 高效性:C语言可以生成高效的机器代码,执行速度快。
2011年9月全国计算机二级等级考试C语言公共基础知识选择92题+填空题46题(含答案)
计算机二级C等级考试公共基础知识(1) 下面叙述正确的是______。
(C)A算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。
(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。
(B)A. 8B. 16C. 32D. 15(5) 下面概念中,不属于面向对象方法的是______。
(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。
(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。
(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。
(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 下列叙述中正确的是______。
(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
c语言2011考试题及答案
c语言2011考试题及答案一、单项选择题(每题2分,共20分)1. 下列选项中,哪个是C语言中的合法变量名?A. 123abcB. _intC. intD. float答案:B2. C语言中,哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A3. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. case答案:D6. C语言中,用于定义一个数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array;答案:A7. C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B8. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C9. 下列哪个选项不是C语言中的预处理命令?A. #includeB. #defineC. #ifD. switch答案:D10. C语言中,哪个函数用于输出格式化的字符串?A. printfB. scanfC. fprintfD. sprintf答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:____。
答案:int variable_name;2. C语言中,用于声明一个函数的关键字是:____。
答案:int3. 在C语言中,用于表示逻辑“与”操作的运算符是:____。
答案:&&4. C语言中,用于表示逻辑“或”操作的运算符是:____。
答案:||5. 在C语言中,用于声明一个字符数组的语法是:____。
上机考试题库c语言
上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
C语言--上机附加题 附4答案
else if (a[i] >='A' && a[i]<='Z')
b[a[i] -'A']++;
max = 0;
for (i=1; i<26; i++)
/**********found**********/
if (b[max] < b[i])
max=i;
printf("出现次数最多的字符是: %c\n", max + 'a');
{ int b[26], i, n,max;
for (i=0; i<26; i++)
/**********found**********/
b[i] = 0;
n= strlen(a);
for (i=0; i<n; i++)
if (a[i] >='a' && a[i]<='z')
/**********found**********/
//NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *fp, *wf ;
int i; long r;
char s[10], *p;
fp = fopen("K:\\k01\\24000310\\in.dat","r") ;
wf = fopen("K:\\k01\\24000310\\out.dat","w") ;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
2 请补充main 函数,该函数的功能是:计算两个自然数n 和m(m<10000)之间所有数的和(n 和m 从键盘输入)。
例如,当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。
3 给定程序的功能是:判断字符ch 是否与串str 中的某个字符相同,若相同什么也不做,若不同则插在串的最后。
4 请补充函数fun,该函数的功能是:把ASCII 码为偶数的字符从字符串str 中删除,结果仍然保存在字符串str 中,字符串str 从键盘输入,其长度作为参数传入函数fun 。
例如,输入"abcdef",输出"ace"。
5 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
6 请补充函数fun,函数fun 的功能是求n 的阶乘。
7 请补充函数fun,该函数的功能是:整除x 且是偶数的数,把这些数保存在数组bb 中,并按从大到小的顺序输出。
例如当x=20时,依次输出:20 10 4 2。
8 请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。
例如,在主函数中从键盘给n 输入30后,输出为:s=1.226323。
9 请补充main 函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组bb中。
例如,当score[N][M]={{83.5,82,86,65,67},{80, 91.5 ,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。
10 请补充函数fun(char*s),该函数的功能是:把字符串中的内容逆置。
例如,字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba 。
11 请补充main 函数,该函数的功能是:输出一个N N ⨯矩阵,要求非周边元素赋值0,周边元素赋值1。
12 请补充main 函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。
结果仍然保存在原串中。
例如,输入"abcdef",指定字符为"e",则输出"abcd"。
13 请补充main 函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。
例如,输入12,45,43,最大值为45。
14 函数fun 的功能是:从三个形参a 、b 、c 中找出中间的数,作为函数值返回。
例如,当a=3,b=5,c=4时,中间的数为4。
15 函数fun 的功能是:统计长整数n 的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。
16 请补充main 函数,该函数的功能是:打印出1 1000中满足个位数字的立方等于其本身所有数。
本题的结果为:1 64 125 216 729 17 请补充main 函数,该函数的功能是:打印出满足个位的数字、十位上的数字和百位上的数字都相等的所有三位数。
本题的结果为: 111 222 333 444 555 666 777 888 999。
18 请补充main 函数。
该函数的功能是:求1 100(不包括100)以内所有素数的平均值。
程序运行后的结果为42.40。
19 请补充函数fun,该函数的功能是:求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如,当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},结果为:avg=15.030000。
20 请补充函数fun,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str中。
例如,当n=13572468时,str="86427531"。
21 请补充函数fun,该函数的功能是:将字符串tt 中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入"Are you come from Sichuan?",则输出"are you come from sichuan?"。
22 请补充main 函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。
例如,输入:-3847652,结果为:3847652。
23 请补充main 函数,该函数的功能是:从键盘输入若干字符放到一个字符数组中,当按回车键时结束输入,最后输出这个字符数组中的所有字符。
24 请补充main 函数,该函数的功能是求方程ax 2+bx+c=0的两个实数根。
方程的系数a 、b 、c 从键盘输入,如果判别式(disc=b 2-4ac)小于0,则要求重新输入a 、b 、c 的值。
例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,x2=-1.00。
25 请补充main 函数,该函数的功能是:从键盘输入两个字符串并分别保存在字符数组str1和str2中,用字符串str2替换字符串str1前面的所有字符。
注意:str2的长度不大于str1,否则需要重新输入。
例如,如果输入str1="abced",str2="fk",则输出"fkced"。
26 给定程序中,函数fun 的功能是:将形参指针所指结构体数组中的三个元素按num 成员进行升序排列。
27 给定程序中,函数fun 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动 (注:字符串的长度不小于2)。
例如,形参s 所指的字符串为:abcdefgh,执行结果为:ahcbedgf 。
28 给定程序的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,给字符串ss 输入:AaaaBBbl23CCccccd,则输出结果应为:upper=5,lower=9。
29 请补充main 函数,该函数的功能是:先以只写方式打开文件"out29.dat",再把字符串str 中的字符保存到这个磁盘文件中。
30 请补充main 函数,该函数的功能是:把文本文件B 中的内容追加到文本文件A 的内容之后。
例如,文件B 的内容为"I m ten.",文件A 的内容为"I m a student!",追加之后文件A 的内容为"I m a student ! I m ten."。
31 请补充main 函数,该函数的功能是:求n!。
例如,7!=5040。
32 请补允函数fun,该函数的功能是:计算并输出下列多项式的值。
111S =1++++1+21+2+31+2+3+例如,若主函数从键盘给n 输入50后,则输出为S=1.960784。
33程序的功能是计算nks=k!∑。
34 请补充main 函数,该函数的功能是:求1+2!+3!+…+N!的和。
例如,1+2!+3!+…+5!+6!的和为873。
35 给定程序的功能是:计算并输出下列级数的前N 项之和SN,直到SN 大于q 为止,q 的值通过形参传入。
N 234N +1S =++++123N例如,若q 的值为50.0,则函数值为50.416687。
36 请在函数fun 的横线上填写若干表达式,使从键盘上输入一个整数n,输出n 对应的斐波拉契数列。
斐波拉契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…37 请补充函数fun,该函数的功能是:把从键盘输入的3个整数按从小到大输出。
例如,输入"33 78 25",结果输出"25 33 78"。
38请补充main 函数,该函数的功能是:计算三名学生学科的平均成绩。
例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90,95,86,95,97}}时,五门学科的平均分为:84.5,89.5,85.3,86.3,86.3。
39 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
40 数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num 传入函数fun 。
请补充函数fun,该函数的功能是:从数组xx 中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy 中,其个数由函数fun返回。
例如,当xx[8]={135,787,232,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。
41 请补充函数fun,该函数的功能是:判断一个数是否为素数。
该数是素数时,函数返回字符串"yes!",否则函数返回字符串"no!",并在主函数中输出。
42 给定程序中,函数fun 的功能是:在形参s 所指字符串中的每个数字字符之后插入一个*号。
例如,形参s 所指的字符串为:def35adh3kjsdf7。
执行结果为:def3*5*adh3*kjsdf7*。
43 请补充函数fun,该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。
44 从键盘输入一组小写字母,保存在字符数组str 中。
请补充函数fun,该函数的功能是:把字符数组str 中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。
例如,输入"acegikm",则输出"aCeGiKm"。
45 函数fun 的功能是:逆置数组元素中的值。
形参n 给出数组中数据的个数。
例如,若a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后为:9、8、7、6、5、4、3、2、1。