计算机c语言考前辅导.docx
《计算机c语言考前辅导.docx》由会员分享,可在线阅读,更多相关《计算机c语言考前辅导.docx(22页珍藏版)》请在冰豆网上搜索。
![计算机c语言考前辅导.docx](https://file1.bdocx.com/fileroot1/2022-11/20/b4c01c6f-f92f-4e98-9a83-270ed8c3a5a5/b4c01c6f-f92f-4e98-9a83-270ed8c3a5a51.gif)
计算机c语言考前辅导
1基本概念
⏹1.开发C程序的一般过程:
编辑(后缀为“.C”的源程序)→编译(生成后缀为“.OBJ”的目标程序)→连接(生成后缀为“.EXE”的可执行文件)→执行
⏹2.C是结构化的程序设计语言,它的三种基本结构是?
顺序结构、选择结构、循环结构
⏹3.C程序语句的结束符?
;
⏹4.C程序中的注释格式?
/*只是说明的作用,不能嵌套*/
例1.1以下叙述中正确的是
A)C语言不是一种高级语言B)C语言不用编译就能被计算机执行
C)C语言能够直接访问物理地址和进行位运算D)C语言具有其他语言的一切优点
例1.2C是一种结构化、模块化的语言,是因为
A)C语言具有结构化的控制语句,如if、while、for。
B)C语言用函数作为程序的模块单位,以函数为模块组织程序。
C)C语用函数作为程序的模块单位,以函数为模块组织程序,还具有结构化的控制语句,如if、while、for。
D)用C语言编写的程序层次清晰明了,易于调试和维护。
Chap2变量与表达式
C语言中的任何变量,使用前都必须定义,也就是先定义后使用。
⏹1.合法的标识符与合法的用户标识符
标识符只能有数字、字符、下划线组成且数字不能打头。
标识符中字母的大小敏感,如abc与ABC是两个完全不同的标识符。
还不能占用关键字(库函数名不是关键字)。
程序中使用的标识符应尽量做到“见名知义”。
(变量名、常量名、自定义函数名都遵循此原则)
⏹2.预定义标识符是合法的用户标识符
例2.1以下不能定义为用户的标识符的是
A)scanfB)VoidC)_3com_D)intE)Int
分析:
本题答案为D。
因为int为关键字。
A)是预定义标识符,它可以用做用户标识符,只是一旦定义则会失去原义。
B)void是关键字但是Void不是。
C)符合合法用户标识符的命名规则。
E)与B)的道相同。
例2.2以下不合法的用户识符是
A)j2_KEYB)DoubleC)4dD)_8_
例2.3以下是C标志符但不是C语言关键字的是
A)intB)doubleC)unsignedD)#includeE)real
注意:
关键字首先应该是合法的标志符,首先应将非法的去掉。
答案D、E
⏹3.C程序有且仅有一个main(),程序的执行从main开始在main中结束
例2.4在一个C程序中,()
A)main()函数必须出现在所有函数之前B)main()函数必须出现在所有函数之后
C)main()函数可以出现在任何位置D)main()函数必须出现在固定位置
⏹4.合法的整型、实型、字符型、字符串常量★★
注意:
在C语言中没有直接表示二进制的整型常量,且只有十进制能表示负常量。
(1)十进制整型常量由一串连续的0~9数字组成,如:
0、120、-635等
(2)八进制整型常量以数字0开头,由一串连续的0~7数字组成,如:
0101、077等
(3)十六进制整型常量以数字0x或者0X开头,由一串连续的0~9、A~F或a~f组成,如:
0x11、0Xff等
例2.5C中简单的数据类型包括
A)整型、实型、字符型B)整型、实型、字符型、逻辑型
C)整型、逻辑型、字符型D)整型、实型、逻辑型
例2.6在c中,int型在内存中占两个字节,则int型数据的取值范围()
例2.7下面不是C中整型常量的是
A)01B)0x11C)081D)-3276
例2.8以下合法的字符型常量是()
A‘\x13’B‘\081’C‘65’D”\n”E”A”
用单引号括起来的单个普通字符或转义字符.常用转义字符:
‘\ddd’-3位8进制数代表的字符‘\xhh’-
2位16进制数代表的字符‘\n’‘\b’‘\\’‘\‘’
⏹5.算数运算符/与%很重要★★★
注意:
整型(常量或变量)/整型(常量或变量)=整型%两边必须是整型(常量或变量)
例2.9若已定义x和y是double型,则表达式x=1,y=x+3/2执行后y的值()
A1B2C2.0D2.5
例2.10C中运算对象必须是整型运算符的是()
A/B%C=D&&
例2.11若已定义:
inta=7;floatx=2.5,y=4.9;则表达式x+a%3*(int)(x+y)/4的值()
A2.75B3.5C2.5D0
⏹6.++--★★★
前置++i,--i(先执行i+1或i-1,再使用i值)j=3;printf(“%d”,++j);
后置i++,i--(先使用i值,再执行i+1或i-1)j=3;printf(“%d”,j++);
例2.12设intk=0;以下四个选项中不同于其它三个的是()
Ak++Bk+=1C++kDk+1
例2.13以下程序的运行结果是()
main()
{intx=1,y=2,z;
z=x>y?
++x:
y++;
printf(“%d,%d,%d”,x,y,z);
}A1,3,3B1,2,3C2,3,3D2,2,3
⏹7.复合赋值运算★★
例2.14设单精度变量啊a、b的值均为5.0,则表达式中能使a为10.0的是()
Aa-=b+5Ba+=b*1Ca*=b-4Da/=b*5
例2.15设有语句inta=3;则执行a+=a-=a*a;后变量a的值是()
⏹8.逗号表达式★
例2.16以下语句运行后的结果是()
intx;
printf(“%d”,((x=4*5,x*5),x+25));
A125B100C45D20
⏹9.其他
例2.17写出与下列数学表达式相对应的c语言表达式()
1、x×(y+1)2、
3、
4、
例2.18表示关系x≤y≤z的c
语言表达式()
Ax<=y&&z<=yBx<=yANDz>=yCx<=y&&z>=yDx<=y||z>=y
例2.19关于数据类型转换的说法正确的是()
A当表达式中的数据类型不一致时会发生自动类型转换
B当表达式中的数据类型不一致时会不会发生自动类型转换,提示错误
C数据的类型转换是编译系统自动完成的,不可以强制转换
D数据的类型转换是强制转换不是编译系统自动完成的
分析:
数据的类型转换分为自动和强制。
Chap3顺序结构
⏹1.scanf(“格式”,地址)与printf(“格式”,数据)
⏹2.以上特别是scanf();一定要注意它的输入格式
例3.1知:
inti,j,k;scanf(“%d%d%d”,&i,&j,&k);若从键盘上给他们分别赋值4、5、6,则错误的输入为()
A4,5,6B4回车5回车6回车C4空格5空格6回车D4空格5回车6回车
注意:
当输入多个数值数据时,输人数值数据之间用间隔符(包括空格符、制表符和回车符,但是不包括逗号)隔开。
⏹3.主格式要求掌握%d,%ld,%hd,%c,%s,%f,%lf
例3.2知:
intx=10,y=3,z;则printf(“%d\n”,z=(x%y,x/y));的输出结果为()
A1B3C4D0
例3.3若定义变量inta;floatb;charc;要正确输出a、b、c的数据,正确的为()
Aprintf(“%d%3.2f%c”,a,b,c);Bprintf(“%d%3.2f%c”,&a,&b,&c);
Cprintf(“%d%d%c”,a,b,c);Dprintf(“%d=a,%3.2f=b,%c=c”,a,b,c);
Chap4顺序与选择结构
⏹1.关系与逻辑(逻辑世界0,1)
当表达式或者常量或者变量作为逻辑运算量的时候,非零即真1,零就是假0。
例4.1表达式5!
=6的值是();表达式‘A’==65的值是()
逻辑运算时还要格外注意逻辑运算的短路特性
例4.2设有inti=1,j=2,k=3;,则表达式i>j&&k++的值是()。
注意:
先算关系后算逻辑,逻辑运算的短路特性,该表达式执行后,k的值为3而不是4
例4.3下列语句组的输出结果为()
inta=-1,b=2,k;
k=!
((++a<0)&&!
(b--<=0));
printf(“%3d%3d%3d\n”,k,a,b);
A102B104C013D004
⏹2.选择结构★★★
if(条件){怎样1;怎样2;}
else{又怎样1;又怎样2;}
注意:
该结构中的“语句”只能是一条语句或者是一个复合语句。
If条件表达式之后,不要根“;”。
※这里可能会出一道大题※
例4.4编写分段函数程序,求y的值?
(详见p12编程题3)
⏹3.选择结构★★★
switch(表达式)
{case值1:
怎样1;
case值2:
怎样2;break;
}
注意:
switch语句的圆括号(必须要有圆括号)中表达式的值必须是整型或字符型,不能为实型。
case后的表达式可以是求得整型量和字符型量的常量表达式,但常量表达式中不能含有变量。
每一个case都是一个程序入口,表示该switch结构从何处进入,一旦进入该结构体就会顺序往下执行,直到遇到break;才会跳出程序,否则一直执行到该结构的末尾。
这一点一定要理解。
default最多只能有一个,通常出现在switch的最后部分,但也可以出现在case之间或所有case之前。
例4.5若有定义:
floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是
A)switch(x)B)switch((int)x);
{case1.0:
printf(“*\n”);{case1:
printf(“*\n”);
case2.0:
printf(“**\n”);case2:
printf(“**\n”);
}}
C)switch(a+b)D)switch(a+b)
{case1:
printf(“*\n”);{case1:
printf(“*\n”);
case2+1:
printf(“**\n”);casec:
printf(“**\n”);
}}
例4.6以下程序运行后的输出结果
main()
{inta=0,b=2,c;
swich(a)
{
case0:
c=b++;
case1:
switch(b)
{case1:
c++;break;
case2:
c*=b;break;
default:
c+=b;
}
break;
default:
c--;
}
printf(“%d”,c);
}
Chap5循环结构(★★