C语言重点复习题2.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
20
积分
还剩页未读,继续阅读
关 键 词:语言
重点
复习题
资源描述:
第2章
1.下列叙述中正确的是( )。
A.C语言中既有逻辑类型也有集合类型
B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型
D.C语言中既没有逻辑类型也没有集合类型
2.下列关于C语言用户标识符的叙述中正确的是( )。
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不能放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
★3.下列4个选项中,( )是合法的用户自定义标识符。
A.b-b B.float C.2a D._isw
4.以下选项中不正确的整型常量是( )。
A.12LB.-10C.1 900D.123U
★5.以下选项中,( )是不正确的字符常量。
A."a" B.1C.\nD.\101
6.下列关于自增运算符++和自减运算符--的叙述中正确的是( )
A.它们的运算对象可以是任何类形的变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
★7.下列表达式中值为0的是( )。
A.3%5B.3/5.0C.3/5D.3.0/5
8.设变量已正确定义并赋值,表达式( )不符合C语言语法。
A.int(3.14)B.++aC.a=b=5D.a=4,3
★9.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。
A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b
10.若变量已正确定义并赋值,表达式( )不符合C语言语法。
A.a*b/c;B.3.14%2C.2, bD.a/b/c
11.下列选项中,( )可以将x、y定义成float类型变量,并赋同一初值3.14。
A.float x, y=3.14; B.float x, y=2*3.14;
C.float x=3.14, y=3.14;D.float x=y=3.14;
★12.若变量已正确定义,表达式“j=3, j++”的值是( )。
A.3B.4C.5D.0
13. 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是( )。
A. 1/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/a/b/c
14. 以下能正确定义且赋初值的语句是( )
int n1=n2=10; B. char c=32; C. float f=f+1.1; D. double x=12.3E2.5;
15. 以下不能定义为用户标识符的是( )
A. scanf B. Void C. _3com_ D. int
16. 设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32+z)后,x的值为 ( )
A.4 B.16 C.48 D.32
★17. 设有 int x=11,则表达式(x++ * 1/3)的值是( )
A. 3B.4C. 11D.12
18.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()。
A. x/y*z B. x*(1/(y*z)) C. x/y*1/z D. x/y/z
19. 有以下程序
main()
{ char a1=M, a2=m;
printf("%c\n", (a1, a2) ); }
以下叙述中正确的是( )
A.程序输出大写字母M B.程序输出小写字母m
C.格式说明符不足,编译出错 D.程序运行时产生出错信息
20. 以下程序运行后的输出结果是( ).
main()
{ char p[]={a, b, c}, q[]="abc";
printf("%d %d\n", sizeof(p),sizeof(q));
};
A.4 4 B.3 3 C.3 4 D.4 3
21. 以下叙述中错误的是( )
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”
C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识
22.在C语言中,下列属于构造类型的是()
A.整型 B 字符型 C实型 D.数组类型
23.下列字符串属于标识符的是()
A. INT B. 5_student C. 2ong D. !DF
24.C语言中能用来表示整常数的进制是()
A.十进制、八进制、十六进制 B.十二进制、十进制
C.六进制、八进制 D.二进制、十进制
25.在C语言中,回车换行符是()
A. \n B. \t C. \v D. \b
26. 在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码 () 。
A)大32 B)大64C)小32 D)小64
★27. 设d为字符变量,下列表达式不正确的是() 。
A)d=97B)d=’a’ C)d=”a”D)d=’g’
28.设d为字符变量,下列表达式正确的是 () 。
A)d=678B)d=’a’ C)d=”d”D)d=’gjkl’
★29. 已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为 。
main()
{char x,y;
x=’0’;y=’9’;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息 B)48,57
C)0,9 D)48,58
30.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为 。
main()
{char c=’A’;int i=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
A)75,7 B)75,5
C)K,5 D)因存在非图形字符,无法直接显示出来
31.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为 。
main()
{char c1=’B’,c2=’Y’;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息 B)67,88
C)66,89 D)C,X
★32. C语言中,运算对象必须是整型数的运算符是() 。
A)% B)\ C)% 和 \ D)**
33..下列常数中,合法的C 常量是() 。
A)-0. B)’105’ C)’AB’ D)”35”
34.下列常数中,合法的C 常量是() 。
A)”x-y” B)’105’ C)’Be’ D)7ff
35.下列常数中,合法的C 常量是() 。
A)’\n’ B)e-310 C)’DEF’ D)’1234’
36.下列常数中,不合法的C 常量是() 。
A)-0x2a B)lg3 C)’[’ D ”CHINA”
37.下列常数中,不合法的C 常量是() 。
A)-0x3b B)123e+2.3 C)’}’ D)6e+7
38.下列符号中,可以作为变量名的是 () 。
A)+a B)12345e C)a3B D)5e+0
39.下列符号中,可以作为变量名的是() 。
A)+cB)*X C)_DAY D)next day
★40. 若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为() 。
A)1 B)2 C)2.0 D)2.5
★41.下列程序的执行结果是()。
#include#define sum 10+20
main()
{
int b=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
★42..下列程序的执行结果是() 。
#include#define sum (10+20)
mian()
{
int a=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
★43. 表达式(int)2.1416的值为() 。
A)2 B)2.1 C)0 D)3
44.表达式(double)(20/3)的值为 。
A)6 B)6.0 C)2 D)3
45. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是() 。
A)8 B)7
C)6 D)5
46.C语言规定标识符由 () 等字符组成.
A)字母 数字 下划线 B)中划线 字母 数字
C)字母 数字 逗号 D)字母 下划线 中划线
47. 已知ch是字符型变量,下面不正确的赋值语句
是:() 。
A)ch=‘\0’ B)ch=‘a+b’
C)ch=‘7’+‘9’ D)ch=7+9
48.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:() 。
printf(“%f”,(x,y));
A)3.600000 B)5.800000
C)3.600000,5.800000 D)输出符号不够,输出不正确值
49. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式: 。
A)b=a/2 B)b=a%2
C)b=8-(3,a-5) D)b=a>5?4:2
2.2 填空题 (同教材P39)
1.若x是浮点型变量,则表达式“x=10/4”的值是____2.000000______。
★2.下列程序段的运行结果为:___1,0.5_______。
double x1, x2;
x1=3/2;
x2=x1/2;
printf("%d,%.1f", (int)x1, x2) ;
3.执行下列程序段后变量i和j的值为: __ 9,2____。
int i=10, j=1;
(i--,++j);
4.表达式sizeof("hello")的值为_____6_____。
5.表达式“c+1”的值为___100_____,对应的英文字符为___d_______。
6.设有语句“int a=10;”,请分别填写下列各表达式的值。
(1)a+=a的值为_____20_____。
(2)a+=a-=a*=a的值为____0______。
(3)a*=2+4的值为___60_______。
7.写出下列各程序段执行后相应变量的值。
(1)int a,b,c;
a=b=c=5;
a=++b+(--c);
变量a,b,c的值为_10, 6 , 4____。
(2)int a=4,b=5,c;
c=(a=6)+(b=9);
变量a,b,c的值为_6,9,15_________。
(3) int a,b,c;
c=(a=5,b=a*4);
a=2+6,a*2,a*5;
c+=(a=b=3,b=a*c,a+b);
变量a,b,c的值为___3,60,83_______。
8.表达式“H-A+0”的值为__55________。
9. 写出下列程序段的执行结果
int a,b,c;
a=b=c=5;
a=++b+(c--);
变量a,b,c的值为 11 6 4
★10. 若有如下程序段:
int a=10,b=9,c=8;
c=(a-=(b-5));
c=(a%11)+(b=5);
顺序执行上述语句后,变量b的值为 5
11. 设有以下变量定义,并已赋确定的值
char w; int x; float y; double z;
则表达式:w * x + z - y所求得的数据类型为 double 。
12.C语言基本数据类型包括整型 、 字符型 、 实型 、 枚举类型 。
13. C语言在定义变量的同时说明变量的 数据类型 ,系统在编译时就能根据变量定义及其 数据类型 为它分配相应数量的存储空间。
14. 在C语言中,标识符只能由 字母 、 数字 和 下划线 三种字符组成,且第一个字符必须 字母 或 下划线 。
15. 实型变量分为 单精度 和 双精度 ,即float和double型。
16.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做 变量初始化 。
17. C的字符串常量是用 双引号 括起来的字符序列。(0级)
18.在C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即 ‘\0’ ,以便系统据此数据判断字符串是否结束。
19. 下面的程序
mian()
{float x;int i;
x=3.6;i=(int)x;
printf("x=%f,i=%d",x,i);
}
运行结果为 x=3.600000,i=3 。
习题4
1.在C语言程序中,用( )表示逻辑值“真”。
A.1B.非0的数C.非1的数D.大于 0 的数
★2.在C语言程序中,做逻辑运算时判断操作数真、假的表述中,下列哪一个是正确的( )。
A.0为假,非0为真B.只有1为真
C.-1为假,1为真 D.0为真,非0为假
★3.表达式!(x>0||y>0) 等价于( )。
A.!x>0||!y>0 B.!(x>0)||!(y>0)
C.!x>0&&!y>0 D.!(x>0)&&!(y>0)
★4.判断整型变量x、y中有且只有1个值为0的表达式为( )。
A.!(x*y) && (x+y)B.(x*y)&&x+y
C.x*y==0 D.x==0&&y!=0
5.下列条件语句中,功能与其他语句不同的是( )。
A. if(a) printf("%d\n",x); else printf("%d\n",y);
B. if(a==0) printf("%d\n",y); else printf("%d\n",x);
C.if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D.if(a==0) printf("%d\n",x); else printf("%d\n",y);
★6.以下程序段中与语句“k=a>b?(b>c?1:0):0;”功能等价的是( )。
A.if((a>b)&&(b>c)) k=1; B.if((a>b)||(b>c)) k=1
else k=0; else k=0;
C.if(a<=b) k=0; D.if(a>b) k=1;
else if(b<=c) k=1; else if(b>c) k=1;
else k=0
★7.以下程序执行后输出的结果是( )
#include "stdio.h"
main( )
{int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
A.1,1,2 B.2,2,1 C.2,2,2D.2,2,3
8.下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是( )。
A.if(u>s)t=u ; t=s; B.t=s ; if(u>s)t=u;
C.if(u>s)t=s ; else t=u; D.t=u ; if(u>s)t=s;
★9.以下程序执行后的输出结果是( )。
#include "stdio.h"
main( )
{int k=1,s=0;
switch(k) {
case 1: s+=10;
case 2: s+=20; break;
default: s+=3;
}
printf("%d\n",s);
}
A.10B.30C.20D.23
★10.以下程序执行后的输出结果是( )。
#include "stdio.h"
main( )
{int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if ((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
}
A.2B.3C.4D.编译时有错误,无结果
11.以下程序执行后的输出结果是( )。
#include "stdio.h"
main( )
{ char x=A;
x=(x>=A&& x<=Z)? (x+32): x ;
printf("%c\n", x);}
A.AB.aC.zD.Z
★12.下列程序段执行后,变量k、x、y、z值依次为( )。
int k,x,y,z;
x=y=z=1;
k=x++&&y++||z++;
A.1、2、2、1 B.1、2、2、2
C.0、2、2、1 D.0、2、2、2
13. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )
A.a<=c<=z B.(c>= a)||(c<= z)
C.(a<=c)and (z>=c) D.(c>= a)&&(c<= z)
14. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )
A. (!a==1)&&(!b==0) B. (a=10 or a<=0 B. a>=0|a<=10C. a>=10 && a<=0D. a>=10‖a<=0
16. 下列运算符中优先级最高的是 。
A)> B) + C) && D)!=
17.以下关于运算符优先级的描述中,正确的是 。
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
18.逻辑运算符的运算对象的数据类型 。
A)只能是0或1 B)只能是.T.或.F.
C)只能是整型或字符型 D)任何类型的数据
★19. 以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1;
y=1;
c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)110 B)211 C)011 D)001
★20. 以下程序的运行结果是 。
main( )
{
int c,x,y;
x=0;
y=0;
c=0;
c=x++&&y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)100 B)211 C)011 D)001
21.判断字符型变量ch为大写字母的表达式是 。
A)’A’<=ch<=’Z’ B)(ch>=’A’)&(ch<=’Z’)
C)(ch>=’A’)&&(ch<=’Z’) D)(ch>=’A’)AND(ch<=’Z’)
22.判断字符型变量ch为小写字母的表达式是 。
A)’a’<=ch<=’z’ B)(ch>=a)&&(ch<=z)
C)(ch>=’a’)||(ch<=’z’) D)(ch>=’a’)&&(ch<=’z’)
23.以下if语句书写正确的是 。
A)if(x=0;) B)if(x>0)
printf(”%f”,x); {x=x+1; printf(”%f”,x);}
else printf(”%f”,-x); else printf(”%f”,-x);
C)if(x>0); D)if(x>0)
{x=x+1; printf(”%f”,x);} {x=x+1; printf(”%f”,x) }
else printf(”%f”,-x); else printf(”%f”,-x);
★24.分析以下程序:
main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf(“** **\n”);
else printf(“## ##\n”);
以上程序 。
A)有语法错,不能通过编译 B)通过编译,但不能连接
C)输出** ** D)输出## ##
25. 写出下面程序的执行结果 。
main( )
{int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
A)1 3 B)1 5 C)5 3 D)5 5
★26. 若有以下变量定义:
float x; int a,b;
则正确的switch语句是 。
A)switch(x)
{ case 1.0:printf("*\n");
case 2.0:printf("* *\n");
}
B)switch(x)
{ case 1,2:printf("*\n");
case 3:printf("* *\n");
}
C)switch(a+b)
{ case 1:printf("*\n");
case 2*a:printf("* *\n");
}
D)switch(a+b)
{ case 1:printf("*\n");
case 1+2:printf("* *\n");
}
27. 以下关于运算符优先顺序的描述正确的是 。
A)关系运算符=10或a<=0的关系表达式是 。
A)a>=10 or a<=0 B)a>=10 | a<=0
C)a>=10 && a<=0 D)a>=10 | | a<=0
29. 以下不正确的if 语句形式是 。
A)if ( x > y && x != y ) ;
B)if ( x = = y ) x + = y ;
C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);
D)if ( x < y ) { x++; y++;}
★30. 能表示整数x符合下面两个条件的语句是 。
(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.
A)(x%4==0&&x%100!=0)||x%400==0
B)(x%4==0||x%100!=0)&&x%400==0
C)(x%4==0&&x%400!=0)||x%100==0
D)(x%100==0||x%4!=0)&&x%400==0
★31. 设有如下定义:char ch=’z’,则执行下面语句
后变量ch是值为: 。
ch=(‘A’<=ch&&ch<=‘Z’)?(ch+32):ch
A)A B)a C)Z D)z
32. 若I为整型变量,则下列程序段的运行结果为 。
I=322;
if(I%2==0) printf(“#####”)
else printf(“*****”);
A)##### B)#####*****
C)***** D)有语法错误,无法输出结果
★33. 已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言重点复习题2.doc
链接地址:https://www.renrendoc.com/p-48652285.html