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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C程序设计.docx

1、C程序设计1.3以下叙述正确的是_A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面答案:D2.2若x、y、j和k都是int 型变量,则计算下面表达式后,x的值为_A) 7 B)16 C)32 D)52答案:C2.6下面四个选项中,均是不合法的用户标识符的选项是_A)A B)float C)b-a D)_123 P_0 la0 goto temp Do _A int INT答案:C2.23以下不正确的叙述是_A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,APH和aph是两个不同的

2、变量C) 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D) 当键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案:D2.30若有说明语句:char c=72;则变量c_A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,c的值不确定答案:A2.37在C语言中,char型数据在内存中的存储形式是_A)补码 B)反码 C)原码 D)ASCII码答案:D3.2以下程序的输出结果是_.(注:表示空格) main() printf(“n*s1=%15s*”,”chinabeijing”); printf(“n*s2=%-5

3、s*”,”chi”);A)*s1=chinabeijing * B)*s1=chinabeijing * *s2= * * chi * *s2=chi *C)*s1=* chinabeijing * D)*s1= chinabeijing * *s2= chi * *s2=chi 答案:D3.11已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列 开始输入数据时,正确的数据输入方式是_(注:表示回车) int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020A

4、B B)1020 AB C)10 20 AB D)1020AB 答案:D3.15根据题目中已给出的数据的输入形式和输出形式,程序中输入输出语句的正确内容是 _ main() int x; float y; prinf(“enter x,y:”) 输入语句 输出语句 输入形式 enter x,y:23.4 输出形式 x+y=5.40A) scanf(“%d,%f”,&x,&y);prinf(“nx+y=%4.2f”,x+y); B) scanf(“%d%f”,&x,&y); prinf(“nx+y=%4.2f”,x+y);C) scanf(“%d%f”,&x,&y); prinf(“nx+y=%

5、6.1f”,x+y);D) scanf(“%d%3.1f”,&x,&y); prinf(“nx+y=%4.2f”,x+y); 答案:B3.46有一输入函数 scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是1和2答案:1未指明k的地址 2 格式控制符与变量类型不匹配 scanf语句的正确形式应该是:scanf(“%f”,&k);4.4能正确表示”当x的取值在1,10和200,210范围内为真,否则为假”的表达式是_ A)(x=1)&(x=200)&(x=1) | (x=200) | (x=1)&(x=200)&(x=1) | (x=200) | (x=210) 答案:

6、C4.7设x、y和z是int 型变量,且x=3,y=4,z=5,则下面表达式中值为0的是_ A)x&y B)x=y C)x | y+z&y-z D)! (x0)prinf (“%f”,x)else prinf (“%f”,-x);B) if (x0)x=x+y; prinf (“%f”,x); else prinf (“%f”,-x);C) if (x0)x=x+y; prinf (“%f”,x); else prinf (“%f”,-x);D) if (x0)x=x+y; prinf (“%f”,x) else prinf (“%f”,-x);答案:B4.35当 a=3,b=2,c=1时,表

7、达式f=abc 的值是 .答案:04.59有int a=3,b=4,c=5,x,y;,则以下表达式的值为 ! (x=a)&(y=b)&0答案:04.70以下程序对输入两个整数,按从达到小顺序输出.请在 内填入正确内容.Main() int x,y,z;scanf(“%d,%d”,&x,&y);if (1) z=x; 2pringf(“%d,%d”,x,y);答案:1x0) s=s+1; if (ab) t=s+t; else t=2*s; prinf(“s=%d,t=%d”,s,t);为了使输出结果t=4,输入量a和b应满足的条件是 .答案:0ab4.114请读程序: #include mai

8、n() int x=1, y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2: a+; b+; break; prinf(“a=%d,b=%d”,a,b); 上面程序的运行结果是_ 答案:a=2,b=15.14C语言中while和do-while 循环的主要区别是_A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A5

9、.28若I为整型变量,则以下循环执行次数是_for (I=2;I= =0;) prinf(“%d”,I- -);A)无限次 B)0次 C)1次 D)2次答案:B5.36下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空. #include main() int I,sum=0; for (I=1;I=50;I+) if ( 1 ) sum+=I; prinf(“%d”,sum); A)(int) (I/7)= =I/7 B)(int) I/7= =I/7 C)I%7=0 D)I%7= = 0 答案:D5.47以下是死循环的程序段是_A) for (I=1; ; ) if (+I%2

10、= =0) continue; if (+I%3= =0) break; B) I=32767;Do if (I0) break; while (+I);C) for (I=1; ; ) if (+I10 ) continue;D) I=1; While (I- -); 答案:C5.60下面程序的功能是用”辗转相除法”求两个正整数的最大公约数.请填空. #include main() int r,m,n; scanf(“%d%d”,&m,&n); if (mn) 1; r=m%n; while (r) m=n; n=r; r= 2; prinf(“%dn”,n); 答案:1r=m,m=n,n=

11、r 2m%n5.68下面程序的功能是用do-while 语句求1 之1000之间满足”用3除余2; 用5除余3;用 7除余2”的数,且一行只打印五个数.请填空. #include main() int I=1, j=0; do if ( 1 ) prinf(“%4d”,I); j=j+1; if ( 2 ) prinf (“n”); I=I+1; while (I1000); 答案:1I%3= =2&I%5= =3&I%7= = 2 2j%5= =0C语言习题集与上机指导1.9 编写一个求0100之间全部偶数之和的程序.运行结果:sum=25501.13请设计下列算法. (5)求两个正整数m和

12、n的最大公约数 答案:略2.4写一个程序测试你所用的C版本中的float 型数据所占的字节数. 运行结果: b=42.6下列常数中哪些是合法的C常量,哪些是非法的C常量?对合法者指出其类型,对非法者指出其原因.-0. 23 -0x2a1 0x7g e3 00033.e-5 n “x-y” 12.5e2 “105”105 “3553” 3+5 35o 7” e2E5 AB 0x2.5b 03e5 7f 7ff2e-310 12356e 3e+2.3 5e+0 lg3答案:合法的常量如下-0 (实型常量)-0x2al (十六进制长整型常量)0003 (八进制整型常量)5e+0 (实型常量)3.e-

13、5 (实型常量)2E5 (实型常量) (字符常量)n (一种特殊形式的字符常量-转义字符)“105” (字符常量)“x-y” (字符常量)“3555” (字符常量)不合法的常量如下:23 (表示形式不对)0x (超出十六进制表示的数字)e3 (e前必须有数字)12.5e2 (表示形式不对)105 (单引号中应为单个字符)AB (单引号中应为单个字符)3+5 (这是表达式,不是常量)35o 7” (无字符” o”) (无此字符)e (e前应有数值,e后应跟整数)03e5 (表示形式不对)7f (不能同时出现,十六进制数应以0x开头) 7ff (应以0x开头)2e-310 (超出范围)12356e

14、 (e后应跟整数)3e+2.3 (e后应跟整数)lg3 (表示形式不对)0x2.5b (表示形式不对)2.8在下列符号中,你可以选哪些做变量名?哪些不可以?为什么? a3B 3aB +a b *x s b b5 if next day e2 ok? intger maxnumber i*j 答案:可做变量名的为: a3B b s b5 next day intger maxnumber 剩余的均不可做变量名,因为,C语言给变量起名的规定是:由字母、数字和下划线 三种字符组成,且第一个字符必须是字母或下划线(习惯上,变量名用小写字母表示). 2.28指出下面程序段中的错误,并改正. Main()

15、 int a; float b; fchar c; scanf(“%c%d%c%f; c,b,a,b); 答案:1.字符变量标识符多写一个f;2.格式输入函数名有错;3.scanf函数中格式字 符与数据类型不匹配;4.少了一个双引号.正确的应为: char c; scanf(“%c%f%d%fn”,&c,&b,&a,&b);3.11把下列程序改写得更合理. (1) while (A) if (B) continue; C; (2) do if (!A) continue; else B; C; while (A) 答案(1)可改写为: while (A) if (!B) C; (2)可改写为:

16、 do if (A) B; C; while (A)3.12指出下面三个程序的功能.当输入为:”quert?”时,它们的执行结果是什么? (1) #include”stdio.h” main() char c; c=getchar(); while (c!=?) putchar(c); c=geetchar(); (2) #include”stdio.h” main() char c; while (c=getchar()!=?) putchar(+c); (3) #include”stdio.h” main() while (putchar (getchar()!=?); 答案:(1)的功能

17、是:显示从键盘输入的每一个字符,当输入”?”时结束. 执行结果是: quert (2)的功能是:显示从键盘输入的每一个字符的下一个字符(按字母顺序排 列),当输入”?”时结束. 执行结果是: rvfsu (3)的功能与(1)相同,但输出结果中多一个”?” 一、 单项选择题(每小题2分,其中第33、50题分别4分)。1、 以下标识符中,不合法的用户标识符是_1。c5 Unsigned A_123 k0002、 以下不正确的C语言标识符是_4。 abc_123 _123abc a_bc123 123abc3、 以下标识符中,不合法的用户标识符是_1。&b Int D32769 k24、 以下整数值

18、中,不正确的八进制或十六进制数是_3。 0x16 016 16 0xaaaa5、 以下说法中正确的是_3。C语言程序总是从第一个的函数开始执行在C语言程序中,要调用的函数必须在main()函数中定义C语言程序总是从main()函数开始执行C语言程序中的main()函数必须放在程序的开始部分6、 C语言中最简单的数据类型包括_2。整型、实型、逻辑型 整型、实型、字符型整型、字符型、逻辑型 整型、实型、逻辑型、字符型7、 面向对象程序设计的特点是_1。多态性、封装性、继承性 多态性、继承性、可移植性多态性、继承性、交互性 封装性、交互性、多态性8、 以下能正确表示C语言中double类型常量的选项

19、是_2。0.31410 0.314e10 0.0314102 3.14L9、 若a为float型变量,且已赋值3.46932,能正确使a中的值保持两位小数,删去此后小数的语句是_3。a=a*100/100; a=int(a*100)/100.0; a=(int)(a*100)/100.0; a=(int)a*100/100.0;10、 以下值不为3的表达式是_3。D-A 6-3 011 3+011、 若变量已正确定义并赋值,以下不能构成赋值语句的是_4。s/i; k; abc; ij;12、 C语言中,运算对象必须是整型数的运算符是_1。% / %和/ *13、 如下程序的执行结果是_4。ma

20、in()int n1;n;printf(% % %,);2 2 1 2 2 2 2 3 2 2 1 114、 以下不是结构化程序设计的基本结构的是_2。选择结构 逻辑结构 循环结构 顺序结构15、 设int m2,n3,则mn的结果是_2。2 1 0 316、 两次运行下面的程序,如果从键盘上分别输入5和3,则输出结果是_3。main()int x;scanf(%d,&x);if(x4)printf(%d,x);else printf(%dn,x);6和4 5和2 6和3 5和317、 循环语句while(!E);中的表达式!E等价于_3。 E!0 E!1 E0 E118、 设a、b和c都是i

21、nt型变量,且a1,b1,c1;则以下值为0的表达式是_4。ba a&c !a|b !ab19、 若有以下程序段:int p10;doprintf(*);while(p);退出循环后,变量p的值是_3。0 11 220、 如果变量定义有:int a9,c8;则表达式(a!c)?a:c的值为_2。9 10 7 821、 如果a1,b2,c3,d4,则条件表达式ab?a:cd?c:d的值为_1。1 2 3 422、 有如下定义:struct dateint yy,mm,dd;struct worklistchar name20;char sex;struct date birthday;perso

22、n;对结构体变量person的出生年月进行赋值时,下面正确的赋值语句是_4。yy1958 birthday.yy1958person.yy1958 person.birthday.yy195823、 设有以下说明语句struct stu int a;float b;structpe;则下面的叙述不正确的是_3。struct是结构体类型的关键字 struct stu是用户定义的结构体类型structpe是用户定义的结构体类型名 a和b都是结构体成员名24、 设变量a是整型,f是实型,i是双精度型,则表达式100%9ai*f值的数据类型是_3。int float double 不确定25、 以下程

23、序的执行结果是_4。main()int a2,i;for(i0;i3;i)printf(%d,func(a);func(int a)int b0;static c1;b;c;return(ab;555 7,7,7 567 5,6,726、 对于for(表达式1;表达式3)可理解为_4。for(表达式1;0;表达式3)for(表达式1;表达式3;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;100;表达式3)27、 有如下输入语句:scanf(a%d,b%d,c%d,&a,&b,&;为使变量a的值为2,b的值3,c的值为4,从键盘输入数据的正确形式应是_3。234 2,3,4

24、a2,b3,c4 a2 b3 c428、 下面关于函数参数的说法不正确的是_1。形参可以是常量、变量或表达式实参可以是常量、变量或表达式在被定义的函数中,必须指定形参的类型形参应与其对应的实参类型一致29、 假设已定义char a10和char *pa,下面的赋值语句中,正确的是_4。a10Turbo C aTurbo C*pTurbo C pTurbo C30、 设有下面的程序段:char schina;char *ps;则下列叙述正确的是_4。数组s中的内容和指针变量p中的内容相等 s和p完全相同s数组长度和p所指向的字符串长度相等 *p与s0相等31、 C语言中不合法的字符常量是_1。0

25、xff 65 & 32、 以下一维数组a的定义中,正确的是_4。int a(10); int n10,an;int n; #define SIZE 10scanf(%d,&n); int aSIZE;int an;33、 下面程序的功能是将字符串s中的内容按逆序输出,但不改变串中的内容,请选择填空,【A】_3,【B】_4。#include stdio.hmain() char s10 hello!;inverp(s);inverp(char *a)if(【A】)return 0;inverp(a1);printf(%c,【B】)【A】*a!0*a!NULL!*a0!*a【B】*(a1)*(a1)*a *(a)34、 若有一已赋值的连续存储单元,指针p已正确定义,且指向此连续存储单元的起始地址,以下叙述正确的是_2。表达式:*p;使p所指存储单元中的值增1。表达式:(*p);使p所指存储单元中的值增1。表达式:(*p);使指针p向

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

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