《C语言程序设计》第六次课外作业 (1)
C语言程序设计课题作业(一)
![C语言程序设计课题作业(一)](https://img.taocdn.com/s3/m/b73d661a4b7302768e9951e79b89680203d86bb3.png)
C语言程序设计课题作业(一)一、简答题1、C++单词包含哪些种类?2、一个标识符中的首字符必须是什么字符?其余位置上的字符必须是什么字符?3、数值常量、字符常量、字符串常量和标识符在表示上各有什么区别?4、C语句分为哪几种类型?5、#include命令的格式和功能各是什么?使用尖括号和双引号在含义上有什么区别?二、选择题1、程序中的预处理命令是指以( )字符开头的命令。
A.@ B.# C.$ D.%2、一条简单语句是以( )字符作为结束符的。
A. ,B. :C. ;D. <空格>3、空白符是( )符的统称。
A.空格、制表、回车B.空格、制表、逗号C.空格、回车、分号D.冒号、制表、回车4、#imclude命令中不可以包含( )。
A.头文件B.程序文件C.用户头文件D.目标文件5、一个函数定义由( )两部分组成。
A.函数头和函数体B.函数头和函数尾C.函数原形和函数体D.函数名和参数表6、一个程序中必须有并且只有一个命名为( )的函数。
A.MainB.mainC.cppD.c7、C程序文件的扩展名为( )。
A.objB.exeC.voidD.intmain8、在VC环境下,为运行一个程序而建立的工作区文件的扩展名为( )。
A.objB.exeC.dswD.dsp9、数据类型int,char,float,double的类型长度之和为( )。
A.10B.12C.16D.1710、常数120和-4.205的类型为( )。
A.整形和双精度型B.短整型和单精度型C.长整型和双精度型D.整型和单精度型C语言程序设计课题作业(二)一、选择题1、流程控制类语句包括( )3类语句。
A.选择、循环、跳转B.选择、循环、输入C.选择、输入、输出D.循环、选择、函数2、在switch语句中,每个语句标号中的关键字case后面的表达式必须是( )。
A.变量B.常量C.一般表达式D.函数调用3、作为语句标号使用的C保留字case和default只能用于( )语句中。
C程序设计课外作业说明1章节顺序按照PowerPoint电子教案;
![C程序设计课外作业说明1章节顺序按照PowerPoint电子教案;](https://img.taocdn.com/s3/m/eea387dcfad6195f302ba613.png)
《C 程序设计》课外作业说明: (1)章节顺序按照PowerPoint 电子教案;(2)教材上的作业注明了章节和题号;(3)所用教材是《C 程序设计(第二版)》 谭浩强 清华大学出版社;(4)除教材上的作业外,还包括少量补充作业;(5)题号加*表示电子教案上作为例题,有答案。
第一章 C 语言概述教材 习题1.1第二章 C 语言基本数据类型、变量、常量与表达式教材 习题3.3 3.4 3.9 3.10 3.12 5.2 5.3第三章 简单C 程序设计教材 习题4.4 4.5 4.6 4.9*补充1. 输入年增长率p, 编程计算并输出经过多少年后,生产总值会翻一翻。
2.输入三角形的两边边长a,b 和夹角d (角度数), 计算并输出三角形面积和第三边长度。
第四章 C 语言的控制语句选择(分支)结构教材 习题5.4* 5.5 5.6* 5.7 5.8循环结构及习题课教材 6.1* 6.2 6.3 6.4 6.6* 6.7* 6.8 6.9 6.14补充1. 电子教案上有部分补充题目2. 编程输入x 值(弧度),计算并输出s=sin(x)函数值,计算方法采用泰勒级数公式如下,-+-+-=!9!7!5!39753x x x x x s 要求计算到最后一项绝对值小于10-6时停止计算。
第五章 数组教材 7.3 7.4 7.5* 7.8 10.4 10.5第六章 指针初步10.14*第七章 函数(含习题课)教材 7.2 7.4 8.1 8.3 8.4* 8.8 8.11* 8.13 8.16 8.17 8.18 10.9* 字符串处理专题教材 8.9 8.10 10.6* 10.7 10.8 10.16 10.17*第八章编译预处理指令教材9.1 9.2 9.3 9.4 9.5第九章指针深入教材10.12* 10.21*第十章结构、联合、枚举、类型定义教材11.1 11.3 11.4 11.5链表(选作)11.8 11.9 11.11 11.12*第十一章C文件操作教材13.4 13.5 13.10 13.12。
c语言第六次作业解析
![c语言第六次作业解析](https://img.taocdn.com/s3/m/9fc39e6130b765ce0508763231126edb6f1a76bb.png)
c语⾔第六次作业解析第六次作业:指针(以下题⽬如⽆特殊声明,请使⽤指针技术实现,尽量不要使⽤数组作为形参,也尽量避免使⽤数组下标引⽤数组元素)1.数组元素循环移位有n个整数,使前⾯的各整数顺序向后移动m个位置,后⾯的m个整数则变成最前⾯的m个数。
写⼀函数实现以上功能。
在主函数中输⼊n及n个整数,输⼊m (m#includevoid main(){void inv(int *p,int n,int m);int n,m,a[20],*p;printf("please input n=");scanf("%d",&n);printf("please input %d numbers:",n);p=a;while(pscanf("%d",p++);printf("please input m=");scanf("%d",&m);p=a;inv(a,n,m);printf("the new array:\n");while(pprintf("%d ",*p++);putchar('\n');}void inv(int *p,int n,int m){int i;for(i=1;i<=n;i++)*(p+n-i+m)=*(p+n-i);for(i=0;i*(p+i)=*(p+n+i);2. 矩阵元素的排序将⼀个5×5的整数型矩阵中各元素重新排序。
排序规则为,矩阵元素按照从左到右,从上到下的顺序依次递增,即4,41,10,14,03,02,01,00,0.......a a a a a a a a ≤≤≤≤≤≤≤。
要求编写⼀个函数实现上述排序功能。
在主函数中输⼊该矩阵,调⽤编写的上述函数,然后输出排序后的矩阵。
C语言课外作业1
![C语言课外作业1](https://img.taocdn.com/s3/m/674f71e97d1cfad6195f312b3169a4517723e596.png)
C语言课外作业1课外作业一第1章c语言概述一、选择题1.下列关于计算机语言的叙述中,正确的是_______。
a.在计算机语言中,只有机器语言属于低级语言b.高级语言的源程序可以被计算机直接执行c.c语言属于高级语言d.机器语言就是与所有机器毫无关系的语言2.源程序test.c经编译产生的目标文件和连接后产生的可执行文件是_______。
a.test.bak和test.objb.test.obj和test.exec.test.exe和test.cd.test.bak和test.exe3.一个c程序的执行是从_______。
a.本程序的main函数已经开始,至main函数完结b.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束c.本程序的main函数开始,到本程序文件的最后一个函数结束d.本程序文件的第一个函数开始,到本程序main函数结束4.以下叙述正确的是_______。
a.在c程序中,main函数必须坐落于程序的最为前面b.程序的每行中就可以写下一条语句c.c语言本身没输入输出语句d.在对一个c程序进行编译的过程中,可发现注释中的拼写错误5.以下叙述不正确的是_______。
a.一个c源程序可以由一个或多个函数共同组成b.一个c源程序必须涵盖一个main函数c.在c程序中,注释说明只能位于一条语句的后面d.c程序的基本组成单位是函数6.一个c语言程序是由_______。
a.一个主程序和若干子程序共同组成b.函数共同组成c.若干过程组成d.若干子程序组成7.关于c语言程序书写规则说法中正确的是_______。
a.程序语句必须占一行b.不区分大小写c.每行必须有行号d.每条语句用分号结束二、填空题1.c源程序的基本单位就是________,一个c源程序中必须包含一个________。
2.在一个c源程序中,注解部分两侧的分界符令分别为________和________。
3.c语言源程序文件的后缀是________;经过编译后,生成文件的后缀是________;经过连接后,生成的文件的后缀是________。
c语言程序设计课后习题及答案
![c语言程序设计课后习题及答案](https://img.taocdn.com/s3/m/cd9ca3ee68dc5022aaea998fcc22bcd126ff4295.png)
c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。
课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
C语言程序设计练习题(答案)
![C语言程序设计练习题(答案)](https://img.taocdn.com/s3/m/65003a1611661ed9ad51f01dc281e53a5802511f.png)
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语言程序设计课后习题(写的作业)参考题解
![C语言程序设计课后习题(写的作业)参考题解](https://img.taocdn.com/s3/m/1586b4196edb6f1aff001fba.png)
第一章习题1. 5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第二章略第三章3.5用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?main(){int a,b;float x,y;char c1c2;scanf("a=%d_b=%d",&a,&b);scanf("_x=%f_y=%e",&x,&y);scanf("_c1=%c_c2=%c",&c1,&c2);}a=3_b=7_x=8.5_y=71.82_c1=A_c2=a第四章3 写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(1) a+b>c&&b==c(2) a||b+c&&b-c(3) !(a>b)&&!c||1(4) !(x=a)&&(y=b)&&0(5) !(a+b)+c-1&&b+c/2解:(1) 0(2) 1(3) 1(4) 0(5) 14 有3个整数a、b、c,由键盘输入,输出其中最大的数。
c语言课后答案
![c语言课后答案](https://img.taocdn.com/s3/m/596318ca05087632311212dd.png)
《C程序设计》课外作业及参考答案说明:(1)章节顺序按照PowerPoint电子教案;(2)教材上的作业注明了章节和题号;(3)所用教材是《C程序设计(第二版)》谭浩强清华大学出版社;第一章C语言概述1.1 简答题:写出C语言的主要特点(教材习题1.1)。
1.2填空题:1.C语言与操作系统并称“栾生兄弟”。
2.C语言俗称为形式。
3.C源程序文件经过处理后产生目标文件,目标文件经处理后生成可执行文件。
1.3 单项选择题1. 以下说法中正确的是。
(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main函数中定义(C)C语言程序总是main函数开始(D)C语言程序中的main函数必须放在程序的开始部分2. 以下正确的C标识符是。
(A)_125 (B)C# (C)C++ (D)A$1.4 多项选择题1. 以下关于C语言的说法中,错误的是。
(A)俗称为“低级语言的高级形式”,因此功能简单(B)不是结构化程序设计语言(C)可能直接访问内存(D)语法限制不严2. 以下标识符属于C语言关键字的有。
(A)integer (B)else (C)include (D)while第二章C语言基本数据类型、变量、常量与表达式2.1简答题1.求下面算术表达式的值。
(教材习题3.9)a)x+a%3*(int)(x+y)%2/4设x=2.5, a=7, y=4.7b)(float)(a+b)/2+(int)x%(int)y设a=2, b=3, x=3.5, y=2.52.写出下面程序的运行结果。
(教材习题3.10)main(){ int i, j, m, n;i=8; j=10; m=++i; n=j++;printf("%d,%d,%d,%d", i, j, m, n);}3.写出下面表达式运算后a的值,设原来a=12。
设a和n已定义为整型变量。
(教材习题3.12)a)a+=a b) a-=2 c) a*=2+3b)d) a/=a+a e) a%=(n%=2), n的值等于5 f) a+=a-=a*=a4.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?2.2 填空题1. 写出下面各逻辑表达式的值。
C语言程序设计教程第六章课后习题参考答案
![C语言程序设计教程第六章课后习题参考答案](https://img.taocdn.com/s3/m/315b765132687e21af45b307e87101f69e31fb7a.png)
C语⾔程序设计教程第六章课后习题参考答案P158 1求三个实数最⼤值#includefloat max(float,float,float);int main(){float a,b,c,m;printf("请输⼊三个实数:");scanf("%f %f %f",&a,&b,&c);printf("最⼤数为%f\n",max(a,b,c));return 0;}float max(float a,float b,float c){float t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;elset=c;return t;}P158 2求最⼤公约数最⼩公倍数#includeint fun1(int a,int b);int fun2(int a,int b);int main(){int a,b;printf("请输⼊两个整数:");scanf("%d %d",&a,&b);printf("最⼤公约数为:%d\n",fun1(a,b));int t,r;if(a{t=a;a=b;b=t;}while((r=(a%b))!=0) {a=b;b=r;}return b;}int fun2(int a,int b) {int n;n=(a*b)/fun1(a,b); return n;}P158 3求完全数#includevoid wan(int n); void main(){int n;for(n=1;n<1000;n++) wan(n);printf("\n");}void wan(int n){if(n%i==0)s=s+i;}if(n==s)printf("%d\t",n); }P158 4⽆暇素数#include#includeint nixvshu(int n);int isPrime(int n);int main(){int n,t;printf("⽆暇素数:\n");for(n=100;n<=999;n++) {t=nixvshu(n);if(isPrime(n)&&isPrime(t)) printf("%d\t",n);}printf("\n");return 0;}int nixvshu(int n){int x=0;while(n){x=x*10+n%10;n=n/10;}return x;int i;for(i=2;i<=sqrt(n);i++)if(n%i==0) return 0;return n;}P158 7递归函数#includeint Y(int n){if(n==0)return 0;if(n==1)return 1;if(n==2)return 2;elsereturn (Y(n-1)+Y(n-2)+Y(n-3)); } int main(){int n,k=0;for(n=0;n<=19;n++){printf("%d\t",Y(n));k++;if(k%5==0)printf("\n");}return 0;}P124 6分解质因数#include#includevoid fenjie(int );int main(){int n;printf("请输⼊⼀个正整数:"); scanf("%d",&n);if(isPrime(n)){printf("%d=1*%d\n",n,n);}else{fenjie(n);printf("\n");}return 0;}int isPrime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0) return 0;}return 1;}int zhi(int n){int m;for(m=2;m<=n;m++){if(isPrime(m)&&(n%m==0)) break;void fenjie(int n){int m;printf("%d=%d",n,zhi(n));while(n>zhi(n)){m=zhi(n);n=n/m;printf("*%d",zhi(n));}}P47 1输出闰年#includeint f(int year);int main(){int year,k=0;for(year=1900;year<=2000;year++){if(f(year)){printf("%d\t",year);k++;if(k%5==0)printf("\n");}}return 0;}int f(int year){if((year%4==0&&year%100!=0)||(year%400==0)) return year;P47 2输出回⽂数#includeint fun(int n);int main(){int n,k=0;for(n=10;n<=2000;n++) {if(n == fun(n)){printf("%d\t",n);k++;if(k%5==0)printf("\n");}}return 0;}int fun(int n){int i=0;while(n>0){i=i*10+n%10;n=n/10;}return i;}P47 3进制转换#includevoid trans(int n,int base); int main()printf("请输⼊要转换的⼗进制数:"); scanf("%d",&n);printf("请输⼊转换的进制:"); scanf("%d",&base);trans(n,base);printf("\n");return 0;}(⽅法⼀)void trans(int n,int base){if(n){trans(n/base,base);if(n%base>=10)switch(n%base){case 10:printf("A");break;case 11:printf("B");break;case 12:printf("C");break;case 13:printf("D");break;case 14:printf("E");break;case 15:printf("F");break;}elseprintf("%d",n%base);}}(⽅法⼆)void trans(int n,int base){int r;char c;trans(n/base,base); r=n%base;if(r>=10)c='A'+r-10;elsec='0'+r;printf("%c",c);}}。
C程序设计作业题(1)含参考答案
![C程序设计作业题(1)含参考答案](https://img.taocdn.com/s3/m/c54fee5b336c1eb91a375d50.png)
选择题1.以下叙述中正确的是()。
A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上三种说法都不完整2.以下选项中关于程序模块化的叙述错误的是()。
A.把程序分成若干相对独立的模块,可便于编码和调试B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.程序模块化设计的过程一般采用自下而上、逐步积累的设计方法D.程序设计通常要采用模块化设计方法,尤其是程序比较复杂时更有必要3.以下关于结构化程序设计的叙述中正确的是()。
A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用goto语句会很便捷C.在C语言中,程序的模块化是利用函数实现的D.由三种基本结构构成的程序只能解决小规模的问题4.C语言主要是借助以下哪个功能来实现程序模块化()。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型5.以下叙述中错误的是()。
A.C语言的可执行程序是由一系列机器指令构成的B.用C语言编写的源程序不能直接在计算机上运行C.通过编译得到的二进制目标程序需要连接才可以运行D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件6.关于C语言程序的运行方式,以下叙述正确的是()。
A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.C语言程序既可以编译执行又可以解释执行D.以上说法都不对7.以下叙述中错误的是()。
A.C语言编写的函数源程序,其文件名后缀可以是.CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数8.以下叙述错误的是()。
A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名9.以下叙述中正确的是()。
《C语言程序设计》第六次课外作业 (1)
![《C语言程序设计》第六次课外作业 (1)](https://img.taocdn.com/s3/m/47952b70783e0912a2162ad5.png)
数组程序设计(1)一、实验目的1.掌握数组的定义、引用,以及数组的输入和输出方法;2.掌握字符数组,以及字符函数的使用;3.学习与数组相关的常见的算法,如:查找、排序等;4.学习与矩阵相关的常见的算法,如:加、减、乘等。
二、实验预备知识1.一维数组、二维数组、字符数组。
2.与数组相关的常见的算法。
三、实验内容编写程序,实现以下功能。
1.由键盘任意输入10个数据,找出其中的最大数。
2.由键盘任意输入10个数据,找出其中的最小数。
3.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩。
4.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,分别统计优、良、中、及格、不及格的人数。
5.编写程序,由键盘任意输入10个整数,分别统计其中的奇数和偶数的个数。
6.编写程序,由键盘任意输入10个学生的成绩,分别统计各分数段的百分比。
7.定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
8.由键盘任意输入10个整形数据,将其按由小到大的顺序排序后输出(用冒泡排序)。
9.由键盘任意输入10个整形数据,将其按由小到大的顺序排序后输出(用选择排序)。
10.由键盘任意输入10个数据,将它们倒序后输出。
四、实验分析1.注意数组下标的起始值和终止值。
2.合理利用数组下标和循环变量的关系,以遍历数组中的元素。
3.注意利用字符数组处理字符的方法。
4.总结常见的算法。
五、实验报告1.参考教材,注意自己的编程风格。
2.每做一题,保存该题的源代码文件(.C )。
3.建立自己的专属文件夹,文件夹名为:”学号+姓名”(如2015211234张三)。
4.将完成的源代码文件复制到自己的专属文件夹中,再上传上FTP指定的文件夹中。
上传作业\冷金麟\ 本人的班级名。
如:上传作业\冷金麟\土木工程15-1。
C语言课外大作业
![C语言课外大作业](https://img.taocdn.com/s3/m/7cb8d22fbd64783e09122b25.png)
《高级语言程序设计》课外实习作业为了达到熟练掌握C语言的编程,适应以后毕业设计、工作、信息化社会等要求,希望同学们在课外加强自学,查找资料,相互探讨,完成一项课外作业练习。
请选择下列题目中的一个,画出程序流程图,用C语言编写程序,并在自己的计算机上完成调试和运行。
把程序文档、程序代码和运行结果发到老师的邮箱。
一、设计一个全班的同学录管理系统:设计相关的信息字段,最好用照片;要有录入、修改、删除、搜索、查看等编辑功能;所有数据信息存入到一个文件或者一个数据库之中;有打印功能(或选择打印功能)。
可自行设计一些功能,自行设计一些图形化界面等。
二、设计一个班级成绩管理系统,能够管理平时作业成绩、考勤次数、实验成绩、期末考试成绩,并按照设定的比例计算总成绩。
能够进行各项成绩的统计分析。
要有录入、修改、删除、搜索、查看等编辑功能;所有数据信息存入到一个文件或者一个数据库之中;有打印功能(或选择打印功能)。
可自行设计一些功能,自行设计一些图形化界面等。
三、设计一个非对称加密程序:应用歌德巴赫猜想的原理,即任何一个大于2的偶数,都可以分解为两个不同的质数之和。
任意输入一个一定范围内的偶数,计算出它的两个质数。
用其中的一个质数,设计一种简单的加密方法,对一组字符串信息进行加密。
然后,只有输入另一个质数,反算出加密的质数,才能解密。
用程序实现和演示加密过程。
四、设计一个简单的数学表达式分析程序:直接通过一个输入界面输入的数学表达式,是一个字符串,计算机不能直接识别它,因此也不能完成相应的计算。
设计一个简单的数学表达式分析程序,通过键盘直接输入一些简单的数学表达式,然后分解成计算机可以实现相应计算的程序。
用程序实现和演示整个过程。
C语言程序设计习题集及参考答案
![C语言程序设计习题集及参考答案](https://img.taocdn.com/s3/m/90e1552d4531b90d6c85ec3a87c24028905f8569.png)
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
C语言程序设计(第3版)第6章补充习题及答案
![C语言程序设计(第3版)第6章补充习题及答案](https://img.taocdn.com/s3/m/2e2fc2ff7f1922791688e85e.png)
(4)简单变量做实参时,它和对应形参之间的数据传递方式为___B___。
A.地址传递B.单向值传递
C.由实参传给形参,再由形参传回给实参
D.由用户指定传递方式
(5)C语言允许函数值类型默认定义,此时该函数值隐含的类型是__B____。
D.如果函数值的类型与返回值的类型不一致,以函数类型为准。
(7)如果未指定局部变量类型,其隐含的存储类别为。
A.自动(auto)B.静态(static)
C.外部(extern)D.寄存器(register)
(8)以下叙述中不正确的是。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
}
fnMax ( int iNum1, int iNum2)
{ if (iNum1>iNum2)
return iNum1;
else
return iNum1;;}
(2)以下程序的运行结果是___A+B=4____。
int iNum1=5;int iNum2=7;
main()
{ int iNum1=4,iNum2=5,iSum;
(2)数组名作为实参传递给函数时,传递的是____C____。
A.该数组长度B.该数组的元素个数
C.该数组首地址D.该数组中各个元素的值
(3)以下函数定义正确的是___A_____。
A.int fnSum(int iNum1,int iNum2)B.int fnsum(int iNum1,iNum2)
{static int iNum=1;
iNum=iNum+2;
(word完整版)C语言程序设计课后习题1-8参考答案
![(word完整版)C语言程序设计课后习题1-8参考答案](https://img.taocdn.com/s3/m/2d5c3d71e3bd960590c69ec3d5bbfd0a7856d55d.png)
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
C语言程序设计1-6章课后习题
![C语言程序设计1-6章课后习题](https://img.taocdn.com/s3/m/237a3305581b6bd97f19ea98.png)
C语言程序设计教程1-6章习题汇总如果您在此文档中发现错误请您及时提出,我会以超光速为您解决!!!欢迎您提出宝贵意见!!!都是自己人编的,编的不是太好,凑活凑活用吧·······习题11.一个c语言程序是由若干个函数构成的,其中有且只能有一个(主)函数。
//这个大家都知道了,想想咱谭老师定义的2个主函数(一个忘了删),结果1个错误···所以嘛,若干函数只能有一个主函数···2.模仿求圆面积的算法,写出求圆周长的算法,用流图表示此算法。
答:第一步,我们要求圆周长,必先知道半径,而半径需要我们定义,即要求人工输入半径的值。
第二步,我们要知道圆周长的求解公式,应该没有不知道的吧··(l=2*∏*r)第三步,我们要输出l的值,第四步,完了···流程图为:(不太准确Word技巧有待改进···)3.编辑并运行下列程序,记录运行结果。
(1)#include<stdio.h>void main(){printf("welcome you\n");printf("*****************\n");}结果很简单:welcome you*******************(2)#include<stdio.h>void main(){int a,b,s;printf("please input two numbers:"); // 原样输出scanf("%d,%d",&a,&b); //输入a,b的值 s=a+b; //运算printf("s=%d\n",s); //输出}屏幕上为:please input three numbers:3,4s=7(3和4之间要加逗号,不要空格。
《C语言程序设计》第6章习题答案
![《C语言程序设计》第6章习题答案](https://img.taocdn.com/s3/m/a4ec4fd53186bceb19e8bb28.png)
1、选择题(1)A(2)C(3)A(4)B(5)B(6)D(7)D(8)B(9)D(10)B2、填空题(1)a=10,b=20a=20,b=10(2)**pp=603、程序设计题(1)#include<stdio.h>char *month_name(int n);void main(){int n;printf("\nPlease enter 1 integer:");scanf("%d",&n);printf("%d month :%s\n",n,month_name(n));}char *month_name(int n){static char*name[]={"illegal month","Jan","Feb","Mar","Apr","May","Jun","July","Aug","Sept","Oct","Nov","Dec"};return ((n<1||n>12)?name[0]:name[n]);}(2)#include<stdio.h>#define N 10sort(int data[]){int i,j,min_a,temp;for(i=0;i<N;i++){min_a=i;for(j=i+1;j<N;j++)if(*(data+j)<*(data+min_a))min_a=j;if(min_a!=i){temp=*(data+min_a);*(data+min_a)=*(data+i);*(data+i)=temp;}}}main(){int i,j,data[N],temp;int min_a;printf("\nPlease input %d int:\n",N);for(i=0;i<N;i++)scanf("%d",&data[i]);sort(data);printf("After sorted:\n");for(i=0;i<N;i++)printf(" %d",data[i]);}(3)#include <stdlib.h>void reverse(char *c);void main(){char str[80];puts("Please enter 1 string\n");gets(str);reverse(str) ;puts("After reversed\n");puts(str);}void reverse(char *c){char *p,*q,temp;int size=0;for(p=c;*p!='\0';p++)size++;size=size/2;for(q=c,p--;q<c+size;q++,p--){temp=*q;*q=*p;*p=temp;}}(4)#include<stdio.h>#include<string.h>void sort(char *keyword[],int size);void print(char *keyword[],int size)void main(){char *keyword[]={"if","else","case","switch","do","whlie","for","break","continue"};sort(keyword,9);print(keyword,9);}void sort(char *keyword[],int size){int i,j,min_location;char *temp;for(i=0;i<size-1;i++){min_location=i;for(j=i+1;j<size;j++)if(strcmp(keyword[min_location],keyword[j])>0) min_location=j;if(min_location!=i){temp=keyword[i];keyword[i]=keyword[min_location];keyword[min_location]=temp;}}}void print(char *keyword[],int size){int i;for(i=0;i<size;i++)printf("\n%s",*(keyword+i));}(5)#include<stdio.h>void fun_char(char str1[],char str2[],char str3[]);void main(){char str1[80],str2[80],str3[80],c,i;printf("\nPlease enter 2 string:");scanf("%s%s",str1,str2);fun_char(str1,str2,str3);printf("Third string is %s.",str3);}void fun_char(char *str1,char *str2,char *str3){int i,j,k,flag;i=0,k=0;while(*(str1+i)!='\0'){j=0;flag=1;while(*(str2+j)!='\0'&&flag==1){if(*(str2+j)==*(str1+i)) flag=0;j++;}if(flag){*(str3+k)=*(str1+i); k++;}i++;}*(str3+k)='\0';}(6)#include<stdio.h>int count_word(char *str);void main(){char str1[80],c,res;puts("\nPlease enter a string:");gets(str1);printf("There are %d words in this sentence",count_word(str1)); }int count_word(char *str){int count ,flag;char *p;count=0;flag=0;p=str;while(*p!='\0'){if(*p==' ')flag=0;else if(flag==0){flag=1;count++;}p++;}return count;}(7)#include<stdio.h>#include<string.h>char *encrypt(char *string);char *decrypt(char *string);main(){char item[80];char *point;char *pEncrypted;char *pDecrype;printf("Please enter the string need to encrypt:\n");gets(item);point=item;pEncrypted=encrypt(point);printf("\nThe string after encrypted is:\n%s\n",pEncrypted); pDecrype=decrypt(pEncrypted);printf("\nThe string after decrypted is:\n%s\n",pDecrype);free(pEncrypted);free(pDecrype);}char *encrypt(char *string){char *q,*t;q=(char *)malloc(sizeof(char)*80);if(!q){printf("No place to malloc!");return 0;}t=q;while(*string!='\0'){*q=*string-2;string++;q++;}*q='\0';return t;}char *decrypt(char *string){char *q,*t;q=(char *)malloc(sizeof(char)*80); if(!q){printf("No place to malloc!");return 0;}t=q;while(*string!='\0'){*q=*string+2;string++;q++;}*q='\0';return t;}。
C语言第6章作业(1)参考答案
![C语言第6章作业(1)参考答案](https://img.taocdn.com/s3/m/ecd0c03c58fb770bf78a55b3.png)
第六章数组习题1㈠.填空题:1.若有定义:double w[10];则引用w的元素时下标的上限(最大)是 9 ,下限(最小)是 0 。
2.构成数组的各个元素必须具有相同的数据类型。
㈡.选择题:1.以下关于数组的描述正确的是( C )。
A. 数组的大小是固定的,可以有不同的类型的数组元素。
B. 数组的大小是可变的,所有数组元素的类型必须相同。
C. 数组的大小是固定的,所有数组元素的类型必须相同。
D. 数组的大小是可变的,可以有不同的类型的数组元素。
2.在定义int a[10];之后,对a的元素引用正确的是( D )。
A. a[10]B. a[6.3]C. a(6)D. a[10-10]3.以下正确的是( D )。
A.char a(10); B.int a[ ];C.int k=5,a[k]; D.int a[ ]={1,2,3};4.执行下面的程序段后,变量k的值为( A )。
int k=3, s[2];s[0]=k; k=s[1]*10;A. 不定值B. 33C. 30D. 10㈢.程序阅读题:1.写出以下程序的输出结果。
main(){int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]= a[i-1] + a[i-2];for(i=0;i<8;i++)printf(“%d,”,a[i]);}输出结果: 1, 0, 1, 1, 2, 3, 5, 82.如果以下程序运行时输入为如下5个整数:1 2 3 4 5 ,写出输出结果。
main(){ int i,sum=0,a[5];for (i=0; i<=4;i++)scanf(“%d”,&a[i]);for(i=0; i<=4; i++)sum=sum+a[i];printf("%d\n",sum);}输出结果:15㈣程序设计题:1.编写程序,完成输入任意5个实数给一个数组,然后求这些数的平均值。
C语言程序设计1(6章课后习题)-
![C语言程序设计1(6章课后习题)-](https://img.taocdn.com/s3/m/45f966b05727a5e9846a6141.png)
C语言程序设计1(6章课后习题)-C语言编程教程|第1991-6章练习总结如果您在本文档中发现错误,请及时提出来,我会以超光速为您解决!!!欢迎您的宝贵意见!!!都是自己人编的,他们不是很好。
利用...练习11。
一个C语言程序由几个函数组成,其中只有一个(主)函数//这是众所周知的。
想一想我们老师谭定义的两个主要函数(其中一个被删除了),结果是一个错误...所以,几个函数只能有一个主函数...2。
模仿求圆面积的算法,写出求圆周长的算法,并用流程图来表示这个算法。
a:第一步,我们首先要求圆的周长知道半径,半径需要由us定义,也就是说,我们需要手动输入半径的值第2步,如果我们想知道圆的周长的计算公式,应该没有什么是我们不知道的...(l = 2 *∏r)的第3步,我们需要输出l的值,第4步,完成...流程图是:(单词技能不太准确需要提高...)开始输入r的值,定义l r=3计算l=2*r*∏输出l结束3。
编辑并运行以下程序,并记录运行结果(1)#包括void main(){printf(\printf(\u)的结果非常简单:欢迎您* * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *printf(\ output scanf(\原样(\输入值a,b//操作s = a+b);}printf(\//输出:请输入三个数字:3,4s = 7(3和4之间的逗号,无空格)当scanf(\语句直接位于%d和%d之间,即%d%d时,请在运行后输入3个空格4或3个回车4,而不是使用逗号...)4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组程序设计(1)
一、实验目的
1.掌握数组的定义、引用,以及数组的输入和输出方法;
2.掌握字符数组,以及字符函数的使用;
3.学习与数组相关的常见的算法,如:查找、排序等;
4.学习与矩阵相关的常见的算法,如:加、减、乘等。
二、实验预备知识
1.一维数组、二维数组、字符数组。
2.与数组相关的常见的算法。
三、实验内容
编写程序,实现以下功能。
1.由键盘任意输入10个数据,找出其中的最大数。
2.由键盘任意输入10个数据,找出其中的最小数。
3.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩。
4.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,分别统计优、良、中、及格、不及格的人数。
5.编写程序,由键盘任意输入10个整数,分别统计其中的奇数和偶数的个数。
6.编写程序,由键盘任意输入10个学生的成绩,分别统计各分数段的百分比。
7.定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
8.由键盘任意输入10个整形数据,将其按由小到大的顺序排序后输出(用冒泡排序)。
9.由键盘任意输入10个整形数据,将其按由小到大的顺序排序后输出(用选择排序)。
10.由键盘任意输入10个数据,将它们倒序后输出。
四、实验分析
1.注意数组下标的起始值和终止值。
2.合理利用数组下标和循环变量的关系,以遍历数组中的元素。
3.注意利用字符数组处理字符的方法。
4.总结常见的算法。
五、实验报告
1.参考教材,注意自己的编程风格。
2.每做一题,保存该题的源代码文件(.C )。
3.建立自己的专属文件夹,文件夹名为:”学号+姓名”(如2015211234张三)。
4.将完成的源代码文件复制到自己的专属文件夹中,再上传上FTP指定的文件夹中。
上传作业\冷金麟\ 本人的班级名。
如:上传作业\冷金麟\土木工程15-1。
交作业截止时间:2016.5.3,请大家及时上交到服务器上。
⒒求100----200之间的所有能被3以及7整除的自然数的平方根
之和。
12求级数a=2/1 + 3/2 + 5/3 +8/5 +13/8+21/13…的前30项之和13求数列41+n(n –1)
最小非素数项的序号(n > 2)。
奇数的个数为
百分比。