C语言期末复习资料重要.docx
《C语言期末复习资料重要.docx》由会员分享,可在线阅读,更多相关《C语言期末复习资料重要.docx(44页珍藏版)》请在冰豆网上搜索。
C语言期末复习资料重要
(注:
本文档参考答案中“↙”代表回车换行,“□”代表空格,程序代码中省略了#include)
一、基础知识和顺序结构
(一)选择题
1.以下不正确的C语言标识符是
A.ABC
B.abc
C.a_bc
D.ab.c
2.以下正确的C语言标识符是
A.%x
B.a+b
C.a123
D.test!
3.一个C语言程序的执行是从。
A.main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一函数结束
4.在C语言程序中,main函数的位置。
A.必须作为第一个函数
B.必须作为最后一个函数
C.任意
D.必须放在它所调用的函数之后
5.一个C语言程序是由。
A.一个主程序和若干个子程序组成
B.一个或多个函数组成
C.若干过程组成
D.若干子程序组成
6.下列四个叙述中,错误的是_______________。
A.一个C源程序必须有且只能有一个主函数
B.一个C源程序可以含零个或多个子函数
C.在C源程序中注释说明必须位于语句之后
D.C源程序的基本结构是函数
7.编辑程序的功能是。
A.建立并修改程序
B.将C源程序编译成目标程序
C.调试程序
D.命令计算机执行指定的操作
8.C编译程序是。
A.C语言程序的机器语言版本
B.一组机器语言指令
C.将C源程序编译成目标程序的程序
D.由制造厂家提供的一套应用软件
9.以下叙述不正确的是____________。
A.分号是C语句的必要组成部分
B.C程序的注释可以写在语句的后面
C.函数是C程序的基本单位
D.主函数的名字不一定用main表示
10.C语言中允许的基本数据类型包括_______。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
11.C语言中能用八进制表示的数据类型为________。
A.字符型、整型
B.整形、实型
C.字符型、实型、双精度型
D.字符型、整型、实型、双精度型
12.下列属于C语言合法的字符常数是___________。
A.’\97’
B.”A”
C.’\t’
D.”\0”
13.设所有变量均为int型,则表达式(a=2,b=5,b++,a+b)的值是
A.7
B.8
C.6
D.2
14.在C语言中,要求运算数必须是整型的运算符是:
A./
B.++
C.!
=
D.%
15.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为
A.0-255
B.1-32767
C.0-65535
D.0-2147483647
16.下面不正确的字符串常量是:
A.'abc'
B."12'12"
C."0"
D.""
17.表达式18/4*sqrt(4.0)/8值的数据类型是:
A.int
B.float
C.double
D.不确定
18.若有以下定义:
chara;intb;
floatc;doubled;
则表达式a*b+d-c值的类型为:
A.float
B.int
C.char
D.Double
19.不属于字符型常量的是
A.'A'
B."B"
C.'\n'
D.'\x72'
20.在C语言中,合法的长整型常数是____________。
A.0L
B.4962710
C.0412765
D.0xa34b7fe
21.若有以下定义语句charc1=’b’,c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是__________。
A.2,M
B.3,E
C.2,E
D.输出项与相应的格式控制不一致,输出结果不确定
22.设charch;以下正确的赋值语句是:
A.ch='123';
B.ch='\xff';
C.ch='\08';
D.ch="\";
23.若t为double类型,表达式t=1,t+5,t++的值是
A.1
B.6.0
C.2.0
D.1.0
24.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是
A.0,0
B.0,1
C.1,0
D.1,1
25.若a=1,b=2,c=3,d=4,则条件表达式a
a:
ac:
d的值为
A.1
B.2
C.3
D.4
26.设a=2,则执行b=a==!
a;语句后,b的结果是
A.0
B.1
C.2
D.3
27.设有以下语句,则c的二进制值是
chara=3,b=6,c;解:
a=00000011,b=00000110
c=a^b<<2;a^b=00000101c=00010100
A.00011011
B.00010100
C.00011100
a)
28.设x和y均为int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是D
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C.无确定结果
D.交换x和y中的值
(二)填空题
1.C语言中的标识符只能由三种字符组成,它们是字母 、数字、下划线。
2.一个C语言程序有且仅有一个_main_函数。
3.结构化设计中的三种基本结构是顺序,分支,循环。
4.C语言程序的执行是从__main函数__开始执行的。
5.C语言源程序文件后缀是_c或cpp_,经编译后生成文件的后缀是_obj__。
经链接后生成文件的后缀是_exe__。
6.C语言源程序的语句分隔符是__;__。
7.若a是int型变量,且a的初值为6,则执行下面表达式后a的值为-60。
a+=a-=a*a解:
a=a-36=-30a=a+(-30)
8.‘\72’在内存中占1个字节,”\72”在内存中占2个字节。
9.若有以下定义语句:
inta=5;printf(“%d\n”,a++);则输出结果是___5__。
10.C语言中的基本数据类型分为整型、实型和字符型。
11.C语言的实型可分为float型和double型。
12.若有以下定义语句:
intu=010,v=0x10,w=10;printf(“%d,%d,%d\n”,u,v,w);则输出结果是_8,16,10_。
13.下面程序的输出是_k=11,k=13,k=b__。
main()
{intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);}
14.若有以下定义语句:
inta=5;printf(“%d\n”,a++);则输出结果是_____5_____。
15.设x为int型变量,执行以下语句,x=10;x+=x-=x-x;x的值为__20___。
16.若有定义inta=10,b=9,c=8;接着顺序执行下列语句后,变量b的值为___3____。
c=(a-=b-5);
c=(a%11)+(b=3);
17.设有以下定义,并以赋予了确定的值:
charw;intx;floaty;doublez;则表达式w*x+z-y所求得值的数据类型为___double_____。
18.设x和y均为int型变量,且x=10和y=3则以下语句的输出结果是__10,2_______。
Printf(“%d,%d\n”,x++,--y);
19.下列程序的输出结果是__2,1___。
main()
{inta=1,b=2;
a+=b;b=a-b;a-=b;
printf(“%d,%d\n”,a,b);}
20.以下程序执行结果是:
2,1
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);}
21.以下程序执行结果是:
3.14159,3.1416,3.142
main()
{floatf=3.1415927;
printf("%5f,%5.4f,%3.3f",f,f,f);}
22.以下程序输入123↙后的执行结果是:
a=1,b=2,c=3
main()
{inta,c;
charb;
scanf("%d%c%d",&a,&b,&c);
printf("a=%d,b=%c,c=%d\n",a,b,c);}
23.以下程序输入123456后的执行结果是:
a=12,b=345
main()
{inta,b;
scanf("%2d%3d",&a,&b);
printf("a=%d,b=%d\n",a,b);}
24.以下程序输入ABC后的执行结果是:
c=A
main()
{charc;
scanf("%3c",&c);
printf("c=%c\n",c);}
二、分支结构
(一)选择题
1.选择合法的条件语句(设intx,a,b,c;)()。
A.if(a=b)++x;
B.if(a=
C.if(a<>b)++x;
D.if(a>=b)++x;
2.执行下列程序,输入为1的输出结果是(A),输入为4的输出结果是(C),输入为3的输出结果是(D)。
main()
{intk;
scanf("%d",&k);
switch(k)
{case1:
printf("%d\n",k++);
case2:
printf("%d\n",k++);
break;
case3:
printf("%d\n",k++);
break;
case4:
printf("%d\n",k++);
case5:
printf("%d\n",k++);
break;
default:
printf("Full!
\n");}}
A.1↙2
B.1
C.4↙5
D.3
(二)填空题
1.下列程序运行后输出结果是__end___。
main()
{inta,b,c;
a=2;b=3;c=1;
if(a>b)
if(a>c)
printf("%d\n",a);
else
printf("%d\n",b);
printf("end\n");}
2.以下程序执行结果是__d=1_____。
main()
{inta,b,c,d,x;
a=b=c=0;
d=1;
if(a)d=d-10;
elseif(!
b)
if(!
c)x=6;
elsex=7;
printf("d=%d\n",d);}
3.若从键盘输入m,下列程序执行结果是___M____。
main()
{cha