2023年C语言程序设计期末复习题_第1页
2023年C语言程序设计期末复习题_第2页
2023年C语言程序设计期末复习题_第3页
2023年C语言程序设计期末复习题_第4页
2023年C语言程序设计期末复习题_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

TC语言程序设计复习题判断题:C语言编写的源程序通过编译、连接后,假如没有错误,则运营结果一定对的。()在C语言中,变量是不区分大小写的,如:a和A是同一个变量。()double类型数据的输入必须用格式“%lf”。()while和do-while循环,肯定是可以互相替换的。()若有定义inta=2,则语句printf(“%d”,a++);的输出结果为3。()在循环体中,使用continue语句,可以跳出该循环。()表达式3*5/2和表达式3/2*5的值相等。()任何变量都必须要定义其类型。()表达式(double)(1/2)的值为0.5。()若有定义inta=0,b;执行语句if(a=0)b=0;elseb=1;后,b的值是1。()C语言中用于结构化程序设计的三种基本结构是if、switch、break。()设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则计算表达式:(m=a>b)&&(n=c>d)后,n的值为2。()在可执行的C语言程序中有且只有一个主函数main(),并且应当写在程序的最前面。()若有intx,则(x+1)++是一个合法的c语言表达式。()设intx=7,y=5,则x*=y-3后,x的值为14。()假如i的原值为3,则执行语句:j=i++;后,j的值为3。()do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。()表达式4.0*(1/2)的值为2.0。()‘\n’是一个字符常量。()表达式3.5%2是合法的C语言表达式。()C的任何类型数据在计算机内部都是以二进制形式存储的。()定义函数时,必须要有形参和返回值。()在C程序中,main函数和自定义的函数都可以有多个。()语句return(a,b);则函数可以返回两个值。()传值调用时,在函数中形参变量值改变后,不改变实参变量的值。()构成数组的各个元素的数据类型不一定要相同。()有定义:inta[5]={10,11,12,13,14},*p=a;,语句printf(“%d”,*p++);的输出结果为11。()在C程序中,函数既可以嵌套定义,也可以嵌套调用。()传值调用的形参只有在被调用时,才被创建(分派存储单元)。()在C程序中,若对函数类型未加说明,则函数的隐含类型为void。()若a为一维数组名,则*(a+i)与a[i]等价。()C文献使用前需要打开,使用后需要关闭。()定义为void类型的函数,其含义是调用函数后,被调用的函数的返回值为任意的类型。()C语言程序中,若实参是变量,当调用函数时实参和形参各占一个独立的存储单元。()在C语言中,所有函数之间都可以互相调用。()若有定义chars1[]=”Hello”,s2[]=”world!”,则strlen(s1)+strlen(s2)等于strlen(strcat(s1,s2))。()若有定义inta,*p=&a,*q=p;则p指向a,q指向p。()若有定义inta,*p=&a;char*t;由于指针的数据类型事实上是指定指针所能指向对象的数据类型,所以不能将p赋给t。()若fp是指向某文献的指针,且已读到该文献的末尾,则C语言函数feof(fp)的返回值是0。()在使用fopen()函数时必须先定义一个类型为FILE的文献指针。()void类型的函数一定无形参。()数组元素的下标必须是整数,不能用实数。()若有定义语句“inta[10];”则a[10-9/2]是合法的数组元素。()若有定义语句“inta[10],i=2;”,则&a[i]与a+i等价。()数组定义语句“charc[]="Hello";”与“charc[]={‘H’,’e’,’l’,’l’,’o’};”等价。()语句“double*p=&x,x;”使指针变量p指向变量x。()C语言规定,实参应与其相应的形参类型一致。()系统判断字符串结束的标志是’\n’。()若打开文献的方式为“w”而该文献已经存在,则文献中原有数据被清空。()单选题:可以把由高级语言编写的源程序翻译成目的程序的系统软件叫(B)A.源程序B.编译程序C.汇编程序D.解释程序下列结构中,不属于结构化程序设计中的3种结构的是(D)A.循环结构B.顺序结构C.选择结构D.网状结构程序中调用了库函数exit(0),必须包含头文献(B)A.string.hB.stdlib.hC.ctype.hD.math.hx、y是整型变量,执行语句scanf("x=%d,y=%d",&x,&y);使x和y的值分别为7和9,对的的输入是(C)A.79B.7,9C.x=7,y=9 D.x=7y=条件“-6≤x≤4”,相应的C逻辑表达式是(D)A.x>=-6andx<=4B.-6<=x<=4C.x>=-6||x<=4D.x>=-6&&x<=4假设变量x、k都已定义,下列语句片段中,无语法错误的是(B)A.switch(x){casex>=80:putchar(‘A’);casex<70:putchar(‘E’);}B.switch(x){case2+4:k=‘A’;defualt:k=‘E’;case3*5:k=‘B’;}C.switch(x){case3+x:k=x-2;case5*x:k=x+3;default:k=0;}D.switch(x){case4.5:k=0.5*x;case6.8:k=8*x;default:k=0;}判断下面的while循环体的执行次数(D)i=5;k=10;while(i=1)i=k--;A.B.10次C.2次D.无数次能对的地定义符号常量的是(B)A.#definen=6B.#definen6C.#definen6;D.#DEFINE若有定义语句“charc=‘\134’;”则变量c(A)A.包含1个字符B.包含2个字符C.包含3个字符D.包含4个字符设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)A.把x和y按从小到大排列B.把x和y按从大到小排列C.无拟定结果D.互换x和y中的值X=X+YY=X-YX=X-Y下列运算符中,优先级最低的是(D)A.?:B.&&C./=D.,若有条件表达式“x?a++:b--”,则以下表达式中(B)等价于表达式xA.x==0B.x!=0C.x==1D.x!=1以下关于switch语句和break语句的描述,只有(C)是对的的A.在switch语句中必须使用break语句B.break语句只能用于switch语句中C.在switch语句中,可以根据需要使用或不使用break语句D.break语句是switch语句的一部分以下程序段的循环次数是(A)for(i=3;i==0;)printf(“%d”,i--);A.0次B.3次C.2次D.无数次while(scanf(“%f”,&n),n<=0);下列描述对的的是(A)A.当输入n>0的值时循环终止B.当输入n<=0的值时循环终止C.scanf(“%f”,&n),n<=0不能充当循环条件D.循环体不能为空以下不对的的C语言标记符是(C)。A._nextB.a_1_2C.f(x,y)D.Prog若有定义:intk=2,x;则能使变量x的值为3的表达式是(B)。A.x=5/k+0.5B.x=5/k+1;C.x=x+kD.x=2*k--设charc=‘y’;,表达式c>=‘a’&&c<=‘z’||c>=‘A’&&c<=‘Z’的值为(B)A.0B.1C.“假”D.“真”若有定义inta=1,b=2,c=3;在下列选项中,不对的的赋值语句是(D)。A.a++;B.a=b=c=0;C.a=b==c;D.a=b+c=1;判断下面的while循环体的执行次数(D)。k=10,s=0;while(k>=0)s+=k--;A.0次B.1次C.10次D.11次设整型变量a为9,使b不为4的表达式是(B)。A.b=a/2B.b=(--a)-5C.b=a>3?4:5D.b=a%5循环语句for(x=0,y=0;(y!=123)||(x<4);x++);执行(A)。A.无限次B.4次C.3次D.0次若有定义:inta=8,b=5,c;,则执行语句c=a/b+0.4;后,c的值为(B)。A.1.4B.1C.2已知intx=10,y=20,z=30;,执行if(x>y)z=x;x=y;y=z;后x,y,z的值是(B)。A.10,20,30B.20,30,30C.20,30,10D.20,30,20为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与(B)配对。A.缩排位置相同的ifB.其之前最近的没有else配对的ifC.其之后最近的ifD.同一行上的if下列各m的值中,能使表达式m%3==2&&m%5==3&&m%7==2值为1的是(A)。A.23B.17C.8D.6以下4个选项中,不能看作一条语句的是(D)。A.;B.a=0,b=0,c=0;C.while(i--);D.if(b==0)m=1;n=2;逻辑运算符两侧运算对象的数据类型(D)。A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型数据以下程序段输出结果是(C)。intx=3;do{printf(“%3d”,x-=2);}while(!(--x));A.1B.30C.1-2D.死循环有定义”inta=5;”,语句”a+=a-=a+a;”,执行后,变量a的值为(C)。A.10B.5C.-10D.-5下列各语句中,可以将变量u、s中最大值赋给变量t的是(C)。A.if(u>s)t=u;t=s;B.t=u;if(u>s)t=s;C.t=s;if(u>s)t=u;D.if(u>s)t=s;elset=u;下列可以对的表达字符型常量的是(B)。A.“a”B.’\t’C.”\n”D.18执行x=(6*7%8+9)/3;后,x的值为(C)。A.1B.2C.3D.4设inta=3,b=6,c=9;,下列表达式中值为0的是(D)。A.2*a<=bB.a&&bC.(3*a-c)||bD.b-a<c-b下列语句中,哪一个可以输出26个大写英文字母(D)。A.for(a=‘A’;a<=‘Z’;printf("%c",++a)); B.for(a=‘A’;a<‘Z’;a++)printf("%c",a);C.for(a=‘A’;a<‘Z’;printf("%c",++a));D.for(a=‘A’;a<=‘Z’;printf("%c",a++));下列(C)是c语言中的常量。A.e+2B.068C.‘\x41’D.π下列(C)表达式的值等于0。A.2%5B.1/2.0C.10>5>3D.!(‘a’-97)设有定义doublex=2.4,y=3.56;,则表达式(int)x+y的值为(A)。A.5.56B.5.4C.5D.设有语句intn=10,i=4;,则语句n%=i+1;执行后,n的值是(A)。A.0B.1C.2D.3下列语句将大写字母转换为小写字母,其它字符不变,其中对的的是(B)。A.if(ch>=‘A’||ch<=‘Z’)ch=ch+32;B.if(ch>=‘A’&&ch<=‘Z’)ch=ch+32;C.ch=(ch>=‘A’&&ch<=‘Z’)?ch+32:‘‘;D.ch=(ch>‘A’&&ch<‘Z’)?ch+32:ch;设有定义inta=0,b=0,t;,则执行语句:t=a++&&++b;后,a和b的值是(b!)。A.a=0,b=0B.a=0,b=1C.a=1,b=0D.a=1,b=1若有inti;,执行语句for(i=1;i++<4;);后变量i的值是(C)。A.3B.4C.5D.不拟定程序段intn=10;while(n>7){n--;printf("%d",n);}的输出结果是(D)。A.109B.98C.1098D.987执行下面程序段,若从键盘输入33后,其输出结果是(D)。intx;scanf(“%d”,&x);if(x>60)printf(“%d”,x);elseif(x>30)printf(“%d”,x);elseif(x>20)printf(“%d”,x);A.333333B.3333C.33D.333333设有函数调用语句:m=max(a,max(b,c));则函数max有(C)个实参A.1B.4C.2程序中调用了库函数strlen,必须包含头文献(D)。A.stdlib.hB.math.hC.ctype.hD.string.h下列数组s中所存放字符串的长度为(B)。chars[]="a\127b\\\tcd\xdg\n";A.9B.10C.11D.18下列能对的定义一维数组a的语句是(D)。A.inta(20);B.intn=20,a[n];C.intn;scanf("%d",&n);D.#definen20inta[n];inta[n];若有inta[8]={1,9,8,0,4,2,5,3};则数值为2的表达式是(C)。A.*aB.a[6]C.*a+1D.*(a+1)+5下列程序段的运营结果为(B)。chars[]="mn\0gy";printf("%s",s);A.mn0B.mnC.MngyD.mngy若有定义chars[8]="broke",*ps=s;则不能代表字符k的表达式是(A)。A.ps+3B.s[3]C.ps[3]D.*(ps+3)下面的程序段中循环体执行次数(B)。chara[5],*t="Boy",*s=t;inti=0;while(*s!=‘\0’){a[i]=*s;s++;}A、4次B、3次C、0次D、无数次对变量定义及初始化为:FILE*p=fopen("d:\\aa.txt","r");intx;floata;chars;能对的的将文献中的整数、实数、字符输入到各变量的是(D)。A、fgets(x,a,s,p);B、fprintf(p,”%d,%f,%c”,x,a,s);C、fgetc(x,a,s,p);D、fscanf(p,”%d,%f,%c”,&x,&a,&s);函数定义如下:voidfun(intx,inty,int*a,int*b){*a=x+y;*b=x*y;}可以对的调用fun函数的是(B)。其中m、n是已经定义过的int型变量。A、fun(5,8,m,n);B、fun(5,8,&m,&n);C、fun(5,8,*m,*n);D、fun(m,n,5,8);定义chars[4]={"Max"},t;执行下面语句段后输出结果是(B)。t=s[0];s[0]=s[2];s[2]=t;printf("%s\n",s);A、MaxB、xaMC、axMD、xMa以下叙述不对的的是(B)。A.main函数在C语言中必须有且只有一个B.C程序的执行从main函数开始,所以main函数必须放在程序最前面C.函数可以带参数,也可以不带参数D.每个函数执行时,按函数体中语句的先后顺序,依次执行每条语句在C程序中,若对函数返回类型未加说明,则函数的隐含类型为(A)。A.intB.doubleC.voidD.char有一个函数调用f((1,2),3*4),则本次调用的是下面哪个函数f(B)?voidf(inta);voidf(inta,intb);voidf(inta,intb,intc);voidf(inta,intb,intc,intd);若有定义语句“inta[10];”则下列对a中数组元素对的引用的是(C)。A.a[10]B.a[2.5]C.a[5%2]D.a[5+6]下列哪个语句存在语法错误(C)?A.charc=‘A’;B.charc[]="A";C.charc=‘AB’;D.charc[]="AB";已知”chars[]=“ab\0cd”;”,则数组s的长度为(),s所存放的字符串的长度为()。BA.6和5B.6和2C.5和2D.5和5若有说明:inti,j=1,*p=&i;则与i=j;等价的语句是(B)。A.i=*p;B.*p=j;C.i=&j;D.p=&j;有数组定义语句“chara[20];”,则对的的输入语句为(D)。A.scanf("%s",&a);B.scanf("%s",a[]);C.gets(a[20]);D.gets(a);p和q同为指向int类型的指针,则下面哪个表达式会导致语法错误?(A)A.p+qB.p-qC.p=qD.p==q下列语句定义p为指向double型变量x的指针,其中对的的是(B)。A.doublex,*p=*x;B.doublex,*p=&x;C.double*p=&x,x;D.doublex;int*p;p=&x;已定义以下函数:intfun(int*p){return*p;},fun函数返回值是(C)。A.不拟定的值B.形参p中存放的值C.一个整数D.形参p的地址值下面程序的运营结果为(A)。inta[]={1,2,3,4},*p=a;printf("%d",*p++);!!!!!printf("%d",*p);A.12B.11C.23D.22若有定义:charstr[]=“ABCD”,*p=str;则语句printf(“%d\n”,*(p+4));的输出结果是(B)(已知’A’的ASCII码为65)。A.68B.0C.字符D的地址D.不拟定的值下面(C)语句是从文献中读取一个字符。A.ch=getc();B.fputc(ch,fp);C.fscanf(fp,"%c",&ch);D.scanf("%c",&ch);以“只读”方式打开文本文献c:\1.txt,下列语句中哪一个是对的的(B)。A.fp=fopen("c:\\1.txt","a");B.fp=fopen("c:\\1.txt","r");C.fp=fopen("c:\1.txt","wb");D.fp=fopen("c:\1.txt","r");已知数组的初始化语句为:inta[10]={1,2,3,4,5};则表达式a[5]的值为(D)。A.5B.1C.不拟定的值D.0表达式“c=*p++”的执行过程是(A)。A.复制*p的值给c后再执行p++B.复制*p的值给c后再执行(*p)++C.复制p的值给c后再执行p++D.执行p++后将*p的值复制给c变量的指针,其含义是指该变量的(B)。A.值B.地址C.名字D.一个标志若有定义:chars[]="HappyNewYear";则下面那条语句能输出字符’N’(D)?A.printf(“%s”,s+5);B.printf(“%c”,s+5);C.printf(“%s”,*(s+5));D.printf(“%c”,*(s+5));C语言中函数返回值的类型是由(C)决定的。A.调用该函数的主调函数类型B.return语句中的表达式类型C.定义函数时所指定的返回函数值类型D.调用函数时临时以下对的的函数说明是(A)。A.intfun(int,int);B.intfun(intx,y);C.intfun(x,y);D.intfun(intx;inty);在C语言中,下面关于数组的描述对的的是(C)。A.数组的大小是固定的,但可以有不同类型的数组元素B.数组的大小是可变的,但所有数组元素的类型必须相同C.数组的大小是固定的,所有数组元素的类型必须相同D.数组的大小是可变的,可以有不同的类型的数组元素假定int类型变量占用4个字节,有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)。A.3B.12C.10D.40下列程序段执行后,s的值是(A)。S=1s=10+2s=120+3charch[]="123";inti,s=0;for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i++)s=10*s+ch[i]-’0’;为A.123B.1C.3D.6要将20,30,40,50存入数组b中,下列对的的程序段是(A)。A.inti,b[4];for(i=0;i<4;i++)b[i]=(i+2)*10;B.intb[4];b={20,30,40,50};C.intb[4];b[1]=20,b[2]=30,b[3]=40,b[4]=50;D.intb[4];b[4]={20,30,40,50};设已有定义:char*st="howareyou";下列程序段中对的的是(A)。A.chara[12],*p=a+1;strcpy(p,st+4);B.chara[12];strcpy(++a,st);C.chara[12],*p;strcpy(p,st);D.chara[],*p=a+1;strcpy(p,&st[4]);若已有定义charstr[10];要将键盘输入的字符串"apear"赋给str,应使用(B)。A.scanf("%s",str);B.gets(str);C.str="apear";D.getchar(str);若inta=1,b=2,*pa=&a,*pb=&b;,执行语句*pa*=3;b*=2;printf(“%d,%d”,*pa,*pb);后输出(D)。A.1,2B.1,4C.3,2D.3,4若有inta=100,b=200,t,*temp,*pa=&a,*pb=&b;则下列各语句组中,不能实现变量a,b值互换的是(C)。A.t=a;a=b;b=t;B.t=*pa;*pa=*pb;*pb=t;C.temp=pa;pa=pb;pb=temp;D.a=a+b;b=a-b;a=a-b;已知有语句FILE*fp;intx=123;fp=fopen("out.dat","w");,假如需要将变量x的值以文本形式保存到磁盘文献out.dat中,则以下函数调用形式中,对的的是(B)。A.fprintf("%d",x);B.fprintf(fp,"%d",x);C.fprintf("%d",x,fp);D.fprintf("out.dat","%d",x);以下对的的函数定义是(D)。A.doublefun(intx,inty)B.doublefun(intx,y){z=x+y;returnz;}{intz;returnz;}C.fun(x,y)D.doublefun(intx,inty){intx,y;doublez;{doublez;z=x+y;returnz;}z=x/y;returnz;}设有定义语句chars[]="abcDE";,则s[5]的值是(C)。A.未知字符B.’0’C.’\0’D.’E’当调用函数时,实参是一个数组名,则向函数传送的是(B)。A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值能对一维数组对的初始化的语句是(C)。A.inta[5]={0,1,2,3,4,5};B.inta[5]={};C.inta[5]={10};D.inta[5]={1,……,5};下面程序段的输出结果是(A)。chara[10]="abcd";charb[4]="ABC";strcat(a,b);printf(“%s”,a);A.abcdABCB.abcdC.ABCD.ABCabcd设有下列定义chars[]="12345",*p=s;则下列表达式中错误的是(D)。A.*(p+1)B.*(s+2)C.p="ABC"D.s="ABC"设有如下定义:inta[]={1,3,5,7,9};int*p;则下列程序段的输出结果为(A)。p=a;*(p+2)+=2;printf(“%d,%d\n”,*p,*(p+2));A.1,7B.1,5C.5,9D.3,7判断字符串s1与s2是否相等,应当使用的语句是(D)。A.if(s1==s2)B.if(s1=s2)C.if(s1[]==s2[])D.if(strcmp(s1,s2)==0)程序阅读题:说明:阅读下列程序,在每小题提供的程序运营结果若干可选答案中,挑选一个对的答案。#include<stdio.h>答案:Avoidmain(){intn;for(n=1;n<=10;n++){if(n%3==0)break;printf("%d",n);}}A. 12B.369C.12457810D.#include<stdio.h>答案:Dvoidmain(){inti,n;scanf("%d",&n);//输入24i=2;while(n>1)if(n%i==0){printf("%d\t",i);n/=i;}elsei++;printf("\n");}A.2261B.2341C.3222D.2223#include<stdio.h>答案:Avoidmain(){inti,m=15,y=-1;for(i=2;i<=m/2;i++)if(m%i==0)y=0;elsey=1;printf("%d##",y);}A.1##B.2##C.0##D.3###include<stdio.h>答案:Cvoidmain(){intj,k,s1,s2;s1=s2=0;for(j=1;j<=5;j++){s1++;for(k=1;k<=j;k++)s2++;}printf("%d%d",s1,s2);}A.55B.56C.515D.521#include"stdio.h"答案:Cvoidmain(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);//输入printf("a=%d,b=%.1f,c=%.1f\n",a,b,c);}A.a=12,b=345,c=6543B.a=12,b=123,c=1234C.a=12,b=345.0,c=6543.0D.a=12.0,b=345.0,c=6543.0#include<stdio.h>答案:Dvoidmain(){chargrade;scanf("%c",&grade);//输入Bswitch(grade){case‘A’:printf(">=85");case‘B’:case‘C’:printf(">=60");case‘D’:printf("<60");default:printf("error.");}}A.>=85>=60<60B.>=60<60C.>=60D.>=60<60error.#include<stdio.h>答案:Bvoidmain(){inta,b; for(a=1,b=1;a<100;a++) {if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}A.7B.8C.9D.10#include<stdio.h>答案:Avoidmain(){inti,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A.i=1,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=2,j=1,k=3#include<stdio.h>答案:Bvoidmain(){inta=1,b=0;do{switch(a){case1:b=1;break;case2:b=2;break;default:b=0;}b=a+b;}while(b==0);printf("a=%d,b=%d\n",a,b);}A.a=1,b=3B.a=1,b=2C.a=1,b=1D.a=1,b=0#include<stdio.h>答案:Cvoidmain(){inti,a,b;for(a=10;a<=20;a++){b=1;for(i=2;i<=a/2;i++)if(a%i==0){b=0;break;}if(b==1) printf("%d",a);}}A.101214161820B.1113151719C.11131719D.101418#include<stdio.h>答案:Cvoidmain(){intn,sum_p=0,sum_f=0;scanf(“%d”,&n);while(n!=-1){if(n>=60&&n<=100)sum_p++;elseif(n>=0&&n<60)sum_f++;scanf(“%d”,&n);}printf(“%d,%d”,sum_p,sum_f);}输入数据为2367879826101-20195680-1A.5,6B.4,5C.4,4#include<stdio.h>答案:Dvoidmain(){ints=0,i,t,flag=1;for(i=1;i<5;i++){t=flag*i*i;1-49-16s+=t;flag=-flag;}printf(“%d”,s);}A.15B.10C.-15D.#include<stdio.h>答案:Bvoidmain(){inti=0;while(i<3){switch(i){case0:printf("%d",i);case1:printf("%d",i);break;case2:printf("%d",i);break;}i++;}}A.012B.0012C.00112#include<stdio.h>答案:Cvoidmain(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);}A.0B.1C.2#include<stdio.h>答案:Avoidmain(){inti;for(i=1;i<=5;i++){if(i%2)printf(“*”);i=不为0执行elsecontinue;printf(“#”);}printf(“$\n”);}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$#include<stdio.h>答案:Cvoidmain(){inti,j,sum,m,n=4;sum=0;for(i=1;i<=n;i++){m=1;1+2+6+24for(j=1;j<=i;j++)m=m*j;sum=sum+m;}printf(“sum=%d\n”,sum);}A.sum=10B.sum=24C.sum=33D.#include"stdio.h"答案:Avoidmain(){intj,x=0;for(j=0;j<=3;j++){if(j%2)continue;x++;}printf("x=%d\n",x);}A.x=2B.x=4C.x=3D.x=1#include<stdio.h>答案:Cvoidmain(){intk;for(k=1;k<5;k++){if(k%2)printf("#");elsebreak;printf("*");}}A.#B.*#*# C、#* D.#*#*#include<stdio.h>答案:Avoidmain(){intx=6,y=5;x+=1/8;x=(++x==y++)?x%3:x/3;printf("x=%d,y=%d\n",x,y);}A.x=2,y=6B.x=1,y=5C.x=2y=6D.x=1y=5#include<stdio.h>答案:Bvoidmain(){intk=1,sum=0;do{k=k*(k+1)/2;sum+=k;}while(sum%7);printf(“sum=%d”,sum);}A.7B.sum=7C.7.0D.sum=7.0下面程序执行后的对的输出项是()。答案:A#include<stdio.h>voidswap1(inta[]){intt;t=a[0];a[0]=a[1];a[1]=t;}voidswap2(inta,intb){intt;t=a;a=b;b=t;}voidmain(){intx[2]={1,5};inty[2]={1,5};swap1(x);swap2(y[0],y[1]);printf("x:%d%d\n",x[0],x[1]);printf("y:%d%d\n",y[0],y[1]);}A. x:51 B.x:15 C. x:15 D.y:15 y:51 y:15 y:51指出对的的程序是()。答案:B程序(1)程序(2)#include<stdio.h>#include<stdio.h>voidmain()voidmain(){{char*p;chars[80];doublex,y,*p;p=s[0];x=3.45;p=&x;y=*p;scanf("%s",s);printf("%f\n",y);printf("%s\n",p);}}程序(3)程序(4)#include<stdio.h>#include<stdio.h>voidmain()voidmain(){{intx,*p;int*p=&a;*p=x;inta;printf("%d\n",*p);printf("%d\n",*p);}}A.程序(1) B.程序(2)C.程序(3)D.程序(4)下面程序的输出结果是()。答案:B#include<stdio.h>voidast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;x=*cp+*dp;y=*cp-*dp;}voidmain(){intx,y,c,d;x=7;y=8;ast(x,y,&c,&d);printf("%d,%d,%d,%d\n",x,y,c,d);}A.7,8,0,0B.7,8,15,-1C.15,-1,15,-1D.14,16,0,0下面程序执行时输入:HangZhouChina,则输出结果是()。答案:A#include<stdio.h>voidmain(){charc[81];inti;scanf(“%s”,c);for(i=0;c[i]!=‘\0’;i++)if(c[i]>=‘a’&&c[i]<=‘z’)c[i]-=32;printf(“%s”,c);}A.HANGZHOU B.HangZhouChina C.HangZhou D.HANGZHOUCHINA#include<stdio.h>答案:Dvoidf(char*s,char*t){for(;*s!=‘\0’;s++);for(;*t!=‘\0’;s++,t++)*s=*t;*s=‘\0’;}voidmain(){chara[80],b[80];printf(“PleseInputstrings:”);gets(a);//输入Hello,↙gets(b);//输入Everyone!↙f(a,b);printf("%s\n",a);}A.Hello,B.Everyone!C.Everyone!Hello,D.Hello,Everyone!#include<stdio.h>答案:Cvoidmain(){inta[6]={5,1,3,7,8,4},i,j,k;for(i=1;i<=3;i++){k=a[5];for(j=4;j>=0;j--)a[j+1]=a[j];a[0]=k;}for(i=0;i<6;i++)printf("%2d",a[i]);printf(“\n”);}A.487315B.513784C.784513D.573184#include<stdio.h>答案:Bvoidfun(inta,intb,int*c){inti,j;i=a%10;a=a/10;j=b%10;b=b/10;*c=a*1000+j*100+i*10+b;}voidmain(){intx=41,y=28,z=0;fun(x,y,&z);printf("%d,%d,%d\n",x,y,z);}A.41,28,0B.41,28,4812C.4,2,0D.4,2,4812#include<stdio.h>charfun(char*c){if(*c>=‘A’&&*c<=‘Z’)*c-=‘A’-’a’;return*c;}voidmain(){chars[81],*p=s;gets(s);while(*p!=‘\0’){*p=fun(p);putchar(*p);p++;}printf("\n");}若运营时从键盘输入:OPENTHEDOOR<CR>(此处<CR>代表Enter),则程序运营后的输出结果是(B)。A.oPENtHENdOORB.openthendoorC.OPENTHENDOORD.OpenThenDoor程序填空题:说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个对的答案。输入一批以-1结束的整数,求偶数和。【程序】#include<stdio.h>voidmain(){intx,sum;sum=0;scanf("%d",&x);____(1)____{答案:Bif(___(2)___)sum=sum+x;答案:C___(3)____;答案:B}printf(___(4)____);答案:C}(1)A.while(x==-1)B.while(x!=-1)C.if(x==-1)D.if(x!=-1)(2)A.x==2B.x%2==2C.x%2==0D.x/2==0(3)A.scanf("%d",x) B.scanf("%d",&x)C.sum=0D.x=sum(4)A."sum=%d,&sum"B."sum=%d",&sumC."sum=%d",sumD."sum=%d,sum"输入一个正整数n,计算s=1-1/3+1/5-1/7…前n项之和#include<stdio.h>voidmain(){intdenominator,flag,i,n;doubleitem,sum;printf("Entern:");scanf("%d",&n);denominator=1;____(1)______;答案:Bsum=0;for(i=1;____(2)____;i++){答案:Citem=___(3)____;答案:Asum=sum+item;_____(4)______;bdenominator=denominator+2;}printf("Sum=%.2f\n",sum);}(1)A.flag=0B.flag=1C.flag=-1D.(2)A.i<nB.i<n-1C.i<=nD.i<=n-1(3)A.flag*1.0/denominator; B.-flag*1.0/denominator;C.-flag/denominator;D.flag/denominator;(4)A.flag=1B.flag=-flagC.flag=-1D.flag=0输入1个整数,求各位数字的平方和。例如:输入-123,输出14(即12+22+32)。#include<stdio.h>voidmain(){intdigit,in,s;scanf("%d",&in);____(1)____;答案:A____(2)____;答案:Cwhile(in>0){____(3)____;答案:Bs=s+digit*digit;____(4)____;答案:D}printf("sum=%d\n",s);}(1)A.if(in<0)in=-inB.if(in)in=-inC.if(!in)in=-inD.in=-in(2)A.s=1B.sum=1C.s=0D.sum=0(3)A.digit=in/10B.digit=in%10C.digit=in/2D.digit=in-10(4)A.in*=10B.in--C.in++D.in/=10【程序说明】输入一行字符(以回车键结束),分别记录出其中的英文字母、空格、数字和其他字符的个数。#include<stdio.h>voidmain(){intblank=0,digit=0,letter=0,other=0;charc;c=getchar();while(____(1)____){答案:Dif(____(2)____)/*判断英文字母*/答案:Bletter++;elseif(c>=‘0’&&c<=‘9’)/*判断数字字符*/digit++;elseif(____(3)____)/*判断空格*/答案:Ablank++;elseother++;____(4)____;答案:C}printf("letter=%d,blank=%d,digit=%d,other=%d\n",letter,blank,digit,other);}(5)A.c==‘\0’B.c!=‘\0’C.C==‘\n’D.c!=‘\n’(6)A.c>=‘A’&&c<=‘z’B.c>=‘A’&&c<=‘Z’||c>=‘a’&&c<=‘z’C.c>=‘a’&&c<=‘Z’D.c>=‘A’&&c<=‘Z’&&c>=‘a’&&c<=‘z’(7)A.c==‘‘B.c=‘‘C.c==“”D.c=“”(8)A.breakB.continueC.c=getchar()D.c++从键盘任意输入某班40个学生的成绩,输出最高分并记录出不及格人数。#include<stdio.h>voidmain(){intscore,max,n=0,i;scanf(“%d”,&score);if((1))n++;答案:Dmax=score;for(i=1;(2);i++){答案:Cscanf(“%d”,&score);if(_(3)_)max=score;答案:Bif(score<60)n++;}printf("最高分:%d,有%d个学生不及格\n",(4));答案:C}(1)A.max>0B.max<60C.score>0D.score<60(2)A.n<40B.n<=40C.i<40D.i<=40(3)A.max>scoreB.max<scoreC.n>scoreD.n<score(4)A.score,nB.score,--nC.max,nD.max,--n【程序说明】以下程序用来判断输入的数a是否为素数(质数)。若一个整数除了能被1和自身除尽外,不能被其它任何数除尽,则此数即为素数。#include<stdio.h>voidmain(){inti,n,a,ok;printf("Enteranumber:");scanf("%d",&a);ok=1;i=2;n=a/2;while(ok&&____(1)____)答案:Bif(a%i!=0)____(2)____;答案:Celseok=____(3)____;答案:Dprintf("%d",a);if((4))printf("是素数!\n");答案:Celseprintf("不是素数!\n");}(1)A.i<nB.i<=nC.i>=nD.i==n(2)A.ok=0B.ok=1C.i++D.i=1(3)A.TRUEB.FALSEC.1D.0(4)A.i==nB.i==aC.okD.ok==0【程序说明】函数inver(charstr[])的功能是使输入的一个字符串按反序存放。#include<string.h>inver(charstr[]){chart;inti,j,len;len=(1)答案:Afor(i=0,(2);i<j;i++,j--)答案:B{t=str[i];(3)答案:Cstr[j]=t;}}voidmain(){charstr[20];scanf("%s",str);(4)答案:Dprintf("转换后字符串是:%s\n",str);}【供选择的答案】(1)A、strlen(str);B、strlen(str[]);C、str(str);D、str(str[])(2)A、j=lenB、j=len-1C、j=len+1D、j=0(3)A、str[j]=str[i];B、str[i]=t;C、str[i]=str[j];D、t=str[j];;(4)A、inver(str[0]);B、inver(*st);C、inver(str[i])D、inver(str);从键盘上输入5个学生的C语言成绩,以格式%5d写到文本文献aa.txt中。#include<stdio.h>#include<stdlib.h>voidmain(){FILE*fp1;inti,score;fp1=_____(1)_______;答案:Bfor(i=0;i<5;i++){scanf("%d",&score);______(2)_____;答案:D}close(fp1);}【供选择的答案】(1)A.fopen("c:\aa.txt","w")B.fopen("c:\\aa.txt","w")C.fopen("c:\\aa.txt","a")D.fopen("c:\\aa.txt","r")(2)A.fprintf(fp1,"%5d",&score)B.fscanf(fp1,"%5d",&score)C.printf("%5d",score)D.fprintf(fp1,"%5d",score)编写程序,输入n,m,求组合数Cmn。规定定义两个函数jc和cmn分别计算阶乘和组合数#include<stdio.h>_____(1)_______答案:Cinti;longt=1;_____(2)_____答案:At*=i;returnt;}longcmn(intm,intn){_____(3)_______答案:B}voidmain(){intn,m;printf("Inputmandn:\n");scanf("%d%d",&m,&n);printf("cmn=%ld\n",_____(4)_____);答案:B}(1)A.longjc(intn);B.longjc(int);C.longjc(intn){D.longjc(int){(2)A.for(i=1;i<=n;i++)B.for(i=0;i<n;i++)C.for(i=1;i<n;i++)D.for(i=0;i<=n;i++)(3)A.cmn=jc(m)/(jc(n)*jc(m-n));B.returnjc(m)/(jc(n)*jc(m-n));C.cmn

温馨提示

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

评论

0/150

提交评论