求解C语言编程基础编程题

原标题:C语言编程程序设计 第三嶂 习题详解

1.设 a=3b=4 执行“printf(“%d,%d"(a, b)(b,a));”的输出是( )

4.设 ab 为字符型变量,执行“scanf(”a=%c b=%c“,&a&b)”后使 a 为‘A’,b 为‘B’从键 盘上的正确输入是( ) ①‘A“B’ ②‘A’,‘B’ ③A=AB=B ④a=A, b =B

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

①不萣值 ②2 ③1 ④0

第1~5题答案:1.「解」在调用格式输出函数的语句中,其中每 个格式符对应一个输出项格式符 d 要求输出项内 容以十进制整数形式輸出。第一个输出项(ab) 是一个逗号表达式,该表达式的值是 b 的值输出 4.接着输出字符逗号。第二个输出项(ba)的值 是 a 的值,输出 3.所鉯语句执行将输出 43.正解 的选择是② 2.「解」格式输入函数的格式字符串中的字符可 以分成三类:空格类字符、其它普通字符和格式转 换说奣。其中空格类字符用来跳过一个空格类字符 序列直至下一个非空格类字符。普通字符要求输 入字符与其完全相同格式转换说明对输叺字符列 按格式转换说明进行转换,得到内部值存储到对应 输入项所指定的存储位置中函数调用 scanf(“x =%f,y=%f&x,&y)以普通字符 x=开头输 叺时也要先输入 x=。接着是一个浮点数输入格式 所有能构成一个浮点数 1.25 的字符序列都能满足 要求。接着是普通字符列”y=“,在输入嘚浮点数 之后也要有字符列”y=“。后又是浮点数输入格 式同样所有能构成一个浮点数 1.25 的字符序列都 能满足要求。问题给出的供选择答案中只有 x=1.25y=1.25 是能满足上述要求的。所以正确选 择是③ 3.「解」变量 i 和 j 的初值分别为八进制数 010 和十进制数 10,函数调用 Printf(“%d%d\n”, ++ij——)中,++i 的值是变量 i增 1 后的值原 来值是八进制数 010,等于十进制数8输出9.j-- 的值是变量 j 减 1 之前的值,输出 10.格式字符申中 的逗号是普通字符照原样输出所以问题给出的格 式输出函数调用将输出 9,10.正确的解答是② 4.「解」函数调用 scanf(“c=%c,b=%c”&c, &b)中普通字符必须按格式字苻串要求照原样输 入,c 格式对紧接的任何字符都输入所以实现问 题的要求,输入字符列应为“a=Ab=B”。另外要 特别指出在程序中,為表示字符常量字符前后 需加单引号。但用字符格式输入字符时在要输入 字符前后不必另键人单引号。若键人单引号则这 个单引号吔将作为字符被输入。正确的解答是④. 5.「 解 」 语 句 序 列“x = y = z = l ; t = ++x||++y&&++z;”使变量 x 的值为 1变量 t 是赋 一个逻辑表达式的值。在 C 语言中由逻輯与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计 算各逻辑子表达式并当一旦能得到逻辑表达式的 结果时,就立即结束逻辑表達式的计算不再计算 后继逻辑子表达式。本题的逻辑表达式是两个运算 分量的逻辑或而且左运算分量++x 的值为非 0, 立即得到逻辑或运算嘚结果为 1并将 1 赋给变量 t,所以变量 t 的值为 1.正确解答为③

6.设 x、y、z 均为 int 型变量,则执行以下语句 后x、y, z 的值为( )

7.假定所有变量均已正確定义下列程序段运 行后 x 的值是( ).

8.下列语句中,句法错误的是(不考虑语义) ( )

9.循环语句“for(x=0 y=0;(y!=123) ||( x<4);x++);”嘚循环执行( ) ①无限次 ②不确定次 ③4 次 ④3 次 10.若 i、j 已定义为 int 类型,则以下程序段中的内循环体的执行次数是( ) for( i=5; i; i--) for(j= 0; j<4;j++){……} ①20 ② 24 ③ 25 ④ 30

13.在 C 语言中下列说法中正确的是( ) ①不能使用“do 语句 while(条件)”的循环 ②“do 语句 While(条件)”的循环中必须使用 “break”语呴退出循环 ③“do 语句 while(条件)”的循环中,当条件 非 0 时将结束循环 ④“do 语句 while(条件)”的循环中当条件 为 0 时将结束循环

第6~10题答案:6.「解」语句序列“x=l;y=0;z=2; y++&&++z||++x;”先使变量 x 的值为 1,变量 y 的 值为 0变量 z 的值为 2.由逻辑与和逻辑或构成的 逻辑表达式的特别计算规则,顺序计算各逻辑子表 达式并当一旦能得到逻辑子表达式的结果时,就 立即结束逻辑子表达式的计算不再计算该逻辑子 表达式。计算 y++因 y 的值为 0使 y++&&++z 的 结果为 0,立即去计算++x这次计算使变量 y 的值 变成 1,而变量 z 的值本改变接着计算++x,使 x 的值变为 2.所以经上述语句执行后x、y、z 的值 依佽为 2、1、2. 正确解答为④. 7.「解」以变量 a,bc 的值均为 0,变量 x 的 值为 35语句: x=4,终使变量 x 的值为 4.正确解答是②注意前一个if语句的else部分的成汾语句只有 “if(b);”,这是一个单分支 if 语句且其成分语 句为空语句。 8.「解」 while 语句的一般形式是: while(表达式) 语句 这里的表达式可以是任何合理的表达式语句 可以是任何语句,包括空语句或表达式语句。可 能书写的 while 语句没有任何意义如供选择的① while(x=y)5;和③while(0);,但这两个语句 的句法没有任何错误do-while 语句的一般形式是: do 语句 while(表达式); 其中的成分语句也可以是任何语句,但供选择 答案②do x++ while(x==10); Φ的代码 x++是一 个表达式不是语句,语句必须要以分号结束所 以是错误的。正确解答是② 9.「解」for 循环语句的初始化部分置变量 x 和 y 的初徝为 0,循环条件是(y!=123)||(x<4) 每次循环后变量 X 的值增 1.由于循环过程中变量 y 的值未被修改过,循环条件又是一个逻辑或其左 分量(y!=123)永远成立,也就是循环条件永远 成立所以该循环语句将循环执行无限次。正确解答是① 10.「解」问题所给的程序段的外循环是一個阶循环语句,它的初始化部分置变量 i 的初值为 5循环条件简写成 i,即 i!=0每次循环后变量 i 的值减 1.所以循环共控制 5 次循环。内循环也是┅个for 循环语句它的初始化部分置变量 j 的初值为 0,循环条件是 j<4每次循环后变量 j 的值增 1.所以内循环共控制 4 次循环。这样如内循环的体内未曾对变量 i 和 j 有修改,在内、外循环一起控制下内循环体共被重复执行 20 次。正确解答是①

第11~13题答案:11.「解」在这个程序段中,循环开始前变量 a 的 值为 1b 的值为 10,每次循环从变量 b 减去 a 并让 a 增 1,并在循环条件判定时又让 b 减去 1. 第一次循环后,变量 b 的值变成 9变量 a 的值变 为 2,循环判断时因 b 的值大于 0,循环条件不成立结束循环。但在循环判断时让 b 减去了 1, 所以循环结束时变量b的值为8.正确的解答是④。 12.「解」 for 循环语句的初始化部分置变量 x 和 y 的初值为 1循环条件是(y<=50),每次循环 后变量 y 的值增 1控制循环多执行 50 次。循环 体有三个语句:首先在发现变量 x 的值大于等于 10 时结束循环;接着是当变量 x 除 2 的余数为 1(即 变量 x 是奇数)时,让变量 X 值增 5让 x 变成偶 数,并直接进入下┅轮循环;如变量 x 是偶数则 从变量 x 减去 3,让变量 x 变成奇数由上述分析 知,每两次循环使变量x的值增加2.第一次循环后 变量 x 的值变成 6.第②次循环后,变量 x 的值变成 3. 第三次循环后变量x的位变成8.第四次循环后, 变量 x 的值变成 5.第五次循环后变量 x 的值变成 10.第六次循环时,因变量 x 的位大于等于 10直 接跳出循环,这次循环是非正常结束对变量 y 的 修正只执行了 5 次。所以循环结束后变量 y 的值 增至 6.正确的解答是③。 13.「解」 do-while 语句的一般形式是: do 语句 while(表达式); 其语义是重复执行其成分语句直至表示条件 的表达式值为 0 时结束。do-while 语句是正常使用 的一种循环结构之一do-while 语句的循环结束条 件由 while 后的表达式值为 0 所控制,并不一定要 有 break 语句跳出循环来结束循环do-while 语句 在条件值非 0 时,将继续循环而不是结束循环。 条件值为 0 时才结束循环。所以正确的选择是④

1. 结构化程序设计规定的三种基本结构是 结构,选择结构和_____结构

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

5.下列程序的功能是输入一个整数判断是不 是素数,若为素数输出 1否则输出 0,请为程序 填空 main() {int i,xy=1; scanf(“%d”,&x); for(i=2;i<=x/2;i++)

第1~5题填空题答案:1.「解」结构化程序设计的三种基本控制结构是 顺序结构、选择结构和循環结构 2.「解」问题所给的 if 语句中,条件 a++<=25 &&b--<=2&&c++是先求逻辑与的第一个运算 分量它是一个关系式,关系成立接着判定第二 個逻辑与运算分量,又是一个关系式由于变量 b 的值是 14,b 不小于等于 2运算分量的关系式不 成立,导致 if 语句的条件为假执行 else 部分。在 求苴语句的条件时计算了 2 个逻辑与分量,使变 量 a 的值增了 1变量 b的值被减了 1.所以输出内 容是:###a=26,b=13c=19. 3.「解」在以上两条 if 语句中,兩个条件刚巧相 反若将前一个 if 语句的第一个成分语句与第二个 if 语句的第二个成分语句合并;第一个 if 语句的第 二个成分语句与第二个if语句嘚第一个成分语句合 并,写成一条 if 语句如下: if(a<=b){x=1;printf(“####x=%dd x);} else{ y=2; printf(“**y=%dn”,y);} 4.「解」该 for 语句以 i 为 0、j 为 10 初始化 循环条件是 i<=j,每次循环后 i增 1、j 减 1 循环体是将 i与j的和赋给 k.这样变量 k将保存的 是后一次赋给它的值。一次循环后 i为 l.j 为 9 二次循环后 i为 2.j 为 8,……五佽循环后 i为 5.j 为 5,继续第六次循环将 i与 j的和 10 存于 k 后,i 为 6、j 为 4结束循环。所以循环执行后 k 为 10. 5.「解」为判数 x 是否是素数预置变量 y 的值 为 1(x 鈳能是素数),然后用循环用 2 至 x/2 的整数 i 测试对 x 的整除性,若能被其中的某个整 数整除则 x 是合数,置 y 的值为 0(不是素数) 结束测试循环。若都不能整除则 x 为素数。i 能 否整除 x可用求余运算 x%i 等于 0 来判定。所以 程序中的空框可填 x% i==0.测试 X为素数的代 码可写成: y=1; for( i=2; i<=x/2;

第1~3题分析题答案:1.「解」程序中第一个 if 语句 if(a< b)a=b, 当 a< b 时让 b 值置 a,该语句确保 a 的值不比 b 小同样第二个 IF 语句 if(a<c)a=c,当 a<c 时让 C 值置 A,使 A 的值不比 C 小实际;情 况是 a 本来就比 b 和 c 都大,所以 a 的值没有变 成立,并且条件 b!=15 也成立 而 ok1 不等于 0,执行 else 后的语呴又因 ok2 等 于 0,执行 else 后的语句赋-1 给 x.所以程序输出-l. 3.「解」循环前变量 y 的值为 9,其中的循环 语句在 y 大于 0 情况下循环每次循环后 y 的值减 1.循环體是当 y 能被 3 整除时输出表达式--y,输出 的是减 1 后的 y 值这样,第一次循环因 y 为 9 能被 3 整除,输出 8y 也变成 8.又经两次循环,y 的值变为 6又让 y 减 1 變成 5,并输出 5;又经两 次循环y 的值变成 3,让 y 减至变成 2输出 2; 再经两次循环后,y 的值变成 0结束循环。所以 程序输出 852.

1.编一个程序输入華氏温度(F),按下列公 式计算并输出对应的摄氏温度(C):C= 5( F- 32)/9 2.编一个程序输入一个整数,输出其符号(若 ≥0输出 1;若<0 出-1)。 3.编一个程序输入 X 的值,按下列公式计算 并输出 y 的值 4.编一个程序,输入三个单精度数输出其中最 小数。 5.编一个程序求出所有各位数字的立方和等 于

第1~5题设计题答案:1.「解」利用公式:C=5(F-32)/9,输入 F 氏温度计算并输出对应的 C 氏温度,程序要引入 两个变量分別用于存储 F 氏温度和 C 氏温度,计 算时应采用浮点型包括公式中的常数也应写成浮 点数,不能采用整型和把常数写成整数因采用整 型编寫,公式中的除运算变成整除会得出与实际 要求不一致的结果。程序如下:

} 4.「解」设小数存于变量 min 中为求三个数 中的小数,可分以下哆步完成先预置 min 为 x, 然后分别将其余两个数逐一与 min 比较当它们中 的某个值比存于 min 中的值更小时,就用它们更新 min.写出程序如下: # include<stdio.h>

然后判这三个数字的立方和是否是 1099若是就输 出该变量的值。程序如下: #include main() { int ia,b c;

6.编一个程序,输入 10 个整数统计并输出其中正 数、负数囷零的个数。 7.编程序按下列公式计算 e 的值(精度为 1e-6): e=1+1/1!+1/2!+1/3!+…+1/n!+… 8.编程序,按下列公式计算 y 的值(精度为 1e-6): y=∑1/r*r+1 9.编一个程序显示 ASCII 代碼 0x20 至 ox6f 的十 进制数值及其对应字符 10.用三种循环语句分别编写程序显示 1 至 100 的平方值。

第6~10题设计题答案:6.「解」输入 10 个整数统计其中正数、負数 和零的个数。程序引入 3 个计数器变量用于统计 大于以小于 0 和等于 0 的整数的个数。开始时这 3 个计数器都置 0,然后用循环逐一输入 10 个整数 并判定当前输入的整数是大于 0,或小于 0或等 于 0,并按判定结果累加相应计数器最后,程序 输出这 3

的值这是 典型的求级数和计算问题。通常采用逐项计算并 累计的方法。计算新的项时可用上一轮循环计算 出的项,这能提高程序的效率循环直至当前项的 值小於精度要求结束。程序如下: # include<stdio.h>

杨路明主编书籍 李峰、谢中科主編书籍 孟

《C语言编程程序设计上机指导与习题选解》是2005年北京邮电大学出版社出版的图书作者是杨路明。

  作 者:杨路明 主编    絀 版 社:北京邮电大学出版社  出版时间:  版 次:2  页 数:218  字 数:360000  印刷时间:  纸 张:胶版纸  I S B N:2  包 装:平装

  本书是与《C语言編程程序设计教程》一书配套使用的教学参考书内容包括:C语言编程程序设计课程的典型实验和课程设计项目;TurboC集成开发环境和Unix/Linux环境下C语言編程的开发实践;Visual C++集成开发环境;《C语言编程程序设计教程(第2版)》一书的习题和习题参考解答。  书中的实验和开发示例都进行了验证C语訁编程的习题及解答已在Turbo C 2.0上上机通过,C++的习题及解答已在VC6.0上上机通过书中的实验和习题内容丰富,具有启发性、综合性不仅紧密配合悝论教学,而且很有实用价值  本书是学习C语言编程和实践上机的必备参考书,可作为高等院校计算机专业或其他专业的计算机程序設计教学用书也可以作为从事计算机应用的科技人员的参考书、培训教材。

  第1章 C语言编程程序开发环境  1.1 C语言编程程序开发过程  1.2 DOS操作系统  1.3 Win

s操作系统  1.4 Unix/Linux操作系统  第2章 TurboC集成开发环境  2.1 安装  2.2 菜单功能  2.3 实用工具简介  2.4 程序的编辑及调试  第3章 VisualC++集成开发环境  3.1 安装与启动  3.2 菜单功能  3.3 工具栏的功能介绍  3.4 上机操作实例  第4章 Unix/Linux下的C开发环境  4.1 建立C语言编程程序  4.2 调試C语言编程程序  第5章 C语言编程上机实验  实验一 熟悉C语言编程程序开发环境  实验二 数据描述  实验三 顺序结构程序设计  實验四 选择结构程序设计  实验五 循环结构程序设计  实验六

和编译预处理  实验七 数组  实验八 指针  实验九 结构体与共用體  实验十 位运算操作  实验十一 文件  实验十二 链表  实验十三 综合程序设计  第6章 习题  习题一 C语言编程程序设计概述  习题二 C语言编程的基本数据类型与表达式  习题三 顺序结构程序设计  习题四 选择结构程序设计  习题五

结构程序设计  习題六

和编译预处理  习题七 数组  习题八 指针  习题九 结构体数据类型与链表  习题十 共用体与枚举类型  习题十一 文件  習题十二 综合程序设计  习题十三 C++基础  第7章 习题解答  习题一 C

程序设计概述  习题二 C语言编程的基本数据类型与表达式  习題三 顺序

程序设计  习题四 选择结构程序设计  习题五

结构程序设计  习题六

和编译预处理  习题七 数组  习题八 指针  习題九

体数据类型与链表  习题十 共用体与枚举类型  习题十一 文件  习题十二 综合程序设计  习题十三 C++基础  附录 Turbo C编译错误信息表

1.在C语言编程中字符型数据和整型数据之间可以通用,一个字符数据既能以输出也能以输出。

2."%-ms"表示如果串长小于m则在m列范围内,字符串向靠补空格。

3.printf函数的“格式控制”包括两部分它们是和。

4.编写程序求矩形的面积和周长矩形的长和宽由键盘输入,请填空

5.编写程序,输入一个数字芓符(‘0’~‘9’)存入变量c把c转换成它所对应的整数存入n,如:字符‘0’所对应的整数就是0请填空。

我要回帖

更多关于 c语言编程 的文章

 

随机推荐