C语言_知识点复习

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章C语言程序的结构1.程序的构成,main函数和其他函数。p5-p6例题:判断:C语言程序是由过程和函数组成的。(错)2.预定义命令,类型定义,变量定义,组成程序的各个函数,程序中的注释。3.源程序后缀:.c第2章数据1基本数据类型:整型数据,浮点型数据,指针型数据2常量:字面常量,符号常量3变量:标识符,变量的定义,变量的初始化,变量的引用4输出与输入:基本输出,基本输入输入输出函数的调用,正确输入数据并正确理解和设计输出格式。整数的表示范围、溢出情况:在整常量后加字母l或L,认为它是longint型常量整常量后面加一个字母u或U,认为是unsignedint型16位整数的表数范围为:-32768--+32767若有声明shortintx;且sizeof(x)的值为2,则当x值为时x+1x为假。字符型与整型chari=2;chari=’2’;inti=2;inti=’2’;浮点数的表示指数形式:e或E之前必须有数字;指数必须为整数。例题1:下列选项中,不能作为合法常量的是()。A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0例题2:下列选项中可作为C语言合法常量的是()。A)-80B)-080C)-8e1.0D)-80.0e字符常量:用单引号括起来的单个普通字符或转义字符转义字符:反斜线后面跟一个字符或一个代码值表示main(){printf(\101\x42C\n);printf(Isay:\Howareyou?\\n);printf(\\CProgram\\\n);printf(Turbo\'C\');}常见字符的ASCII码‘A’650x41‘a’970x61‘0’480x30chara=’b’-'A'+'0';a=’A’+32;合法的用户标识符下列不能定义的用户标识符是()。A)MainB)_0C)_intD)sizeofprintf的使用字符串结尾应以’\0’结束,才能整体输出scanf的使用scanf的输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符scanf读入字符注意点:空格和转义字符作为有效字符输入例题1:欲使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,scanf(%d%c%d%c,&a1,&c1,&a2,&c2);输入形式应为:12a34b例题2:有下列程序:main(){intm,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%d\n,m,n,p);}若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是:m=123n=456p=789例题3:chara,b,c,d;scanf(“%c%c”,&a,&b);c=getchar();d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);输入:abcd输出为:abc例题4:#includestdio.hmain(){inti=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);//p28-31四张表格printf(%d%d%d\n,i,j,k);}输入:102030输出为:10300以整数格式为字符变量输入main(){charb;scanf(%d,&b);b=b*2;printf(%c\n,b);}输入:33输出为:B用scanf读入字符串字符串名或数组名本身就是地址,不需加&有定义语句:intb;charc[10];,则正确的输入语句是()。A)scanf(%d%s,&b,&c);B)scanf(%d%s,&b,c);C)scanf(%d%s,b,c);D)scanf(%d%s,b,&c);不能将一行带有空格的字符串读入若准备将字符串“Thisisastring.”记录下来,错误的输入语句为:(A)scanf(“%20s”,s);(B)for(k=0;k17;k++)s[k]=getchar();(C)while((c=getchar())!=‘\n’)s[k++]=c;(D)gets(s);第3章运算与表达式1算术运算基本算术运算符、优先级与结合性、数据类型转换、自增、自减运算2关系运算3逻辑运算4位运算按位逻辑运算移位运算位运算符的含义和使用。简单的位运算。5指针运算取地址运算、操作指针变量、移动指针、比较指针6其它运算sizeof运算、逗号运算、条件运算7赋值运算赋值运算符和赋值表达式、复合赋值运算熟练运用各种运算符、掌握运算优先级和结合性。P237附录B不同类型数据间的转换与运算。表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。基本运算、优先级例题1:下列程序的输出结果是()。main(){intm=12,n=34;printf(%d%d,m++,++n);printf(%d%d\n,n++,++m);}A)12353514B)12353513C)12343514D)12343513例题2:下列程序的输出结果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf(%d,%d\n,a,b);}A)6,1B)2,1C)6,0D)2,0例题3:main(){chars[]=159,*p;p=s;printf(%c,*p++);//先输出*p,再p++,即先去表达式值输出,再p++printf(%c,*p++);}15例题4:inta=0,b=1;if(a=b)printf(“aequaltob”);elseprintf(“anotequaltob”);注意区分“=”与“==”%操作的使用%操作只能针对整数(字符)#includestdio.hmain(){char*s=ABC;do{printf(%d,*s%10);s++;}while(*s);}运行结果:567经常用于求解某个整数的尾数,将整数进行分离等。位运算举例main(){intc=35;printf(%d\n,c&c);}运行结果:35main(){charx=040;printf(%d,x=x1);}注意:040为八进制运行结果:64main(){chara=3,b=6,c;c=a^b2;printf(%d,c);}运行结果:27左移优先级高于按位异或^第4章程序控制结构顺序程序设计基本语句1.控制语句、函数调用语句、表达式语句,空语句,复合语句。选择结构程序设计1.用if语句实现选择结构。2.条件运算表达式(ab)?a:b3.用switch语句实现多分支选择结构。4.选择结构的嵌套。x≤y≤z的c语言表达式:(x=y&&y=z)C语言中没有逻辑类型逻辑运算和关系运算的结果为1或0;2&&0a=10;b=20;c=(a%b1)||(a/b1);5278的值(a==1)||(a!=1)的值0参与逻辑运算表示假;非0参与运算表示真;intb=5;if(!b)(等价于if(b==0)b--;if(){多条语句}main(){inta=3,b=4,c=5,t=99;if(ba&&ac)t=a;a=c;c=t;if(ac&&bc)t=b,b=a,a=t;printf(%d%d%d\n,a,b,c);}else总是与最近的if配对if(a==1)if(b!=2)if(c==3)d=1;elsed=2;elseif()switch中的每个case,如不遇到break,则继续执行下一个case语句,直至遇到breakswitch后面的表达式的含义inta=3,b=5;switch(a==1){case1:a=b;break;case0:a++;}switch(a){case1:a=b;break;case0:a++;}短路特性:逻辑表达式求解时,有时并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符下列程序的输出结果是()。main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(%d%d%d\n,i,j,k);}A)123B)234C)223D)233条件表达式的计算结合方向:自右向左如ab?a:cd?c:dab?a:(cd?c:d)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab?a:cd?c:d的值是()。A)1B)2C)3D)4循环控制1.for循环结构。2.while和do-while循环结构。3.continue语句和break语句。4.循环的嵌套。循环用列表法分析,以确保不发生低级错误例题1:main(){charc1,c2;for(c1='0',c2='9';c1c2;c1++,c2--)printf(%c%c,c1,c2);printf(\n);}输出:0918273645例题2:main(){inta=1,b;for(b=1;b=10;b++){if(a=8)break;if(a%2==1){a+=5;continue;}a=3;}printf(%d\n,b);}输出:4例题3:main(){inti,j,m=1;for(i=1;i3;i++){for(j=3;j0;j--){if((i*j)3)break;m=i*j;}}printf(m=%d\n,m);}运行结果:m=1第5章数组数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。2.字符串与字符数组。数组的长度必须是一个常数!intN=90;inta[N];错误下列叙述中错误的是()。A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)在程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数数组元素的引用例题1main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++7)if(p[i]%2)j+=p[i];printf(%d\n,j);}A)42B)45C)56D)60++优先级高于例题2有下列程序:main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i4;i++){for(j=0;ji;j++)printf(%4c,'');for(j=i;j4;j++)printf(%4d,num[i][j]);printf(\n);}}输出:右上半三角。1234678111216例题3下列程序的输出结果是()。main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i9;i++)p[i]=i;for(i=0;i3;i++)printf(%d,a[1][i]);}A)012B)123C)234D)345例题4inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=0;i5;i++)s=s+a[b[i]];printf(%d\n,s);11数组/字符数组/字符串的初始化例题1:能正确初始化的是:A)char*s;s=Olympic;//把Olympic的地址赋给sB)chars[7];s=Olympic;//s是数组名,是数组地址,不是变量C)char*s;s={Olympic};D)chars[7];s={Olympic};例题2:下列能正确定义一维数组的选项是()。A)inta[5]={0,1,2,3,4,5};B)chara[]={0,1,2,3,4,5};C)chara={'A','B','C'};D)inta[5]=01

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功