ImageVerifierCode 换一换
你正在下载:

c语言.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言.docx

1、c语言6.假设所有变量均为整形,则表达式(a=2,b=5,b+,a+b)的值是(b)。 a)7 b)8 c)6 d)2逗号表达式,返回的是最后一个下面7.四个选项中,均是不合法的用户标示符的选项是_c_ a) A P_0 do b)float la0 _A c)b-a goto int d)_123 temp INTC语言规定的标识符只能由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线,并且不能使用c语言中关键字作为标识符。而选项c中的goto和int是关键字,b-a中的“-”不是组成标识符的三种字符之一。14.在c语言中,要求运算数必须是整型的运算符是_d_. a)/ b)+

2、c)!= d)% 整除求余运算,两个运算数必须是整型17.设变量a 是整型,f是实型,i是双精度型,则表达式 10+a+i*f值的数据类型为_c_. a) int b)float c)double d)不确定 首先计算i*f,因为i为double,f是float,按照自动转换规则,编译器将其结果转换为double 然后计算a+i*f,此时+号后面是double,a是整形,因此编译器首相将a转换为double然后进行结算结果是double18.以下程序的输出结果是_d_.(注意:_表示空格) main() printf(n*s1=%15s*,chinabeijing); printf(n*s2=

3、%-5s*,chi); a)*s1=chinabeijing_ _ _* b)*s1=chinabeijing_ _ _* *s2=*chi* *s2=chi_ _* c)*s1=*_ _chinabeijing d) *s1=_ _ _chinabeijing* *s2=*chi* *s2=chi_ _*%ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。19.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为_d_. main() int x,

4、y,z; scanf(%d%d%d,&x,&y,&z); printf(x+y+z=%dn,x+y+z); a)x+y+z=48 b)x+y+z=35 c)x+z=35 d)不确定值25,13,10 这里的逗号,正确的输入形式为 25 13 10以空格或回车键分割21.若有以下定义,则正确的赋值语句是_b_. int a,b; float x; a)a=1,b=2, b)b+; c)a=b=5 d)b=int(x);A是赋值语句,句子和句子之间用分号隔开。而D是强制性转化,应该写成(int)x。C中,c语言是允许这样赋值的,但是最后缺分号。至于B的话,其实,a,b都没有初始化,是一个任意值,不

5、过语法来说的话,B是正确的相当于b=b加122. 逻辑运算符两侧运算对象的数据类型_d_ a)只能是0或1 b)只能是0或非0正数 c)只能是整型或字符型数据 d) 可以是任何类型的数据如果是C语言,并且不是按位逻辑运算,答案肯定是D因为C中的规定是非零数字表示真,0表示假,而逻辑运算就是对真假进行计算,所以在C中是任何类型的数据都可以进行逻辑运算,只要是非零数字就会被认为是真,再进行逻辑运算时按真处理。如果是C语言,并且是按位逻辑运算(比如按位与&运算符),答案C正确,答案A肯定错。因为对于按位逻辑,是进行的二进制按位计算,因此要求两侧操作数是整型,当然字符型数据可以按ASCII码自动转换为

6、整型,所以字符数据也可以进行按位逻辑运算。按位逻辑运算不可能只能对0或者1进行计算,因为那样的话就失去意义了,只能对0或者1操作还有什么意义,就是4种结果,可能吗?23.以下关于运算符优先顺序的描述中正确的是_c_. a)关系运算符 算术运算符 赋值运算符 逻辑与运算符 b)逻辑与运算符 关系运算符 算术运算符 赋值运算符 c)赋值运算符 逻辑与运算符 关系运算符 算术运算符 d)算术运算符 关系运算符 赋值运算符 ,=,=,.)指针运算符( &,*,+,- )语言运算符分类 注意语言中的运算符都是键盘上的符号(如 |、 等)或若干符号的组合(如 &、|、等),书写或输入时不要出错。此外,少数

7、运算符号有双重含义,主要有下列几个:(1)+号。在算术运算中既表示单目的取正运算,又可表示双目的加法运算,在指针运算中表示双目的加法运算。(2)-号。在算术运算中既表示单目的取负运算,又可表示双目的减法运算,在指针运算中表示双目的减法运算。(3)*号。在算术运算中表示双目的乘法运算,在指针运算中表示指针变量指向的变量。(4)&号。在位逻辑运算中表示双目与运算,在指针运算中表示取地址的运算。这些两重含义运算符的理解与当时的运算对象有关,在学习时要注意区分。一、算术运算符算术运算符包括基本算术运算符和增1、减1运算符,其中基本运算符常简称为算术运算符。 1. 基本算术运算符基本算术运算符是对数据进

8、行简单算术运算的。要注意字符型数据也可以看成整型数据,参加基本算术运算。对象数名称运算符运算规则运算对象运算结果结合性单目正负+-取原值取负值整型或实型整型或实型自右向左双目加减乘除+-*/加法减法乘法除法自左向右模%整除取余整型整型 双目加(+)、减(-)、乘(*)运算和普通算术运算中的加法、减法和乘法相同。例如,2.1+3.6的结果是5.7;2.1-3.6的结果是-1.5;2.1*3的结果是6.3。双目除运算(/)和运算对象的数据类型有关。若两个对象都是整型数据,该运算称为整除,即获得的商是整数。若商有小数,则截去小数部分。若两个运算对象有一个或两个都是实型,则运算结果是实型。例如,14/

9、5,结果为2;而14/5.0,则结果为2.8。双目模运算(%)的对象必须是整型数据,结果是整除后的余数。例如,14%5的结果为4(商为2);14%4的结果为2(商为3)。注意运算结果的符号与被除数相同,例如,13%3、13%-3的结果均为1(商分别为4、-4);-13%3、-13%-3的结果均为-1(商分别为-4、4)。算术运算符的优先级规定如下:单目基本算术运算符优先于双目基本算术运算符*、/、%优先于+、-同级单目基本算术运算符的结合性是自右向左同级双目基本算术运算符的结合性是自左向右【例】基本算术运算符的使用。设变量定义如下:int n=10,m=3;float f=5.0,g=10.0

10、;double d=5.0,e=10.0;则:-n的结果是-10n+m、n-m、n*m、n%m的结果分别为13、7、30、3、1d+e、d-e、d*e、d/e的结果分别为15.0、-5.0、50.0、0.5n+m-f*g/d的运算顺序相当于(n+m)-(f*g)/d),结果是3.0n%m*f*d的运算顺序相当于(n%m)*f)*d,结果是25.0 2. 增1减1运算符增1减1运算符都是单目运算符,是用来对整型、字符型、指针型以及数组的元素等变量进行算术运算的,运算的结果仍是原类型,并存回原运算对象。用增1减1运算符和运算对象组成表达式时,运算符可以放在运算对象的前面(称前缀),也可以放在运算对

11、象的后面(称后缀),前缀和后缀的功能略有不同。增1(或减1)运算符作为前缀使用时,是先对运算对象加1(或减1),然后再使用加1(或减1)后的运算对象。增1(或减1)运算符作为后缀使用时,是先使用不加1(或减1)的运算对象,然后再对运算对象加1(或减1)。对象数名称运算符运算规则运算对象运算结果结合性单目增1(前缀)增1(后缀)减1(前缀)减1(后缀)+-先加1,后使用先使用,后加1先减1,后使用先使用,后减1整型或字符型或指针型或下标等同运算对象的类型自右向左增1减1运算符的优先级如下:增1减1运算符 优先于 双目基本算术运算符增1减1运算符和单目基本算术运算符+、-同级别,结合性是自右向左例

12、如,设整型变量a为2,则: +a+1 结果为4,变量a为3a-+1 结果为3,变量a为1当出现难以区分的若干个+或-组成运算符串时,语言规定,自左向右取尽可能多的符号组成运算符。例如,设整型变量a、b均为2,则:a+b 应理解成(a+)+b,结果为4,a为3,b不变a-b 应理解成(a-)-b,结果为0,a为1,b不变【例】增1减1运算符的使用。设变量定义如下:char c1=b,c2=B;(c1、c2可看成整型,其值分别为98、66)则:+c1的值是99,运算后c1的值是c c1-的值是98,运算后c1的值是a c1+c2的值是164,运算后c1的值是c,c2的值是B c1-c2的值是32,

13、运算后c1的值是a,c2的值是B 二、关系运算符关系运算符是用来比较两个数据大小的,运算的结果是成立或不成立。如果成立,则结果为逻辑值真,用整数1表示;如果不成立,则结果为逻辑值假,用整数0表示。对象数名称运算符运算规则运算对象运算结果结合性双目小于小于或等于大于大于或等于等于不等于=!=满足则为真,结果为1不满足为假,结果为0整型或实型或字符型等逻辑值(整型)自左向右所有关系运算符都是双目运算符,所组成的表达式称为关系表达式。关系表达式的结果是逻辑值,若为真用整数1表示;若为假用整数0 表示。关系运算符可以用来比较两个数值型数据的大小,也可以比较两个字符型数据的大小。字符数据比较时是按该字符

14、对应的ASCII代码值的大小进行比较,其实质也是数值比较。关系运算符的优先级如下:算术运算符优先于关系运算符,= 优先于 =,!=,= 同级,结合性是自左向右=,!= 同级,结合性是自左向右因此,322作为关系式来说是正确的,先计算32的结果为0(假);再计算01的结果是1(真)。当然,这个计算过程与原式数学中的含义(32 并且2c2、n1=n1、c2=n2、c1=n2的值依次是1、0、1f1c1、f2c2=1c2)=1)c2=n1c2)=n1)c1)的值是1,!n2n1的值是0,f1f2|!c1的值是0,n1+32=n2&n1=c2的值是1。25.判断char型变量ch是否为大写字母的正确表

15、达式是_c_. a)A=ch=A)&(ch=A)&(ch=Z) d)(A=ch)A 65,a 9729.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=ab)&(n=cd)后n的值为_b_. a)1 b)2 c)3 d)4n的值仍然为2,没有改变!过程:先计算ab,值为0,赋给m的值为0,表达式m=ab的值也是0。对于&逻辑运算,不管后面(n=cd)的值如何,都不影响(m=ab)&(n=cd)的最终结果,因此,C语言不再对表达式n=cd进行计算。因而n的值没有改变!30.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是_. if(xy) z=x

16、;x=y;y=z; a)x=10,y=20,z=30 b)x=20,y=30,z=30 c)x=20 ,y=30,z=10 d)x=20,y=30,z=20如果XY执行Z=X,因为X不大于Y,所以Z=X这句话不执行,继续向下执行36.下面程序段的运行结果是_a_. a=1;b=2;c=2; while(abc)t=a;a=b;b=t;c-; printf(%d,%d,%d,a,b,c); a)1,2,0 b)2,1,0 c)1,2,1 d)2,1,1abc:12为1,1s2) b)if(strcmp(s1,s2) c)if(strcmp(s2,s1)0) d)if(strcmp(s1,s2)0

17、)strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。39.下面描述正确的是_d_. a)两个字符串所包含的字符个数相同时,才能比较字符串 b)字符个数多的字符串比字符个数少的字符串大 c)字符串STOP 与STOP相等 d)字符串That小于字符串Theb错,字符串比较是从左到右第一个不一样第开始比较哪个大就哪个大,和字符串的长度没关系,当一个字符串短,他和长第字符串比较,长字符串前面和短字符串完全相同,那么长字符串大。c前一个字符串末尾有一个空格,后一个则没有,所以不相等。40.若有说明;int *p,m=5,n;以下正确的程序段的是_d_. a)p=&n; b)p=&n; scanf(%d,&p); scanf(%d,*p); c)scanf(%d,&n); d)p=&n; *p=n; *p=m;D是正确的A,B中 p是n的地址 那么如果要输入n 应该是scanf(%d, p);C中 p还没定义 给*p赋值就是给一个没有开辟的地址赋值了D是正确

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

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