第7章C语言程序设计习题答案
- 格式:doc
- 大小:33.00 KB
- 文档页数:4
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( 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语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3.以下叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
c语言程序设计教程第三版习题答案C语言程序设计教程第三版习题答案第一章:C语言概述1. 简述C语言的特点。
C语言是一种结构化编程语言,具有高级语言的特点,同时支持底层硬件操作。
其特点包括:简洁、高效、可移植、丰富的运算符、数据结构支持、广泛的库函数等。
2. 什么是编译型语言?编译型语言是指源代码在执行前需要通过编译器转换成机器语言的程序设计语言。
C语言就是一种编译型语言。
第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。
C语言的基本数据类型包括:整型(int)、字符型(char)、浮点型(float和double)。
2. 说明赋值运算符的用法。
赋值运算符(=)用于将右侧表达式的值赋给左侧的变量。
例如:`int a = 10;` 将整数值10赋给变量a。
第三章:控制结构1. 什么是条件语句?条件语句用于根据条件的真假来执行不同的代码块。
C语言中的条件语句主要有if语句和switch语句。
2. 循环语句有哪些?C语言中的循环语句主要有for循环、while循环和do-while循环。
第四章:数组和字符串1. 数组的声明和初始化方式。
数组声明的一般形式为:`type arrayName[arraySize];`。
初始化可以使用花括号一次性赋值,如:`int arr[5] = {1, 2, 3, 4, 5};`。
2. 字符串在C语言中的表示方法。
在C语言中,字符串以字符数组的形式存在,以空字符('\0')作为结束标志。
第五章:函数1. 函数的定义和调用。
函数定义的一般形式为:`returnTypefunctionName(parameterList) { /* function body */ }`。
调用函数时,使用其名称和必要的参数。
2. 函数的参数传递方式有哪些?C语言中函数的参数传递方式主要有值传递(pass by value)和引用传递(pass by reference)。
C语言1-7章课后作业答案第一章 C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】请从以下的4个选项中选择一个正确答案。
(1)A (2)C (3)B (4)D(5)A (6)C【习题1-3】填空。
(1)英文字母、下划线、数字(2)函数(3) 函数头、函数体(4)独立(5);、#、/*…*/、{、}、 main、main【习题1-4】请指出以下哪些是合法的标识符?哪些又是合法的用户标识符。
101 int 3ip x_1 x+1 count 1234Xy x%y if while a.bc x&y _ _1_112 Abc name x break for x=y合法的标识符有:x_1、int、count、Xy、if、while、Abc、name、x、break、for合法的用户标识符有:x_1、count、Xy、Abc、name、x【习题1-5】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-6】上机运行本章的3个例题。
略【习题1-7】参照本章例题,编写一个C语言源程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第二章基本数据类型和运算符【习题2.1】上机编辑并调试本章所有例题。
#include<stdio.h>main(){int a[10],n,sum=0,i;float ave;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);sum=sum+a[i];}ave=1.0*sum/n;printf("ave=%.2f\n",ave);}/*练习7-2*/#include<stdio.h>main(){int a[10],n,i;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){printf("第%d个:\n",i+1);scanf("%d",&a[i]);printf("倒序:\n");while(a[i]!=0){printf("%d",a[i]%10);a[i]=a[i]/10;}printf("\n");}}#include<stdio.h>main(){int a[5],x,i,k=0;printf("enter 5 ge zheng shu:\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf("enter x:\n");scanf("%d",&x);for(i=0;i<5;i++)if(a[i]==x){printf("xia biao wei : %d\n",i);k=1;}if(k==0)printf("Not Found\n");}/*练习7-4*/#include<stdio.h>main(){int a[10],n,i,k=0,x,max;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<=n-1;i++)if(max<a[i]){max=a[i];k=i;}printf("max=%d xia biao=%d",max,k);x=a[n-1];a[n-1]=a[k];a[k]=x;printf("\n");for(i=0;i<n;i++)printf(" %d ",a[i]);printf("\n");}/*练习7-11*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;str[i]='\0';printf("再输入一个字符:\n");str[80]=getchar();for(j=0;j<=i-1;j++)if(str[80]==str[j])count++;printf("%c字符在字符串中出现的次数为:%d\n",str[80],count);for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}/*习题七1*/#include<stdio.h>main(){int x,y,n,a[10],i,min,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);min=0;for(i=1;i<n;i++)if(a[min]>a[i])min=i;max=0;for(i=1;i<n;i++)if(a[max]<a[i])max=i;x=a[min];a[min]=a[0];a[0]=x;y=a[max];a[max]=a[n-1];a[n-1]=y;for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七2*/#include<stdio.h>main(){int x,n,a[10],i,j,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ max=i-1;for(j=i;j<n;j++)if(a[max]<a[j])max=j;x=a[max];a[max]=a[i-1];a[i-1]=x;}for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七4*/#include<stdio.h>main(){int m,n,a[6][6],i,j,b[6]={0};printf("输入m:\n");scanf("%d",&m);printf("输入n:\n");scanf("%d",&n);printf("输入%d和%d的矩阵:\n",m,n);for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i]=b[i]+a[i][j];}}printf("shu chu:\n");for(i=0;i<m;i++){for(j=0;j<n;j++)printf(" %d",a[i][j]);printf("\n");}printf("shu chu hang he :\n");for(i=0;i<m;i++)printf("%4d",b[i]);printf("\n");}/*习题7.6*/#include<stdio.h>main(){char str[80];int i,j;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("倒序输出:\n");for(j=i-1;j>=0;j--)putchar(str[j]);printf("\n");}/*新7.6*/#include<stdio.h>main(){int a[10],i,n;printf("输入整数n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);}printf("倒序输出:\n");for(i=0;i<n;i++){printf("%5d",a[n-1-i]);}printf("\n");}/*习题7.7*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出其中的大写辅音字母:\n");for(j=0;j<=i-1;j++)if(str[j]>='B'&&str[j]<='Z'&&str[j]!='E'&&str[j]!='I'&&str[j]!='O'&&str[j]!='U'){putchar(str[j]);count++;}printf("\n");printf("大写辅音字母数量为:%d\n",count);}/*习题7.8*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出相应交换后的字符串:\n");for(j=0;j<=i-1;j++)if(str[j]>='A'&&str[j]<='Z')str[j]=155-str[j];for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}上文已完。