程序设计基础实训手册(C语言习题)
c语言《程序设计基础》课后习题参考答案与解析
c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。
解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。
```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。
解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。
解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。
实训指导《C语言程序设计基础》教...
《C语言程序设计基础》教材参考答案包括各单元:一.随堂练习二.单元总结三.单元练习四.实训指导单元一程序设计宏观认识一.随堂练习【随堂练习1-1】1.根据上述示例模仿编程,输入正方形的边长,计算其面积。
#include <stdio.h>void main( ){ int a,s; //数据准备,边长a,面积sprintf("请输入正方形的边长:");scanf("%d",&a); //数据输入s=a*a; //数据计算printf("该正方形的面积为:%d.\n",s);}【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
【随堂练习1-3】1.在VC++6.0环境中完成【例1.2】程序开发过程。
(略)2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。
工程文件夹中:.CPP:用C/C++语言编写的源代码文件。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。
项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。
C语言程序设计实训教程习题和实验解答
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;
《程序设计基础教程----C语言版》实验指导手册
四川师范大学数学与软件科学学院信息与计算科学专业《程序设计基础教程----C语言版》课程实验指导手册本实验指导手册旨在指导数学与软件科学学院信息与计算科学专业《程序设计基础教程----C语言版》(专业必修课)的实验教学活动过程。
其主要使用对象为本课程主讲教师和实验指导教师。
它可以作为教学过程中的教学辅助参考资料,也可以作为学生在本门课程的学习中,结合实际教学内容,完成相关实验并填写实验报告的主要依据。
具体实施过程中,除开各实验中要求的必做题目外,教师可结合实际教学情况,根据学生接受程度作适当扩展。
学生在进行实践设计活动时,也可以结合自身掌握和学习的实际情况进行有选择地实践。
本指导手册仅针对本学院信息与计算科学专业而设置。
本实验手册编写的参考书籍:1.《程序设计基础教程----C语言版》,冯山,马廷淮主编,北京:科学出版社,2008年5月2.《C语言程序设计教程(第二版)》,谭浩强,张基温,唐永炎编著,北京:高等教育出版社,2002年3月3.《C语言习题集与上机指导(第二版)》,谭浩强,张基温主编,北京:高等教育出版社,2002年1月引言程序设计是实践性很强的课程。
实践也是学好程序设计课程中必不可少的重要环节。
程序设计的实践分两个步骤:一是设计和编写解决问题的程序算法流程,并在此基础上编写源程序代码;二是在计算机上对程序进行调试,并使程序完成问题的求解过程,进行相应的逻辑测试。
实验过程中,应当注意如下问题:(1) 上机实习的主要目的是训练C语言程序的上机调试能力和分析、解决调试过程中遇到的问题的能力。
并在此过程中逐步提高程序编写与问题分析能力。
而不是简单地对教材上的实例做验证式的操作;(2) 上机内容可以结合教材内容和习题,或由老师布置专门的上机习题进行;(3) 为提高上机效果。
必须在上机之前准备好上机的基本内容并编写好上机程序,尽量在上机之前先作好预先的阅读分析工作;(4) 上机调试的基本方法:语法检查(编译)==>逻辑检查(设计者检查)==>测试。
《程序设计基础(C语言)》实验指导书
《程序设计基础(C语言)》实验指导书《程序设计基础(C语言)》目录第 1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (2)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (1)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (9)3.5 实验5 选择结构 (12)3.6 实验6 循环结构 (15)3.7 实验7 数组(1) (19)3.8 实验8 数组(2) (21)3.9 实验9 字符串及其操作 (22)3.10 实验10 函数 (23)3.11 实验11 结构体 (25)3.12 实验12 指针 (26)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。
通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。
1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。
本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。
2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。
请假,必须提前出具正式假条,不接受事后假条。
如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。
本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。
第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。
C语言程序设计练习题(答案)
C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
计算机程序设计基础实训指导书
计算机程序设计基础实训项目指导书目录实训一简单C语言程序设计 (1)实训二顺序结构程序设计 (3)实训三选择结构程序设计 (5)实训四循环结构程序设计 (6)实训五数组程序设计 (11)实训六函数程序设计 (16)实训七指针程序设计 (19)实训八结构体程序设计 (20)附录1 C语言上机步骤 (21)实训一简单C语言程序设计实训项目名称:简单C语言程序设计实训课时:4实训目的:1.掌握所用的C语言环境的基本操作方法。
2.掌握编辑、编译、连接和运行C程序。
3.掌握C程序的数据类型、运算符,表达式。
实训内容和要求1.打开C语言环境,编辑如下程序,写出运行结果。
#include <stdio.h>void main(){printf(“Hello World!\n”);}2. 在屏幕上显示下列图形:* * * ** * ** **3. 已知三角形的三边长为3,4,5,求三角形周长实训二顺序结构程序设计实训项目名称:顺序结构程序设计实训课时:4实训目的:1.掌握基本输入输出函数、库函数的使用。
2.能够编程实现简单的结构化程序。
实训内容和要求1.执行程序,写出运行结果。
#include <stdio.h>void main(){float a = 9.1234567891234567890;double b = 9.1234567891234567890;printf("%f, %lf\n",a,b);printf("%.15f,%.15\n",a,b);};2.运行程序,写出结果。
#include <stdio.h>void main(){float x1;double y1 ;scanf("%f %lf ",&x1,&y1) ;printf("x1=%f,y1=%lf ",x1,y1) ;}程序运行时输入x的值123456789,输入y的值123456789。
C语言课程实训题目
C语言课程实训题目《C语言程序设计》课程实训指导书1.学生学籍管理 ........................................................................... .............................. 2 2.通讯录管理 ........................................................................... .................................. 2 3.酒店房间登记管理 ........................................................................... ....................... 2 4.职工信息管理 ........................................................................... .............................. 3 5.销售管理 ........................................................................... ..................................... 3 6.银行账户信息管理 ........................................................................... ....................... 3 7.商品销售管理 ........................................................................... .............................. 4 8.设备管理 ........................................................................... ..................................... 4 9.飞机订票 ........................................................................... ..................................... 5 10.仓库管理 ........................................................................... ................................... 5 11.学校运动会管理 ........................................................................... ......................... 5 12.教师工作量管理 ........................................................................... ......................... 6 13.学生证管理程序 ........................................................................... ........................... 6 14.学分管理程序 ........................................................................... ............................... 6 15.图书登记管理程序 ........................................................................... ........................ 7 16.学生作业完成情况管理程序 ........................................................................... ......... 7 17.宿舍管理系统 ....................................................................................................... 7 18.图书租借管理系统 ........................................................................... ........................ 8 19.车票管理系统 ........................................................................... ............................ 8 20.学校职工工资管理系统 ........................................................................... .. (8)1《C语言程序设计》课程实训指导书1.学生学籍管理问题描述:已知程序要求管理的学生信息包括:学号,姓名,系别、班级,年龄,性别,入学时间。
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( ){printf(“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章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A16、B 17 D解析:1. 答案:C。
练习题_C语言程序设计实训教程_[共5页]
A.a = 3
B.a = 4
C.a = 5
D.a = 7
(2)已知整型变量 a = 8,执行 C 语句 while (a - - <4)- - a; printf ( "a = %d", a );后,输出的
结果是(D)。
A.a = 3
B.a = 4
C.a = 5
D.a = 7
(3)已知整型变量 num=0; 执行 C 语句 while (num<=2){ num++; printf("%d ",num);}后,输
出的结果是(C)。
A.1
B.2 2
C.1 2 3
D.1 2 3 4
(4)已知整型变量 x=3; 执行 C 语句 do { printf("%3d",x-=2); } while (!(- -x));后,输出的结果
是(B)。
A.1
B.1-2
C.3 0
D.死循环
(5)已知整型变量 i, sum=0,执行下面 C 程序后,输出结果C.14
D.15
#include <stdio.h>
main() {
int i, sum=0;
for(i=1;i<6;i++)sum+=sum;
// (文件名:zy5_1.c)
130
循环体,当表达式的值非 0,退出循环。(F)
(6)for 循环中用 2 个分号分割三个表达式,分号是分割符不是表达式语句。(T)
(7)for 循环中的表达式 3 是在判断表达式 2 后,执行循环体之前执行。(F)
(8)for 语句中的表达式可以全部省略,但两个分号“;”不能省略。(T)
C语言程序设计方案实训练习
C语言程序设计实训练习:第一章1、使用公式℃=(5/9) (℉-32),打印下列华氏温度与摄氏温度对照表:0 -1720 -640 460 1580 26100 37120 48140 60160 71…3001482、编写一个统计空格、制表符与换行符个数的程序。
3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
4、编写一个程序,统计输入的行数、单词数与字符数。
5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。
6、重写标准库中的求幂函数:int pow(int x, int y)。
7、编写一个程序,删除每个输入行末尾的空格。
8、编写函数reverse(),将字符串s中的字符顺序颠倒过来。
(附加:尝试用递归的思想来实现reverse)9、编写一个删除C语言程序中所有的注释语句、要正确处理带引号的字符串与字符常量。
在C语言程序中,注释不允许嵌套。
(附加)10、编写一个程序,查找C语言程序中的基本语法错误,如圆括号、方括号以及花括号不配对等。
要正确处理引号(包括单引号、双引号)、转义字符序列与注释。
(附加)第二章类型、运算符与表达式 && 第三章控制流1、编写atoi函数,将字符串s(eg:”123”)转换为相应的整型数(eg:123)原型: int atoi(char s[])2、编写函数htois(s),把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。
字符串中允许包含的数字包括:0~9、a~f、A~F。
3、编写一个程序,将字符串s1中任何与字符串s2中字符匹配的字符都删除。
函数原型: void squeeze(char s1[], char s2[])4、编写如下按位操作函数:(1)void setbit(unsigned x, int n)。
(2) void clearbit(unsigned x, int n)。
C语言实训指导习题(全)
C语言实训指导习题(全)第1章习题1. C语言程序的基本结构是【】。
A) 函数B) 语句C) 字符D) 程序行2. 下列四个叙述中,正确的是【】A)在C程序中,主函数必须位于其他函数的最前面B)在C程序中,一行只能写一条语句C)C程序的基本结构是程序行D)C语句是完成程序功能的最小单位3. C语言规定,在一个C程序中,main()函数的位置是【】A)必须在开始B) 必须在最后C) 可以任意D) 必须在系统调用的库函数之后4. 以下叙述中,正确的是【】。
A) C语言程序总是从第一个定义的函数开始执行 .B) C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分5. 在C语言提供的合法的关键字是【】A)switch B)cher C)Case D)FLOAT6. 以下用户标识符,其中合法的是【】A) For B) 4d C) f2.G3 D) _f#第2章习题C语言所提供的五种基本数据类型包括:字符型、整型、双精度型、浮点型和【D】。
A) 指针型B)结构型C)数组型D)无值类型2. 列四组数据类型中,C语言允许的一组是【B 】A) 整型、实型、逻辑型,双精度型B) 整型、实型、字符型,无值类型C) 整型、双精度型、布尔型,无值类型D) 整型、实型、复型、字符型3. 下面均是合法整型常量的是【A 】。
A) 160 B) -0xcdf C) -01 D) -0x48a-0xffff 01a 986.12 2e5012 0xe 0668 0x4. 在C语言中,合法的字符常量是【B 】A)'\084' B)'\x43' C)'ab' D)"\0"5. 下面错误的转义字符是【A】A) '\091' B) '\\' C) '\0' D) '\''6.下面不正确的字符串常量是【A 】。
C语言程序设计实训练习
C语言程序设计实训练习:第一章1、使用公式℃=(5/9) (℉-32),打印下列华氏温度与摄氏温度对照表:0 -1720 -640 460 1580 26100 37120 48140 60160 71…300 148#include<stdio.h>int main(){int c,f;for(f=0;f<=300;f++){c=(int)((1.0*5/9)*(f-32));printf("\t%d\t%d\n",f,c);f+=19;}return 0;}2、编写一个统计空格、制表符与换行符个数的程序。
#include<stdio.h>int main(){int c,Num_space=0,Num_tab=0,Num_enter=0;while ((c = getchar()) != EOF){switch(c){case ' ':Num_space++;break;case '\t':Num_tab++;break;case '\n':Num_enter++;break;}}printf("The number of Space is %d\n",Num_space);printf("The number of Tab is %d\n",Num_tab);printf("The number of Enter is %d\n",Num_enter);return 0;}3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
4、编写一个程序,统计输入的行数、单词数与字符数。
5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。
6、重写标准库中的求幂函数:int pow(int x, int y)。
C语言程序设计基础教程习题答案
习题答案第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。
1.1.2 一个函数由__函数头__和__函数体__两部分组成。
1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。
1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。
1.1.5 C语言程序的基本单位或者模块是__函数__。
1.1.6 C语言程序的语句结束符是_;___。
1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。
1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。
1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。
且第一个字符必须为字母或下划线。
1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。
1.2 选择题1.2.1 一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束1.2.2 以下叙述不正确的是(C)。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。
A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。
A)将C源程序编译成目标程序的程序B)一组机器语言指令C) 将C源程序编译成应用软件D) C程序的机器语言版本1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。
《C语言程序设计基础》习题集(含答案)
《C语言程序设计基础》习题集(含答案)《C语言程序设计基础》习题集(含答案)C语言是一门广泛应用于计算机科学领域的高级编程语言。
对于初学者而言,通过习题集的形式来学习C语言程序设计基础是一种有效的方法。
本文将为大家介绍一份包含答案的C语言程序设计习题集,通过解答这些习题,读者能够提升自己的C语言编程能力。
1. 数据类型与变量(1) 编写一个程序,要求输入一个字符,然后输出其ASCII码和对应的字符。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);printf("字符 %c 的ASCII码是:%d\n", ch, ch);return 0;}```(2) 编写一个程序,输入长方形的长度和宽度,计算并输出长方形的面积和周长。
```c#include <stdio.h>int main() {int length, width;printf("请输入长方形的长度:");scanf("%d", &length);printf("请输入长方形的宽度:");scanf("%d", &width);int area = length * width;int perimeter = 2 * (length + width);printf("长方形的面积为:%d\n", area);printf("长方形的周长为:%d\n", perimeter);return 0;}```2. 控制结构(1) 编写一个程序,判断输入的一个整数是否为奇数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d 是偶数。
程序设计基础(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)0 L ( B)5712700( C)( D)6. C语言中,要求运算数必须是整型的运算符是( A )。
( A) % ( B)/( C) <( D)!7 .以下选项中正确的整型常量是( B )。
( A) 12. ( B)-20( C) l ,000 ( D)04588•以下选项中不正确的实型常量是( B )。
(A )— 1 ( B ).(C )( D ) 456e — 29. C 语言中运算对象必需是整型的运算符是( D )。
(A ) \ (B ) + (C ) *(D ) %二、程序调试题1.编辑、调试以下程序步骤1 :在Visual C++环境下新建文件可用 [开始]T [程序]T [Microsoft Visual C++] 宀 [Microsoft Visual C++] T [文件]T [新建]T [文件]T [C++ Sourse File ], 输入文件名,程序代码如下:scan f("%d %d\n",&a,&b);prin tf("%d+%d=%d\n",a,b,c);,%d 为格式控制符,依次用后面的变量值填充,以整数形 式输出*/# include<> /*文件预处理, 包含标准输入输出库,程序可调用输入、输出函数*/int add(i nt x,i nt y)int 乙 z=x+y; return 乙int main()int add(i nt, in t); /* 函数的说明,告诉系统在主函数中要调用 add 函数*/int a,b,c;/*变量的定义*/c=add(a,b);/* 函数调用*//*调用系统输出函数 printf请思考文件由几个函数构成由个函数构成调用了那几个系统函数调用2个系统函数,分别是scanf和printf此程序中用到了哪几个保留字哪几个用户自定义标识符保留字:int ,return 自定义表示符:z, x,y,a,b,c步骤3:编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。
程序设计基础(C)习题指导书2021版(附带答案)
程序设计基础(C)习题指导书2021版(附带答案)《程序设计基础(c)》习题指导书第一章数据类型和表达式一.知识点1.C语言的特点:① 语言简洁紧凑,使用方便灵活;② 富有的运营商;③数据结构丰富;④具有结构化控制语句;⑤语法限制不太严格,程序设计自由度大;⑥ 能进行位运算,能实现汇编语言的大部分功能,并能直接操作硬件;⑦ 生成的目标代码质量高,程序执行效率高;⑧ 程序的可移植性很好。
2.C程序组成:⑴c程序是由函数构成的;(2)函数包括函数头(即函数的第一行)和函数体(即曲括号部分);(3)功能体一般包括声明部分和执行部分;⑷一个c程序总是从main函数开始执行,从main函数结束;(5) C程序的编写格式是免费的。
多条语句可以写在一行,一条语句可以写在多行;(6)每个语句和数据定义的末尾必须有分号;⑺c语言本身没有输入输出语句,是通过函数实现输入输出的;⑻可以用/*??*/对c程序的任何部分作注释。
3.C语言程序的操作:源程序文件的扩展名为C,目标程序文件的扩展名为Obj,可执行程序文件的扩展名为exe4.c的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。
5.常数和变量的概念,注意符号常数的定义和使用。
6.整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。
7.变量的定义。
C的标识符包括关键字、预定义标识符和用户定义标识符;用户定义标识符的可用字符是字母、数字和下划线,第一个字符是字母或下划线。
8.转义字符:\\n、\\t、\\b、\\r、\\f、\\\\、\\’、\\”、\\ddd、\\xhh。
9.不同数值型数据的混合运算,低级类型转换为高级类型运算。
10.c的运算符:注意结合方向和运算的优先级。
11.算术运算符:+,-,*,/,%,++,-。
C语言程序设计实训教程答案
仅供参考,理论上都能运行出结果。
2.5 循环结构程序设计实验一循环结构程序设计1、求1!+2!+……+10!。
#include<stdio.h>void main(){long i,n=1,s=0;for(i=1;i<=10;i++){n*=i;s+=n;}printf("1!+2!+……+10!=%d\n",s);}2、打印一下图案(用循环实现)*************************#include<stdio.h>void main(){int i,j,k;for(i=1;i<5;i++){for(j=1;j<5-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}for(i=3;i>0;i--){for(j=1;j<5-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}}3、猴子吃桃。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘多少桃子。
#include<stdio.h>void main(){int i,n=1;for(i=9;i>0;i--)n=(n+1)*2;printf("%d\n",n);}4、打印九九乘法表。
#include<stdio.h>void main(){int i,j;for(i=1;i<10;i++){for(j=1;j<=i;j++)printf("%d*%d=%d, ",i,j,i*j);printf("\n");}}5、输出10~100之间的全部素数。
程序设计基础(C语言)第3版习题及答案
第1章C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3】上机运行本章的3个例题。
答:略。
【习题1-4】请从以下的4个选项中选择一个正确答案。
(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。
答:略。
【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,某人月工资 8000 元,按规定 19%缴纳三险一金,那么: 其应纳税所得额=8000 - 8000×19% - 3500=2980 元,对应税率和速算扣除数分别为 10%和 105 元, 因此,其个人所得税额为 2980×10%-105=193 元。
题目 6
算式求解
若有下述计算关系,试编写程序求十进制数字 A、B、C、D 的值。
题目 3
分段函数
请编写程序完成下面的计算要求。注:若 x 的值不在区间[0,50),则提示输入错误。
2 cos(x 30 0 ) y 4. 1 5 x 2 1.75( x 3.0) 45
0 x 10 10 x 30 30 x 50
题目 4
题目 17
素数排序
编写一个程序,从键盘输入 n 个非零整数(n>0) ,找出这 n 个数中所有的素数,并按照从小到大 的次序依次输出这些素数。
题目 18
多项式
一元多项式的一般形式如下: A(x) = p0+p1x+p2x2+ … +pixi+ … + pnxn 请编写一个程序,将输入的两个一元多项式相加(提示:对于多项式的每一项,输入其系数和指 数) ,最输出和多项式。可以用下面的数据进行测试。 (1)
题目 1
勾股定理
勾股定理指出:直角三角形两条直角边的平方和等于斜边的平方。例如,如果一个直角三角形的 两条直角边长分别为 3 和 4,那么斜边长必定为 5。整数 3、4、5 一起构成了一个勾股三元组,这样的 三元组有无数个。给定两个正整数 m 和 n,m>n,一个勾股三元组可以由下列公式产生: side1 = m2-n2 side2 = 2mn hypotenuse = m2+n2 当 m=2,n=1 时,根据公式就产生了三元组(side1=3,side2=4,hypotenuse=5) 。编写一个程序, 将 m、n 的值作为输入,并通过上面的公式将产生的勾股三元组的值显示出来。
级数 1 2 3 4 5 6 7 全月应纳税所得额 不超过 1,500 元 超过 1,500 元至 4,500 元的部分 超过 4,500 元至 9,000 元的部分 超过 9,000 元至 35,000 元的部分 超过 35,000 元至 55,000 元的部分 超过 55,000 元至 80,000 元的部分 超过 80,000 元的部分 税率(%) 3 10 20 25 30 35 45 速算扣除数(元) 0 105 555 1005 2755 5505 13505
题目 24
删除子串
编写程序, 其中包括一个函数, 此函数的功能是: 对一个长度为 N 的字符串从其第 K 个字符起, 删去 M 个字符,组成长度为 N-M 的新字符串(其中 N、M<=80,K<=N)。例如输入字符串"We are poor students.",利用此函数进行删除"poor"的处理,输出处理后的字符串是"We are students."。
题目 21
字符串处理-1
编写程序, 对于读入的一个字符串, 删除其中所有的空格。 例如, 将字符串 “ xidian university ” 中的空格删除后,得到“xidianuniversity” 。
题目 22
字符串处理-2
编写程序,将一个字符序列中的数字字符拼接成一个整数(串中数字个数不超过 9 个) ,输出该整 数及其平方根,例如,若输入的字符序列为“aj?3v87.y=:61w!0]#”,则输出 387610 及 622.58。
题目 25
求公共前缀
编写程序测试一个函数,该函数查找两个单词最长的共同前缀(例如,“global”和“glossary”最长 的共同前缀是“glo”,“department”和“depart”最长的共同前缀是“depart”,“glove”和“dove”最长的共同前 缀是空字符串) 。
题目 26
URL
题目 11
对称数
将一个数的数码倒过来所得到的新数叫做原数的反序数,如果一个数等于它的反序数,则称它为 对称数。例如,12321、3、151、44、6776 等都是对称数。 编写一个函数 f,判断十进制正整数 k 是否是对称数。 要求:在 main 函数中输入一个正整数 k 并调用该函数 f,若 k 是对称数,再判断 k 的二进制形式 是否也是对称数。若 k 及其二进制都是对称数,则输出 k 的十进制值及二进制值。
. . .
A
.
.
.
B C
4
(2) A(x)=1+x+x 2 x3 x 4 x5 B(x) x 3 x 4 C(x) 1+x+x 2 x 5 (3) A(x)=x+x 3 B(x) x x 3 C(x) 0 (4) A(x)=x+x100 B(x) x100 x 200 C(x) x 2x100 x 200 (5) A(x)=x x 2 x 3 B(x) 0 (6)
C(x) x x 2 x 3
A(x)=6x -3 -x+4.4x 2 1.2x 9 B(x) 6x -3 +5.4x 2 x 2 7.8x15 D(x) 7.8x15 1.2x 9 12x 3 x
题目 19
杨辉三角形
编写一个程序,输入一个正整数 n(不超过 15) ,输出 n 行的杨辉三角形。例如,输入 6 时的输 出如下:
N 的平方根
NG 0.5(LG N / LG)
数 N 的平方根可通过下式的迭代运算来近似计算: 式中 NG 表示下一次的猜测值,LG 表示上一次猜测值。编写一个函数利用上述方法计算平方根。 第一次猜测值就是 LG 的初始值,程序利用公式计算 NG。检测 NG 和 LG 的差值,看这两次猜测值 是否几乎相等。如果是,NG 就作为平方根;否则,用新的猜测值 NG 更新上次的猜测 LG,重复上 述过程(再计算新的 NG、检测 NG 和 LG 的差,等等) 。循环一直进行,直到 NG 与 LG 之差小于 0.005。第一次猜测值为 1.0。 编写 main 函数,调用你所编写的求平方根函数,用下面的数据测试:4、120.5、88、36.01、10 000、
5
题目 23
校验和
通信信道常常含有噪声, 因此设计了很多方法来保证数据的可靠传输, 一种成功的方法是利用校验 和。消息的校验和首先通过消息中各字符的整数编码的和计算,然后计算该和除以 64 的余数,并在此 结果上加一个空格字符的整数编码。因为这个值在可输出字符范围内,它也被显示成字符。编写程序, 接收以一个句点结尾的单行消息,并且显示每条消息的校验和字符。当用户输入只包含一个句点的消 息时,要求程序结束。 (字符的编码为其在 ASCII 字符集中的编码)
题目 12
计算 cosx
编制程序,利用下式计算 ucosx 的近似值,直到最后一项的绝对值小于 10 6 。
u cos x 1
x2 x4 x6 ... 2! 4! 6!
题目 13
分鱼
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方去睡 觉。日上三竿,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;B 第二个 醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;C、D、E 依次醒来,也按同样的方 法拿鱼。试编程计算他们至少捕了多少条鱼。
1 1 1 1 1 1 5 4 10 3 6 10 2 3 4 5 1 1 1 1 1
题目 20
魔方阵
Dole Rob 算法生成奇数阶魔方阵的过程为:从 1 开始,依次插入各自然数,直到 N 2 为止。选择中; ② 新位置应当处于最近一个插入位置的右上方, 若右上方位置已超出方阵的上边界, 则新位置取 应选列的最下一个位置;若超出右边界则新位置取应选行的最左一个位置; ③ 若最近一个插入元素为 N 的整数倍,则选下面一行同列的位置为新位置。
题目 14
爱因斯坦数学题
有一条长阶梯,若每步跨 2 阶,则最后剩余 1 阶,若每步跨 3 阶,则最后剩 2 阶,若每步跨 5 阶, 则最后剩 4 阶,若每步跨 6 阶则最后剩 5 阶,若每步跨 7 阶,最后才正好一阶不剩。请问,这条阶梯 共有多少阶?
3
题目 15
阶乘
请编写程序计算 n!并输出,要求输入 n 的值且应满足 n<=1000。
A B C C B D 9 D A
×
题目 7
自由落体的球
设一球从 100m 高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第 10 次落地 时, 共经过多少米?第 10 次反弹的高度是多少?该球经过多少次反弹后停止运动, 此时该球的运动路 程是多少(精确至小数点后第 6 位数字)?
题目 8
素性判定
编写一个程序,判断输入的一个整数是否为素数。
2
题目 9
可逆素数
编写一个程序,求四位的可逆素数。可逆素数指:将一个素数的各位数字的顺序倒过来所构成的反序 数也是素数。
题目 10
厄拉多赛筛法求素数
大约在公元前 250 年, 古希腊数学家厄拉多赛(Eratosthenes)提出一个造出不超过 N 的素数构造法, 称为厄拉多赛筛法。它基于这样一个简单的性质:如果 n≤N,且 n 是合数,则 n 必为一个不大于 N 的平方根的素数所整除。 基本方法如下:先列出从 2~N 的全体自然数,其中,2 是素数,在该数列中将 2 及其倍数去掉; 接下来数列中最小的 3 是素数,再将数列中的 3 及其倍数去掉;接下来数列中最小的 5 是素数,…, 重复该过程,直到数列为空。每次从数列中取出的最小数构成不超过 N 的全体素数。
0.25。
题目 5