C13章复习真题.docx
《C13章复习真题.docx》由会员分享,可在线阅读,更多相关《C13章复习真题.docx(14页珍藏版)》请在冰豆网上搜索。
C13章复习真题
2006年
(11)下列不合法的用户标识符是()。
A)j2_KEYB)DoubleC)4dD)_8_
(12)下列不合法的数值常量是()。
A)011B)1e1C)8.0E0.5D)0xabcd
(13)下列不合法的字符常量是()。
A)'\018'B)'\"'C)'\\'D)'\xcc'
(14)表达式3.6-5/2+1.2+5%2的值是()。
A)4.3B)4.8C)3.3D)3.8
(18)下列4个程序中,完全正确的是()。
A)#includeB)#include
main();main()
{/*programming*/{/*/programming/*/
printf("programming!
\n");}printf("programming!
\n");}
C)#includeD)include
main()main()
{/*/programming*/*/{/*programming*/
printf("programming!
\n");}printf("programming!
\n");}
(44)下列叙述中错误的是()。
A)C语言源程序经编译后生成后缀为.obj的目标程序
B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文
C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
(45)下列叙述中错误的是()。
A)算法正确的程序最终一定会结束
B)算法正确的程序可以有零个输出
C)算法正确的程序可以有零个输入
D)算法正确的程序对于相同的输入一定有相同的结果
(48)下列叙述中错误的是()。
A)C程序中的#include和#define行均不是C语句
B)除逗号运算符外,赋值运算符的优先级最低
C)C程序中,j++;是赋值语句
D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
(49)下列叙述中正确的是()。
A)预处理命令行必须位于C源程序的起始位置
B)在C语言中,预处理命令行都以"#"开头
C)每个C程序必须在开头包含预处理命令行:
#include
D)C语言的预处理不能实现宏定义和条件编译的功能
(7)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
(11)下列叙述中错误的是()。
A)一个C语言程序只能实现一种算法
B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
(12)下列叙述中正确的是()。
A)每个C程序文件中都必须要有一个main()函数
B)在C程序中main()函数的位置是固定的
C)C程序中所有函数之间都可以相互调用,与函数所处位置无关
D)在C程序的函数中不能定义另一个函数
(13)下列定义变量的语句中错误的是()。
A)int_int;B)doubleint_;C)charFor;D)floatUS$;
(14)若变量x、y已正确定义并赋值,下列符合C语言语法的表达式是()。
A)++x,y=x--B)x+1=yC)x=x+10=x+yD)double(x)/10
(15)下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
A)只能是整数0或1B)只能是整数0或非0整数
C)可以是结构体类型的数据D)可以是任意合法的表达式
(17)有下列程序:
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);}
程序运行后的输出结果是()。
A)2,3,3B)2,3,2C)2,3,1D)2,2,1
(18)设有定义:
inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0,a和b的值分别是()。
A)876和543.000000B)87和6.000000
C)87和543.000000D)76和543.000000
(19)有下列程序:
main()
{inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf("a+b=%d\n",a+b);/*输出计算结果*/}
程序运行后的输出结果是()。
A)a+b=10B)a+b=30C)30D)出错
(6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句【6】。
(6)设有定义:
floatx=123.4567;,则执行下列语句后的输出结果是【6】。
printf("%f\n",(int)(x*100+0.5)/100.0);
(7)下列程序运行后的输出结果是【7】。
main(){intm=011,n=11;printf("%d%d\n",++m,n++);}
2007年
(11)在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A)正当性B)可行性C)确定性D)有穷性
(12)下列叙述中错误的是()。
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A)大写字母B)连接符C)数字字符D)下划线
(14)下列叙述中错误的是()。
A)C语言是一种结构化程序设计语言
B)结构化程序由顺序、分支、循环3种基本结构组成
C)使用3种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
(15)对于一个正常运行的C程序,下列叙述中正确的是()。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(16)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
下列所示的输入形式中正确的是(注:
口代表空格字符)()。
A)10□X□20□YB)10□X20□Y
C)10□XD)10X
20Y20□Y
(17)若有代数式
,(其中e仅代表自然对数的底数,不是变量),则下列能够
正确表示该代数式的C语言表达式是()。
A)sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(fabs(pow(n,x)+exp(x)))
D)sqrt(fabs(pow(x,n)+exp(x)))
(18)设有定义:
intk=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是()。
A)k++B)k+=1C)++kD)k+1
(19)有下列程序,其中%u表示按无符号整数输出。
main()
{unsignedintx=0xFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);}
程序运行后的输出结果是()。
A)-1B)65535C)32767D)0xFFFF
(21)下列选项中,当x为大于l的奇数时,值为0的表达式是()。
A)x%2==1B)x/2C)x%2!
=0D)x%2==0
(11)C语言源程序名的后缀是()。
A).exeB).CC).objD).cp
(12)可在C程序中用作用户标识符的一组标识符是()。
A)andB)DateC)HiD)case
_2007y-m-dDr.TomBigl
(13)下列选项中,合法的一组C语言数值常量是()。
A)028B)12.C).177D)0x8A
.5e-30xa234e1.510,000
.0xf4.5e00abc3.e5
(14)下列叙述中正确的是()。
A)C语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,用以命名任意一个函数作为主函数
(16)下列关于long、int和short类型数据占用内存大小的叙述中正确的是()。
A)均占4个字节B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义D)由C语言编译系统决定
(17)若变量均已正确定义并赋值,下列合法的C语言赋值语句是()。
A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;
(18)有下列程序段:
intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
A)55566.0B)566.0C)7777.0D)566777.0
(28)下列正确的字符串常量是()。
A)"\\\"B)'abc'C)OlympicGamesD)""
(6)执行下列程序后的输出结果是【6】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);}
下列程序的输出结果是【10】。
#include
main(){printf("%d\n",strlen("IBM\n012\1\\"));}
(6)执行下列程序时,输入1234567,则输出结果是【6】。
#include
main()
{inta=1,b;
scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);}
2008年
(5)算法的有穷性是指()。
A)算法程序的运行时间是有限的
B)算法程序所处理的数据量是有限的
C)算法程序的长度是有限的
D)算法只能被有限的用户使用
(11)以下叙述中正确的是
A)C程序中的注释只能出现在程序的开始位置和语句的后面()。
B)C程序书写格式严格,要求一行内只能写一个语句
C)C程序书写格式自由,一个语句可以写在多行上
D)用C语言编写的程序只能放在一个程序文件中
(12)以下选项中不合法的标识符是()。
A)printB)ForC)&aD)-00
(13)以下选项中不属于字符常量的是()。
A)'C'B)"C"C)'\xCC'D)'\072'
(14)设变量已正确定义并赋值,以下正确的表达式是()。
A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0
(15)以下定义语句中正确的是()。
A)inta=b=0;B)charA=65+1,b='b';
C)floata=1,"b=&a,"c=&b;D)doublea=0.0;b=1.1;
(16)有以下程序段()。
charch;intk;
ch='a';k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k);
已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12D)a,97,k=12
(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。
A)kk>='A'&&kk<='Z'B)!
(kk>='A'‖kk<='Z')
C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<91)
(18)当变量c的值不为2、4、6时,值也为“真”的表达式是()。
A)(c==2)‖(c==4)‖(c==6)
B)(c>=2&&c<=6)‖(c!
=3)‖(c!
=5)
C)(c>=2&&c<-6)&&!
(c%2)
D)(c>=2&&c<=6)&&(c%2!
=1)
(11)以下叙述中正确的是()。
A)C程序的基本组成单位是语句
B)C程序中的每一行只能写一条语句
C)简单C语句必须以分号结束
D)C语句必须在一行内写完
(12)计算机能直接执行的程序是()。
A)源程序B)目标程序C)汇编程序D)可执行程序
(13)以下选项中不能作为C语言合法常量的是()。
A)'cd'B)0.1e+6C)"\a"D)'\011'
(14)以下选项中正确的定义语句是()。
A)doublea;b;B)doublea=b=7;
C)doublea=7,b=7;D)double,a,b;
(15)以下不能正确表示代数式
的C语言表达式是()。
A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d
(16)C源程序中不能表示的数制是()。
A)二进制B)八进制C)十进制D)十六进制
(18)执行以下程序段后,w的值为()。
intw='A',x=14,y=15;
w=((x||y)&&(w<'a'));
A)-1B)NULLC)lD)0
(19)若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(ò代表一个空格符)()。
A)òòò1,2,3<回车>B)1ò2ò3<回车>
C)1,òòò2,òòò3<回车>D)1,2,3<回车>
(6)已有定义:
charc='';inta=1,b;(此处c的初值为空格字符),执行b=!
c&&a;后b的值为【6】。
(7)改变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7】。
(8)若有定义:
intk;,以下程序段的输出结果是【8】。
for(k=2;k<6;k++,k++)printf("##%d",k);
(7)若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:
a=7
b=9
请完成输出语句:
printf("【7】",a,b);。
2009年
(11)以下选项中合法的标识符是()。
A)1_1B)1-1C)_11D)1__
(12)若函数中有定义语句:
intk;,则()。
A)系统将自动给k赋初值0B)这是k中的值无定义
C)系统将自动给k赋初值-1D)这时k中无任何值
(13)以下选项中,能用作数据常量的是()。
A)o115B)0118C)1.5e1.5D)115L
(14)设有定义:
intx=2;,以下表达式中,值不为6的是()。
A)x*=x+1B)X++,2*xC)x*=(1+x)D)2*x,x+=2
(15)程序段:
intx=12;doubley=3.141593;printf("%d%8.6f",x,y);的输出结果是()。
A)123.141593B)123.141593C)12,3.141593D)123.1415930
(16)若有定义语句:
doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。
A)scanf("%f%f",x,y);B)scanf("%f%f"&x,&y);
C)scanf("%lf%le",px,py);D)scanf("%lf%lf",x,y);
(23)有以下程序
#include
main()
{inta1,a2;charc1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
printf("%d,%c,%d,%c",a1,c1,a2,c2);}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:
12,a,34,b则正确的输入格式是(以下_代表空格,代表回车)()。
A)12a34bB)12_a_34_b
C)12,a,34,bD)12_a34_b
11.以下叙述中正确的是()
A程序设计的任务就是编写程序代码并上机调试
B程序设计的任务就是确定所用数据结构
C程序设计的任务就是确定所用算法
D以上三种说法都不完整
12.以下选项中,能用作用户标识符的是()
AvoidB8-8C-0-Dunsigned
13.阅读以下程序:
#include
main()
{intcase;floatprintf;
printf("请输入2个数");scanf("%d%f",&case,&printf);
printf("%d%f\n",case,printf);}
该程序在编译时产生错误,其出错原因是()
A定义语句出错,case是关键字,不能用作用户自定义标识符
B定义语句出错,printf不能用作用户自定义标识符
C定义语句无错,scanf不能作为输入函数使用
D定义语句无错,printf不能输出case的值
14.表达式:
(int)((double)9/2)-(9)%2的值是()
A0B3C4D5
15.若有定义语句:
intx=10;则表达式x-=x+x的值为()
A-20B-10C0D10
16.有以下程序
#include
main()
{inta=1,b=0;printf("%d",b=a+b);printf("%d\n",a=2*b);}
程序运行后的输出结果是()
A0,0B1,0C3,2D1,2
(3)符合结构化原则的三种基本控制结构是:
选择结构、循环结构和【3】。
(6)表达式(int)((double)(5/2)+2.5)的值是【6】
(7)若变量x,y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);
补充完整,使其输出的计算结果形式为:
x/y=11。
7.若有语句doublex=17;inty;当执行y=(int)(x/5)%2;之后y的值是______。
8.以下程序运行后的输出结果是_______。
#include
main()
{intx=20;printf("%d",02010年
(11)以下叙述正确的是()。
A)C语言程序是由过程和函数组成的
B)C语言函数可以嵌套调用,例如:
fun(fun(x))
C)C语言函数不可以单独编译
D)C语言中除了main函数,其他函数不可作为单独文件形式存在
(12)以下关于C语言的叙述中正确的是()。
A)C语言中的注释不可以夹在变量名或关键字的中间
B)C语言中的变量可以在使用之前的任何位置进行定义
C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C语言的数值常量中夹带空格不影响常量值的正确表示
(13)以下C语言用户标识符中,不合法的是()。
A)_1 B)AaBc C)a_b D)a—b
(14)若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是
A)a=a++,i++;B)i=(a+k)<=(i+k); C)i=a; D)i=!
a;
(15)有以下程序
#include
main()
{chara,b,c,d; scanf(“%c%c”,&a,&b);
c=getchar();d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:
回车也是一个字符)
12
34
则输出结果是
A)1234 B)12 C)12D)12
334
(16)以下关于C语言数据类型使用的叙述中错误的是()。
A)若要准确无误差的表示自然数,应使用整数类型
B)若要保存带有多位小数的数据,应使用双精度类型
C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型
(11)以下关于结构化程序设计的叙述中正确的是()。
A)一个结构化程序必须同时由顺序、分支、循环三种结构组成
B)结构化程序使用goto语句会很便捷
C)在C语言中,程序的模块化是利用函数实现的
D)由三种基本结构构成的程序只能解决小规模的问题
(12)以下关于简单程序设计的步骤和顺序的说法中正确的是()。
A)确定算法后,整理并写出文档,最后进行编码和上机调试
B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
(13)以下叙述中错误的是()。
A)C程序在运行过程中所