程序设计基础(C)作业答案
程序设计基础(C)作业答案(带原题)

《程序设计基础(C)》作业第1章C语言的基本构成一、选择题1.(A)是构成C语言程序的基本单位。
(A)函数(B)过程(C)子程序(D)文件2.(B)是C语言提供的合法的数据类型关键字。
(A)Float (B)signed(C)integer (D)Char3.以下选项中不合法的用户标识符是(A)。
(A)abc.c (B)file(C)Main (D)PRINTF4.以下选项中不合法的用户标识符是(AB)。
(A)l23 (B)printf(C)A$(D)Dim5.合法的C语言长整型常数是(A)。
(A)0L (B)5712700(C)0.054838743 (D)2.1869e106.C语言中,要求运算数必须是整型的运算符是(A)。
(A)% (B) /(C)< (D)!7.以下选项中正确的整型常量是(B)。
(A)12. (B)-20(C)l,000 (D)04588.以下选项中不正确的实型常量是(B)。
(A)2.607E-1 (B)0.8103e2.(C)77.77 (D)456e-29.C语言中运算对象必需是整型的运算符是(D)。
(A) \ (B) +(C) * (D) %二、程序调试题1.编辑、调试以下程序步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件int z;z=x+y;return z;}int main( ){int add(int,int); /* 函数的说明,告诉系统在主函数中要调用add函数 */ int a,b,c; /* 变量的定义*/scanf("%d %d\n",&a,&b);c=add(a,b); /* 函数调用 */printf("%d+%d=%d\n",a,b,c);/* 调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出 */}请思考文件ex1-1.c由几个函数构成?由个函数构成调用了那几个系统函数?调用2个系统函数,分别是scanf和printf此程序中用到了哪几个保留字?哪几个用户自定义标识符?保留字:int,return 自定义表示符:z,x,y,a,b,c步骤3:编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。
C程序设计基础胡同森课后答案

目录一、C 语言程序设计习题参考答案 (1)二、C语言程序设计复习题⒈单项选择题 (41)⒉填空题 (45)⒊写输出结果题 (46)⒋程序填空题 (53)⒌编程题 (61)三、C语言程序设计复习题答案⒈单项选择题 (62)⒉填空题 (63)⒊写输出结果题 (63)⒋程序填空题 (64)⒌编程题(参考) (65)四、C语言程序设计模拟试卷、参考答案⒈试卷一 (74)⒉试卷二 (77)浙江工业大学计算中心编印C程序设计习题参考答案习题一1. 填空题⑴计算机程序设计语言按其发展可分为三类,即机器语言、汇编语言和高级语言。
⑵ C程序是由函数构成的,一个C程序中至少包含 1个main函数。
因此,函数是C程序的基本单位。
⑶ C程序注释是由 /* 和 */ 所界定的文字信息组成的。
⑷函数体一般包括函数首行和函数体。
⑸在任何C程序中都必须且只能有一个主函数, 主函数名必须为 main 。
2. 判断下列各个叙述的正确与否⑴ C程序的执行总是从该程序的main函数开始,在main函数最后结束【√】⑵ C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运行不起任何作用,但可以增加程序的可读性【√】⑶由“/*”与“*/”界定的注释必须在同一行【╳】⑷通过了编译、连接的程序就是正确的程序【╳】⑸有计算结果输出的程序一定是正确的程序【╳】⑹编译错误是语法错误,运行结果错误是逻辑错误【√】⑺编译时在信息窗口出现包含“error”的信息,说明程序存在警告性错误【╳】⑻源程序每次修改后,都必须重新编译、连接【√】3. 简答题⑴算法的含义、特点是什么?解答:算法是解题方法的精确描述。
有穷性、确定性、有多或零个输入、有1或多个输出、有效性。
⑵写出一个C程序的基本结构。
由编译预处理命令、注释、1个main和若干个自定义函数构成,函数格式如下:函数类型函数名(类型标识符形参,类型标识符形参,...){ 类型声明语句; 执行语句部分; }⑶写出在你使用的计算机系统上,进入C环境以及运行、调试程序的简要步骤。
C程序设计基础练习题4及答案

一、单选题1、以下数组定义中,错误的是()。
A.inta[3]={‰2,3,4};B.inta[]={l,2,3};C.inta[5]={l z2,3};D.inta[5],b;正确答案:A解析:A、数组长度为3,但赋了4个初值2、设有定义inta[10]={0};则说法正确的是()。
A.数组初始化错误,初值个数少于数组元素个数B.数组a有10个元素,各元素的值为0C.数组a有1个元素,其值为0D.数组a有10个元素,其中a[0]的值为0,其他元素的值不确定正确答案:B解析:B、当定义的同时,给数组赋了初值,但初值个数小于数组长度时,剩余的数组元素全赋为03、执行下面的初始化语句,()保存的不是字符串。
A.charstr[6]={,S, ,r,,,i√n,,,g,};B.charstr[]={'S';t','r,,,i,z,n∖,g,,0};C.charstr[10]={'S',,t',,r',,i√n∖,g,,,∖0,};D.charstr[10]="String";正确答案:A解析:A、Str数组长度为6,6个元素值都不是'0)没有成为字符串B›,∖0,的ASClI码是0,初始化为。
或'∖0'是一样的。
4、设有以下定义,则数组Sl和s2()ocharsl[]={'S'z,t','r'∕i√n','g');chars2[]="String";A.长度不同,但内容相同B.长度相同,内容也相同C.长度相同,但内容不同D.长度不同,内容也不同正确答案:D解析:D、s2比Sl多一个∖0T长度多15、设已定义charstr[6]={,a√b√∖O√c√d√∖O,};执行语句printf(("%s",str)后,输出结果为()。
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
C语言习题(详细解答)

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3,叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C程序可以分模块写在不同的文件中,编译时再将其组合在一起,选项D)错误。
C程序设计基础第二版(高等教育出版社)习题答案

C程序设计基础第二版(高等教育出版社)习题答案习题一参考答案第1章C++语言概述一、选择题:1.D2.A3.D4.A5.A6.D7.C8.B9.B二、改后如下:#include//预处理指令,原程序缺少“#”号intmain()//定义主函数,原程序缺少返回值类型“int”(也可为“void”){cout<运行后输出:HelloWorld!三、简答题1、解答:在较大或较复杂的C++程序中,加上相关的注释信息,解释相应的程序,可提高程序的可读性。
2、C++语言有两种注释:(1)C++型注释。
从“//”开始,该行中所有字符都被作为注释处理。
(2)C型注释。
“/某”表示注释的开始,“某/”表示注释的结束,在“/某”、“某/”之间的字符均被视作注释。
3、C型注释主要用于大块注释,而且C++型注释可以嵌在C型注释中。
四、程序设计题1、编写一个程序,在屏幕上输出“IcanueC++”。
解:#includeintmain(){cout<运行后输出:IcanueC++2、参照例题,设计一个C++程序,输入两门课程的成绩,求总成绩。
解:#includemain(){int1,2,um;cout<cin>>1>>2;um=1+2;cout<}3、参照例题,设计一个C++程序,输入a、b两个整数,输出其中的最小数。
解:#includevoidmain(void){intmin(int某,inty);inta,b,m;cout<>a>>b;m=min(a,b);cout<intmin(int某,inty){intz;if(某z=y;returnz;}习题二参考答案第2章数据类型和表达式一、选择题1.C2.B3.B4.B5.A6B7.D8.C9.D11.D12..A13.D14.A15.B16.B17.B18.C19.A二、填空题1、基本类型导出类型用户定义类型2、63、iotream#include<iotream>4、一个int型数据占用的字节数5、210.C6、77、1008、?:9、falefaletrue10、(50<某)&&(某<=100)或!((50>某)||(某>100))11、(m)某100+((m/10))某10+m/10012、非零13、114、字母数字下划线15、4.5三、问答题1.C++语言中用数值“1”表示“真”,数值“0”表示“假”。
《C程序设计》作业参考答案(1-4章)

第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
C程序设计基础(第4版)习题解答

2.用 C++语言编写的源程序要成为目标程序必须要经过( D )。
(A)解释
(B)汇编
(C)编辑
(D)编译
3.C++程序中冒号
(B)分号
(C)空格
(D)花括号
4.假设有说明 int a=0; double x=5.16;,则在以下语句中,( C )属于编译错误。
一个最简单的c程序可以只有一个a库函数a解释冒号b自定义函数b汇编b分号cmain函数c编辑c空格d空函数d编译d花括号2
《C++程序设计基础》(第 4 版)(上)
习题与解答
第 1 章 基本数据与表达式
1.1 选择题
1.一个最简单的 C++程序,可以只有一个( C )。
(A)库函数
(B)自定义函数
(C)main 函数 (D)空函数
【解答】
变量类型
定义
存储
使用方式
数据
类型 标识符
数据值
通过名访问即直接访问对变量内容操作
指针
类型 * 标识符
地址值
通过指针变量的地址值间址访问对象
验证程序:
#include<iostream>
using namespace std;
int main()
{ int a,b,c;
cout<<"a,b,c= ";
} 4.数据对象在 C++中有几种不同的访问方式?请编写一个程序验证之。
【解答】
数据对象在 C++中的访问方式有:名访问,引用(别名)访问,间址访问。 验证程序:
#include<iostream> using namespace std; int main() { int a;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计基础(C)》作业第1章C语言的基本构成一、选择题1.( A )是构成C语言程序的基本单位。
(A)函数(B)过程(C)子程序(D)文件2.(D )是C语言提供的合法的数据类型关键字。
(A)Float (B)signed(C)integer (D)Char3.以下选项中不合法的用户标识符是( C )。
(A)abc.c (B)file(C)Main (D)PRINTF4.以下选项中不合法的用户标识符是(C )。
(A)l23 (B)printf(C)A$(D)Dim5.合法的C语言长整型常数是( B )。
(A)0L (B)5712700(C)0.054838743 (D)2.1869e106.C语言中,要求运算数必须是整型的运算符是( B )。
(A)% (B) /(C)< (D)!7.以下选项中正确的整型常量是( A )。
(A)12. (B)-20(C)l,000 (D)04588.以下选项中不正确的实型常量是( D )。
(A)2.607E-1 (B)0.8103e2.(C)77.77 (D)456e-29.C语言中运算对象必需是整型的运算符是( B )。
(A) \ (B) +(C) * (D) %二、程序调试题1.编辑、调试以下程序步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件请思考文件ex1-1.c由几个函数构成?调用了那几个系统函数?此程序中用到了哪几个保留字?哪几个用户自定义标识符?步骤3:编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。
2.编辑、调试以下程序步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2.c步骤3:[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2-2.c,源程序代码为:c=a&&b;return c;}步骤4:[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2-3.c,源程序代码为:int or(int a,int b){int c;c=a||b;return c;}步骤5:点击编译图标,编译程序1-2.c步骤4:点击执行图标,执行程序1-2.c ,当程序运行时,键盘输入20 40,按回车。
20 4020 && 40=120 || 40=1您可以输入其它的整数,观察程序的执行结果。
第2章输入输出程序设计1.用printf输出一个中空的五角星。
2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。
3.从键盘输入十六进制整数,转化为八进制数输出。
4.只定义两个整型数据并赋值,实现两个整型数的互换。
5.从键盘上输入一个整数,分别输出8、16进制数的程序。
6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。
7.以下程序输出结果是()。
#include<stdio.h>void main(){int i=010,j=10;printf("%d,%d\n",++i,j-- );}8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。
9.从键盘输入一个角度x,求10*sin(x)的值。
第3章循环程序设计1.执行语句for(i=0;i++<5;);后,变量i 的值是()。
(A)6 (B)5(C)4 (D)02.若int i=0;下列语句计算1+2+…+10的是()。
(A)while(s+=i);(B)for(;i<=10;i++,s+=i)(C)for(;i<=10;s+=i,i++)(D)for(;i<9;i++,s+=i)3.若int i,x; 则语句 for(i=x=0;i<9;i+=++x);的循环体要执行()次。
10.以下不是死循环的语句是()。
(A)for(;;x++);(B)while(1){x++};(C)do{i++;}while(1)(D)for(x=-10;x++;)4.以下for语句的循环次数是多少?int i,j=3;for(;i=j;i--,j--) printf("%d",i);5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(int i=0;i< ; )printf("%d", )6.写出以下程序运行的结果,此程序实现了什么功能?#include<stdio.h>void main(){ int a[10]={2,4,0,-5,10,6,-8,9,6,7};int i, count=0;for(i=0;i<10;i++)if(a[i]==0) count++;else continue;printf("%d\n ", count);}7.写出以下程序的功能。
#include<stdio.h>void main(){int a[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;for (k=0;k<10/2;k++){tmp=a[k];a[k]=a[10-k-1];a[10-k-1]=tmp;}}8.写出以下程序运行后的输出结果。
#include<stdio.h>void main(){int i,j;for(i=0;i<6;i++){for(j=0;j<i;j++)printf(" ");for(j=0;j<2*(5-i)-1;j++)printf("*");printf("\n");}}9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)#include<stdio.h>void main( ){int i,s;i=1; s=0;while(i<=100);s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(2)#include<stdio.h>void main( ){int i,s;i=1;s=0;while(i<=100)s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(3)#include<stdio.h>void main( ){int i=1,s;while(i<=100) ;{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。
输出为:1*3*5*7*9=94511.输入一个5~10之间的整数n ,求1!+2!+3!+...+n!。
例如输入5,输出为:1!+2!+3!+ (5)=15312.在屏幕上输出以下内容11212312341234512345612345671234567812345678913.求2+4+6+……+98+100的和,用多种for 表达式来完成。
14. 输入一行字符,统计它有多少个字母?第4章 分支程序设计1.输入若干整数给x ,使用if 语句输出x 的绝对值,当输入0时结束。
2.输入一批数,输出比相邻数大的数,当输入0时结束。
3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。
4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。
5.编写程序,计算分段函数:10101110325><<≤⎪⎪⎩⎪⎪⎨⎧-+=x x x x x x y67、用switch完成:读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。
8、用switch完成:输入星期1 到星期5,输出它们对应的颜色星期1:blue星期2:red星期3:white星期4:yellow星期5:green9、用switch完成:从键盘输入A、B、C、D四个等级中的一个,转化输出第5章数组及其应用1.从键盘输入12个数,分别为:900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。
2.采用遍历查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找出偶数。
3.采用折半查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找到87,然后进行删除。
第6章函数及其应用练习与实践一、阅读程序,写出程序运行的结果。
1.写出以下程序的执行结果。
#include<stdio.h>float aver(int a[]){int k,sum=0;float ave;for(k=0;k<10;k++)sum+=*(a+k);ave=(float)sum/10;return (ave);}int main( ){static b[]={78,89,98,76,78,45,88,81,92,85};ave=aver(b);printf("ave=%f\n",ave);}提示:数组b的首地址传递给形参a,*(a+k)就是数组元素b[k].2.阅读程序,写出程序的执行结果。
#include<stdio.h>void abc( char str[] ){int a, b ;for(a = b = 0 ; str[a]!='\0'; a++ )if(str[a]!= 'c’)str[b++] = str[a];str[b]='\0';}int main( ){char str[] ="abcdef" ;abc(str);printf("str[ ]=%s " , str );return 0;}提示:数组str的首地址传递给形参str,str[a]就是实参中的数组元素str[a],当数组元素不为’c’时进行复制。