付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言全部章节复习第一章C语言概述1、一个C程序的执行是从(A)A本程序的main函数开始,到mainBC本程序的mainD本程序文件的第一个函数开始,到本程序main2C语言中,每个语句必须以(D)A.回车 B.冒 C.逗 D.分3、C语言规定:在一个源程序中,main函数的位置(C)A.必须在最开 B.必须在系统调用的库函数的后C.可以任 D.必须在最4、一个C语言程序是由(B)A.一个主程序和若干子程序组成B.C.若干过程组 D.若干子程序组5、下列说法中错误的是(D)6C语言编写的源文件经过编译,若没有产生编译错误,则系统将(C)生成可执行目标文 B.生成目标文C.输出运行结果 D.自动保存源文件1、C语言只有32个关键字和 种控制语句2、每个源程序有且只有一个main 函数,系统总是从该函数开始执行C语言3、C语言程序的注释可以出现在程序中的任何地方,它总是以\* 开始标记,以*/ 4、C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf 5、系统默认的C语言源程序文件的扩展名是.c 件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是.exe 6、C语言的标识符只能由字母、数字和下划线1、以下选项中,不正确的C语言浮点型常量是(C)A. B. C. D.2、以下选项中,(D)是不正确的CA. B. C. D.3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式A.原 B.反 C.ASCII D.BCD4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)A. B. A.算术运算、赋值运算、关系运 B.算术运算、关系运算、赋值运C.关系运算、赋值运算、算术运 D.关系运算、算术运算、赋值运6、若有代数式,则不正确的C语言表达式是(C)。 B.3*a*e/b/c D.a*e/c/b*37、表达式!x||a==b等效于(D)。A. B. C. D.8m,n,a,b,c,d1(m=a>b)&&(n=c>d)后m,n(A)A. B. C. D.9inta=3a+=a-=a*=a;a的值是BA. B. C. D.-10、在以下一组运算符中,优先级最低的运算符是(D)A. B. C. D.11i2,表达式(++i)+(++i)+(++i)的结果是(B)A. B. C. D.12xy为doublex=1,y=x+3/2的值是CA. B. C. D.13、sizeof(double)的结果值是(A)A. B. C. D.14a=1,b=2,c=3,d=4,则表达式:a<b?ac<dad的结果为DA. B. C. D.15a为整型变量,不能正确表达数学关系:10<a<15的C(A)A. B.a==11||a==12||a==13||a=C.a>10&& D.!(a<=10)&&16、设f是实型变量,下列表达式中不是逗号表达式的是(D)A.f=3.2, B.f>0, C.f=2.0, D.f=(3.2,1718/4*sqrt(4.0)/8值的数据类型是(C)A. B. C. D.18、已知字母A的ASCII码为十进制数65c2为字符型,则执行语C2=’A’+’6’-‘3’;c2中的值是(A)A. B. C.不确定的 D.19、以下用户标识符中,合法的是(B)A. B. C. D.20、C语言中,要求运算对象只能为整数的运算符是(A)A. B. C. D.21、若有说明语句:charc='\72'c在内存占用的字节数是(A)A. B. C. D.22、字符串"ABC"在内存占用的字节数是(B)A. B. C. D.23a赋初值,下列语句中哪一个是正确的(B)A.chara="3"; B.chara=’3’; C.chara=%; D.chara=*;24、下列不正确的转义字符是(C)。A. B. C. D.1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用02、若x和nintx12,n5,则计算表达式x%=(n%=2)后x的值为0。3、设c='w',a=1,b=2,d=-5,则表达式'x'+1>c,'y'!=c+2,-a-5*b<=d+1,b==a=2的值分别为 、1 4floatx=2.5,y=4.7inta=7;x+a%3*(int)(x+y)%2/4的值为2.5。5、判断变量a、b的值均不为0的逻辑表达式为 6a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6。7、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为 8、数学式a/(b*c)的C语言表达式a/b/c 11.52.3,编程求该长方形的周长和面积。{floatx=1.5,y=2.3;printf(“areais2Aa。{char7章数组习题Ainta[4]={5,3,8,9};其中a[3]的值为 A. B. C. D.以下4个字符串函数中 )所在的头文件与其他3个不同。A. B. C. D.以下4个数组定义中 )是错误的。A.int B.#defineN5long C.char D.int对字符数组进行初始化 )形式是错误。A.charc1[]={'1','2','3'}; B.charc2[]=123; C.charc3[]={'1','2','3', D.charc4[]="123";在数组中,数组名表示 )。数组第1个元素的首地 B.数组第2个元素的首地C.数组所有元素的首地 D.数组最后1个元素的首地 )。Binta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A. B. C. D.若有以下说明,则数值为4的表达式是 )。inta[12] charc=’a’,d,gA.a[g- B. C.a['d'- D.a['d'-设有定义:chars[12]="string" 则printf("%d\n",strlen(s));的输出 )A. B. C. D.设有定义:chars[12]= 则printf("%d\n",sizeof(s));的输出 )A. B. C. D.合法的数组定义是 )。A.chara[]="string"; B.inta[5]={0,1,2,3,4,5}; C.chara="string"; D.chara[]={0,1,2,3,4,5}合法的数组定义是 )。inta[3][ B.inta[][3]C.int D.int下列语句中,正确的是 chara[3][]={'abc', B.chara[][3]={'abc',C.chara[3][]={'a', D.chara[][3]={"a",下列定义的字符数组中,输出printf("%s\n",str[2]);的输出是( )。Cstaticstr[3][20]={"basic","foxpro","windows"};A. B C. D.下列各语句定义了数组,其中哪一个是不正确的 )。char B.intC.floatx[2][ D.int数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是 )。A. B. C. D. #include<stdio.h>float //Ainti;array[0]=array[0]+array[i];//第B行 //第C行 A.第A行B.第B行C.第C行D.下面哪一项是不正确的字符串赋值或赋初值的方式 )。char*str;charcharchar (strlen(s)为求字符串s的长度的函数)chars[12]="aA. B. C. D. (strlen(s)为求字符串s的长度的函数)charsp[]="\t\v\\\0will\n";A. B. C. D.字符串中有字 )。Ccharstr[]="\"c:\\abc.dat\"";A.字符串中有字符 B.\"c:\\abc.dat\" C."c:\abc.dat" C语言中,数组的各元素必须具有相同的 ,元素的下标下限为 下标必须是正整数、、或者 。但在程执行过程中,查元素下标是否 。C语言中,数组在内存中占一片 的区,由 执行staticintb[5],a[][3]={1,2,3,4,5,6};后,b[4] 设有定义语句staticinta[3][4]={{1},{2},{3}};则a[1][0]值 a[1][1]值 如定义语句为chara[]="windows",b[]="95";,语句 根据以下说明,写出正确的说明语句:men10个整型元素的数step4个实型元素的数组,1.92.330,grid是一个二维数组,4行,10array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,正确的说明语句为:。该数组下标的取值范围是从到(从小到大)。用scanf函数输入数组的第二个元素表示为: 39存入第一个元素表示为:。把第六个和第四个元和存入第一个元素表示为 写出以下初始化数组的长度:①intchn[3];数组chn的长度为。②float数组isa的长度 ③intdoom[8];数组doom的长度 ④float数组pci的长度 ⑤intast[3][3];数组ast的长度 。⑥intatt[3][4];数组att的长度 ⑦floatdell[][3]={{1,4,7},{2,5},{3,6,9}};数组dell的长度 a数组,数组元素和它们得值如下所示数组元素:a[0a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]元素的值: ②该数组的最小下标值 字符串"ab\n\\012/\\\""的长度为。 int floatstep[4]={1.9,-2.33,0, intintarray[10]{9,4,7,49,32,-5};09scanf("%d",&array[1]); array[0]=39;array[0]=8.6.int (×)(1)C(×)(2)字符数组不要求它的最后一个字符为‘\0’,甚至可以不包含‘\0’(×)(3)inta[10];inta(10);(√)(4)(×)(5)s5×6(56列)float(√)(6)inta[10];表示数组名为a10(×)(7)inta[10];表示数组名为a10个元素为a[10](√)(8staticcharc[]={“abook”};与staticcharc[]=“abook”;(×)(9staticcharc[]={'ab','o','o','k','\0'};staticcharc[]={'a','b','o','o','k'};等价。(×)(10)设已有说明:staticcharc1[10],c2[10];c1={“book”};20个数,输出它们的平均值,输出与平均值之差的绝对值为最小的数#include<stdio.h>voidmain(){floata[20],pjz=0,s,t;intfor(i=0;i<20;i++) }}for(i=0;i<20;i++)scanf(“%f”,&a[i]);pjz/=20;10avoidmain({intprintf("输入50个整数for(i=0;i<50;i++)scanf("%d", for(i=1;i<=50;i++){ printf("%3d\n", );printf("%3d",a[i-1]);}}&a[i]i%10==0a[i-下面程序的功能是输出数组svoidmain({intk,ints[]={1,-9,7,2,-for(p=0,k=p;p<6;p++) printf("%d\n"}20个数存放在一个数组中,void char intmax,min,average,sum;inti; {printf("请输入第%d个数 } { }average printf("和是printf("平均值是}#include<stdio.h>#include<string.h>voidmain(){chars[80];inti;for(i=0;i<80;{s[i]=getchar(if(s[i]=='\n')}s[i]='\0';while(s[i])putchar(s[i++]);}#include<stdio.h>#include<string.h>voidmain(){charstr[10][80],c[80];inti;for(i=0;i<10;i++)gets(str[i]);strcpy(c,str[0]);for(i=1;i<10;i++)if(strlen(c)<strlen(str[i]))strcpy(c,str[i]);printf("%s\n",c);printf("%d\n",strlen}#include<stdio.h>#include<string.h>voidmain(){chara[10][80],inti,j,for(i=0;i<10;i++)gets(a[i]);for(i=0;i<9;i++){k=ifor(j=i+1;j<10;if(strcmp(a[j],a[k])<0)k=j;if(k!=i){strcpy(c,a[i]);strcpy(a[i],a[k]);//}for(i=0;i<10;i++)puts}#include<stdio.h>voidmain(){int{for(j=0;j<6;j++)if(j<6)printf("%d}}42527#include<stdio.h>voidmain(){chara[8],temp;intj,k;for(j=0;j<7;j++)a[j]='a'+j; {for(k=6;k>0;k--)a[k]=a[k-1];}}#include<stdio.h>#include<string.h>voidmain(){charstr1[]="*******";for(inti=0;i<4;i++){str1[i]='';}}*该程序的运行结果是: void{float{3.4,-{56.8,999.,-{0.45,-inti,j;intmin;intmin=array[0][0];if(min>{min=array[i][j];}}-5.772voidmain(){char void{charstr[80];inti=0;{}}upcase,Aa1Bb2Cc3,8章函数习题AC语言总是 函数开始执行。A. B.处于最前的C.处于最后 D.随机选一函数在定义时,省略函数类型说明符,则该函数值的类型 。A. B. C. D.以 函数,真正地没有返回值。inta(){inta=2;return B.voidC.inta(){inta=2;return D.在C语言中,有关函数的说法,以下正确的 。函数可嵌套定义,也可嵌套调 B.函数可嵌套定义,但不可嵌套调C.函数不可嵌套定义,但可嵌套调用 D.函数不可嵌套定义,也不可嵌套调 A. B. C. D.函数调用可以 。函数表达式 B.函数语句 C.函数参数 D.以上都被调函数返回给主调函数的值称 。形 B.实 C.返回 D.参 B.被调函数的定义在主调函数定C.在所有函数定义前,已在函数外预先说明了被调函数类型D.被调函数通 语句,将值返回给主调函数。A.if B.for C.while D.return 。DB.主函数中该被调函数调用语句D.主调函数中该被调函数调用语句的后一语以下对C语言函数的有关描述中,正确的 。CCC语言中函数的隐含类型 。A. B. C. D.无类 return这两个 B.形参用两个元素的数C.形参用两个这种数据类型的指 D.用两个全局变C语言可执行程序从什么地方开始执行 )。程序中第一条可执行语 B.程序中第一个函C.程序中的main函 D.包含文件中的第一个函有一个函数原型如下所示,则该函数的返回类型为 )。abc(floatx,floatA. B. C. D. 。所处的位置,所处的位置,类型说明变量时,若省略类型符,系统默认其为 类别,该类 静态型局部变量的作用域 。 函数的参数为char*类型时,形参与实参结合的传递方式 函数的实参为常量时,形参与实参结合的传递方式 。值传 void { }(×)(1)(√)(2)形参只有在被调用时才分配空间(×)(3)C(×)(4)(√)(5)(函数的隐含类型是extern(((C(#include<stdio.h>voidmain(){floatintivoid;for(i=0;i<7;i++)printf("%f",a[i]);}void {inti,j,k;floatt;{ ){t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}}sort(a,7)float*p,intn*(p+k)<*(p+j)n个元素的一维数组中,找出最大值、最小值并传送到调用函#includevoidfind(float*p,intmax,intmin,int{int{ )*max=t;if(t<*min)*min=t;}}floatt;*min=*p;{inti=1,p;}intfun(inta,int{intif(a>b)elseif(a==b)f=0; return}-(2)abcdef<CR>#include<stdio.h>voidfun({charcif((c=getchar())!='\n')fun();}voidmain( fun(); #include<stdio.h>#defineC5intx=1,y=C;voidmain(){intx=y++;printf("%d%d\n",if(x>4){intx;x=++y;printf("%d%d\n",x,y);}printf("%d}5712(4)#include<stdio.h>intc,a=4;func(inta,intb){c=a*b;a=b-1;b++;return(a+b+1);}voidmain(){intb=2,p=0;c=1;p=func(b,a);printf("%d,%d,%d,%d\n",a,b,c,p)}unsignedfun6(unsigned{unsigneddo{k*=num%10;num/=10;}return}voidmain({unsignedn=26;printf("%d\n",fun6(n));}#include<stdio.h>intmax(inta,intb);{intx,y,z,t,m;}intmax(inta,int{if(a>b)}运行时若输入:10,15,9则输出 运行时若输入:300,129,300则输出 #include<stdio.h>longsum(inta,intb);longfactorial(intn);{intn1,n2;longa;
}longsum(inta,int{longc1,c2;}longfactorial(int{longrtn=1;inti;}运行时若输入:2,3则输出: 运行时若输入:0,5则输出: #include<stdio.h>ints();intx,y;{intn;
8}int{intz;}程序运行后输出
(9)以下程序的输出结果是a= #include<stdio.h>intfunc(inta,int*p);voidmain(){inta=1,b=2,c;}intfunc(inta,int{} 以下不正确的叙述是A、宏替换不占用运行时间。BC、宏替换只是字符替换。DC语言的编译系统对宏命令的处理A、在程序运行时进行的。B、在程序连接时进行。C、和C程序中的其它语句同时进行编译的。A、15B、100C、10D、#defineMIN(x,y)(x)<(y)?(x):(y)voidmain(){intI,j,k;}用#include包含的文件的后缀必须是“.h”宏命令行可以看作是一行C语句。AB、宏定义常量与const定义常量是一样的以下程序中for循环执行的次数是 #defineN2#defineMN+1#defineNUM(M+1)*M/2voidmain(){inti;}2、以下程序的输出结果是 #defineA#defineB(a) voidmain(){intx;}编程:请写出一个宏定义MYALPHA(c),用以判断c是否是字母字符,若是,10。解:#defineMYALPHA(c)((c>=’A’&&c<=’Z’)|| 1、若有定义:intx,*pb;则以下正确的表达式是(A)A、pb=&xB、pb=x AB、0C、-1D、1voidA、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7voidsub(intx,inty,intvoid{intsub(10,5,&a);sub(7,a,&b);}A、4B、6C、8D、10void{intint}A、23B、24C、25D、26voidprtv(int*x)void{int}9、以下程序的输出结果是(B)A、运行出错B、100C、a的地址D、bvoidmain(){int}10、以下程序运行后,输出结果是(D)A) B) C) D)ss(char*s) while(*p)p++;return(p-s);} printf("%d\n",i);}1、若有定义:char使指针pchchar*p=&ch;若已定义char*p;,使指针pchp=&ch;在(1)的基础上,通过指针p给变量ch读入字符的scanf调用语句scanf(“%c”,p);在(1)的基础上,通过指针p给变量ch赋字符’a’的语句是*p=’a’;在(1)的基础上,通过指针pchprintf(“%c”,*p);2、以下程序输出的是Cvoidmain({inti=3, 3、以下函数的功能是,把两个整数指针所指的单元中的内容进行交换。请void {intint *y= *x=;1、下面程序的输出结果是ABCDBCDCD voidmain(){ for(chp=b;*chp:chp+=2) voidmystrcat(char*s1,char{charfor(p=s1;*p;p++for(q=s2 *p++=*q*p=’\0’大体上必须清楚的 顺序结构,循环结构(三个循环结构), 和switch)读程序都要从main(),然后从最上面顺序往下读(碰到循环做循环,碰到计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的bit是位是指为 或者1 byte是指字节 一个字节 八个位1、编译预处理不是CCASCII2、每个Cmain5、break可用于循环结构和switch语句。关键字不可以作为用户标识符号。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大 2.333×10-1。考试口诀:e前ee 是字符占一个字节,"1" ASCII48,'a'ASCII97,'AASCII65。整型一般是两个字节 字符型是一个字节,双精度一般是4个字节1632不要去管,一样做题。掌握整型一般是两个字节,字符型是一个字节,双精度4在程序中inta=0x6d,是把一个十六进制的数给变量 注意这里0x在程序中inta=06d,在转义字符中,’\x6d’才是合法的,0x‘\141’是合法的,0‘\108’是的,因为不可以出现8。一定是 不 int(a),注意类型上一定有括号的注意(int)(a+b)和 的区别。前是把a+b,后是a再加b。是表达式就一定有数值自加、自减表达式:假设a=5,++a(是为 a++(为 是先把变量的数值加上1,然后把得到的数值放到变量a中,16,再放到变量a++aa++a6考试口诀:++先加后用,++在后先用后加逗号表达式例 chara=6,b=a<<2; 这种题目的计算是先要把a6例 一定要记住例3: 在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以10)018的数值是的,八进制是没有8的,逢8进111)%12)1、inta=1.6;printf%d;%c;%f%ld对 longint;%lf对应doublescanf函数的格式注意该函数的第二个部分是&a这样的地址,不是a;Scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。putchar,getchar aget
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽省街道办人员招聘考试参考试题及答案解析
- 2026年湖南省永州市街道办人员招聘考试参考试题及答案解析
- 2026年株洲市石峰区网格员招聘考试模拟试题及答案解析
- 2026年乌鲁木齐市新市区网格员招聘考试参考题库及答案解析
- 2026中国金属期货套期保值会计处理规范研究报告
- 2026中国进口食品消费特征及渠道拓展策略研究报告
- 2026中国装配式建筑技术标准体系与市场接受度调查报告
- 2026中国葡萄种植户经营风险识别与防范机制研究报告
- 2026中国葡萄干行业终端网点布局与渠道下沉策略报告
- 2026中国期货市场套期保值效果评估与优化策略报告
- 2025年北京市公务员笔试真题及答案
- 2026四川省遂宁经创投资集团有限公司招聘工作人员24名笔试模拟试题及答案解析
- 2026年广东省肇庆中学自主招生考试物理试卷真题(含答案详解)
- 2025年四川省党政领导干部政治理论水平考试(理论测试)历年参考题库含答案详解
- 驻定点屠宰场官方兽医工作制度
- 危重患者早期活动与康复护理
- 中国主动脉夹层诊疗指南(2025版)
- 高中英语教招题目及答案
- 叉车培训资料大全
- 福建省部分地市2026届高中毕业班第一次质量检测英语试题及答案
- 2026年时事政治测试题库及答案【有一套】
评论
0/150
提交评论