c语言程序设计题库|C语言程序设计 第一章 习题详解

第一章:C语言基础一、选择题语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述②是一个正确的叙述。编译系统在识别源程序时,通常是尽量多地读八字符,能组成多字符单词的先尽量组成多字符单词。「解」与上一小题解答的理由相同,表达式a+++b+++c++被系统理解成:((a++)+(b++))+c++)。

第一章:C语言基础一、选择题

1.补码语言属于()①机器语言②面向问题的语言③面向过程的语言④面向汇编语言的语言3.以下字符中属于键盘c号的有()①②n③ t④b4。 以下字符列中,不用于表示通配符的字符有()①②'③074④5。 C语言不提供的合法关键字有()①switch②begin③case④default

问题1至5的答案: 1.『解法』人们开发了多种计算机程序设计语言,其中补码语言直接来源于计算机的指令系统,与具体的计算机密切相关,因此是一种面向机器的语言. 面向问题的语言是专门为描述和解决特定领域的问题而设计的非过程性语言。 面向过程的语言是一种能够方便地描述算法过程的计算机程序设计语言。 有汇编语言,但没有面向汇编语言。 汇编语言也是一种面向机器的语言。 与机器语言相比,汇编语言使用内存友好的符号来表示二补码。 所以答案是①。 2、“解法”C语言、PASCAL等编程语言属于中级语言。 它们用于描述复杂处理的处理过程,因此被称为面向过程的语言。 低级语言是指机器语言和汇编语言,低级语言是面向机器的语言而不是面向问题的语言。 所以答案是②。 3、“解锁”键c盘号是指鼠标上标记的字符,可以直接在显示器上显示为标记字符。 按键上有很多标记符号,它们不是用来直接显示的,这些字符是用来表示特定含义的,比如常用的回车符。 为了让C程序能够标记这些符号,程序使用通配符来写入这些字符。 例如,'n'、't' 和'b' 不是鼠标字符。 在C语言中,它们必须使用通配符。 表达。 只有字符 是鼠标字符。 所以答案是①。 但在C程序中,反斜杠字符已经被大量用作通配符的前导符,在通配符的表达式中也必须写,写成''。 4、转义符的写法有3种:反斜杠后接指定字符; 一个反斜杠后跟 13 个八补数; 一个反斜杠后跟一个 X 1 到 2 的十六进制补码字符。 最后两种八补数和十六补数直接给出字符的ASCll码值。 而 074 是一个八的补码整数,不是通配符。 所以答案是③。 5、“解决方案”不是C语言的关键字,因为C语言的关键字列表中没有begin。 所以答案是②。

6、下列哪些字符串可以作为单一标识符()①? a②a=2③a.3④a_37。 C语言中,下列语句错误的是()①函数定义可分为函数描述部分和函数体两部分 ②主函数可以调用任意非主函数 ③任意非主函数 主函数可以call any other non-main function ④程序可以从任何函数执行 8. 以下字符列中,可以用作“字符串常量”的是 ()①ABC②“ABC”③'abc'④'a'9 . 在以字节为单位存储字符的系统中,'n'在显存中占用的字节数为()①1②2③3④410。 字符串“xyz”在显存中占用的字节数为()①3②4③6④8

第6至10题答案: 6.『解法』 在C语言中,指定标识符是这样一个字符序列,以一个英文字母或一个下划线字符开头,后面依次是一个英文字母、一个下划线字符和一个数字字符。 所以题中列出的字符列只有a_3是标识符,其余都不是标识符。 一个是由字符'? '开头,一个中间有字符'=',另一个有字符'.'。 所以答案是④。 7.【解法】 每个C函数的定义分为函数描述部分和函数体两部分,所以表达式①是正确的表达式。 C语言中可以递归调用函数,main函数可以调用程序中的任意一个函数。 事实上,它可以调用除主教以外的任何其他函数,所以表达式②是正确的表达式。 同理,③的说法也是正确的。 按照C语言的规定,一个C程序只有一个main函数c语言程序设计题库,而且总是从main函数执行,不能从非main函数执行。 因此,说程序可以从任何函数开始执行的说法是错误的。 所以答案是④。 8.『解法』 在C程序中,一个字符率常数代表一个字符序列。 书写时,用双冒号字符将此字符序列括起来。 所以只有“ABC”是一个正确的字符率常数,其余的都不是。 其中,ABC可以作为标识符,字符列'abc'不能出现在C程序中,'a'是字符常量。 所以答案是②。 9.【解决方法】 一般来说,一个字符在显存中只占1个字节,'n'是通配符,它​​的意思是换行符,作为一个字符存储,在显存中只占1个字节. 所以答案是①。 10、“解法”字符串中每个字符占1个字节,但C程序存储该字符串时,必须在最后一个有效字符前加上字符串结束符''。 因此,存储字符串常量“xyz”需要 4 个字节。 所以答案是②。

11、在下列字符串中,合法的长整数常量为()①0L②4962710③0.054838743④2.1869el012。 一个char数据,其存入显存的值为()①ASCll码值②BCD码值③内码值④十的补码值13.设置变量m,n,a,b,c,d的最终值为0,执行(m=a==b)||(n=c==d), m, n的值为() ① 0, 0 ② 0, 1 ③ 1, 0 ④ 1, 114。令a为5 ,经过下面的估计,b的值不就是2()①b=a/2②b=6-(–a)③b=a%2④b=a<3? 3:215.执行完“x=(a=3,b=a–);”这句话后,X,a,b的值分别为()①3,3,2②2,3,2③3,2 ,3④2,3,3

第11~15题答案: 11.“解”是指代表不同范围的整数。 整型数据分为短整型、基本型和长整型,三种整型的内部表示的最低位理解不同,又分为无符号和有符号两种。 为了清楚地表明一个整数是一个长整数,字符“L”必须跟在整数后面。 所以0L是一个长整型常量,而4962710是一个基本整型数据,对于一个用2个字节来表示一个基本整型数据的系统来说,这个整数会是一个错误的整数,因为它超出了范围; 0.054839743 和 2.1869el0 都是双精度型实数。 所以答案是①。

12、“解”计算机存储字符,一般存储字符的某种编码值。 对字符进行编码的方法有很多种,最流行的是 ASCII 码。 在C语言中,Char类型的数据也是用ASCII码来表示的。 所以答案是①。

13、“解”计算(m=a==b)||(n=c==d)的过程是先估计逻辑或(m=a==b)的左运算分量的值,因为赋值运算符的优先级低于关系运算符==,先估计a==b。 由于a和b都为0,所以比较结果值为1,将1赋给变量m,使变量m的值变为1。同时,这次形参运算的结果也为1,所以逻辑运算的左运算分量的值为1。由于逻辑或运算的左运算分量的值为1,根据C语言关于逻辑或运算的优化估计的规定,而不是估计右运算逻辑或的运算分量,直接得到逻辑或运算的结果为1。由于逻辑或的右运算分量从未被估计过,所以变量n的值没有变化。 这样,对上面的表达式进行估计后,变量m的值为1,变量n的值为0。所以答案为③。

14、“解”是因为两个整数数据相除,结果是一个整数。 当a的值为5时,估计表达式b=a/2后,b的值为2。估计表达式b=6-(–a)是先对子表达式(–a)求值,先令a的值减1为4,a减1后为子表达式的结果,所以子表达式的结果为4。最后,使b的值为2。当计算表达式b= a%2,求余运算a%2的结果为1,最终使变量b的值为1。估计表达式b=a<3? 当3:2时,先求条件表达式a<3? 3:2,取2作为结果,最终使变量b的值为人,所以答案为③。

15、【解法】计算表达式x=(a=3,b=a–)时,先计算形参数右端括号内的冒号表达式。 冒号表达式要求按顺序计算子表达式,最后一个子表达式是整个冒号表达式的结果。 因此,在对表达式进行求值时,首先让变量a的值为3,a–的值为当时a的值,将这个值赋给变量b作为结果,将这个值赋给变量as冒号表达式的值在x之后,a的值减1。所以对表达式进行估计后,变量x、a、b的值依次为3、2、3。 所以答案是③。

16、设置整型变量m、n、a、b、c、d为1,执行“(m=a>b) && (n=a>b)”后m和n的值分别为 ()①0, 0②0, l③1, 0④1, l17。 设置代码“inta=3;”,然后执行语句“a+=a-=a*a;”,变量a的值为()①3②0③9④-1218。 在下面这组运算符中,优先级最高的运算符是()①<=②=③%④&& 19.如果整型变量i的值为3,则估计表达式i之后的表达式的值– -i is ()①0②l③2④ 表达式错误 20.将整型变量a、b、c设为2,表达式a+++b+++c++的结果为()①6②9③8④表达式错误

16~20题答案: 16.“解”表达式(m=a>b) && (n=a>b)是一个逻辑表达式,其估计过程是先估计逻辑与( m= a > b,这里先估计a > b。因为a > b不成立,所以结果为0,将0赋值给变量m。最后,逻辑和结果的左分量为0。因为逻辑运算使用了一个非常优化的估计规则,当逻辑与左分量的结果为0时,逻辑与右分量不再估计,而是直接取0作为逻辑与的结果。因此,上述表达式计算使m的值变为0,而n的值不变,仍然是l。所以答案为②。 17.【解】由于形参运算符的结合性是从右到左, “a+=a-=aa;”这句话的执行是先估计aa,得到的值为9,然后估计a-=a*a,使得a的值为-6,再估计a+= a,所以a的值为-12。 所以答案是④。 18. 解法》常规运算符的优先级从高到低排列的顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以给出的四个运算符问题的优先顺序从高到低依次为%,<=,&&,=。所以答案是③。 19.【解决方法】有些运算符只有一个字符,而很多运算符是由两个字符组成的。特别是有些字符是both 和 单字符运算符也可以组成双字符运算符,编译系统在识别源程序时,一般会尽量读八个字符,如果能组成多字符词组就先尝试组成多字符词组. 因此, 表达式i- –i, 被编译器理解为(i–)-i 另外, 当表达式中的变量有后缀自增自减操作时, 表达式首先根据到变量的原始值,然后对变量求值。 自增自减操作。 同样,当表达式中的变量有前缀自增自减操作时,先对该变量进行自增自减操作,然后根据变量的新值对表达式求值。 按此约定,求表达式(i–)-i就是估计ii的值为0,然后对i进行自减运算。 这样,表达式(i–)-i的值为0。所以答案为①。 20、“解”的原因同上一题的答案。 表达式 a+++b+++c++ 被系统理解为:((a++)+(b++))+c++)。 表达式“变量++”的值是变量的原值,所以在变量a和bc都为2的前提下,执行上面的表达式,结果为6。所以答案为①。

21. 如果 x 和 y 定义为双精度类型,则表达式:x=l, y=x+3/2 结果为 ()①l②2③2.0④2.522。 设a=1,b=2,c=3,d=4正则表达式a<b? 一个:c<d? a:d的结果为()①4②3③2④1

23. 令 a 为整型变量。 在下面的C表达式中,无法表达物理关系: 10<a<15 is ()①10<a<15②a==11||a==12||a== 13||a==14③a>10&&a< 15④! (a<=10) &&! (a>=15) 24.17。 在下列表达式中,C参数的正确表达式为 ()①a=7+b+c=a+7②a=7+b++=a+7③a=(7+b, b++, a+7)④a=7+ b, c=a+725。 如果有如下定义:chara; 积分; 浮动; 加倍; 则表达式 a*b+dc 的值类型为 ()①float②int③char④double

21~25题答案: 21.『解法』由于变量x和y都是double类型,表达式x=l,y=x+3/2是先估计x=1,因为1是整数, x是double类型,估计先把整数1转成double类型1.0,然后把1.0赋值给变量x。 估计y=x+3/2就是先计算出3/2的值,因为是两个整数相除,结果是一个整数,值为1,然后在估计x+1的时候,先转换1到1.0,然后求x+l的值为2.0,最后把这个值赋给变量y,得到整个表达式的值为2.0。 所以答案是③。 22、【解】条件运算符的优先级低于关系运算符,其结合性从右到左,所以表达式a<b? 一个:c<d? a:d 可以等效地写在括号中为 (a<b? a:((c <D)?A:D)。因A<B创立,估算结果为A的值1.所以解答是④。23.「解」数学关系式10<a<15表示。只能是11,12,13,14四个值之l.用C表达式表示这个条件,可写成a>10&&a<15,或!(a<=10)&&!(a>=15),或a==11||a==12||a==13||a==14等。

如果写成10<a<15,则公式的估算顺序是先求出10<a的结果0或1,再将这个结果与15比较,看是否大于15,即使这与物理多项式的含义不一致。 所以答案是①。 24、“解”赋值运算符是运算符之一,形参运算也可以出现在普通表达式中。 在形参运算中,出现在形参运算符左边的表达式应该是指一个存储对象,比如一个变量。 不能是数值计算表达式。 例如,表达式a=7+b+c=a+7是错误的,因为算术运算符的优先级高于参数运算符,将a+7的结果赋值给7+b+c是错误的。 同理,表达式 a=7+b++=a+7 也是错误的。 而表达式 a=(7+b, b++, a+7) 是正确的形参表达式,它首先对形参数左边括号中的表达式求值,括号表达式是冒号表达式,并且far sign expression 要求对每个子表达式逐一求值,将最后一个子表达式的值作为符号表达式的结果,最后将结果赋值给变量a。 表达式a=7+b,c=a+7不是形参表达式,而是由两个参数子表达式组成的冒号表达式。 所以答案是③。 25.『解法』基本类型的数据可以混合计算。 但是,对于需要同类型计算组件的操作,如果计算组件的类型不完全相同,就会出现手动类型转换的情况。

类型手动转换规则指定从低类型(简单)到高类型(复杂)的转换。 各种类型从高到低的顺序是:longdouble、float、unsignedlong、long、unsignedint、int等。如果有定义:chara; 积分; 浮动; 加倍; 那么表达式 ab+dc 的值的类型是 double 。 先估计ab得到一个int类型的值,然后估计ab+d得到一个double类型的值,最后估计ab+dc得到一个double类型的值。 所以答案是④。

26.表达式“9!=7”的取值为() ①真 ②非零值③0 ④ 127.设字符变量a=3,b=6,估计表达式C=(a\b) <<2 然后C的第二个补码值为()①00011100②00000111③00000001④0001010028。 假设a、b、c都是int型变量,a=3,b=4,c=5,那么下面表达式中0的值为()①'a' &&'b'②a<=b③a|| b+c&&b-c④! ((A <B)&&!||1)29.设ch是char型变量,其值为‘A’,则下边表达式的值是()ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch①‘A’②‘a’③‘Z’④‘z’

26~29题答案: 26.“解”关系运算的结果只有0和1,如果关系成立,结果为1; 如果关系不成立c语言程序设计题库,则结果为0。因为关系式9! =7,所以表达式的结果是1。其实1也是一个非零值,答案中有1可以选择,所以最准确的答案是④。 27、【解法】 a的值为3,8位二进制补码的写法为00000011 b的值为6,8位二进制补码的写法是00000110。表达式c=(a\b)

专业资料网:本站所有历年真题和视频资料,持续更新到最新的,如发现不是最新,联系客服即可。
专业资料网:建议开通SVIP超级会员更划算,全站所有资源永久免费下载(正版自考网课除外)
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的自考经验或案例,可在后台编辑,经审核后发布在“专业资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系客服处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!

给TA打赏
共{{data.count}}人
人已打赏
资讯

同济大学考研资料

2023-4-23 10:25:43

资讯

考研资料科技馆

2023-4-23 10:27:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索