c语言练习题 2
c语言程序设计练习2
设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是__A____。
A、6.000000B、6C、5.500000D、6.500000对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(D)。
A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]若调用fputc函数输出字符成功,则其返回值是(D)。
A、1B、EOFC、0D、输出的字符以下叙述中不正确的是(C)。
A、C语言中,随机读写方式不适用于文本文件B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,顺序读写方式不适用于二进制文件D、C语言中的文本文件以ASCⅡ码形式存储数据以下程序的输出结果是 D 。
struct st{ int x;int *y;}*p;int dt[4] = {10, 20, 30, 40};struct st aa[4] = { 50, &dt[0] , 60, &dt[0] , 60, &dt[0] , 60, &dt[0]};main(){ p = aa;pritnf(“%d\n”, ++p -> x);pritnf(“%d\n”, (++p) -> x);pritnf(“%d\n”, ++(*p -> y) );}A、B、C、D、若有定义int a[10],*p=a;,则p+5表示AA、元素a[5]的地址B、元素a[6]的地址C、元素a[6]的值D、元素a[5]的值若执行fopen函数时发生错误,则函数的返回值是(D)。
A、地址值B、1C、EOFD、0若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是(C)。
A、(exp!=1)B、(exp==0)C、(exp!=0)D、(exp==1)判断两个字符串是否相等,正确的表达方式是 DA、while(s1=s2)B、while(s1= =s2)C、while(strcmp(s1,s2)=0)D、while(strcmp(s1,s2)= =0)判断char型变量cl是否为小写字母的正确表达式是(D)。
c语言练习2
练习2一、选择题1.下面关于语句的说法中,正确的是( A B D)。
A、对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B、表达式后面加;号构成表达式语句C、复合语句中不允许包含另一条复合语句D、对程序执行流程起控制作用的语句属于控制语句2.下面语句中,错误的是( B )。
A、m=x>y>z;B、float x=y=z;C、m=x,m>y;D、{k=m>n;k?:x,y;}3.下面不正确的if语句形式是( A )。
A、if (x=y;) m++;B、if (x<=y) m++;C、if (x-y) m++;D、if ( x ) m++;4.下面不正确的if语句形式是( C )。
A、if (x=y) ;B、if (x==y) m=0,n=1;C、if (x>=y) m=0 else n=1;D、if ( x!=y ) m=n;5.下面程序的运行结果是(A)。
void main(){int x=7,y=8,z=9;if(x>y)x=y,y=z; z=x;printf("x=%d y=%d z=%d\n",x,y,z);}A、x=7 y=8 z=7B、x=7 y=9 z=7 D、x=8 y=9 z=7 D、x=8 y=9 z=86.下面程序的运行结果是(B)。
void main(){int x=6,y=6;if(++x<y++)printf(“%d\n”,x++);elseprintf(“%d\n”,y++);}A、6B、7C、8D、97.下面程序的运行结果是(D)。
void main(){int x=1,y=2,z=3,m=1if(!x)m--;else if(!y)m=2;else if(!z);else m=3;printf(“m=%d\n”,m);}A、0B、1C、2D、38.在下面的if语句中,功能上具有等价关系的两条if语句是(B)。
c语言第二章习题
第二章练习题一、填空题1、在C语言中的实型变量分为两种类型,它们是float型和()型。
2、若有定义:char c='\010';则变量c中包含的字符个数为()3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为()4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为()个;一个int型数据在内存中所占的字节数为()个。
5、在C语言中,表示逻辑“假”值用数字()表示。
6、C语言中的标识符只能由字母、数字和()三种字符组成。
7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为()8、整型常量即整常数。
可用三种形式表示:十进制整数、八进制整数以()开头、十六进制整数以()开关(注:请用小写字母)9、请将75写成C语言八进制和十六进制表示(),()。
10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()。
12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(),b值为(),c值为()。
13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为()14、若a是int型变量,则计算表达式a=25/3%3 后a的值为()15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(),n的值为()16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为()a+(int)(b/3*(int)(a+c)/2)%417、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()(float)(a+b)/2+(int)x%(int)y18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为()(x+y)%2+(int)a/(int)b19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是()21、若x为int型变量,则执行以下语句后x的值是()x=7; x+=x-=x+x;22、当a=3,b=2,c=1时,表达式f=a>b>c的值是()23、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是()24、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b-c*2的值是()25、若a=1,b=4,c=3,则表达式!(a<b)||!c-3&&!a+c-b的值是( )26、若a=6,b=4,c=3,则表达式a&&b-c-1||!(c-3)的值是( )27、设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( )28、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( ),m的值为( )29、有int x,y,z;且x=3,y=-4,z=5,则表达式x-3&&y==(!x-3||z-5)的值为()30、以下程序的运行结果是()main(){if (2*2==5<2*2==4)printf("T");elseprinft("F");}31、若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值为()32、以下程序的运行结果是()#inclue <stdio.h>main( ){ int x=1,y,z:x*=3+2; printf("%d,",x);x*=y=z=5; printf("%d,",x);x=y==z; printf("%d\n",x);}33、若运行时输入:100<回车>时,则以下程序的运行结果是()main(){ int a;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");}34、已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是()scanf("%d,%d,%f",&i,&j,&x);35、在printf函数中,以八进制形式输出整数用%()格式,以十六形式输出整数用%()格式。
C语言程序设计练习题第2部分答案
case‘1’:v1++;
case‘3’: v3++;
case‘2’: v2++;
}
printf (“v1=%d,v2=%d,v3=%d,v4=%d\n”,v1,v2,v3,v4);
}
A) v1=4,v2=2,v3=1,v4=1
for (i=0;i<n;i++)
printf (“%4d”,a[i]);
} 53.下面程序的输出是_____.
main ()
{ char s[]=“12134211”;
int v1=0,v2=0,v3=0,v4=0,k;
for (k=0;s[k];k++)
switch(s[k])
{ default: v4++;
{m=str[i]; str[i]=_str[j-1]_____; str[j-1]=m; } printf(“%s\n”,str); } 51.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变, 请填空。
#include<stdio.h> #include<string.h> main() {char a[]=”clanguage”,t; int i,j,k; k=strlen(a); for (i=0;i<=k-2;i+=2) for (j=i+2;j<k;__ j+=2 __) if (_ a[i]>a[j] ___) {t=a[i];a[i]=a[j];a[j]=t;} puts(a); printf(“\n”); }
}
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根1保据过护生管高产线中工敷资艺设料高技试中术卷0资配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中2体2资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况1卷下中安与,全过要,度加并工强且作看尽下护可1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编.工写保况复护进杂层行设防自备腐动与跨处装接理置地,高线尤中弯其资曲要料半避试径免卷标错调高误试等高方,中案要资,求料编技试5写术卷、重交保电要底护气设。装设备管置备4高线动调、中敷作试电资设,高气料技并中课3试术且资件、卷中拒料中管试包绝试调路验含动卷试敷方线作技设案槽,术技以、来术及管避系架免统等不启多必动项要方高案式中;,资对为料整解试套决卷启高突动中然过语停程文机中电。高气因中课此资件,料中电试管力卷壁高电薄中气、资设接料备口试进不卷行严保调等护试问装工题置作,调并合试且理技进利术行用,过管要关线求运敷电行设力高技保中术护资。装料线置试缆做卷敷到技设准术原确指则灵导:活。在。对分对于线于调盒差试处动过,保程当护中不装高同置中电高资压中料回资试路料卷交试技叉卷术时调问,试题应技,采术作用是为金指调属发试隔电人板机员进一,行变需隔压要开器在处组事理在前;发掌同生握一内图线部纸槽故资内障料,时、强,设电需备回要制路进造须行厂同外家时部出切电具断源高习高中题中资电资料源料试,试卷线卷试缆切验敷除报设从告完而与毕采相,用关要高技进中术行资资检料料查试,和卷并检主且测要了处保解理护现。装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
c语言期末考试练习题(2)
一、单项选择题(10小题,每小题3分,共30分)1、若有代数式,测不正确的C语言表达式是( )。
A、a/b/c*e*3B、3*a*e/b/cC、3*a* e/b*cD、a * e/c/b * 32、下面4个选项中,是不合法的整型常量的选项是( )A、——0f1B、—0xcdfC、—018D、—0x48eg —0xffff 017 999 —0680011 12,456 5e2 03f3、下面4个选项中,是合法整型常量的选项是( )。
A、160B、—0xcdfC、—01D、—0x48a—0xffff 01a 986.012 2e5011 0xe 0668 0x4、下面4个选项中,是不合法的用户标识符的选项是( )A、AB、floatC、b—aD、_123P_0 la0 goto tempdo _A int INT5、以下C程序的运行结果是( )。
(注:口表示空格)# include <stdio. h>int main( ){ long y=23456;printf("y=%3x\n",y);printf("y= %8x\n",y);printf("y=%#8x\n",y);return 0;}A、y=5ba0y=口口口口5ba0y=口口0x5ba0B、y=口口口Sba0y=口口口口口口口5ba0y=口口0x5ba0C、y=5baoy=5baoy=0x5baoD、y=5ba0y=口口口口5ba0y=# # # # 5ba06、以下程序的运行结果是( )。
# include <stdio.h>int main( ){ int m=5,n=10;printf("%d,%d\n",m++,––n);return 0;}A、5,9B、6,9C、5,10D、6,107、以下程序的输出结果是( )。
(注:口表示空格)# include <stdio.h>int main( ){ printf("\n* s1= %15s*","chinabeijing");printf("\n* s2=% – 5s*","chi");return 0;}A、* s1=chinabeijing口口口*B、*s1=chinabeijing口口口** s2=** chi* *s2=chi口口*C、*s1=*口口chinabeijing*D、*s1=口口口chinabeijing** s2=口口chi* *s2 = chi口口*8、以下不符合C语法的赋值语句是( )。
c语言习题2
一、填空共18题(共计60分)第1题(2.0分)以下程序的输出结果是【1】.main(){ int a=0a+=(a=8);printf("%d\n",a);}答案:=======(答案1)=======16第2题(2.0分)有以下程序:main(){ char c;while((c=getchar())!='?') putchar(--c);}程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为【1】答案:=======(答案1)=======X第3题(2.0分)有以下定义和语句struct date{ int day;int month;int year;union{ int share1;float share2;}share;}a;则sizeof(a)的值是【1】.答案:=======(答案1)=======10第4题(2.0分)有以下语句段int n1=10,n2=20;printf("【1】",n1.n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空.n1=10n2=20答案:=======(答案1)=======n1=%d\nn2=%d第5题(2.0分)执行下面的程序段,写出运行后的输出结果为【1】. main(){int i;for (i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}答案:=======(答案1)=======000122第6题(2.0分)以下程序运行后的输出结果是【1】.main( ){ char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d %f\n",n,x);}答案:=======(答案1)=======2 20.0第7题(2.0分)以下程序运行后的输出结果是【1】.#include <string.h>void main(){ char ch[]="abc",x[3][4];int i;for(i=0;i<3;i++)strcpy(x[i],ch);for(i=0;i<3;i++)printf("%s",&x[i][i]); printf("\n");}答案:=======(答案1)=======abcbcc第8题(2.0分)以下循环体的执行次数是【1】.main(){int i,j;For(i=0,j=1;i<=j+1; i+=2,j--)Printf("%d\n",i);}答案:=======(答案1)=======1第9题(2.0分)有以下程序main( ){int t=1, i=10;for(; i>=0; i--) t*=i;printf("%d\n",t);}执行后输出结果是【1】答案:=======(答案1)=======第10题(4.0分)下面程序的功能是:使一个字符串按逆序存放,请填空. #include <string.h>main ( ){ char m,str[10];int i,j;gets(str);for(i=0,j=strlen(str);i【1】 ;i++,j--){ m=str[i];str[i]=【2】 ;str[j-1]=m;}printf("%s\n",str);}答案:=======(答案1)=======<j=======(答案2)=======str[j-1]第11题(4.0分)以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果.请填空.int fun( int n){ int m=0,f=1,i;for(i=1; i<=n; i++){ m+=i*f;f=【1】 ;}return m;}main(){ printf("m=%d\n", 【2】 ); }答案:=======(答案1)=======-f=======(答案2)=======fun(10) 第12题(4.0分)下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请填空.main(){ int a,max= 0;scanf ("%d",&a);while(【1】){ if (【2】) max= a;scanf("%d",&a);}printf("%d" ,max );}答案:=======(答案1)=======a=========或=========a!=0=======(答案2)=======max<a第13题(4.0分)下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数.若找到,打印此数后退出循环;若未找到,打印 " not exist " .请填空.main( ){int i, a;for (i=1; i<=10; i++){scanf("%d",&a);if(【1】) {printf("%d", a); break;}}if(【2】) printf(" not exist \n");}答案:=======(答案1)=======a%7 = = 0=======(答案2)=======i>10第14题(4.0分)下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环.请填空.main(){long int num;scanf("%ld",&num);do{ if(【1】) printf("%ld",num);scanf("%ld",&num);}while(【2】);}答案:=======(答案1)=======num/100%10==3=======(答案2)=======num第15题(4.0分)以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符.请填空. char fun(char ch){if(ch= ='Z') ch=【1】;else if(ch>='A'&&ch<='Y') ch=【2】;return ch;}答案:=======(答案1)======='A'=======(答案2)=======ch+1第16题(6.0分)设有以下程序main(){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)for(j=i+1;j<3;j++) a[j][i]=0;for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%2d ",a[i][j]); printf("\n");}}运行以上程序,输出3行结果.问:第1行的输出为【1】; 第2行的输出为【2】;第3行的输出为【3】.答案:=======(答案1)=======1 2 3=======(答案2)=======0 5 6=======(答案3)=======0 0 9第17题(6.0分)下面程序的功能是将从键盘输入的一对数,由小到大排序输出.当输入一对相等数时结束循环,请填空.#include <stdio.h>main(){ int a,b,t;scanf("%d%d",&a,&b);while(【1】){ if (【2】){ t=a;a=b;b=t;} printf("%d,%d",a,b);【3】;}}答案:=======(答案1)=======a!=b=========或=========b!=a=======(答案2)=======a>b=========或=========b<a=======(答案3)=======scanf("%d%d",&a,&b)第18题(6.0分)以下程序运行后的输出结果第1行是【1】第2行是【2】第3行是【3】main(){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)for(j=i+1;j<3;j++) a[j][i]=0;for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%d ",a[i][j]);printf("\n");}}答案:=======(答案1)=======1 2 3=======(答案2)=======0 5 6=======(答案3)=======0 0 9二、单项选择共20题(共计40分)第1题(2.0分)以下能对二维数组a进行正确初始化的语句是________. A:int a[2][]={{1,0,1},{5,2,3}};B:int a[][3]={{1,2,3},{4,5,6}};C:int a[2][4]={{1,2,3},{4,5},{6}};D:int a[][3]={{1,0,1},{},{1,1}};答案:B第2题(2.0分)已知有预处理命令#include<stdio.h>和声明 char s[10]= "Thank you"; int i;,要求输出字符串"Thank you",以下选项中不能达到要求的语句是________.A:puts(s);B:printf("%s" , s[10]) ;C:for(i=0; s[i]!= '\0' ; i++) printf("%c" , s[i]);D:for(i=0; s[i]!= '\0' ; i++) putchar(s[i]); 答案:B第3题(2.0分)语句while(!E )中的表达式!E等价于( )A:E= =0B:E! =0C:E! =1D:E= =1答案:A第4题(2.0分)表达式"(a=4*5, b=a*2), b-a, a+=2"的值是( ). A:2B:20C:22D:42答案:C第5题(2.0分)下列程序执行后的输出结果是( ).main( ){int x='f';printf("%c \n",'A'+(x-'a'+1));}A:GB:HC:ID:J答案:A第6题(2.0分)以下程序输出的结果是( ).main(){ int i,sum=0;for(i=1; i<=10; i++) ;sum=sum+i;printf("%d",sum);}A:55B:10C:11D:以上皆非答案:C第7题(2.0分)以下程序段循环执行的次数是( ).int k=0;while(k = 1) k++;whileA:无限次B:有语法错,不能执行C:一次也不执行D:执行1次答案:A第8题(2.0分)有关下述语句输出的判断中,正确的是( ).Char x='\x66';Printf("%d",x);A:赋值非法B:输出值不确定C:输出值为66D:输出值为102答案:D第9题(2.0分)若函数f的定义如下:void f(void){ printf(("That's great!"); )则调用函数f的正确形式是( ).A:f;B:f( );C:f(void);D:f(1);答案:B第10题(2.0分)设有:int c1=1,c2=2,c3; 则执行c3=c1/c2后,c3的值是( ).A:0B:1/2C:0.5D:1答案:A第11题(2.0分)printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列.如果字符串长度大于5,则输出按方式( ).A:从左起输出该字串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该宇串,左补空格D:输出错误信息答案:B第12题(2.0分)以下叙述正确的是( ).A:do-while语句构成的循环不能用其它语句构成的循环来代替.B:do-while语句构成的循环只能用break语句退出.C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.D:用do-while语句构成的循环,在while后的表达式为零时结束循环.答案:D第13题(2.0分)下列叙述中不正确的是( ).A:每个C程序文件中都必须有一个main()函数B:在C程序中main()函数的位置是固定的C:C程序可以由一个或多个函数组成D:在C程序的函数中不能定义另一个函数答案:B第14题(2.0分)以下程序运行时输出的结果是( ).int x=1;main( ){ printf("%d",f(x)); }#define x 2;int f(int y){ return x+y; }A:1B:2C:3D:4答案:C第15题(2.0分)程序执行后的输出结果是( ).main( ){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf("n=%d\n",n);}A:n=5B:n=2C:n=3D:n=4答案:D第16题(2.0分)以下选项均以fun函数定义的头部,其中错误的是________. A:int fun(int x, int y[ ])B:int fun(int x, int y[x])C:int fun(int x, int y[3])D:int fun(int x, int *y)答案:B第17题(2.0分)设有:int i=8;j=10; m=i++;n=++j;执行printf("%d, %d, %d, %d",i ,j,m,n);后,屏幕上显示( )A:8,11,9,10B:9,11,8,11C:9,11,8,10 D:8,10,9,11答案:B第18题(2.0分)以下程序的输出结果是( ).main(){ int i=0,a=0;while(i<20){ for(;;){ if((i%10)==0) break;else i--;}i+=11; a+=i;}printh("%d\n",a);}A:21B:32C:33D:11答案:B第19题(2.0分)若程序中已有相应的声明,下列语句中错误的是________. A:printf(i= =4 ? "%6d\n" : "%6d" , i);B:i= =4 ? printf("%6d\n" , i) : printf("%6d" , i); C:for(i=10; ; i--) if(i = =1) break;D:for(i=10; ; i--) if(i --); break;答案:D第20题(2.0分)以下程序的输出结果是( ).main(){int m=6;If(m++>6)printf("%d\n",m);elseprintf(%d\n",--m);}A:7B:6C:5D:4答案:B一、填空共18题(共计60分)第1题(2.0分)以下函数的功能是:求x的y次方,请填空.double fun( double x, int y){ int i;double z;for(i=1, z=x; i<y; i++) 【1】 ;return z;}答案:=======(答案1)=======z*=x第2题(2.0分)设a=2,b=3,x=3.5,y=2.5 求表达式(float)(a+b)/2+(int)x%(int)y的值【1】.答案:=======(答案1)=======3.5第3题(2.0分)执行语句:for(i=10 ; i++<4 ; );后,变量 i的值是:【1】. 答案:=======(答案1)=======11第4题(2.0分)若有声明"int a=5,b=2;",则表达式"b+=(float)(a+b)/2"运算后b的值为【1】.答案:=======(答案1)=======5.5第5题(2.0分)以下程序运行时,输出结果是【1】.#include <stdio.h>void fun(int x){ if(x/2>0) fun(x/2);printf("%d",x%2);}main ( ){ fun(20); putchar('\n'); }答案:=======(答案1)=======10100第6题(2.0分)以下程序运行后的输出结果是【1】#define N 2#define M N+1#define NUM 2*M+1int fib(int n){return ( n<3 ? 2 : fib(n-1)+fib(n-2) );}main( ){printf("%5d%5d\n",NUM,fib(5));}答案:=======(答案1)=======6 10 第7题(2.0分)以下程序运行后的输出结果是【1】.main( ){ int a=3,b=4,c=5,t=99;if(b<a&&a<c) t=a;a=c;c=t;if(a<c&&b<c) t=b;b=a;a=t;printf("%d%d%d ",a,b,c);}答案:=======(答案1)=======4 5 99第8题(2.0分)下列程序的输出结果是【1】.Main(){double d=3.2;Int x,y ;X=1.2;Y=(x+3.8)/5.0;Printf("%f\n",d*y);}答案:=======(答案1)=======第9题(2.0分)设y是int型变量,请写出判断y为奇数的关系表达【1】. 答案:=======(答案1)=======y%2==1第10题(4.0分)表达式-7/2的结果是【1】表达式7%-2的结果是【2】答案:=======(答案1)=======-3=======(答案2)=======1第11题(4.0分)下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请填空.#include "stdio.h"main(){ int m=0,n=0;char c;while((【1】)!='\n'){ if(c>='A' && c<='Z') m++ ;if(c>='a' && c<='z') n++;}printf("%d\n",【2】? n:m);}答案:=======(答案1)=======c=getchar( )=======(答案2)=======m<n=========或=========n>m第12题(4.0分)题号:948下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空.main(){ int a, b, c, i;a=c= 【1】 ;for(i=0;i<10;i+=2){ a+=i;【2】 ;c+=b;}printf("偶数之和=%d\n",a);printf("奇数之和=%d\n",c);}答案:=======(答案1)==============(答案2)=======b=i+1第13题(4.0分)设有以下程序int x1=30,x2=40;main(){ int x3=10,x4=20;sub(x3,x4);sub(x2,x1);printf("%d,%d\n%d,%d\n",x3,x4,x1,x2);}sub(int x,int y){x1=x;x=y;y=x1;}运行后,第一行的结果是【1】,第二行的结果是【2】.答案:=======(答案1)=======10,20=======(答案2)=======40,40第14题(4.0分)#include<stdio.h>main(){int j,k,s,m;for(k=1;k<10;k++){s=1;m=k+2;for(j=k;j<m;j++,k++)s+=j;} printf("s=%d,k=%d",s,k); }程序输出结果【1】,【2】.答案:=======(答案1)=======S=16=======(答案2)=======k=10第15题(4.0分)下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变,请填空.main(){ char a[]="clanguage",t;int i, j, k;k=strlen(a);for(i=0; i<k-2; i+=2)for(j=i+2; j<k; 【1】 )if( 【2】 ){ t=a[i]; a[i]=a[j]; a[j]=t; }puts(a);printf("\n");}答案:=======(答案1)=======j+=2=======(答案2)=======a[i]>a[j]第16题(6.0分)设有以下程序ff(int k){ static int i=1;int j=0;return ++i+k+j++;}main(){ int i,n=0;for(i=0;i<3;i++){ n+= ff(i); printf("%d\n",n); }}运行以上程序,输出3行结果.问:第1行的输出为【1】; 第2行的输出为【2】;第3行的输出为【3】.答案:=======(答案1)=======2=======(答案2)=======6=======(答案3)=======12第17题(6.0分)设有以下程序main( ){ int a[3][3],i,j;for(i=0; i<3; i++)for(j=0; j<3; j++)scanf("%d",&a[i][j]);for(i=0; i<3; i++)for(j=0; j<3; j++)a[i][j]=a[(a[i][j]+1)%2+1][(a[j][i]+2)%2+1];}若输入的数据为:1 3 5 7 9 2 4 6 8 执行程序后,a[0][0]=【1】, a[1][1]=【2】, a[2][2]=【3】.答案:=======(答案1)=======2=======(答案2)=======2=======(答案3)=======6第18题(6.0分)阅读以下程序main(){ char *str[3]={"Fortrain ","Prolog","Pascal "};char **p;int i;p=str;for(i=0;i<3;i++,p++)printf("%c\n ",(*(*p+3)+1));}该程序第1行、第2行及最后一行的输出分别为【1】、【2】和【3】.答案:=======(答案1)=======u=======(答案2)=======m=======(答案3)=======d二、单项选择共20题(共计40分)第1题(2.0分)一个C语言程序是由________.A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第2题(2.0分)若有声明"float f=123.45678;",则执行语句"printf("%.3f",f);"后,输出结果是________.A:1.23e+02 B:123.457C:123.45678D:1.234e+02答案:B第3题(2.0分)已知函数fun的定义如下:void fun(int x[ ], int y ){ int k;for(k=0; k<y; k++)x[k]+=y;}若main函数中有声明int a[10]={10};及调用fun函数的语句,则正确的fun函数调用形式是________.A:fun(a[ ], a[0]);B:fun(a[0 ], a[0]);C:fun(&a[0], a[0]);D:fun(a[0], &a[0]);答案:C第4题(2.0分)为了判断两个字符串s1和s2是否相等,应当使用( ). A:if (s1= =s2)B:if (s1=s2)C:if ( strcpy (s1,s2) )D:if ( strcmp( s1,s2)= =0 )答案:D第5题(2.0分)关于函数返回值,以下叙述中正确的是( ).A:函数返回值的类型由函数体函数体内return语句包含的表达式的类型决定B:函数返回值的类型由函数头部定义的函数类型决定C:若函数中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值D:若函数中没有return语句,则函数没有返回值答案:B第6题(2.0分)以下程序的输出结果是( ).main( ){int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A:1B:0C:非0的数D:-1答案:A第7题(2.0分)以下叙述正确的是( ).A:一个用C语言编写的程序在运行时总是从main函数开始逐条执行B:main函数是系统库函数C:main函数中每行只能出现一条语句D:main函数必须出现在所用其它函数之前答案:A第8题(2.0分)设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是 ( )A:a&&bB:a<=bC:a||b+c&&b-cD:!((a<b)&&!c‖1)答案:D第9题(2.0分)若有声明"int x=2, y=1, z=0;",则下列关系表达式中有语法错误的是________.A:x>y=2B:z>y>xC:x>y==1D:x==(x=0, y=1, z=2)答案:A第10题(2.0分)运行下面程序,输出的结果是( ).main (){ int u=24,v=16,w;while(v){ w=u%v; u=v; v=w; }printf("%d\n",u);}A:6B:7C:8D:9答案:C第11题(2.0分)在以下各组标识符中,均可以用作变量名的一组是( ). A:a01,Int tB:table_1,a*.1C:0_a,W12D:for,point答案:A一、单选题1、有如下程序main(){int a=5,b=-3,c=4;Printf("%d%d\n",(++a,b++),c-2);}运行该程序的输出结果是( ).A) -42 B) -22C) -4 2D) -2 2答案:B2、设 int x=1, y=1; 表达式(!x||y--)的值是( ).A) 0B) 1C) 2D) -1答案:D3、以下程序段fun(int x, int y, int *z){ *z=x*x+y*y; }main(){ int a=20;fun(3,4,&a);printf("%d",a);}其输出结果是( ).A) 0B) 20C) 25D) 无定值答案:C4、如果a=1,b=2,c=3,d=4, 则条件表达式a>b?a:c>d?c:d 的值为( ).A) 1B) 2C) 3D) 4答案:D。
C语言2基本语法规则练习题2
C语言2基本语法规则练习题2第二章基本语法规则2.1数据类型、运算符、表达式一、选择题1.C语言中确定数据存储的格式、范围与有效位数的依据是A.数据正负B.数据范围C.数据类型D.数据大小2.一般说在C语言中字符型数据、整型数据、单精度浮点型及双精度浮点型数据的存储长度分别为A.2、4、8、1B.4、2、1、8D.1、4、2、8B.竖向跳格D.换行C.1、2、4、83.转义字符“\\t”表示A.横向跳格,即跳到下一个输出区C.退格4.以下叙述不正确的是A.C语言中的常量分别为整型常量、浮点常量、字符常量、符号常量B.整型常量在C语言中有十进制、八进制和十六进制等3种不同形式C.C语言中,变量必须先定义后使用D.变量被定义后,变量名是固定的,变量的值在程序运行过程中是不可以随时被改变的5.以下叙述不正确的是A.C语言中的字符常量是用一对单引号('')括起来的单个字符B.字符串常量是用一对双引号(““)括起来的字符序列C.字符型数据与整型数据之间不可以通用。
D.为了便于判断字符串是否结束,系统会自动在最后一个字符后面加上一个转义字符(\\0)6.在赋值语句中用来将运算表达式的值赋给变量的“=”称为A.等号B.赋值运算符C.关系运算符D.逻辑运算符7.设a=12,n=3,则执行表达式a%=n+3后a的值为A.3B.0C.6D.12D.3D.4D.1198.设,A=0,B=1表达式!A&&B的值是A.1B.0C.29.在16位PC机环境下,字符串“A”应占的字节数为A.2B.1C.010.采用十进制数为表示方法,则077是A.77B.112C.6311.设某为float型变量,y为double型变量,a为int型变量,b 为long型变量,c为char型变量,则表达式某+y某a/某+b/y+c计算结果的类型为A.intB.longC.doubleD.char12.设a,c为int型变量,进行a=(c=5,c+5,c/2)运算后的结果为A.2B.5C.2.5D.013.在C语言中,表示逻辑“真”和“假”的值分别是A.0、1B.1、2C.1、014.C语言中表示a小于b或小于c的表达式为A.ac&&b>cB.a>c||b>cC.a>b||b>cD.a>b&&b>c16.a和b中有一个小于c的表达式为A.aB.aD.0和3D.1和1D.2D.35D.2、117.若有a=2,b=3,c=4,则表达式a==3和a=3的值分别为A.0和0B.1和3C.3和318.表达式!(1<3)||(2>5)和!(4<=8)&&(7>=3)的值分别为A.1和0B.0和0C.0和1某19.设a=4,计算表达式a=1,a+5,a++的值为A.1B.5C.1020.设某=4,y=8,计算表达式y=(某++)某(--y)的值为A.28B.32C.4021.设有语句chara=`\\72`;则变量包含的字符数为A.3B.2个C.1D.422.设有说明语句:chara='\\123abc';则变量a包含的字符数为A.4B.6C.5D.723.下列叙述正确的是A.赋值语句中的“=”是表示左边变量等于右边表达式B.赋值语句中左边的变量值不一定等于右边表达式的值C.赋值语句是由赋值表达式加上分号构成的D.某+=y;不是赋值语句24.下列选项中,可以作为C语言标识符的是A.3tuB.#tuC.tu3D.tu.3D.tudent3D.13.8eD.chard;25.下列选项中,不可以作为C语言标识符的是A.numB.turbo_cC.print26.下列选项中,不可以作为C语言常量的是A.”abc”B.1/2C.M27.下列选项中,正确的一组语句是A.chara;B.charb;C.charc;a=M;b=55;c=”M”;d=”55”;28.已知字母b的ASCII码值为98,如ch为字符型变量,则表达式ch=b+5-2的值为A.eB.dC.102D.10029.下列不是字符串常量的是A.“1818\B.“aad”C._abdcD.“a”30.在C语言中,int、char和hort三种类型数据所占用的内存是A.均为2个字节B.由用户定义C.是任意的D.由所用机器的机器字长决定31.设int类型的数据长度为2个字节,则unignedint类型数据的取值范围是A.0至255C.-32768至3276732.以下是不正确的转义字符是A.\\\\B.\\B.0至65535D.-256至255C.\\081D.\\0D.反码33.在C语言中,char型数据在内存中的存储形式是A.原码B.补码C.ASCII码某34.若某为unignedint变量,则执行以下语句后的某值为。
C语言练习题 之2
C 语言练习题之二
1.在一个 C 语言源程序中,必不可少的是___________ 。 2.下列叙述中正确的是__________ 。 A.main 函数必须出现在其他函数之前 B.main 函数中至少必须有一条语句 C.C 程序总是从 main 函数的第一条语句开始执行 D.C 程序总是在执行完 main 函数的最后一条语句后结束 3.以下标识符中不能用做变量名或自定义函数名的是_______。 A.main B._123 C._float D.sizeof B.1UL C. '0x41' D.0xfe 4.下列表示中,不可作为常数的是_______ 。A.020 A. value=value-'0'; #define d 2
18.若有声明“float f=123.45678;”,则执行语句“printf("%.3f",f);”后,输出结果是_____ 。 B.123.457 19. 已 知 程 序 中 有 声 明 “int a; long b;” , 若 需 要 接 收 从 键 盘 输 入 的 电 话 号 码 字 符 串
5.设有声明“int value='5';”,则执行下列选项的赋值语句后,value 的值不等于 5 的是___。 B. value=value-0x30;C. value=value-49; D. value=value-'\060'; 6.设有定义和声明如下: int x=5;float y=3.83;char c='d'; 以下表达式中有语法错误的是____。 A.x++ B.y++ C.c++ D.d++ 7.若有声明和初始化“int x=32767;”,则 x+1 的值为___________。 8.若有声明和初始化“long x=32767;”,则 x+1 的值为___________。 9.已有声明“int a=3,b=3,c=2;”,以下选项中值为 0 的表达式是________ 。 A. !a && !b && c A.2 ___ 。 12. 若有声明 “int i=7;float x=3.1416;double y=3;” ,表达式 i+'a'*x+i/y 值的类型是 _________ 型。 13.设有声明“float a=l.23456;int i;”,欲将 a 中的数值保留小数点后两位, 第三位进行四舍五 入运算,能实现该功能的表达式是_________。 A. i=a*100+0.5,a=i/100.0 B.a=(a*100+0.5)/l00.0C. a=((int)a*i00+0.5)/100.0 D.a=(a/100+0.5)/100.0 14.若有声明“int a=15,b=20,c=25,e;”,则执行语句“e=a>b?--c:++c;”后变量 e 的值是_____。 15.以下 C 语言的运算符中,其中优先级最高的运算符是________ 。 B.!a ||!b ||c B.3 C.a==b &&b>=c C.4 D.a>=b&& b>c D.5 10.若有声明“int x=4,y=3;”,则表达式“x<y?x++:y++”的值是________。 11. 设有声明 “int a=3,b=4;float x=4.5,y=3.5;” ,则表达式 “(float)(a+b)/2+(int)x%(int)y” 的值是
C语言小练习2
for (k=1;k<=2*j+1;k++)
printf (" *");printf ("\n");}space+=4;
for(j=n-1;j>=0;j--,space+=2)
{printf ("%*c",space,' ');
for(k=1;k<=2*j+1;k++)
printf("\n插入前数组a[]="); for(i=0;i<10;i++) printf("%3d",a[i]);
printf("\n请输入要插入的数,及要插入的下标位置:");
scanf("%d%d",&x,&k);
//17.在数组的某个下标位置插入一个元素。
/*#include<stdio.h>
void main()
{ int i,n=10,x,k; int a[11]; printf("请输入数组的前十个元素:");
for(i=0;i<10;i++) scanf("%d",&a[i]);
{ for (j=1;j<=n-i;j++)
printf (" ");
for (j=1;j<=i;j++ )
printf (" *");
C语言期末练习题及答案2
期末练习题2-48课时一、单选题(共20题,共30分)1. 执行下列程序后的输出结果是()int fun(int x1,int x2){ int x;x1>x2(x=3):(x=4);return(x+x1);}main(){ printf("%d\n",fun( 7,8));}(分)2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分)3. 若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是( ) (分)A.以下两处的*p含义相同,都说明给指针变量p赋值B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中4. 有以下程序#define N 20fun(int A[],int n,int m){int i,j;for(i=m;i>=n;i--)A[i+1]=A[i];}main(){int i,A[N]={1,2,3,4,5,6,7,8,9,10};fun(A,2,9);for(i=0;i<5;i++)printf("%d",A[i]);}程序运行后的输出结果是()(分)5. 下面程序的输出是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (分)=11,k=12,k=13 =11,k=13,k=136. 以下程序段的输出为:int x=011;printf("%d\n",++x); (分)7. 执行下述程序的输出结果是()。
#include <>#include <>main(){char *p1,*p2,str[50]="ABCDEFG";p1="ABCD";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s\n",str);} (分)8. 以下语句的输出结果是()int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c); (分),0,5 ,5,-10 ,0,5 ,0,-109. 阅读程序#include <>int funC(int B[],int n){int i,r;r=1;for (i=0;i<=n;i++)r=r*B[i];return (r);}main(){int x,A[]={2,3,4,5,6,7,8,9};x=funC(A,3);printf("%d\n",x);}执行下述程序的输出结果是()(分)10. 下列选项中,可作为C语言合法整数的是()(分)A.*&A[5] +2 C.*(p+5) D.*(A+2)12. 有以下程序void fun(int *a,int i,int j){int t;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){int a[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}执行后输出结果是()(分)5 4 3 2 1 3 2 1 5 65 6 1 2 3 2 3 4 5 613. 若定义如下变量和数组_________。
C语言习题集2
C语言习题集一、单项选择题1、C语言提供的合法关键字是_______。
A、AUTOB、includeC、unsignedD、dafault2、合法的C语言标识符是__________。
A、2aB、sumC、defaultD、a+b3、下面四个选项中,不是C语言整型常量的是。
A、01B、0x11C、081D、-327684、下面四个选项中正确的实型常量是。
A、0x12B、-12345.e-3C、Ie0.5D、e-55、若a为整型变量,则下面语句。
a=-2L;printf(“%d\n”,a);A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为-26、在C语言中,要求参加运算的数必须是整数的运算符是。
A、/B、!C、%D、= =7、字符串“\\012\012”在内存中占用的字节数是个。
A、4B、5C、6D、78、下列说法中,错误的是。
A、变量的定义可以放在所有函数之外B、变量的定义可以不放在本编译单位中,而放在其他编译单位中C、变量的定义可以放在某个函数的函数头中D、变量的定义可以放在某个复合语句的开头9、下列说法中,正确的是。
A、自动型变量是分配在内存的数据区的B、寄存器型变量是分配在内存的数据区中的C、表态型变量是分配在内存的数据区中的D、外部参照型变量是分配在内存的数据区中的10、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是。
A、-128~127B、-32768~32767C、0~65536D、0~214748364711、下面不正确的字符串常量的。
A、’abc’B、”12’12”C、”0”D、” ”12、char型常量在内存中存放的是。
A、ASCII代码值B、BCD代码值C、内码值D、十进制代码值13、以下程序段。
int x=2,y=3;printf( x>y ? ”****=%d”: “###y=%d”,x,y);A、输出控制格式错误B、输出为:****x=2C、输出为:###y=2D、输出为:###y=314、以下程序的输出为。
C语言期末试题2(带答案)
C语言期末试题2(带答案)13-14-2 48课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-09 10:52:09答题结束时间:2014-06-09 10:52:13考生姓名:翟方正考试时间:00:00:04分钟总得分:0分评卷人:系统自动评卷评卷时间:2014-06-09 10:52:13一、单选题(共15题,共30分)1. 在C语言中,回车换行符是()(2分)A.'\n'B.'\t'C.'\v'D.'\b'标准答案:A考生答案:2. 以下选项中,不能作为合法常量的是()(2分)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0标准答案:B考生答案:3. 若有语句int *point,A=4;和point=&A下面均代表地址的一组选项是()(2分)A.A,point,*&AB.&*A,&A,*pointC.*&point,*point,&AD.&A,&*point ,point标准答案:D考生答案:4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()(2分)A.x&&yB.x<=yC.x︱︱++y&&y-zD.!(x<y&& !z︱︱1)<="" p="">标准答案:D考生答案:5. 以下叙述中正确的是()(2分)A.C语言可以用来编写系统软件,也可以用来编写应用软件B.函数体不必用一对大括号{}括起来C.C程序的每一行只能写一条语句D.对一个C程序进行编译的过程可以发现注释中的拼写错误标准答案:A考生答案:6. 执行下面程序段后,c3中的值是()int c1=1,c2=2,c3;c3=c1/c2; (2分)A.0B.1/2C.0.5D.1标准答案:A7. 以下程序的输出结果是( )main(){ int a=12,b=12;printf("%d %d\n",--a,++b);} (2分)A.10 10B.12 12C.11 10D.11 13标准答案:D考生答案:8. 以下定义语句中,错误的是( ) (2分)A.int a[]={1,2};B.char *a[3];C.char s[10]="test";D.int n=5,a[n];标准答案:D考生答案:9. 以下程序的输出结果是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (2分)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b 标准答案:D考生答案:10. main( ){int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3){k =k+ p[i]; i++;}printf("%d\n", k);}执行后输出结果是()(2分)A.58B.53C.38D.24标准答案:C考生答案:11. 以下程序段的输出结果是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z); (2分)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5考生答案:12. 若以下程序所生成的可执行文件名为file1.exe,则当在操作系统状态下输入下述命令行执行该程序时FILE1 CHINA BEIJING SHANGHAI程序的输出结果是()#includemain(int argc,char *argv[]){while (argc-->1){++argv;printf("%s ",*argv);}printf("\n");} (2分)A.CHINA BEIJING SHANGHAIB.FILE1 CHINA BEIJING SHANGHAIC.C B SD.F C B标准答案:A考生答案:13. 执行下述程序的输出结果是()#includeint power(int x,int y);main(){float a=2.6,b=3.4;int p;p=power((int)a,(int)b);printf("%d\n",p);}int power(int x,int y){int i,p=1;for (i=y;i>0;i--)p=p*x;return (p);} (2分)A.8B.9C.27D.81标准答案:A考生答案:14. 有以下程序main(){ int x[8]={8,7,6,5,0,0}, *s;s=x+3;printf("%d\n",s[2]);}A.随机值B.0C.5D.6标准答案:B考生答案:15. 执行下述程序的输出结果是()#includemain(){int aa[3][3]={{2},{4},{6}};int i,*p=&aa[0][0];for (i=0;i<2;i++){if (i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}printf("\n");} (2分)A.23B.26C.33D.36标准答案:A考生答案:二、判断题(共10题,共10分)1. C语言中,标识符的第一个字符可以是数字(1分) ( )标准答案:错误考生答案:2. "hello!"是合法的字符串常量表示形式(1分) ( )标准答案:正确考生答案:3. 若有定义int a[3][4];则a[1+1][0]是对数组a元素的正确引用形式(1分) ( )标准答案:正确考生答案:4. 在switch语句中使用continue语句与使用break语句作用相同(1分) ( )标准答案:错误考生答案:5. 用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分) ( )标准答案:正确考生答案:6. char a[]={0,1,2,3,4,5,6};不是正确的语句(1分) ( )标准答案:错误考生答案:7. 已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。
C语言习题级答案2
选折题1. int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(A)。
A、1B、不一定C、3D、22.以下选项中不合法的用户标识符是 BA、DimB、printfC、_123D、A$3. int i,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是(C)。
A、for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;B、for(i=0;i<6;i++)a[i/3][i%3]=i+1;C、for(i=1;i<=6;i++)a[i][i]=i;D、for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;4.以下所列的C语言常量中,错误的是___A___。
A、1.2e0.5B、0xFFC、2LD、'\72'5.若有说明: int a[3][4]={0};则下面正确的叙述是(A)。
A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、此说明语句不正确D、数组a中各元素都可得到初值,但其值不一定为06.以下正确的字符串常量是 DA、'abc'B、'A'C、OlympicGamesD、"\\\"7. C语言中,char类型数据占(C)。
A、8个字节B、4个字节C、1个字节D、2个字节8.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是____D__。
A、非法的常量B、字符aC、字符eD、字符A9.以下函数的类型是(D)fff(float x){return 5;}A、与参数x的类型相同B、void 类型C、无法确定D、int类型10.以下叙述中正确的是(A)。
C语言基础练习题(含答案)(2)
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
D.switch (grade)
{ case ’C’ :printf(”<60\n”);
break;
case ’B’ :printf(”60——84\n”);
break;
default: printf(”grade is error!\n”);
if(a>b)
c=a; a=b; b=c;
A.a=1, b=2, c=3 B.a=2, b=3, c=3
C.a=2, b=3, c=1 Βιβλιοθήκη D.a=2, b=3, c=2
17.请阅读以下程序:该程序()。
#include ”stdio.h”
22.以下程序的输出结果是()。
#include ”stdio.h”
main()
{
int a=5, b=4, c=6, d;
printf(”%d\n”, d=a>b? a>c?a:c :b);
}
A.5 B.4 C.6 D.不确定
23.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是()。
A.switch (a+b); B.switch a
{ case 1: y=a+b; break; { case c1: y=a-b; break;
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)
《C语言》复习题2—带答案
《C语言》习题2一、单项选择题1、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束2、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0 C.-12 D.93、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e4、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.95、组成C程序的基本单位是()A.函数B.标识符C.表达式D.语句6、设int类型的数据长度为2字节,则该类型数据的取值范围是()A.0至65536 B.0至65535C.-32767至32768 D.-32768至327677、在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数8、C语言对于嵌套if语句规定else总是与()匹配。
A.与最外层的if B.与之前最近的ifC.与之前最近的不带else的if D.与最近的{ }之前的if9、数组定义char a[10]={'`a`,`b`,`c`}:包括了几个元素()A.3 B.9 C.4 D.1010、若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为()A.12 34 B.12,34 C.1234 D.12:3411、以下程序的输出结果是()#include<stdio.h>void main(){char s[]="159",*p; p=s;printf("%c",*p++); printf("%c",*p++);}A. 15B. 16C. 12D. 5912、以下程序的输出结果是()。
C语言习题选2
第一章、 数组一.选择题 1.若有语句int a[8];则下述对 a 的描述正确的是( A )。
(A )定义了一个名称为a 的一维整型数组,共有8个元素 (B )定义了一个数组a ,数组a 共有9个元素 (C )说明数组a 的第8个元素为整型变量 (D )以上可选答案都不对 2.在C 语言中,引用数组元素时,其数组下标的数据类型允许是( C )。
(A )整型常量 (B )整型表达式 (C )整型常量或整型表达式 (D )任何类型的表达式 3.下述对C 语言字符数组的描述正确的是( A )。
(A )任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间 (B )一维数组的元素在引用时其下标大小没有限制 (C )任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间 (D )一维数组的第一个元素是其下标为1的元素 4.下述对C 语言字符数组的描述中正确的是(B )。
(A )任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量 (B )一维数组的元素实质上就是一个变量,代表内存中的一个存储单元 (C )如果要引用数组中的每一个元素,则直接使用该数组名称即可? (D )以上都不对 5.以下对一维整型数组a 的正确说明是(D )。
(A )int a(10); (B)int n=10,a[n]; (C) int n; scanf(“%d ”,&n);int a[n]; (D) #define SIZE 10 int a[SIZE]; 6.以下能对一维数组a 进行正确初始化的语句是( C )B? (A )int a[10]=(0,0,0,0,0);(B )int a[10]={};(C )int a[]={0};(D )int a[10]=(10*1); 7.若有说明:int a[3][4];则对a 数组元素的正确引用是( C ) (A )a[2][4] (B )a[1,3] (C )a[1+1][0] (D )a(2)(1) 8.以下能对二维数组a 进行正确初始化的语句是(B ) (A )int a[2][]={{1,0,1},{5,2,3}};(B )int a[][3]={{1,2,3},{4,5,6}}; (C )int a[2][4]={{1,2,3},{4,5},{6}};(D )int a[][3]={{1,0,1}{},{1,1}}; 9.若有说明:int a[3][4]={0};则下面正确的叙述是( D ) (A )只有元素a[0][0]可得到初值0(B )此说明语句不正确 (C )数组a 中各元素都可得到初值,但其值不一定为0 (D )数组a 中每个元素均可得到初值0 10.以下各组选项中,均能正确定义二维实型数组a 的选项是( C ) (A )float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; (B )float a(3,4); float a[3][4]; float a[][]={{0};{0}}; (C )float a[3][4]; static float a[][4]={{0},{0}}; (D )float a[3][4]; float a[3][]; 11.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( D ) (假设a[0][0]位于数组的第一个位置上。
C语言程序设计练习二
《C语言程序设计》练习二二、多项选择题在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。
1的有(ADE )1.设有int a=3,b=-5;下面表达式值不等于...A.a<0&&b<0B.a=fabs(b)-(a+1)C.a<b||b<0D.(a,2,-5)= =(b,2,a)E.! (a>0&&b<0)2.设有说明:int u=1,v=3;下面表达式的值为3的是(ACD )A.v|uB.u&vC.u ^ v|1D.v|u>>1E.v&~u3. 设有说明:int x=1, y=3; 下面表达式的值为2的有(ABE )A. y&~xB. x^yC. x|yD. y|x>>1E. x<<1|y>>24.设有说明:int u=1, v=3, w=7;下面表达式的值为3的有(AC)A.w>>1&v|uB.u&v&wC.u|v&wD.w&v<<1E.v^w|u5.若有int x;float;y下面结果为整型数的表达式有(ACD )A.(int)(x+y) B.(int)x+yC.´a´+x D.x+(int)yE.x*y6.设有说明:int u=1,v=5;则下列表达式的值为1的有(ABE )A.u&v B.v>>2C.u^u D.u¦vE.(u<<3)/57.设有int a=3,b=-5;下列表达式的值等于1的有(ABCE )A. a&&b<0B. fabs(b)-a-1>0C. a>b&&b<0D. (a,2,-5)==(b,2,a)E. a+b<08.下面合法的C语言转义字符有(ABCE )A.\123B.\xabC.\\D.\88E.\n9.设有说明:int u=0,v=l,z=2;1则下列表达式中结果为-l的有(AB )A.v=~uB.u=u|~(v&z)C.v=(u|z)<<1D.u=~(u|z)E.v&=(~u)10.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有()A.u&v|w B.u|v|w C.u^v|w D.w&v|u E.u^w|v 11.下面基本结构和特性中符合结构化程序设计的要求的有(ABCE)A.选择结构B.循环结构C.顺序结构D.各结构之间只有一个入口,至多两个出口E.各结构之间只有一个入口,一个出口12.下列语句中正确的有(ACD )A.if(x>y);B.if(x=y)&&(x!=0)x+=y;C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);D.if(x<y){x+ +;y+ +;}E.if(x<y)x+ +;y+ +;else x――;y――;13.下列循环将会产生死循环的有(ACDE )A.while(1); B.do{ }while(0);C.do{ }while(1); D.for(k=1;k>―10;k+ +); E.for(k=1;k=10;k+ +,k――);14.以下if语句中没有语法错误的有(AC )A.if(x>0)printf(″%f″,x);else printf(″%f″,x);B.if(x>0){x=x+y;printf(″%f″,x)}else printf(″%f″,x)C.if(x>0){x=x+y;printf(″%f″,x);}else printf(″%f″,x);D.if(x>0)x=x+y;printf(″%f″,x);else printf(″%f″,x)E.if x>yx++;2elsex--;15.设有程序如下:main(){ int i,j,a[]={1,3,5,7,9,11,13,15};i=5;switch(i){ default;printf(″%d\n″,a[i]);case 1:printf(″%d\n″,a[3]);case 2:printf(″%d\n″,a[++i]);break;case 3:printf(″%d\n″,a[--i]);}}上述程序的输出结果不包括(AC)A.5 B.7 C.9 D.11 E.1316.下列关于break、goto、continue语句的说法中正确的是(ACE )A. break语句能够用于循环语句中B. break语句不能用于switch语句中C. goto语句可以用于直接从多层循环中退出D. continue语句可用于跳出循环体E. continue语句不能用于switch语句中17.下面能执行循环结构的语句有(BCD6 )A.if语句B.while语句C.do—while语句D.for语句E.switch语句18.若有定义int a[5];,则对a数组元素或地址的引用错误..的有()A.&a[5]B.a[2]C.a++D.*aE.a[0]19. 若定义char c[11]; 可将字符串″I am a boy″赋给数组c,下面正确的选项有()A. c=″I am a boy″; B. getchar(c);C. gets(c);D. scanf(″%s″,c);3E. for(i=0;i<10;i++) scanf(″%c″,&c[i];c[10])=’\0’;20. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有()int a[10], *p;p=a;A. a[0]B. aC. p+1D. pE. *p21.下面各选项中,能正确进行字符串操作的有()A. char s[ ]={′a′, ′b′, ′c′, ′d′, ′e′, ′\0′};B. char s[10];s=″abcde″;C.char s[10];strcpy(s, ″abcde″)D.char s[10];getchar(s);E.char s[10];gets(s);22.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有()double a[5],*p1p1=a;A.aB.p1+1C.*p1D.&a[1]E.p123.设有定义:int a[2][3];下面关于数组元素引用正确的有()A.a[0][3] B.a[0][0]C.a[2][1] D.a[1][2]E.a[2][3]24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有()A.a[2] B.*aC.*a+2 D.a[0]+2E.&a[0][2]25.设有定义及赋值:()int a[10]={0,1,2,3,4,5,6,7,8,9},*p;p=a;则引用a中值为5的元素的正确形式是A.a[5] B.a[4] C.*(a+5) D.p[5] E.*(p+5)426.若有定义及赋值:int *p,a[4],i;p=a,则可以表示数组元素值的形式是()A.*(a+i)B.a+iC.&a[i]D.a[i]E.*(p+i)27.若有定义:int y[4][4],( *p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是()A. printf (″%d\n″,&y[2][0]);B. printf (″%d\n″, y[2][0]);C. printf (″%d\n″,p[2][0]);D. printf (″%d\n″, y[2]);E. printf (″%d\n″, *(*(y+2));28.设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有()A.Vo5==&inVB.Vo5==* inVC.inV==* Vo5D.inV==&Vo5E.Vo5==inV29.以下关于函数和变量的说法中正确的有(ABC )A.不同函数中可以使用相同名字的变量B.形式参数是局部变量C.一个函数内部定义的变量只能在本函数范围内有效D.在一个函数内部的复合语句中定义的变量可在本函数范围内有效E.如果全局变量与函数内定义的局部变量同名,则在函数内局部变量无效30.设有关于结构体类型的定义:()struct food{char name[20];int kind;}myfood,*p;下面各个选项中语句都正确的是A.p=&myfood;B.p=&myfood;p->kind=5; strcpy(p->name,〃rice〃);C.p=&myfood;D.strcpy(myfood. name, 〃pie〃);p.kind=7; p=&myfood;E.p=&myfood,p->kind=6;strcpy(, 〃apple pie〃);31.设有关于结构体类型的定义:()struct car{char*name;float price;struct car *next;5}*p,*head=NULL;下面各选项中正确的有A.p=(struct car*)MALLOC(sizeof (struct car);B.p=(struct car*)malloc (sizeof (struct car);C.p.next=head;D.p->next=head;E.p=(struct car *)malloc (sizeof(car);32.设有关于结构体类型的定义:()struct data{int num;struct data *next;} *p,* head=NULL;下列语句中正确的有A.p=(struct data *)malloc(sizeof(struct data));B.p=(struct data )malloc(sizeof(struct data));C.p=(struct data *)malloc(sizeof(data));D.p->next=head;E.p.next=head;33.设有关于结构体类型的定义:struct worker{int id;char *name;float salary;} wl={102035,″Lihua″,2560.50},*p;下列选项中语句语法正确的有()A. p=wl;B. p=&wl;C. p->id=wl->idD. p->id=wl.id;E. p.salary=wl.salary;34. 在C语言中,关于符号FILE下面说法正确的有()A. FILE是C的关键字B. FILE表示一种关于文件参数的结构体类型C. FILE表示一种关于文件参数的结构体变量D. FILE*可以用来说明文件指针6E. 文件指针指向的变量的数据类型是FILE35.在C语言中,下面关于文件说法正确的有(ACE )A.按数据的组织形式,可分为文本文件和二进制文件B.文件只能是ASCII码文件C.文件能用fopen( )函数打开D.文件只能是二进制文件E.对打开的文件可以进行读或写操作7。
C语言各章节复习题(带答案) 2
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
C语言习题2
1.C源程序的基本单位是()。
A.子程序B.函数C.过程D.复合语句2()可求得0到0.99的随机数。
P58A.srand()*100%100B.rand()%100/100.0C.rand()%100/100D.srand()%100/100.0 3整型常量没有()形式。
P22A.十进制B.二进制C.十六进制D.八进制4若已定义:int i,j,k; double x; 则下列表达式中语法正确的是()。
A.x%5B.j+2=kC.j+=(k=4)*jD.i=k+2j5若已定义:int n=10,i=4; 则赋值运算n%=i+1执行后,n的值是()。
A.0B.2C.3D.16若已定义:float f; char s[20]; 下列正确的输入语句是()。
A.scanf("%s%f", &s, f);B.scanf("%c%f", s, &f);C.scanf("%s%f", s, f);D.scanf("%s%f", s, &f); 字符数组用字符串。
7能正确表示a和b同时为正或同时为负的逻辑表达式是()。
A. (a>0 && b>0)&&(a<0 && b<0)B.a*b>0C. (a>0 || b>0)&&(a<0 || b<0)D. (a+b>0) && (a+b<=0)8若已定义int k=5;float d=3.5; 则表达式d+k%3/2 的值为()。
A.3.5B.5.5C.4D.4.59若已定义:int a=-1,b=-3,c=0,d=2; 则表达式a<b?c:(a>d?b:d)的值是()。
A.-1B.-3C.0D.210以下程序段运行后m的值为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1停车场收费问题一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。
最高收费为40元。
假设任何车辆的停车时间都不超过24小时。
编写程序,计算每辆车的停车费。
(注意输出结果小数点后保留两位)输入#include<stdio.h>int main(){double m,x;printf("输入停车时间x:");scanf("%lf",&x);if(x<=24){if(x<3.0){m=5.0;printf("%lf\n",m);}else if(x>3.0){ m=5.0+2.0*(x-3.0);if(m<=40)printf("%lf\n",m);}}elseprintf("输出停车费用40元\n");return 0;2.#include<stdio.h>int main(){ double x,m;printf("输入停车时间(x):");scanf("%lf",&x);if(x<=24){if(x<=3.0)printf("停车费用5元\n");if(x>3)m=5.0+2.0*(x-3.0);if(m<=40)printf("%6.2f\n",m);}elseprintf("停车费用40元\n");}}2 计算细菌数量一种细菌的繁殖速度是每天成倍增长。
例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。
现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。
3 计算邮资计算邮资:用户输入:邮件的重量,以及是否加快计算规则:重量在1克以内(包括1克), 基本费0.8元。
超过1克的部分,按照0.5元/克的比例加收超重费。
如果用户选择加快,多收2元。
#include<iostream>using namespace std;int main(){double x,sum;char exp;while(cin>>x>>exp){if(x<=1&&exp=='n')sum=0.8;if(x<=1&&exp=='y')sum=2.8;if(x>1&&exp=='n')sum=0.8+(x-1)*0.5;if(x>1&&exp=='y')sum=0.8+(x-1)*0.5+2;cout<<sum<<endl;}return0;}#include <iostream>using namespace std;int main(){int x,y; //变量定义,此处假设需要定义两个变量,均定义为整型while(cin>>x>>y){你对一组输入的一次处理过程代码}return 0;}C:#include <iostream>using namespace std;int main(){int x,y; //变量定义,此处假设需要定义两个变量,均定义为整型while(scanf(%x %y",&x,&y)!=EOF){你对一组输入的一次处理过程代码}return 0;}注意:考虑以下几点,然后直接套用模版就行了:i) 变量定义。
ii) 有几个变量需要输入,在while中cin相应的变量。
iii) 开始考虑主程序代码,在“{}”中写一次处理过程的代码即可。
4学分绩点计算北京大学对本科生的成绩施行平均学分绩点制(GPA)。
既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。
公式如下:实际成绩绩点90——100 4.085——89 3.782——84 3.378——81 3.075——77 2.772——74 2.368——71 2.064——67 1.560——63 1.060以下 01.一门课程的学分绩点=该课绩点*该课学分2.总评绩点=所有学科绩点之和/所有课程学分之和现要求你编写程序求出某人A的总评绩点(GPA)。
#include<stdio.h>int main(){int str1[10],str2[10],n,i;//定义两个数组分别表示每门课的学分,所得绩点double h,GPA,sum=0,s=0;//定义双精度变量h表示学分,GPA总评绩点,sum表示所有学科绩点之和,s表示所有课程学分之和。
scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&str1[i]);s=s+str1[i];}for(i=0;i<n;i++){scanf("%d",&str2[i]);if(str2[i]<=100&&str2[i]>=90)h=4.0;else if(str2[i]<=89&&str2[i]>=85)h=3.7;else if(str2[i]<=84&&str2[i]>=82)h=3.3;else if(str2[i]<=81&&str2[i]>=78)h=3.0;else if(str2[i]<=77&&str2[i]>=75)h=2.7;else if(str2[i]<=74&&str2[i]>=72)h=2.3;else if(str2[i]<=71&&str2[i]>=68)h=2.0;else if(str2[i]<=67&&str2[i]>=64)h=1.5;else if(str2[i]<=63&&str2[i]>=60)h=1.0;elseh=0;sum=sum+h*str1[i];GPA=sum/s;}printf("%.2f\n",GPA);return 0;}5一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。
已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物#include<stdio.h>int main(){int a,min,max,s;scanf("%d",&s);while(s>=1){scanf("%d",&a);if(a%2==1){min=0;max=0;}elseif(a%4==0){min=a/4;max=a/2;}else{min=(a-2)/4+1;max=a/2;}printf("%d %d\n",min,max);s--;}return 0;}5通过指针变量访问整型变量#include<stdio.h>int main(){int a=100,b=10; //定义整型变量a,b并初始化int*pointer_1,*pointer_2; //定义指向整型数据的指针变量pointer_1,pointer_2;pointer_1=&a; //把变量a的地址赋给指针变量pointer_1 pointer_2=&b; //把变量b的地址赋给指针变量pointer_2printf("a=%d,b=%d\n",a,b); //输出变量a和b的值printf("*pointer_1=%d,*pointer_2=%d\n",*pointer_1,*pointer_2);//输出变量a和b 的值return 0;}6输入a和b两个整数,按先大后小的顺序输出a和b#include<stdio.h>int main(){int *pointer_1,*pointer_2,*pointer_3,a,b;//*pointer_1,*pointer_2的类型是指向整型的指针变量printf("please enter two integer numbers:");scanf("%d,%d",&a,&b);//输入两个整数pointer_1=&a;//使p1指向变量apointer_2=&b;//使p2指向变量bif(a<b) //如果a<b{pointer_3=pointer_1;//将p1,p2的值互换pointer_1=pointer_2;pointer_2=pointer_3;}printf("a=%d,b=%d\n",a,b);//输出a,bprintf("max=%d,min=%d\n",*pointer_1,*pointer_2);//输出p1,p2所指向变量的值return 0;}7,函数嵌套调用输入3个整数,要求由大到小输出,用函数调用。
#include<stdio.h>int main(){void exchange(int *q1,int *q2,int *q3);int a,b,c,*p1,*p2,*p3;printf("please enter three numbers:");scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf("the older is\n: ");return 0;}void exchange(int *q1,int *q2,int *q3){void swap(int *pt1,int *pt2);if(*q1<*q2) swap(q1,q2);if(*q1<*q3) swap(q1,q3);if(*q2<*q3) swap(q2,q3);}void swap(int *pt1,int *pt2){int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;}8,改写大小写,要求从键盘输入大写字母,从显示器上输出小写字母#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=c1+32;putchar(c2);putchar('\n');return 0;}9输入三个数,a,b,c要求按由小到大顺序输出。