C语言详细例题大全c语言经典例题100c语言程序设计例题

奥帕文库
当前位置:首页 » C语言详细例题大全 » 正文

C语言详细例题大全

c语言典型编程例题2011.
c语言典型编程例题2011.

C 语言详细例题大全

3. 下列字符中属于键盘符号的是()

「解」 因 C 语言的关键字表中没有 begin , 它不是 C 语言的 关键字。

所以解答是 ② 。

开始执行,不能从非主函数开始执行。

所以,说程可以从任何函 数开始执行是错误的。

所以解答是 ④ 。

「解」语言的基本词汇是指直接由字符序列组成,有确定意 义的最基本单位,所以 C 语言词汇有:字面形式常量。

特殊符 号(主要是运算符)、保留字和标识符等四类。

而表达式、函数 调用等是更高级的语言成分, 如表达式中还可分运算分量和运算 符等;函数调用也是一种表达式,它有函数名标识符、圆括号和 实际参数表等。

利用基本词汇,按照给定的 C 语言的句法规则, 就可命名程序对象,描述表达式计算、构造语句、函数,直至整 个程序。

通常在主函数中结束 (如没有在别的函数中调用终止程序执行的 库函数的话)。

「解」一般来说,一个字符在内存中只占 1个字节, „ \n‟ 是 转义字符,其意义是换行符,它作为一个字符存储,在内存也只 占五个字节。

所以解答是 ① 。

① ASCll 代码值 ② BCD 代码值 ③ 内码值 ④ 十进制代码值 「解」计算机存储字符,通常是存储字符的某种代码值。

有 许多种字符编码的方法,最流行的是 ASCII 代码。

在 C 语言中, Char 型数据也用 ASCII 代码表示。

所以解答是 ① 。

「解」因两个整型数据相除,结果是整数,当 a 的值为 5时,计算表达式 b=a/2后,使 b 的值为 2. 计算表达式 b =6-(—— a )是先计算子表达式(—— a )的,先让 a 的值减 1变 成 4,并以减 1后的 a 为子表达式的结果,所以子表达式的结果 为 4, 最后使 b 的值为 2. 在计算表达式 b= a%2时, 求余运算 a % 2的结果为 1,最后使变量 b 的值为 1. 计算表达式 b =a <3? 3: 2时,先计算条件表达式 a <3? 3:2,以 2为结果,最后也使 变量 b 的值为人所以解答是 ③ 。

「解」表达式(m =a >b )&&(n =a >b )是一个逻辑 表达式,它的计算过程是先计算逻辑与的左分量(m =a >b ,其 中又是先计算 a >b. 因 a >b 不成立, 结果为 0, 将 0赋给变量 m , 最后逻辑与的左分量结果为 0. 由于逻辑运算采用特别的优化计 算规则, 当逻辑与的左分量结果为 0时, 不再计算逻辑与的右分 量,而直接以 0为逻辑与的结果。

所以,上述表达式计算使 m 的值变为 0,而 n 的值没有变,依旧为 l. 所以解答是 ② 。

12. 设整型变量 i 的值为 3, 则计算表达式 i —— i 后表达式的 值为()

14. 若已定义 x 和 y 为 double 类型,则表达式:x =l , y =x +3/2结果是()

③ a >10&&a <15 ④ !(a <=10)&&!(a >=15) 「解」 数学关系式 10

只能是 11, 12, 13, 14四个值之 l.

+b , c =a +7则不是一个赋值表达式,而是一个逗号表达式, 它由两个赋值子表达式组成。

所以解答是 ③ 。

20. 用十进制数表示表达式 “12|012” 的运算结果是() ① 1 ② 0 ③ 14 ④ 16

「解」对于表达式 „a‟ &&„b ,两个非 O 运算分量的逻辑与结 果为 1. 对于表达式 a <=b ,由于关系式成立,结果也为此又由 于变量 a 为非 0,表达式 a||b+c&&b -c 的结果也为 1. 对于表 达式!((a

「解」将变量 i 的八进制数值 013写成二进制形式为 00001011,将变量 j 的十六进制值 oxl3写成二进制数形式为 00010011. 表达式 k =~i|j>>3的计算过程是先求~i ,结果用 八进制代码表示为 0177764;接着计算 j >>3,结果为 02. 对它 们进行按位或运算结果为 0177766. 所以解答是 ④ 。

「解」定义符号常量用预处理命令的宏定义,其定义的一般 形式是:

8. 设二进制数 A 是 0A101111, 若想通过异或运算 A ^B 使 A 的高 4位取反,低 4位不变,则二进制数 B 应 ______. 「解」 按位加运算的一个重要应用是让某个整型变量的二进 位位串信息的某些位信息反向, 0变成 1,而 1变成 0. 这只要 设计这样一个位串信息, 让要变反的位为 1, 不要改变的位为 0, 用这个位串信息与整型变量按位加就能得到希望的结果。

要使字 节的高 4位取反,低 4位不变,则需要位串信息是 11110000, 写成八进制数是 0360,写成十六进制数为 0xF0.

解」计算表达式 1.0+x /y ,先求 x /y ,因 x 和 y 是整型 变量, 其中的除运算是整除, 1/2的结果为 0. 接着计算 1.0+0, 计算时,先将右分量转换成 0.0,最后得到结果 1.0.

13. 能表述 “20

「解」在调用格式输出函数的语句中,其中每个格式符对应 一个输出项,格式符 d 要求输出项内容以十进制整数形式输出。

第一个输出项(a , b )是一个逗号表达式,该表达式的值是 b 的值,输出 4. 接着输出字符逗号。

第二个输出项(b , a )的值 是 a 的值,输出 3. 所以语句执行将输出 4, 3. 正解的选择是 ③ 。

#define 符号常量名 常量

1.25的字符序列都能满足要求。

问题给出的供选择答案中只有 x=1.25, y =1.25是能满足上述要求的。

所以正确选择是 ③ 。

3. 设有 int i=010, j=10; 则执行 “printf (”%d, %d\n“ , ++i, j —— ); ” 的输出是()

5. 设 X 、 y 、 Z 、 t 均为 int 型变量,则执行以下语句后, t 的 值为()

逻辑子表达式的计算,不再计算该逻辑子表达式。

计算 y++因 y 的值为 0,使 y++&&++z的结果为 0,立即去计算 ++X,这次计 算使变量 y 的值变成 1,而变量 Z 的值本改变。

接着计算 ++X, 使 X 的值变为 2. 所以经上述语句执行后, X 、 y 、 Z 的值依次为 2、 1、 Z. 确解答为 ④ 。

是()

③ while (0); ④ do 2; while (a ==b );

11. 若 i 、 j 已定义为 int 类型,则以下程序段中的内循环体的 执行次数是()

判定时,又让 b 减去 1. 第一次循环后,变量 b 的值变成 9,变量 a 的值变为 2,循环判断时,因 b 的值大于 0,循环条件不成立, 结束循环。

但在循环判断时,让 b 减去了 1,所以循环结束时, 变量 b 的值为 8. 正确的解答是 ④ 。

变成 3. 第三次循环后, 变量 X 的位变成 8. 第四次循环后, 变量 X 的值变成 5. 第五次循环后,变量 X 的值变成 10. 第六次循环时, 因变量 X 的位大于等于 10,直接跳出循环,这次循环是非正常 结束,对变量 y 的修正只执行了 5次。

所以循环结束后,变量 y 的值增至 6. 正确的解答是 ③ 。

条件值非 0时,将继续循环,而不是结束循环。

条件值为 0时, 才结束循环。

所以正确的选择是 ④ 。

「解」问题所给出的程序段用 goto 语句构造一个循环控制 结构,该循环结构的初值是让变量 W 的值为 k 的值,循环结束 条件是 W 的情等于 0,循环体是让变量 W 的值减 1,并输出一 个字符 * .上述循环控制过程用 for 循环可描述如下:

w —— ; prinif (“*” );

2. 若有定义 “int a=25, b =14, c =19; ” ,以下语句的执 行结果是 ______.

并; 第一个 if 语句的第二个成分语句与第二个 if 语句的第一个成 分语句合并,写成一条 if 语句如下:

if________________ {y=0; break ; }

「解」程序中,第一个 if 语句 if (a

同样第二个 IF 语句 IF (A

实际; 情况是 A 本来就比 B 和 C 都大, 所以 A 的值没有变, 程序输出 A 、 B 和 C 的原来值:10, 4, 3.

else{

的值变为 6,又让 y 减 1变成 5,并输出 5;又经两次循环, y 的值变成 3,让 y 减至变成 2,输出 2;再经两次循环后, y 的值 变成 0,结束循环。

所以程序输出 852.

}