ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:41.79KB ,
资源ID:27740093      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27740093.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计复习题附答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计复习题附答案.docx

1、C程序设计复习题附答案 C程序练习题一单项选择题“a”在内存中占 B 字节。 A. 1个 B. 2个 C. 3个 D. 4个a=b+=c+5,若b=1,c=2,则a的值是 C 。 A. 1 B. 7 C. 8 D. 出错下列合法的变量名是 B 。 A. 123 B. next C. int D. *x字符型数据在微机内存中的存储形式是 D 。 A. 反码 B. 补码 C. EBCDIC码 D. ASCII码请选出可作为C语言用户标示符的一组标示符 B 。 A. void B. a3_b3 C. For D. ZaDefine _123 _abc DOWORD IF case sizeof若变量

2、已正确定义并赋值,不符合C语言语法的表达方式是D 。A. a=a+7 B. a=7+b+c,a+ C. (int)(12.3)%4 D. a=a+7=c+bTURBO C中int类型变量所占字节数是 B 。A. 1 B. 2 C. 3 D. 4 执行scanf(“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为 C 。A. 3,4 B. a:3 b:4 C. a=3, b=4 D. 3 4下列程序的执行结果是 B 。 A. 5,0,-10 B. 0,0,5 C. 10,5,-10 D. 5,0,5 main( )int a=0,b=0,c=0;c=(

3、a-=a-5),(a=b,b+5);printf(“%d,%d,%dn”,a,b,c); 若输入2.50,下列程序的执行结果是 D 。 A. 0 B. 3.125 C. 3.13 D. 程序有错 main( )float r ,area;scanf(“%5.2f”,& r);printf(“area=%fn”,area=1/2*r*r);设a,b均是int型变量,则以下不正确的函数调用为 D 。 A. getchar() B. putchar(106); C. scanf(“%d,%2d”,&a,&b); D. putchar();设a为整形变量,不能正确表达数学关系:10a15的C语言表达式

4、是 A 。A. 10a10&a15 D. !(a=15)在以下一组运行符中,优先级最高的是 C 。 A. = B. = C. % D. &在以下运算符中,优先级最高的运算符是 B 。 A. b?a+:b+,a+b)的值是B 。 A. 7 B. 8 C. 9 D. 2 在以下运算符中,优先级最高的运算符是 A 。 A. ! B. = C. + D. 执行下列程序段后,变量的正确结果,供选择的答案是 D 。 A. 10 B. 11 C. 12 D. 13 int i=10,j=0; do switch(i) case 9 : i+; case 10 : i+; case 11 : i+; defa

5、ut : i+; while (j);以下程序执行 C 次。 A. 5 B. 6 C. 8 D. 9#include“stdio.h”#define N 2#define M N+1#define NUM (M+1)*M/2main() int i,n=0; for(i=1;i=NUM;i+) n+;printf(“%d”,n); printf(“n”);对两个静态数组A和B进行如下初始化:static char A=“ABCDEF”;static char B=A,B,C,D,E,F; 则下列叙述正确的是 D 。 A. A和B完全相同 B. A和B只是长度相同 C. A数组长度比B数组短 D

6、. A数组长度比B数组长下列对C语言字符数组的描述中错误的是 C 。A.字符数组可以存放字符串 B。字符数组中的字符串可以整体输入、输出C。 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D。不可以用关系运算符对字符数组中的字符串进行比较不能把字符串:Hello!赋给数组b的语句是 B 。A.char b10=H,e,l,l,o,!,0; B。char b10; b=“Hello!”;C。 char b10; strcpy (b,“Hello!”); D。char b10= “Hello!”; 若有以下说明:int a12=1,2,3,4,5,6,7,8,9,10,11,12;cha

7、r c=a,d,g;则数值为4的表达式是 D 。 A. ag-c B. a4 C. ad-c D. ad-c 合法的数组定义是 B 。 A. int a=“string” B. int a5=1,2,3,4,5 C. char a=“string” D. char a=1,2,3,4,5 若有定义和语句: static char s1=“abcd”; char s210;s2=s1; printf (“%sn”,s2);则结果是(以下代表空格) D 。 A.输出abcd B.输出a C.输出abcd D. 编译不通过以下程序段给数组所有元素输入数据,应在下划线处填入的是 B 。 A. a+(+

8、i) B. &ai+ C. a+i D. &a +imain () int a10,i=0;while (i10) scanf (“%d”, ); ;变量的指针,其含义为指该变量的 B 。 A. 值 B. 地址 C. 名 D. 一个标志设ptr1和ptr2均为指向同一个int型一维数组的指针变量,k为int型变量,则下面不能正确执行的赋值语句是 B 。A. k= *ptr1 + *ptr2; B. ptr2=k; C. ptr1=ptr2; D. k= *ptr1 * (*ptr2);设char *s=“ta017bc”,则指针变量s指向的字符串所占的字节数是 C 。 A. 9 B. 5 C.

9、 6 D. 7以下程序有错,错误原因是 D 。main () int * p,i; char * q ,ch;p=&i; q=&ch; *p=40; *p=*q; ;A.p和q的类型不一致,不能执行*p=*q;语句 B。 *q中存放的是地址值,因此不能执行*p=40;语句 C。 q无具体指向,所以*q无实际意义 D。q虽然指向了具体的存储单元,但该单元无确定值,故不能执行*p=*q有四组对指针变量操作的语句,以下判断正确的是D 。int *p,*q; q=p; int a,*p,*q; p=q=&a int a,*p,*q; q=&a; p=*q; int a=20,*p; *p=aint a

10、=b=0,*p; p=&a; b=*p; int a=20,*p,*q=&a;*p=*q; int a=20,*p,*q=&a; p=q; a=*p;A.正确: 不正确 B.正确: 不正确 C.正确: 不正确 D.正确: 不正确 设程序段 char s=“china”; char *p; p=s; 则下列叙述正确的是 C D 。A.s和p完全相等 B。数组s中的内容和指针变量p中的内容完全相等C.s数组长度和p所指向的字符串长度完全相等 D s0和*p相等 若a、b,、c均为int型变量,则执行以下语句后的a、c值分别为( B )。 a=b=c=1; +a | +b & +c ;A) 不正确

11、B) 0和1 C) 0和0 D) 1和0若a、b均为int型变量且a=100,则以下关于for循环语句的正确判断为( A )。 for (b=100;a!=b;+a,+b) printf(“-”) ;A) 循环体一次也不执行 B) 死循环 C) 循环体只执行一次 D) 输出-一个C程序总是从( A )开始执行的。 A) 主函数 B) 主过程 C) 子函数 D) 子过程在C语言中,int、char和short三种类型数据所占用的内存 ( C )。A)均为两个字节 B) 均由用户自己定义 C) 由所用机器的机器字长决定 D) 是任意的 以下哪一个不是正确的转义符 ( B )。 A) B) C) 1

12、08 D) 0以下关于switch语句和break语句的描述中,只有( C )是正确的。A)在switch语句中必须使用break语句 B。break语句只能用于switch语句 C。 在switch语句中可以根据需要使用或不使用break语句 D。break语句是switch语句的一部分为了判断两个字符串s1和s2是否相等,应当使用( D )。A) if(s1=s2) B) if(s1=s2) C) if(strcpy(s1,s2) D) if(strcmp(s1,s2)=0)函数定义的缺省类型为 C 。A. void B. double C. int D. char在C语言程序中,说法正确

13、的是 B 。A.函数的定义可以嵌套,但函数的调用不可以嵌套 B。函数的定义可以不嵌套,但函数的调用可以嵌套C。 函数的定义和函数的调用都不可以嵌套 D。函数的定义和函数的调用都可以嵌套 C语言规定,函数返回值的类型是由 D 。A.return语句中的表达式类型所决定 B。调用该函数时的主调函数所决定C。调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定1、一个C语言程序是由 A 组成。 A、主程序B、子程序C、函数D、过程2、下面标识符中,不合法的用户标识符为 D 。 A、PAdB、a_10 C、CHARD、a#b3、在C语言中,int、char和short三种类型数据所占用的

14、内存 C 。A、均为2个字节B、由用户自己定义 C、由所用机器的机器字长决定D、是任意的4、若w=1,x=2,y=3,z=4,则条件表达式wx? w:yz ?y:z的结束为 D 。 A、4B、3C、2D15、设x和y均为int型变量,则执行以下语句后的输出为A 。 A、0B、1C、6D、12x=15; y=5;Printf(“%dn”,x%=(y%=2);6、下列程序正确的运行结果为 B 。 A、9.800000 B、9.300000C、8.500000D、8.000000 # include main() int a=1,b=4,c=2;float x=5.5,y=9.0,z;z=(a+b)

15、/c+sqrt(double)y)*1.2/c+x;printf(“%fn”,z) 7、运行下面程序后的w值为 A 。 A、20B、7C、28D、13main()int w =2,k; for (k=0; k3; k+) w=f(w); printf(“%dn”,w); f(x)int x; int y=0; static z=3; y+; z+; return(x+y+z); 8、若有说明语句int i,j,且i的值为6,执行语句j=(+i)+(i+)后,j的值是 B 。 A、4B、14C、13D、159、若a、b为int型变量,则执行以下语句后,a,b的值为 。 A、2,9B、4,2C、3

16、,1D、2、8a=1; b=10; do b-=a;a+;while (b-0);10、若a为int型变量,则执行以下语句后的结果为 A 。 A、5B、不打印任何内容C、4D、陷入死循环a=5; doprintf(“%2dn”,a-); while(!a);11、若x、y的int型变量,则执行以下语句后的x,y值是 A 。 A、10,6B、6,4C、7,8D、10,2for (y=1, x=1; y=10) break; if (x%2= =1) x+=5; continue; x-=3; 12、下列程序正确的运行结果为 B 。 A、8,20B、8,8C、8,17D、8,16# include

17、 main() int j=4, m=1, k; k=fun(j,m); printf (“%dn”, k); fun(x,y) int x,y; static int m=0, i=2; i+=m+1; m=i+x+y; return(m); 13、下列程序正确的运行结果为 A 。 A、12,2B、5,20C、2,12D、不确定#include int x,y; num() int a=15,b=10;int x,y;x=a-b;y=a+b;retrun; main() int a=7,b=5;x=a+b;y=a-b;num();printf(“%d,%dn”,x,y); C语言规定,简单变

18、量做实参时,它和形参之间的数据传递方式是 D 。A.地址传递 B.单向值传递 C.有实参传给形参,再由形参传回给实参 D.由用户指定传递方式若用数组名作为函数调用的实参,传递给形参的是 A 。A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数如果函数的类型和return语句中表达式的值的类型不一致,则 A 。A.返回值的类型以函数类型为准 B.返回值的类型不能确定C. 返回值的类型以return语句中表达式的类型为准 D.编译不通过如果在一个函数中的复合语句中定义了一个变量,则该变量 A 。A.指在该复合语句中有效 B.在该函数中有效 C.在本程序范围内均有效

19、 D.为非法变量以下不正确的描述为( B )。A)在函数之外定义的变量为外部变量,外部变量是全局变量B)在一个函数中既可以使用本函数中的局部变量,又可以使用别的函数中的局部变量C)外部变量定义和外部变量说明的含义不同D)同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。下面写法错误的数字是( A )。 A)123E3 B)4.3-6E C)E7 D)2.9+3e已知x=P,y=A,P与A的ASCII码值分别为80和64,则表达式a=xy ? a :1.5 的值是( B )。A)1.5 B) 97 C) T D) 97.01.面向算法的计算机语言是(B ) A.

20、可视化语言 B.高级语言 C.汇编语言 D.机器语言2.以下运算符使用错误的是( B ) A.-k B.(a+b)- C.+j D.i+3.关于C语言程序的正确叙述是( D ) A.main()所在行的末尾必须要有分号(;) B.主函数的函数体不一定用花括号()括起来 C.一个完整的C程序可以没有任何函数 D.C语言程序的简单语句必须用分号(;)作为语句的结束符4.已知:int i=5,a;当a=i+;语句执行后,变量i和a的值分别是( C ) A.5 5 B.5 6 C.6 5 D.6 65.用C语言表示算式,错误的表达式是( C ) A.a/(c*d)*b B.a*b/c/d C.a*b/

21、c*d D.a*b/(c*d)6.下列程序的运行结果是 ( C) A.0 B.1 C.3 D.3.3 #include main() int x=10,y=3; printf(%dn,y=x/y); 7.下列程序的运行结果是( A ) A.18 B.19 C.22 D.23 # include main() int x=023; printf(%dn,-x); 8.C语言中,关于scanf()函数正确的叙述是( A ) A.利用scanf()函数可以给变量提供数据 B.scanf()函数具有计算功能 C.scanf()函数就是输入语句 D.scanf()函数只能用在主函数中9.C语言中,已知a

22、的ASCII码为97,A的ASCII码为65。又已知,int,c;char i;scanf(%c,%d,&c,&i);语句执行后,若要使c的值为101,i的值为正确的数据输入为(注:为回车符号) (C) A.101,68 B.101,D C.e,68 D.e,D10.已知:int x=100,y; y=x80? 60:70; 则y的值是( A ) A.60 B.70 C.80 D.10011. C语言中,已知int b=2;则下列表达式值为1的是( A ) A.b1 B.bb C.b1 D.!(b=1)12.C语言中,下列语句运算符的执行次序是( C ) x=!a=b; A.先执行=,再执行!

23、,再执行= B.先执行=,再执行!,再执行= C.先执行!,再执行=,再执行= D.执行次序是随机的13.下列程序的功能是( B ) #include main() char c; c=getchar(); if(c=a&c=z)c=c-32; putchar(c); A.将大写字母转换成小写字母 B.将小写字母转换成大写字母 C.将大小写字母互换 D.以上均错误14.C语言中,关于while与do-while语句正确的叙述是( D ) A.允许从do-while外部转到循环体内 B.do-while的循环体不能是复合语句 C.while的循环控制条件比do-while的循环控制条件严格 D.

24、do-while的循环体至少无条件执行一次15.下列程序段执行后,k的值是( C ) A.9 B.10 C.11 D.不定 int k=1; while (k+10); 16.下列C语言程序运行时输入2473,则输出结果是( B ) A.668966 B.668977 C.6677877 D.6688766 (注:为回车符号) #include main() int cx; while (cx=getchar()!=n) switch(cx-2) case 0: case 1:putchar(cx+4); case 2:putchar(cx+4); break; case 3:putchar(

25、cx+3); default:putchar(cx+2); 17.下列程序的运行结果是( C ) A.x=4 B.x=6 C.x=8 D.x=12 #include main() int i,j,x=0; for (i=0;i2;i+) x+; for (j=0;j=3;j+) if(j%2)continue; x+; x+; printf(x=%dn,x); 18.已知:int i=5,s;则s=i-;等价于( A ) A.s=i;i=i-1; B.i=i-1;s=i; C.s=i;s=s-1 D.s=i;s=i-1;19.C语言中关于数组的正确叙述是( C ) A.数组名代表数组中的全部元

26、素 B.若有定义int a10,说明该数组元素的最大下标是10 C.定义数组时可以同时初始化该数组 D.初始化数组时必须使所赋初值的个数与数组长度相等20.已知:主函数中,int a3=4;数组元素a1的值是( A ) A.0 B.1 C.4 D.不确定21.下列程序的运行结果是( B ) A.E B.F C.EFGH D.FGH #include main() char *b=ABCDEFGH; printf(%c,b5); 22.下列程序的运行结果是( B ) A.44 B.8 C.95 D.以上结果均不正确 #include int d=1; fun(p) int p; int d=5;

27、 d+=p+; printf(%d,d); main() int a=3; fun(a); d+=a+; printf(%dn,d); 23.函数strcat(strcpy(str1,str2),str3)的功能是( C ) A.将串str1复制到串str2中后,再连接到串str3后 B.将串str1连接到串str2中后,再复制到串str3后 C.将串str2复制到串str1中后,再将str3连接到串str1之后 D.将串str2复制到串str1中后,再将str1连接到串str3之后24.对C语言函数的正确描述是( D ) A.C语言程序总是从第一个定义的函数开始执行 B.C语言程序中,要调用

28、的函数必须放在main()函数中定义 C.C语言程序中的main()函数必须放在程序的开始部分 D.C语言程序总是从main()函数开始执行25.已知:int a,* p;如果p指向a,则( D ) A.a与p存储单元的地址相同 B.a与p的值相同 C.a的值是p的地址 D.p的值是a的地址26.指针变量作为形参时,下列叙述正确的是( A ) A.实参可以是同类型的指针变量 B.实参可以是同类型的常数 C.实参可以是关系表达式 D.实参可以是算术表达式27.已知:int a=1,3,5,7,9,*ip=a;表达式*ip+2的值是( B ) A.1 B.3 C.5 D.728.下列程序段的输出结果是( B ) A.-3 B.-2 C.-1 D.3 int a=1,-2,3,-4,*ip=a; ip+; printf%d,(*ip)+); 29.C语言中,能够将数据写入磁盘文件的函数是(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1