青岛理工大学c语言程序打印版

合集下载

详细完整版C程序设计pdf-2024鲜版

详细完整版C程序设计pdf-2024鲜版
二维数组的初始化
可以在定义时直接初始化,也 可以在程序中进行赋值操作。 2024/3/28
二维数组的访问
通过行下标和列下标访问数组 元素,下标从0开始计数。
二维数组的应用
用于存储表格形式的数据,如 矩阵、成绩表等。
28
字符数组与字符串处理
字符数组的定义
通过char类型和数组名来声明字符数组, 用于存储字符序列。
38
文件定位与随机访问
2024/3/28
文件定位
使用fseek函数实现文件定位,可以指 定偏移量和起始位置(文件头、当前 位置或文件尾)。
随机访问
通过文件定位和读写操作,实现文件 的随机访问,即直接读写文件的任意 位置数据。
39
文件操作的综合应用:数据排序与查找
数据排序
将文件中的数据进行排序,可以使用 各种排序算法(如冒泡排序、快速排 序等)。排序后可以将结果输出到另 一个文件中。
9
第一个C程序:Hello World
}
01
```
02
2024/3/28
03
程序解释:这是一个简单的C程序,用于输出"Hello, World!"。`#include <stdio.h>`是包含标准输入输出库的 头文件,`int main()`是程序的主函数,`printf()`函数用于输 出字符串,`n`表示换行符,`return 0;`表示程序正常结束。
2024/3/28
编程环境搭建
为了编写和运行C程序,需要安装一个C编译器和一个文本编辑器。常见的C编译器 有GCC、Clang等,文本编辑器可以使用Notepad、Sublime Text等。
编译器介绍
编译器是将高级语言代码转换为机器语言代码的工具。GCC(GNU Compiler Collection)是一个开源的编译器集合,支持多种编程语言,包括C语言。Clang是 一个基于LLVM的编译器前端,具有快速、高效的特点。

青岛理工大学C语言考试题

青岛理工大学C语言考试题

学号:姓名:班级:。

密。

封。

线。

计算、网络、软件专业2014 年级全院班2014~2015学年第1 学期《C程序设计基础》课试卷试卷类型:测试卷试题要求: 1.试题后标注本题得分;2.试卷应附有评卷用标准答案,并有每题每步得分标准;3.试卷必须提前一周送考试中心;4.考试前到指定地点领取试卷;5.考生不得拆散试卷,否则试卷无效。

学号:姓名:班级:。

密。

封。

线。

计算、网络、软件专业2014 年级全院班2014~2015学年第1 学期《C程序设计基础》课试卷试卷类型:测试卷青岛理工大学试卷纸共 4 页第1 页试题要求: 1.试题后标注本题得分;2.试卷应附有评卷用标准答案,并有每题每步得分标准;3.试卷必须提前一周送考试中心;4.考试前到指定地点领取试卷;5.考生不得拆散试卷,否则试卷无效。

学号:姓名:班级:。

密。

封。

线。

青岛理工大学试卷纸共 4 页第 4 页答案:一、单选题1~5AACDD 6~10 ABDAD 11~15 BDDAB 16~20 BDDAC二. 填空1、函数。

2、编译链接3、 14、 05、字母、下划线、数字。

6、非07、a=1,b=3,c=28 、”a”是字符串常量,而‟a‟是字符常量9 、 3.141593,3.1416,3.14210、条件运算符11、112、a%3==0&&a%5!=013、; }14、f=++p;15、1 4三、程序结果填空题1、答案:Sum of the digits in 26587 is 282 、8 10 123、j=814、x=8,y=45、326、i=123,j=457、m=110, n=48、c1=a c2=A c3=A c4=Ac1=97 c2=65 c3=65 c4=65sum=95四编程题1、答案:#include<stdio.h>void main(){int a=3,b=4;char c;scanf("%c",c);switch(c){ case …+‟ : printf("\n %d",a+b); break;case …-‟: printf("\n %d",a-b); break;case …*‟: printf("\n %d",a*b); break;case …/‟:printf("\n %d",a/b); break;}}2、答案:main(){ int i,g,s,b;for(i=100;i<=999;i++){ b=i/100;s=(i%100)/10;g=i%10;if(i==(b*b*b+s*s*s+g*g*g))printf(“%d ”,i);} }3、答案:#include<stdio.h>main(){ int i,j;for (i=1;i<=5;i++){for (j=1;j<=i;j++)printf("*");printf("\n");}}。

C语言 上机实验报告材料

C语言 上机实验报告材料




Visual 6.0++ Windows 7




1.按照上述步骤,创建一个基于控制台的应用程序,该程序项目中只包含一个源程序文件。功能为求两个整数的和,数据从键盘输入。
2.创建一个基于控制台的应用程序,求一元二次方程的根。使得当输入三个实数a,b,c(满足b*b-4*a*c>0),能够求出方程a*x*x+b*x+c=0的两个实根,并显示在屏幕上。分析提示:通过键盘输入方程系数a,b,c的值,而后根据求根公式计算并输出它的两个根。
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!=k&&i!=j&&k!=j)
{
printf("%5d",i*100+j*10+k);
fre=fre+1;
}
}
printf("\n");
printf("总数为:%d\n",fre);
}
青岛理工大学
default:printf("该学生的成绩等级是:E\n");
}
}
实验二4
#include<stdio.h>
void main()
{
float a,b;
char c;
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case '+':printf("%f\n",a+b);break;

青岛理工大学操作系统实验3

青岛理工大学操作系统实验3

课程实验报告课程名称计算机操作系统班级软件132 实验日期 4.10 姓名孙玉东学号201307217 实验成绩实验名称实验3 进程并发与同步实验目的及要求1、加深对进程概念的理解,区分进程并发执行与串行执行;2、掌握进程并发执行的原理,理解进程并发执行的特点;3、了解fork( )系统调用的返回值,掌握用fork()创建进程的方法;熟悉wait、exit等系统调用;4、能利用相应的系统调用实现进程树与进程间的同步实验环境Vmware/ubuntu/windows实验内容1、编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。

要求多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。

要求有运行结果截图与结果分析2、连续4个fork()的进程家族树,family1-1.c程序清单如下:#include <stdio.h>main(){fork();fork();fork();fork();printf(“A\n”);}请根据程序运行结果,画出进程家族树,并分析原因。

3、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。

写出相应的同步控制,并分析运行结果。

4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。

父进程创建子进程,并加载./child2程序。

写出相应的程序代码并分析程序运行结果。

算法描述及实验步骤1使用系统函数:fork()创建子进程,使用循环来创建避免创建失败2,在主进程中创建了4个子进程,每个子进程建立后续的几个进程及输出语句。

青岛理工大学汇编语言程序设计2期末试题及参考答案

青岛理工大学汇编语言程序设计2期末试题及参考答案
C.MOV BX,OFFSET BUFD.MOV BX,WOKD PTR BUF
8.设有变量VAR和标号LAB,不正确的指令是( )
A.LEA AX,VAR B.LEA AX,LAB
C.JMP NEAR PTR VAR D.JMP SHORT LAB
9.设SP的初值为1000H,执行指令PUSH AX后SP的值是( )
教师试做时间
出题教师
取题时间
审核
教研室主任
出题单位
使用班级
考试日期
考试成绩期望值
印刷份数
规定完成时间
交教学部印刷日期
学号;姓名:班级:
..........................................................密.......................................................封...........................................................线..........................................................专业年级班20~20学年第学期汇编语言程序设计课试卷试卷类型:卷
题号










总成绩
得分
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分)
1.当执行ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下面的叙述正确的是( )
A.表示结果中含1的个数是奇数B.表示结果中含1的个数是偶数

青岛大学C语言课件第03章

青岛大学C语言课件第03章

整型数据在内存中的存放形式
数值是以补码表示的: 正数的补码和原码相同; 负数的补码:将该数的绝对值的二进制形式按位取反再加1。 例如:求-10的补码。 0000000000001010 取反: 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 再加1,得-10的补码: 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 由此可知,左面的第一位是表示符号的。
7.逗号运算符:用于把若干表达式组合成一个表达式(,)。
8.指针运算符:用于取内容(*)和取地址(&)二种运算。 9.求字节数运算符:用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符:有括号(),下标[],成员(→,.)等几种。
常变量与符号常量的不同: 符号常量用#define指令,它是预处理指令(它不是
C语言本身的组成部分,编译程序不能识别它们,因此不能直接对它们 进行编译。必须在对程序进行通常的编译之前,先对程序中这些特殊的
命令进行“预处理”),符号常量名字是不分配存储单元
的。而常变量要占用存储单元,有变量值,只是该值 不改变而已。
字符特性
字符数据在内存中存储的是字符的ASCII码── 一个无 符号整数,其形式与整数的存储形式一样,因此C99把字 符型数据作为整数类型的一种。 (1)一个字符型数据,既可以字符形式输出,也可以 整数形式输出。 main() { char ch1,ch2; ch1='a'; ch2='b'; printf(“ch1=%c,ch2=%c\n”,ch1,ch2); printf(“ch1=%d,ch2=%d\n”,ch1,ch2); }
第3章 顺序程序设计
数据的表现形式及其运算 C语句

青岛理工大学C 实验上机实验报告(3)

青岛理工大学C  实验上机实验报告(3)

a=i;b=j;c=l;
y=j;
}
}
private:
virtual void disp(){
double a,b,c;
cout<<"y= "<<y<<endl;
};
}
double triangle::area(){
private:
int y;
double p=(a+b+c)/2;
};int main()
double r;
3
v=0):hour(i),minute(j),second(v)
};
{}
double circle::area()
void get();
{
void display();
return r*r*PI;
Time (Time &);
}
Time operator + ( Time);
int main()
"<<minute<<" : "<<second<<endl;
class Triangle
}
{
Time Time::operator + (Time time)
public:
{
Triangle(double i=0.0,double j=0.0,double
Time t;
v=0.0):a(i),b(j),c(v)
else {
t.hour=hour+24-time.hour; } return t; }Int main() {Time time1,time2,time3; time1.get(); time2.get(); time3=time1+time2; cout<<"时间的加法结果: \n"; time3.display(); time3=time1-time

青岛理工大学C 实验上机实验报告(4)

青岛理工大学C  实验上机实验报告(4)

return 0;
元素
}
{
二:#include<iostream>
int tag=0;
#include<iomanip>
if(head->next==NULL)
using namespace std;
{
template<typename T>
cout<<"对不起,你的链表为空.请你
4
class List { public: List() {
cout<<setw(4)<<p->data; p=p->next;
} cout<<endl; }
束):"<<endl; cin>>t; switch(t) { case 1: s.Insert(); break; case 2: cout<<"按元素删除请按 1,按位
置删除请按 2"<<endl; int choose,pos; cin>>choose; switch(choose) { case 1: s.Delete();break; case 2: cout<<"请输入你要删除
free(first);
{
}
if(!vis[i])
else
{ prime[c++]=i;
for(p=first;p->next;p=p->next)// 查 找 满足
if(c% 10)
p->next 指向要删除结点的 p
{
if(p->next->data==x)//删除结点

程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学

程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学

程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学青岛理工大学第一章测试1.以下叙述中正确的是()。

答案:用C程序实现的算法可以没有输入但必须要有输出2.以下不能定义为用户标识符的是()。

答案:printf3.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

答案:连接符4.以下C语言用户标识符中,不合法的是()。

答案:a--b5.结构化程序由三种基本结构组成,三种基本结构组成的算法()。

答案:可以完成任何复杂的任务6.以下叙述中正确的是()。

答案:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束7.C语言源程序名的后缀是()。

.c8.以下叙述中错误的是()。

答案:C程序在书写时,有严格的缩进要求,否则不能编译通过9.下列关于C语言用户标识符的叙述中正确的是()。

答案:用户标识符中不可以出现中划线,但可以出现下划线10.下列4个选项中,()是合法的用户自定义标识符。

答案:_isw第二章测试1.下列选项中,()可以将x、y定义成double类型变量,并赋同一初值3.14。

double x=3.14, y=3.14;2.若变量已正确定义并赋值,表达式()不符合C语言语法。

答案:3.14%23.下列表达式中值为0的是()。

答案:3/54.以下选项中,()是不正确的字符常量。

答案:"a"5.以下选项中不正确的整型常量是()。

答案:1,9006.以下正确的字符串常量是()。

答案:"5111"7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是()。

答案:1.0/a/b/c8.以下能正确定义且赋初值的语句是()。

答案:char ch='A';9.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,32+z)后,x的值为()。

答案:4810.C语言中,运算对象必须是整型数的运算符是()。

2022年青岛理工大学公共课《C语言》科目期末试卷B(有答案)

2022年青岛理工大学公共课《C语言》科目期末试卷B(有答案)

2022年青岛理工大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、结构化程序由________、________ 、________ 3种基本结构组成。

4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。

6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。

9、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

Double x=2.5,y=6.4,z;SWAP(_______);10、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。

二、选择题11、以下正确的叙述是( )。

青岛科技大学C语言程序设计复习材料(全面版)

青岛科技大学C语言程序设计复习材料(全面版)

题型题干单选题以下不正确的C语言标识符是____。

单选题以下是正确的C语言标识符是____。

单选题下面各选项组中,均是C语言关键字的组是____。

单选题下列不属于C语言关键字的是 。

单选题C语言程序从main()函数开始执行,所以这个函数要写在____。

单选题下列关于C语言的叙述错误的是____。

单选题在C语言中,错误的int类型的常数是_____ 。

单选题执行语句 printf("%x",-1);屏幕显示_____。

单选题在C语言中,整数-8在内存中的存储形式是 。

单选题C语言中字符型(char)数据在内存中的存储形式是____。

单选题将字符g赋给字符变量c,正确的表达式是 。

单选题将空格符赋给字符变量c,正确的赋值语句是____。

单选题已知:char a='\70';则变量a中_______。

单选题字符串"\"EOF\n=-\61\""的长度是____。

单选题字符串""的长度是____。

单选题已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是 。

单选题逗号表达式"(a=3*5,a*4),a+15"的值是____。

单选题如果int a=1,b=2,c=3,d=4;则条件表达式"a<b?a:c<d?c:d"的值是____。

单选题为求出s=10!的值,则变量s的类型应当为 。

单选题已知int i=10;表达式"i>=9"的值是____。

单选题已知int x=1,y;y=(++x>5)&&(++x<10);执行下述语句后变量x的值是____。

单选题为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。

青岛理工大学 C语言答案

青岛理工大学 C语言答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

C 面向对象程序设计 - 青岛理工大学

C   面向对象程序设计 - 青岛理工大学

课程基本信息
课本: C++面向对象程序设计,李兰,任凤华等, 2014,
第二次印刷。
参考书籍: Bruce Eckel.Thinking in C++ (2nd Edition).北京: 机械工业出版社,2006.10 郑莉.C++语言程序设计(第3版).北京:清华大 学出版社,2005.7 谭浩强.C++面向对象程序设计.北京:清华大学出 版社,2006.1
【例1-4】用子函数和主函数编写程序实现例1-3的编程要求 int add(int a, int b) //定义add函数,函数值为整型 { int c; //定义一个整型变量 c=a+b; //计算两个数的和 return c; //将c的值返回,通过add带回调用处 }

编译运行该程序,屏幕上将出现与例1-3相同的提示, 当输入两个整型数(22和36)后,按回车键,同样可 得输出结果: x+y=58


对同类型对象抽象出其共性,形成类。
类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信
1.2 程序设计方法
3、面向对象程序设计方法

优点:

程序模块间的关系更为简单,程序模块的独立性、数 据的安全性就有了良好的保障。

通过继承与多态性,可以大大提高程序的可重用性,
使得软件的开发和维护都更为方便。
一个消息就是一个对象要求另一个对象实施某 种操作的一个请求。
1.3 面向对象程序设计的基本特点
4、继承

继承对于软件复用有着重要意义,是面向对象 技术能够提高软件开发效率的重要原因之一。
定义:特殊类的对象拥有其一般类的全部属性 与服务,称作特殊类对一般类的继承。 例如:将轮船作为一个一般类,客轮便是一个 特殊类。

青岛大学C语言实验解答-3

青岛大学C语言实验解答-3

实验3 运算符与表达式3.1 实验目的1. 练习使用各种运算符2. 理解表达式的概念3. 熟悉各种运算符的优先级4. 熟悉常用数学函数的使用3.2 实验预习1. 记忆各种运算符的作用及优先级2. 预先完成实验内容部分的填空和程序编写3.3 实验内容1. 运行下面程序并写出下列程序的输出结果#include <stdio.h>void main(){int i,a,b;i=1;a=i++;b=a++;printf("a=%d,b=%d,i=%d\n",a,b,i);}输出:a=2,b=1,i=22. 运行下面程序并写出下列程序的输出结果#include <stdio.h>void main(){float f=5.75;printf("f=%f,(int)f=%d\n",f,(int)f);}输出:f=5.750000,(int)f=53. 运行下面程序并写出下列程序的输出结果,a,b的值为何不同?#include <stdio.h>void main(){int a,b,c,d;c=(a=(2,3));d=(b= 2,3 );printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);}输出:a=3,b=2,c=3,d=3解释:在表达式b=2,3 中,由于“=”的优先级高于“,”,所以b的值为2;而在表达式a=(2,3)中,用括号改变了运算符的计算次序,将先计算括号内的逗号表达式,其值为3,然后再赋给a,因此a的值为3。

4. 运行下面程序并写出下列程序的输出结果,a的值为多少?#include <stdio.h>void main(){int a=12;a+=a-=a*a;printf("a=%d \n",a);}输出:a=-2645. 先分析下面程序的输出,然后执行程序,对照自己的计算结果是否正确,并找出原因。

C语言模拟直线插补与圆弧插补程序设计

C语言模拟直线插补与圆弧插补程序设计

C语言模拟直线插补与圆弧插补程序设计(总17页)-本页仅作为预览文档封面,使用时请删除本页-数控技术课程设计说明书设计题目直线插补与圆弧插补程序设计机械设计以及自动化专业机械工程学院机械102班设计者青岛理工大学 2013年6月20日目录1.设计题目 (1)2.目录 (2)3.直线插补流程图 (3)4.直线插补程序 (4)5.程序结果 (8)6.圆弧插补流程图 (9)7.圆弧插补程序 (10)8.程序结果 (21)一.直线插补1.直线插补程序流程图2.直线插补程序设计#include ""int i,X,Y,X0,Y0,Xe,Ye,F,N;int a[30][2];void main(){int m;int menu();void yi();void er();void san();void si();void te();void shuchu();m=menu();a[0][0]=X0;a[0][1]=Y0;switch(m){case 1:yi();shuchu();break;case 2:er();shuchu();break;case 3:san();shuchu();break;case 4:si();shuchu();break;case 5:te();shuchu();break;default:printf("无法插补\n");}}int menu(){int t;printf("输入起点坐标\n");scanf("%d,%d",&X0,&Y0);printf("输入终点坐标\n");scanf("%d,%d",&Xe,&Ye);if (Xe>=X0&&Ye>=Y0)t=1;else if (Xe<=X0&&Ye>=Y0)t=2;else if (Xe<=X0&&Ye<=Y0)t=3;else if (Xe>=X0&&Ye<=Y0)t=4;else if (Xe==X0&&((Ye>Y0&&Y0>=0)||(Ye<Y0&&Y<=0))) t=5;elset=6;return(t); }void yi(){F=0;N=Xe-X0+Ye-Y0; X=X0;Y=Y0;for(i=1;i<=N;i++) { if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}void er(){F=0;N=X0-Xe+Ye-Y0; X=X0;Y=Y0;for(i=1;i<=N;i++) {if(F>=0){ X--;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}void san(){F=0;N=X0-Xe+Y0-Ye; X=X0;Y=Y0;for(i=1;i<=N;i++) {if(F>=0){X--;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{Y--;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}void si(){F=0;N=Xe-X0+Y0-Ye; X=X0;Y=Y0;for(i=1;i<=N;i++) {if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{ Y--;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}void te(){N=Ye-Y0; for(i=1;i<=N;i++) {if(Ye>0){Y++;a[i][0]=X;a[i][1]=Y;}else if(Ye<0){Y--;a[i][0]=X;a[i][1]=Y;}}}void shuchu(){for(i=0;i<=N;i++){printf("%d ",i);printf("%d,%d\n",a[i][0],a[i][1]);}}3.程序结果例如起点(0,0)终点(6,4)步数坐标1 1,02 1,13 2,14 2,25 3,26 4,27 4,38 5,39 6,310 6,4二.圆弧插补1.圆弧插补程序流程图2.圆弧插补程序#include ""#include ""int X0,Y0,X1,Y1,X2,Y2,X3,Y3,X4,Y4; int i=1,r,f,s;void main(){int m;int menu();void yishun();void yini();void ershun();void erni();void sanshun();void sanni();void sishun();void sini();void shuchu();m=menu();switch(m){case 1:yishun();break;case 2:yini();break;case 3:ershun();break;case 4:yini();break;case 5:sanshun();break;case 6:yini();break;case 7:sishun();break;case 8:yini();break;default:printf("无法插补\n"); }}int menu(){int t;printf("输入原点坐标\n");scanf("%d,%d",&X0,&Y0);printf("输入起点坐标\n");scanf("%d,%d",&X3,&Y3);printf("输入终点坐标\n");scanf("%d,%d",&X4,&Y4);printf("1:顺时针圆弧\n");printf("2:逆时针圆弧\n");scanf("%d",&s);X1=X3-X0;Y1=Y3-Y0;X2=X4-X0;Y2=Y4-Y0;r=X1*X1+Y1*Y1;if (X1>=0&&Y1>0&&s==1)t=1;else if (X1>0&&Y1>=0&&s==2) t=2;else if (X1<0&&Y1>=0&&s==1) t=3;else if (X1<=0&&Y1<0&&s==2) t=4;else if (X1<=0&&Y1<0&&s==1) t=5;else if (X1<0&&Y1<=0&&s==2) t=6;else if (X1>0&&Y1<=0&&s==1)t=7;else if (X1>=0&&Y1<0&&s==2)t=8;elset=9;return(t);}void yishun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2)); if(Y1==0){void sishun();sishun();}}void yini(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2)); if(X1==0){void erni();erni();}}void ershun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2)); if(X1==0){void yishun();yishun();}}void erni(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2)); if(Y1==0){void sanni();sanni();}}void sanshun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2)); if(Y1==0){void ershun();ershun();}}void sanni(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2)); if(X1==0){void sini();sini();}}void sishun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));if(X1==0){void sanshun();sanshun();}}void sini(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2));if(Y1==0){void yini();yini();}}3.程序结果例如圆心(0,0)起点(4,3)终点(4,3)步数坐标0 4,31 3,32 3,43 2,44 2,55 1,56 0,57 0,48 -1,49 -2,410 -3,411 -3,312 -4,313 -4,214 -5,215 -5,116 -5,017 -4,018 -4,-119 -4,-220 -4,-321 -3,322 -3,-423 -2,-424 -2,-525 -1,-526 0,-527 0,-428 1,-429 2,-430 3,-431 3,-332 4,-333 4,-234 5,-235 5,-136 5,037 4,038 4,139 4,240 4,3。

c语言程序设计实验指导(青岛大学版)

c语言程序设计实验指导(青岛大学版)
#include "stdio.h"
void main() { float a,b,c;
scanf("a=%f,b=%f c=%f",&a,&b,&c);//逗号加空格……最不实用的东西……但要知道…… printf(" a=%f ,b=%f ,c=% f\n" ,a,b,c); }
a=125,b=879 c=635 a=125.000000,b=879.000000,c=635.000000
结果 : 52 52,64,34 the lenth of an int is 4 Press any key to continue
…… 或许 这样更 深刻……
#include <stdio.h> void main(){
int a; s can f(" %d " ,&a); printf("%u,%d,%o,%x\ n",a,a,a,a); printf("the lenth of an int is %d\n",sizeof(a));
char a;//定义 a 为字符型占 1 个字节 int b;//vc6.0 默认 long int 占 4 个字节,见《沟通》p28 a=0x1234;//十六进制赋值,前面的 12 其实已经溢出……1 个字节=8 位=1 个 16 进制的 2 位数 (2^4=16) b=0x1234; printf("十六进制 a=%x, 十进制 a=%d,十六进制 b=%x, 十进制 b=%d\n",a,a,b,b);
#include <stdio.h>
void main(){
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课件程序打印版1. 1+(1+2)+....+#include<stdio.h>int main(){int s,t,n;int i,j;printf ("please enter the num:") ;scanf ("%d",&n) ;s=0;for (i=1;i<=n;i++){t=0;for (j=1;j<=i;j++)t+=j ;s=s+t ;}printf ("s=%d",s);}2. 1-100相加#include <stdio.h>int main(){int i,s=0;for(i=1;i<=100;i++)s=s+i;printf("和=%d",s);}3.求派的近似值#include <stdio.h>#include <stdlib.h>int main(){int sign=1;double pi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-4){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return 0;}4. 5个数相加#include <stdio.h>int main(){int i=0;float s,x;while(i<5){scanf("%f",&x);s=s+x;i++;}printf("s=%f",s);}5. 10数求最大,输出位置#include <stdio.h>int main(){int i,a[10],pos=0;printf("enter 10 number:");for(i=0;i<10;i++){scanf("%d",&a[i]);if(a[i]>a[pos])pos=i;}printf("%d",pos+1);return 0;}6. 不是回车不停止输入#include <stdio.h>int main(){char ch;while ( (ch = getchar())!= '\n')putchar ( ch ) ; }7. 打印1-100每行5个#include <stdio.h>int main(){int i;for(i=1;i<=100;i++){printf("%d",i);if(i%5==0)printf("\n");}}8.打印n个空格void blank(int n){int i;for(i=1;i<n;i++)printf(" ");}#include <stdio.h>int main(){int a;printf("Please input to print the number of Spaces:");scanf("%d",&a);blank(a);printf("<---Print the end!");return 0;}9. 打印九九表#include <stdio.h>#include <stdlib.h>int main(){int i,j;for(i=1;i<10;i++)for(j=1;j<10;j++){printf("%d ",i*j);if(j%9==0)printf("\n");}}10. 反顺序输出5个数字#include <stdio.h>int main(){int i,a[5],b[5],j;for(i=0,j=4;i<5;i++,j--){scanf("%d",&a[i]);b[j]=a[i];}for(i=0;i<5;i++)printf("%d ",b[i]);}11. 分别求奇数和偶数的和#include<stdio.h>int main(){int n,k, sum1=0,sum2=0;scanf("%d",&n);for(k=1;k<=n;k++){if(k%2==0)sum1=sum1+k;elsesum2=sum2+k;}printf("偶数之和:%d\n奇数之和:%d\n",sum1,sum2);return 0;}12. 计算(1!)2+(2!)2+(3!)2+(4!)2+(5!)2#include <stdio.h>int main(){int fact(int n);printf("(1!)2+(2!)2+(3!)2+(4!)2+(5!)2=%d",fa ct(5));return 0;}int fact(int n){int w,t=1,s=0,i;for(i=1;i<=n;i++){t=t*i;w=t*t;s=s+w;}return s;}13. 将一个字符串复制到另一个数组#include <stdio.h>#include <string.h>int main(){int n,i;char a[100],b[100];gets(a);n=strlen(a);for(i=0;i<n;i++){b[i]=a[i];printf("%c",b[i]);}}14. 冒泡法6数字排序#include <stdio.h>int main(){int i,j,a[6],t;printf("enter 6 number:");for(i=0;i<6;i++)scanf("%d",&a[i]);for(i=0;i<5;i++)for(j=0;j<5-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<6;i++)printf("%d ",a[i]);}15. 判断闰年1#include<stdio.h>int main(){int y;scanf("%d",&y);if(y%4==0&&y%100!=0||y%400==0) printf("ok\n");elseprintf("no\n");}16. 判断闰年2#include <stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%d is",year);elseprintf("%d is not",year);printf(" a leap year.\n");return 0;}17. 判断素数#include<stdio.h>int main(){int x,i,p=1;printf("input the number of x:");scanf("%d",&x);for(i=2;i<=sqrt(x);i++){if(x%i==0){p=0;break;}}if(p==1)printf("是素数");if(p==0)printf("不是素数");}18. 求Fibonacei数列的前40项#include<stdio.h>int main(void){int i;long int f[41];f[1]=1;f[2]=1;for(i=3;i<=40;i++)f[i]=f[i-1]+f[i-2];for(i=1;i<=40;i++){printf("%ld ",f[i]);if(i%5==0)printf("\n");}}19. 求各位数之积#include<stdio.h>int main(){ long x,t=1,n;printf ( "Please enter a number:") ;scanf ("%ld",&x ) ;do{n=x%10;t=t*n;x=x/10 ;}while(x) ;printf("t = %ld\n",t);}20. 求阶乘的函数int factorial(int n){int i,s=1;for(i=2;i<=n;i++)s=s*i;return s;}#include <stdio.h>int main(){int a;printf("Please enter the requested factorial Numbers:");scanf("%d",&a);printf("Ask factorial =%d",factorial(a));}21. 求某一数阶乘的递归函数double fact (int n){double f;if(n==0 || n==1) f=1;else f=n*fact(n-1);return f;}#include<stdio.h>int main(){double y;int n;printf("enter the number:");scanf("%d",&n);printf("次方程=%lf",fact(n));}22. 求三个数最大数#include<stdio.h>int main(){int i,j,k,max;scanf("%d%d%d",&i,&j,&k);max=i>j?i:j;if(max>k)printf("MAX=%d",max);elseprintf("MAX=%d",k);}23. 求输入数据的最大最小#include <stdio.h>int main(){int a,n,i,MAX,MIN;scanf("%d",&n);scanf("%d",&MIN);MAX=MIN;for(i=0;i<n-1;i++){scanf("%d",&a);if(a>=MAX)MAX=a;if(a<=MIN)MIN=a;}printf("MAX=%d\nMIN=%d",MAX,MIN); }24. 三个数比较大小#include<stdio.h>int main(){int i,j,k,t;scanf("%d%d%d",&i,&j,&k);if(i>j){t=i;i=j;j=t;}if(i>k){t=i;i=k;k=t;}if(j>k){t=j;j=k;k=t;}printf("%d %d %d",i,j,k);}25. 三行四列找最大及位置#include <stdio.h>#include <stdlib.h>int main(){int a[3][4],i,j,row=0,col=0;printf("enter 12 number:");for(i=0;i<3;i++)for(j=0;j<4;j++){scanf("%d",&a[i][j]);if(a[i][j]>a[row][col]){row=i;col=j;}}printf("最大值是:%d\n所在行:%d 所在列:%d",a[row][col],row+1,col+1);}26. 实现5!#include <stdio.h>int main(){int i,s=1;for(i=2;i<=5;i++){s=s*i;}printf("5!=%d",s);}27. 实现X的n次冪#include <stdio.h>int main(){int i,k,j,t;scanf("%d%d",&k,&i);for(j=0;j<i-1;j++)k=k*k;printf("%d",k);}28. 输出1-1000素数#include<stdio.h>#include<math.h>int main(){int i,j,k;for(i=2;i<1000;i++){k=0;for(j=2;j<=sqrt(i);j++)if(i%j==0){k=1;break;}if(k==0)printf("%d ",i);}}29. 输入成绩输出等级#include<stdio.h>int main(){int a,k;scanf("%d",&k);a=k/10;switch(a){case 10:case 9:printf("A\n");break;case 8 :printf("B\n");break;case 7:printf("C\n");break;case 6:printf("D\n");break;case 5:case 4:case 3:case 2:case 1:case 0:printf("E\n");break;default:printf("error\n");break;}}30. 统计名字#include <stdio.h>#include <stdlib.h>int main(){char a[50][10];int i,n;printf("您想输入几个人名?\n");scanf("%d\n",&n);for(i=0;i<n;i++)gets(a[i]);printf("以M开头的如下:\n");for(i=0;i<n;i++)if(a[i][0]=='M')printf("%s\n",a[i]);}31. 小写大写转化#include<stdio.h>int main(){char c;while ((c=getchar())!='\n'){if ((c >= 'a')&&(c <= 'z')){c =c-32;}printf("%c", c);}return 0;}32. 选择法6数排序#include<stdio.h>int main(){int i,j,k,t,a[6];for(i=0;i<6;i++)scanf("%d",&a[i]);printf("\n");for(i=0;i<5;i++){k=i;for(j=i+1;j<6;j++)if(a[k]>a[j])k=j;t=a[i];a[i]=a[k];a[k]=t;}printf("The sorted numbers:");for(i=0;i<6;i++)printf("%d ",a[i]);printf("\n");}33. 用函数求两个数最大值#include <stdio.h>int main(){int MAX(int x,int y);int a,b;printf("enter 2 number:");scanf("%d%d",&a,&b);printf("MAX=%d",MAX(a,b));}int MAX(int x,int y){int m;m=x>y?x:y;return m;}34. 用指针函数删除下标为k的元素#include <stdio.h>int main(){void sub(int *p,int *q,int n);int a[10]={1,2,3,4,5,6,7,8,9,10};int *p,n,i,*q;printf("Want to remove the subscription:");scanf("%d",&n);sub(&a[n],&a[n+1],n);for(i=0;i<9;i++)printf("%d ",a[i]);}void sub(int *p,int *q,int n){int i;for(i=0;i<10-n;i++){*p=*q;p++;q++;}}35. 用函数验证素数#include<stdio.h>int main(){int prime(int n);int a,b;printf("enter the number:");。

相关文档
最新文档