期末复习资料C语言
- 格式:doc
- 大小:244.50 KB
- 文档页数:29
(注:本文档参考答案中“↙”代表回车换行,“□”代表空格,程序代码中省略了# include <stdio.h>)一、基础知识和顺序结构(一)选择题1.以下不正确的C语言标识符是A.ABCB.abcC.a_bcD.ab.c2.以下正确的C语言标识符是A.%xB.a+bC.a123D.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.7B.8C. 6D. 214.在C语言中,要求运算数必须是整型的运算符是:A./B.++C.!=D.%15.设C语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为A.0-255B.1-32767C.0-65535D.0-214748364716.下面不正确的字符串常量是:A.'abc'B."12'12"C."0"D." "17.表达式 18/4*sqrt(4.0)/8值的数据类型是:A.intB.floatC.doubleD.不确定18.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为:A.floatB.intC.charD.Double19.不属于字符型常量的是A.'A'B."B"C.'\n'D.'\x72'20.在C语言中,合法的长整型常数是____________。
A.0LB.4962710C.0412765D.0xa34b7fe21.若有以下定义语句char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是__________。
A.2,MB.3,EC.2,ED.输出项与相应的格式控制不一致,输出结果不确定22.设char ch; 以下正确的赋值语句是:A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";23.若t为double类型,表达式t=1,t+5,t++的值是A. 1B. 6.0C. 2.0D. 1.024.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是A.0,0B.0,1C.1,0D.1,125.若a=1,b=2,c=3,d=4,则条件表达式a<b?a:a<d?c:d的值为A. 1B. 2C. 3D. 426.设a=2,则执行b=a==!a;语句后,b的结果是A.0B. 1C. 2D. 327.设有以下语句,则c的二进制值是char a=3,b=6,c; 解:a=00000011,b=00000110c=a^b<<2; a^b=00000101 c=00010100A.00011011B.00010100C.00011100D.0001100028.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是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=-30 a=a+(-30)8.‘\72’在内存中占 1 个字节,”\72”在内存中占 2 个字节。
9.若有以下定义语句:int a=5; printf(“%d\n”,a++); 则输出结果是___5__。
10.C语言中的基本数据类型分为整型、实型和字符型。
11.C语言的实型可分为float 型和double 型。
12.若有以下定义语句:int u=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w); 则输出结果是_8,16,10_。
13.下面程序的输出是_k=11,k=13,k=b__。
main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}14.若有以下定义语句:int a=5; printf(“%d\n”,a++); 则输出结果是_____5_____。
15.设x为int型变量,执行以下语句,x=10; x+=x-=x-x; x的值为__20___。
16.若有定义int a=10,b=9,c=8; 接着顺序执行下列语句后,变量b的值为___3____。
c=(a-=b-5);c=(a%11)+(b=3);17.设有以下定义,并以赋予了确定的值:char w; int x; float y; double z;则表达式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(){int a=1,b=2;a+=b; b=a-b; a-=b;printf(“%d,%d\n”,a,b);}20.以下程序执行结果是:2,1main( ){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}21.以下程序执行结果是:3.14159,3.1416,3.142main( ){float f=3.1415927;printf("%5f,%5.4f,%3.3f",f,f,f);}22.以下程序输入1 2 3↙后的执行结果是:a=1,b=2,c=3main( ){int a,c;char b;scanf("%d %c %d",&a,&b,&c);printf("a=%d,b=%c,c=%d\n",a,b,c);}23.以下程序输入123456后的执行结果是:a=12,b=345main( ){int a,b;scanf ("%2d%3d",&a,&b);printf("a=%d,b=%d\n",a,b);}24.以下程序输入ABC 后的执行结果是:c=Amain( ){char c;scanf("%3c",&c);printf("c=%c\n",c);}二、分支结构(一)选择题1.选择合法的条件语句(设int x,a,b,c;) ( )。
A.if (a=b) ++x;B.if (a=<b) ++x;C.if (a<>b) ++x;D.if (a>=b) ++x;2.执行下列程序,输入为1的输出结果是(A),输入为4的输出结果是( C ),输入为3的输出结果是( D )。
main( ){int k;scanf("%d",&k);switch(k){case 1:printf("%d\n",k++);case 2:printf("%d\n",k++);break;case 3:printf("%d\n",k++);break;case 4:printf("%d\n",k++);case 5:printf("%d\n",k++);break;default:printf("Full!\n"); } }A.1↙2B. 1C.4↙5D.3(二)填空题1.下列程序运行后输出结果是__end___。
main( ){int a,b,c;a=2;b=3;c=1;if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}2.以下程序执行结果是__d=1_____。
main( ){int a,b,c,d,x;a=b=c=0;d=1;if(a) d=d-10;else if(!b)if(!c) x=6;else x=7;printf("d=%d\n",d);}3.若从键盘输入m,下列程序执行结果是___M____。