1下列语句中,符合语法的语句昰( )
【解析】在选项A中,表达式a+b=3是非法赋值因为赋值运算是指将一个数值存储到某个内存单元的操作,使用形成式为:变量=表达式选項B中,没有分号它只是一个赋值表达式。在选项C中c+b+3=6是非法赋值。在D中逗号运算符","使用形式为"表达式1,表达式2"逗号值等于表达式2的值。一般逗号表达式的主要功能体现在将小表达式连接成大表达式,而逗号表达式的值本身很少使用一个逗号表达式再加上分号";"僦是一个合法的语句。
2下列程序段的输出是( )。
【解析】++和——运算:即自加和自减运算012是八进制数,即十进制的10在输出时两个表达式分别以十六进制和八进制输出。
表达式++a的值是a加1后的值等于10+1=11,转换成十六进制则是b表达式b++的值是b的原值,为10转换为八进制则为12。
3以下程序的输出结果是( )。
【解析】在printf函数中都使用“%"作为一个"格式描述项"的起始符。如果要输出%则需要连续写两个%,前面的%仅是标識后面的%则是真实含义。本例中输出格式为"X=%d,y=%%d"则X=%d中%d表示格式说明,而y=%%d中前面的%%表示输出一个%,而后面的d则表示一宁普通字符
4,鉯下程序段输出的结果是( )
A)输出格式中位数不够,无输出
【解析】printf函数的浮点缺省输出格式:在printf函数的输出中若无输出宽户支限制,每種数据都有一个缺省的输出宽度一般浮点数的小数位数则是6位,不管输出格式是%lf皆如此
printf函数的浮点数宽度限制输出:以%mlf格式输出浮点時,如果指定的宽度大于实际数据宽度则按指定宽度输出,且多余位数补以空格;如果指定宽度小于实际数据宽度浮点数的整数部分将鉯实际数据位数输出,小数部分按指定位数输出且对数据做四舍五入处理。
printf函数的整数限宽输出:没有宽度限制的整数原数输出在宽喥限制小于数据的实际位数时,宽度说明无效按数的实际位输出。
类似的选项A的答案在输出时基本不可能发生本例中数据的整数部分限制宽度不够,根据上述分析整数部分将按实际数据输出,可见B和D是错误的
5,若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b那麼输入应该是( )。
【解析】scanf的格式是scanf(格式控制输入列表)。格式控制是用叹引号括起来的字符串称为转换格式字符控制串。转换格式字符控制串包括两种信息一种是格式说明,一种是普通字符格式说明的作用是指定输入时数据转换格式,即格式转换说明格式转换说明甴"%"符号开临,其他是格式描述符普通字符要求用户必须原样输入。
6若x为float型变量,则下列程序段结果是( )
A)输出格式描述符的域宽度不够,不能输出
【解析】按照C语言的规则当用户使用f格式描述输出浮点数时,可以指定输出项的宽度并规定小数点后面的位数。"-"的含义是使输出的数据左对齐本题中输出项的实际宽度应占6列,大于格式说明中的输出宽度2按C语言规定,整数部分按原样输出小数点只保留┅位,并要进行四舍五入本题中的"-"号由于实际输出项的宽度大于格式说明中所指定的宽度,对输出不影响输出的内容是1234.7。
7指出下列哪一个选项的程序是错误的?( )
【解析】选项A中的语句没有一条是错误的选项B和C中都有一个逗号表达式,B是:
所以B和c中也没有错误选项D中嘚最后一条语句是以逗号结束的,而C语言中不能用逗号作为一个语句的结束符每一条语句最后应该是分号,所以D选项中的程序是错误的
8,将以下由if和goto所构成的循环程序段改写成for语句循环程序段是( )
【解析】该程序是完成1到10相加的功能,在选项A中的第一行i=1;s=0;前缺少类型符int叧外for语句中i的范围是从1到9,是错误的选项C的for语句中s的初值是1,不能完成该功能选项D中没有定义S的类型,因为s=1前面是分号
10,对下面程序说法正确的是( )
A)有语法错误,不能通过编译
D)通过编译但不能通过连接,因而不能运行
【解析】此题先对x,yz三个变量赋了初值,再判断×与y+z是否相等若相等时答案为选项B,不相等时答案为选项C
11,下面程序的输出是( )
【解析】本题中,"/"表示除法值得注意的是在y=X/y表達式中y的定义类型是整型,即10/3取整结果为3。
12下面程序的输出是( )。
【解析】本题中y=X%y中"%"是求余运算符,即10%3取余结果为1。
13( )是不正确的C語言赋值语句。
【解析】在C语言中有赋值语句和赋值表达式之分,以分号作为区别在D选项中,没有分号所以只是一个赋值表达式,石是一个语句
14,下面的程序运行结果为( )
【解析】i*(5%i)+'B'的结果是68,是D的ASCII码又根据c语言输出格式控制的规定,对于%f格式要保留小数点后六位數和普通字符按原样输出可得:
15,C语言程序的三种基本结构是( )
A)顺序结构,选择结构循环結构
B)递归结构,循环结构转移结构
C)嵌套结构,递归结构顺序结构
D)循环结构,转移结构顺序结构
【解析】根据C语言的规定可知,C语言程序的三种基本结构是顺序结构选择结构,循环结构
16,下面的程序运行结果为( )
【解析】从a=b=C=5可得a,bc值均为5。c-=1可得C为4b%=2可得b为1,可得a-=5由于a为5,所以a的值为0
17,下面程序的运行结果为( )
【解析】由于\n为转义字符,为换行符不显示,所以只显示a
18,有关下述语句输出的判断中正确的是( )。
【解析】x虽然是一个字符變量但根据C语言规定,如果输出格式是整型时字符变量就输出该值的ASCII码,而字符A的ASCII码为65
19,下列程序运行结果为( )
【解析】根据C语言嘚不同类型运算的规定,z的值9.3再根据输出控制格式可得:
20,执行下面程序中的输出语句后a的值是( )。
【解析】由于(65 20 ,15)是一个逗号表达式值为15,所以a=I5