C语言程序的设计复习题.docx
- 文档编号:3999169
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:18
- 大小:24.99KB
C语言程序的设计复习题.docx
《C语言程序的设计复习题.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计复习题.docx(18页珍藏版)》请在冰豆网上搜索。
C语言程序的设计复习题
一、选择题
1.正确的C语言标识符是_____。
A.¬_buy_2B.2_buyC.?
_buyD.buy?
2.以下是C语言提供的合法关键字的是_____。
A.FloatB.signedC.integerD.Char
3.以下不能定义为用户标示符的是_____。
A.scanfB.VoidC._3com_D.int
4.一个C程序是由_____。
A.一个主程序和若干子程序组成
B.一个或多个函数组成
C.若干过程组成
D.若干子程序组成
5.以下说法中正确的是_____。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
6.以下选项中,合法的实型常数是_____。
A.5E2.0B.E-3C.2E0D.1.3E
7.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是_____。
A.字符AB.字符aC.字符cD.非法的常量
8.以下选项中,合法转义字符的选项是_____。
A.’\\’B.’\018’C.’xab’D.’\abc’
9.若有代数式,则不正确的C语言表达式是_____。
A.a/c/d*b*3B.3*a*b/c/d
C.3*a*b/c*dD.a*b/d/c*3
10.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为_____。
A.’D’B.68C.不确定的值D.’C’
11.在C语言中,要求运算数必须是整型的运算符是_____。
A./B.++C.*=D.%
12.在C语言中,char型数据在存中的存储形式是_____。
A.补码B.反码C.原码D.ASCII码
13.设以下变量均为int类型,则值不等于7的表达式是_____。
A.(m=n=6,m+n,m+1)
B.(m=n=6,m+n,n+1)
C.(m=6,m+1,n=6,m+n)
D.(m=6,m+1,n=m,n+1)
14.以下程序的执行结果是:
_____。
#include
main()
{intx=2,y=3;
printf(”x=%%d,y=%%d\n”,x,y);
}
A.x=%2,y=%3B.x=%%d,y=%%d
C.x=2,y=3D.x=%d,y=%d
15.阅读以下程序,当输入数据的形式为:
12,34,正确的输出结果为_____。
#include”stdio.h”
main()
{inta,b;
scanf(”%d%d”,&a,&b);
printf(”a+b=%d\n”,a+b);
}
A.a+b=46B.有语法错误
C.a+b=12D.不确定值
16.为了避免嵌套的if-else语句的二义性,C语言规定else总是与_____组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
17.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是_____。
if(a>b)
c=a;a=b;b=c;
A.a=1,b=2,c=3B.a=2,b=3,c=3
C.a=2,b=3,c=1D.a=2,b=3,c=2
18.以下程序的运行结果是_____。
#include
main()
{inta=1;
if(a++>1)printf(”%d\n”,a);
elseprintf(”%d\n”,a--);
}
A.0B.1C.2D.3
19.若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是_____。
a=1;b=2;c=3;d=4;
w=(a
a:
b;
w=(w w: c; w=(w w: d; A.1B.2C.3D.4 20.执行下列程序,输入为3的数出结果是_____。 #include”stdio.h” main() { intk; scanf(”%d”,&k); switch(k) {case1: printf(”%d\n”,k++); case2: printf(”%d\n”,k++); case3: printf(”%d\n”,k++); case4: printf(”%d\n”,k++); break; default: printf(”Full! \n”); } } A.3B.4C.3D.4 21.以下不是C语言的特点的是_____。 A.语言简洁紧凑 B.能够编制出功能复杂的程序 C.C语言可以直接对硬件操作 D.C语言移植性好 22.下列字符序列中,不可用作C语言标识符的是_____。 A.abc123B.no.1C._123_D._ok 23.请选出可用作C语言用户标识符的一组标识符_____。 A.voidB.a3_b3C.ForD.2a define_123-abcDO WORDIFCasesizeof 24.下列符号中,不属于转义字符的是_____。 A.\\B.\0xAAC.\tD.\0 25.不属于C语言关键字的是_____。 A.intB.breakC.whileD.character 26.C语言程序的基本单位是_____。 A.程序行B.语句C.函数D.字符 27.下列说法中,错误的是_____。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 28.以下选项中,正确的字符常量是_____。 A.”F”B.’\\’’C.’W’D.’’ 29.下列变量定义中合法的是_____。 A.short_a=1-.le-1;B.doubleb=1+5e2.5; C.longdo=0xfdaL;D.float2_and=1-e-3; 30.与数学式子 对应的C语言表达式是_____。 A.9*x^n/(2*x-1)B.9*x**n/(2*x-1) C.9*pow(x,n)*(1/(2*x-1))D.9*pow(n,x)/(2*x-1) 31.以下符合C语言语法的赋值表达式是_____。 A.a=9+b+c=d+9B.a=(9+b,c=d+9) C.a=9+b,b++,c+9D.a=9+b++=c+9 32.若有说明语句: chars=’\72’;则变量s_____。 A.包含一个字符 B.包含两个字符 C.包含三个字符 D.说明不合法,s的值不确定 33.若有定义: intm=7;floatx=2.5,y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是_____。 A.2.500000B.2.750000C.3.500000D.0.000000 34.有如下程序段,从键盘输入数据的正确形式应是_____。 (注: └┘代表空格) floatx,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123B.x=1,y=2,z=3 C.1,2,3D.x=1└┘y=2└┘z=3 35.以下关于运算符优先顺序的描述中正确的是_____。 A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 36.选择出合法的if语句(设intx,a,b,c;)_____。 A.if(a=b)c++; B.if(a= C.if(a<>b)c++; D.if(a=>b)c++; 37.当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是_____。 if(a if(c else if(a if(b elsex=3; elsex=4; elsex=5; A.1B.2C.3D.4 38.执行以下程序段后,变量x,y,z的值分别为_____。 inta=1,b=0,x,y,z; x=(--a==b++)? --a: ++b; y=a++; z=b; A.x=0,y=0,z=0B.x=-1,y=-1,z=1 C.x=0,y=1,z=0D.x=-1,y=2,z=1 39.执行以下语句后,y的值为_____。 intx,y,z; x=y=z=0; ++x||++y&&++z; A.0B.1C.2D.不确定值20 40.以下程序的输出结果是_____。 #include main() { inta=5,b=4,c=6,d; printf(”%d\n”,d=a>b? a>c? a: c: b); } A.5B.4C.6D.不确定 41.C编译程序是_____。 A.C程序的机器语言版本 B.一组机器语言指令 C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件 42.以下选项中,合法的用户标识符是_____。 A.longB._2abcC.3dmaxD.A.dat 43.以下选项中可作为C语言合法整数的是_____。 A.10110BB.0386C.0XffaD.x2a2 44.表达式13/3*sqrt(16.0)/8的数据类型是_____。 A.intB.floatC.doubleD.不确定 45.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是_____。 A.7B.8C.6D.2 46.已知s是字符型变量,下面不正确的赋值语句是_____。 A.s=’\012’;B.s=’u+v’; C.s=’1’+’2’;D.s=1+2; 47.putchar函数可以向终端输出一个_____。 A.整型变量表达式值。 B.字符串 C.实型变量值。 D.字符或字符型变量值。 48.有如下程序段: intx1,x2; chary1,y2; scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2); 若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是_____。 (注: └┘代表空格) A.10A└┘20BB.10└┘A20B C.10└┘A└┘20└┘BD.10A20└┘B 49.已有定义inta=-2;和输出语句: printf(”%8lx”,a);以下正确的叙述是_____。 A.整型变量的输出格式符只有%d一种 B.%x是格式符的一种,它可以适用于任何一种类型的数据 C.%x是格式符 D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 50.能正确表示“当x的取值在[-58,-40]和[40,58]围为真,否则为假”的表达式是_____。 A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58) B.(x>=-58)||(x<=-40)||(x>=40)||(x<=58) C.(x>=-58)&&(x<=-40)||(x>=40)&&(x<=58) D.(x>=-58)||(x<=-40)&&(x>=40)||(x<=58) 51.已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||! y)的值是_____。 A.0B.语法错 C.1D.“假” 52.指出下列程序段所表示的逻辑关系是_____。 if(a {if(c==d) x=10; } else x=-10; A. B. C. D. 53.以下程序的运行结果是_____。 #include main() { inta=2,b=-1,c=2; if(a if(b<0) c=0; elsec++; printf(”%d\n”,c); } A.0B.1C.2D.3 54.有以下程序,程序运行后的输出结果是_____。 #include main() { inta=15,b=21,m=0; switch(a%3) {case0: m++;break; case1: m++; switch(b%2) {default: m++; case0: m++;break; } } printf(”%d\n”,m); } A.1B.2C.3D.4 55.以下程序的输出结果是_____。 main() {intn=4; while(n--) printf(〞%d〞,--n); } A.20B.31C.321D.210 56.执行以下程序后输出的结果是_____。 main() {inty=10; do{y--;} while(--y); printf("%d\n",y--); } A.-1 B.1 C.8 D.0 57.若输入B,以下程序的运行结果为_____。 main() {chargrade;scanf("%c",&grade); switch(grade) {case'A': printf(">=85."); case'B': case'C': printf(">=60."); case'D': printf("<60."); default: printf("error."); } } A.>=85.B.>=60.C.>=60.<60.error.D.error. 58.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为_____。 A.0B.1C.trueD.非0 59.C语言的if语句嵌套时,if与else的配对关系是_____。 A.每个else总是与它上面的最近的if配对 B.每个else总是与最外的if配对 C.每个else与if的配对是任意的 D.每个else总是与它上面的if配对 60.下列程序段的输出结果为_____。 main() {intx=3; do {printf("%3d",x-=2);} while(! (--x)); } A.1B.30C.1-2D.死循环 61、以下选项中属于C语言的数据类型是() A.复数型B.逻辑型C.集合型D.双精度型 62、一个C程序的执行是从() A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束 63、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是() A.3B.0 C.-12 D.9 64、若有charc[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是()。 A.cd\0eB.'c''d'C.cdD.cde 65、已知: inta[2][3]={1,2,3,4,5,6},(*p)[3]=a;则下列表达式不是4的是()。 A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3] 66、以下有宏替换不正确的叙述(). A.宏替换不占用运行时间B.宏名无类型 C.宏替换只是字符串替换D.宏名必须用大写字母表示 67、执行charstr[10]=”Ch\nina”;strlen(str)的值是() A.5B.6C.7D.9 68、下面程序的输出结果是: () #definePOWER(x)(x*x) main() {inti=4;printf("%d",POWER(i-2));} A.-9B.-7C.5D.-6 69、在定义inta[3][4][2];后,第10个元素是() A.a[2][1][2]B.a[1][0][1]C.a[2][0][1]D.a[2][2][1] 70、下列程序的输出结果是()。 main() {inta=7,b=5; printf("%d\n",b=b/a); } A5B1C0D不确定值 71、.假设变量a,b均为整型,表达式(a=5,b=2,a>b? a++: b++,a+b)的值是()。 A7B8C9D2 72、设有如下程序段,下面描述中正确的是()。 intk=10;while(k=0)k=k-1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 73、以下程序的输出结果为()。 inti; voidprt() {for(i=5;i<8;i++)printf("%c",'*'); printf("\t"); } main() {for(i=5;i<=8;i++)prt(); } A***B************C******D*** 74、在C语言程序中,以下说确的是( )。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 75、以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A2B3C5D语法错误 二、填空题 1.C语言源程序的基本单位是________。 2.若a为整型变量,a=12,则表达式: a+=4的值________。 3.通常一个字节包含________个二进制位。 4.一个C程序有且仅有一个________函数。 5.在C语言中,字符输入函数和字符输出函数分别是: ________和________。 6.在C语言中,最基本的数据类型只有四种,它们分别是: int、________、________和double。 7.已知字符A的ACSII码值为65,以下语句的输出结果是________。 charch=’B’; printf("%c%d\n",ch,ch); 8.’a’在存中占________个字节,”a”在存中占________个字节。 9.若有inta[3][2]={{1},{3,2},{4,5}};,则a[1][1]的值是________。 10.在循环语句中,break语句的作用是________,continue语句的作用是________。 11.一个C语言程序的语句至少应包含一个__________。 12.C语言源程序文件的扩展名是_______,经过编译、连接后,生成文件的扩展名是_______。 13.结构化程序由顺序结构、________和_________三种基本结构组成。 14.C语言的执行是从________开始执行的。 15.表达式10/3的结果是_________。 16.在C语言中,有三种逻辑运算符,它们分别是: &&、________、_________。 17.if语句中的表达式可以是关系表达式、________、________。 18.C语言中基本的数据类型有: 整型、________、________。 19.整数-35在机的补码表示为_____________。 20.有如下语句: char A[]={”Iamastudent”};该字符串的长度是________,A[3]=________。 21.C语言源程序的基本单位是______________。 22.表达式9%5的结果是______________。 23.C语言中普通整型变量的类型说明符为__________,在存中占__________字节。 24.符号”a”和’a’的区别是_______________。 25.C语言提供的预处理命令主要包括如下三种: 宏定义、____________、____________。 26.语句printf(“%%d%d”,123);将输出: ______________。 27.C语言中,int型数据在存中的存储形式是_______________。 28.在C语言中,格式输入库函数为_______________,格式输出库函数为_______________。 29.判断一个字符是否是字母或数字的逻辑判断语句是: _______________。 30.有以下程序,执行后输出结果是_______________。 main() { intt=1,i=5; for(;i>=0;i--) t*=i; printf("%d\n",t); } 31、字符串"A"在存中占用的字节数为_____________。 32、C语言中的标识符只能由字母、下划线和_____________组成。 33、若有定义语句“inta=25,b=14,c=19;",以下语句的执行结果是_____________ if(a++<=25&&b--<=2&&c++)printf("***a=%d,b=%d,c=%d\n",a,b,c); elseprintf("###a=%d,b=%d,c=%d\n",a,b,c); 34、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为_____________。 35、若有定义: inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++)p[i]=&a[i*3];则*(*(p+1)+2)的值为,*p[2]的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 复习题