C语言习题(带流程图)

合集下载

c语言程序设计流程图详解

c语言程序设计流程图详解

c语言程序设计流程图详解介绍常见的流程图符号及流程图的例子。

本章例1 - 1的算法的流程图如图1 - 2所示。

本章例1 - 2的算法的流程图如图1 - 3所示。

在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”注“真”、“假”或“T”、“F”或“Y”、“N”另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。

2. 算法的结构化描述早期的非结构化语言中都有go to语句,它允许程序从一个地方直接跳转到另一个地方去。

执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。

这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。

而结构化程序设计,就是要把这团乱麻理清。

经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。

正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。

遵循这种方法的程序设计,就是结构化程序设计。

相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。

(1) 顺序结构顺序结构是简单的线性结构,各框按顺序执行。

其流程图的基本形态如图1 - 4所示,语句的执行顺序为:A→B→C。

(2) 选择(分支)结构这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。

C语言实用程序设计100例流程图

C语言实用程序设计100例流程图

C谈话真用步调100例之阳早格格创做第一篇前提取普及真例1利用库函数编写基础隐现步调真例2变量属性真例3运算符取典型真例4闭于步调结构真例5隐现函数直线图真例6二分法选代的应用真例7多变的坐圆体真例8一维整型数组应用(1)真例9一维整型数组应用(2)真例10一维整型数组应用(3)真例11一维整型数组应用(4)真例12二维数组应用(1)——隐现杨辉三角真例13二维数组应用(2)——魔圆阵真例14字符数组应用(1)——逻辑推断真例15字符数组应用(2)——数据模拟真例16二维数组应用——字符比较真例17利用指针举止数据处理真例18指针取字符串真例19利用指针处理二维数组真例20一级指针真例21利用指针传播参数值真例22结构体的应用真例23链表的应用(1)真例24链表的应用(2)真例25链表的应用(3)真例26同用体的应用真例27罗列典型应用真例28位运算购例29义件加稀真例30文献的按记录随机读写第二篇图形取多媒介真例31改变笔墨背景致真例32及本颜色树坐真例33创造表格真例34创造百般的椭圆真例35劣好的透视图形真例36错位窗心真例37能移动的矩形真例38多变的弥补矩形真例39黄乌相间的矩形取圆真例40六叶图案真例41特殊图案真例42国际象棋棋盘真例43创造楼梯真例44使用线典型函数树坐多个汉字真例45乌色群面真例46饼图购例47产品合线图真例48直圆图真例49变大变色的拒形取国真例50多变的弥补多边形真例51流星球真例52小球动向碰碰购倒53多,直线真例54多变的圆取环真例55柔好的球体真例56疏通的小车真例57统计动画消得次数真例58运止的时钟真例59直降飞机真例60演绎“死命游戏”真例61猜猜瞅购例62艺术浑屏购倒63创造火焰真例64动向画造256条分歧颜色的直线真例65黑绿蓝三本色渐变第三篇概括小步调真例66二个矩阵相乘真例67艺术钟真例68家庭财务管造小步调真例69用系统时间真止随机数真例70闪动的多彩圆真例71查看系统有无鼠标真例72圆形光盘取矩形真例73动向渐变图案真例74往返二天间的小车真例75飘扬的黑旗真例76隐现蓝天黑云图形真例77百叶窗第四篇估计机等第考查上机试题(二级)第五篇估计机等第考查上机试题(三级)部分过程图真例1真例2真例3真例5真例6真例7递归函数真例8真例9真例真例真例真例13真例真例真例真例真例printf("%5d",a[i]) a[i]!=0是 可printf("\n") i++真例19真例真例21真例真例真例真例真例真例真例进造变换隐现真86真例878889真例91真例93 真例94定义整型数组变量a[N1][N2],max,min,i,j,row1,row2,column1,column2, (*ap)[4]ap=a row1=row2=column1=column2=0for( i=0; i<N1;i++)for( j=0; j<N1;j++)任性输进字符串搁到二维数组中max=min=a[0][0]for( i=0; i<N1;i++)for( j=0; j<N1;j++)max< *(*(ap+i)+j)T Fmax= *(*(ap+i)+j) ; row1=i;column1=j;min> *(*(ap+i)+j)T Fmin> *(*(ap+i)+j) ;row2=j;column2=j挨印最大值战最小值及它们天圆的止取列真例95真例96真例真例97(2)真例98真例99。

c语言(算法流程图)

c语言(算法流程图)
输出sum 用N-S图表示
N i<n?
Y t*=i;sum+=t;
iቤተ መጻሕፍቲ ባይዱ=2 输出sum
结束 用流程图表示
8.7 跟我上机
2. 将1到100之间 能用3或5整 除的数打印 出来。
开始
i赋初值为1
N i<=100?
Y N
i能被3或5整 除? Y 打印i
i++
结束
用流程图表示
i赋初值为1
i<=100?
i能被3或5整 除?
N d>=0?
x2=x-sqrt(-d)/(2a) x1=x+ sqrt(-d)/(2a)
输出结果
8.7 跟我上机
开始 输入n的值
1. 求1!+3!+5!+……+N!的值。N
i赋值为1 t赋初值为1
由键盘输入,且为奇数。
sum赋初值为0
输入n的值 t赋初值为1; i赋值为1
sum赋初值为0 i<n? t*=I; s+=t; i+=2
求最大公约数通常用“辗转相除法”,
方法如下:
(1)比较两数,并使m大于n。 (2)将m作被除数,n作除数,相除 后余数为r。 (3)将m←n,n←r; (4)若r=0,则m为最大公约数,结 束循环。若r≠0,执行步骤步骤(2) 和(3)。
输入m,n
T
m<n?
F
交换m,n
r←m%n m←n,n←r
r ≠0 输出m
8.3.6 用计算机语言表示算法
计算机语言通常分为三类:即机器语言,汇编语 言和高级语言。
8.4 结构化程序设计方法
结构化程序设计的思想:自顶向下、逐步求 精;

C语言程序设计算法及算法的流程图表示

C语言程序设计算法及算法的流程图表示

第2章算法及算法的流程图表示
数据结构+算法=程序
2.1算法的概念及特性
2.1.1算法的概念
2.1.2算法的特性
2.2算法的流程图表示
2.2.1传统流程图
起止框
处理框
输入输出框
判断框
流程线
连接点
注释框
图2.1 常用的流程图符号
图2.2 求解例2.1的流程图
2(x 0)
2x 3y 0
(x 0)x 1
(x 0)
>⎧+⎪==⎨
⎪+<

图2.3 求解例2.2的流程图 图2.4 求解例2.3的流程图
2.2.2 结构化程序的3种基本结构
图2.5 顺序结构图2.6 分支结构图2.7 当型循环结构图2.8 直到型循环结构2.2.3结构化流程图
A B
p
成立不成立
A B
当条件p成立
A
直到条件p成立
A
图2.9 顺序结构图2.10 分支结构图2.11 当型循环结构图2.12 直到型循环结构
输入x
x>0?
是否
y=2*x+3 是否
y=0 y=x*x+1
x==0?
输出y aver=0;count=0
输入x
aver=aver+x;count=count+1;
输入x
当x≠0时
aver=aver/count
输出aver
图2.13 例2.2的N-S图图2.14 例2.3的N-S图
习题2。

C语言程序设计:算法、流程图、三种流程模式

C语言程序设计:算法、流程图、三种流程模式

开始
sum 0 c 0
Sum=0; c=0; printf(“请输入分数:”); scanf(“%d",&d); while( d != 0){
Sum = Sum + d; c = c + 1;
printf(“请输入分数:”); scanf(“%d",&d); } printf(“average=%d \n", Sum/c);
开始
sum 0 c 0
输入数据存入变量d
d=0 ? Y
N
sum sum + d cc+1
输入数据存入变量d
计算平均分,当输入成绩为0 时表示要停止输入。
c=0 ? Y
N 输出平均分:sum / c
结束
输出平均分:0
计算:sum=1+2+3+…… +100
开始
sum 0 i1
i <=100 ? N
j j+1
i = 0; j = 0; n = 0; c = 0; while(i <= 9){
j = 0; while( j <= 9 ){
n = 10407 + 1000 * i + 10 * j; if( n%57 == 0 || n%67 == 0){
printf( "%d ", n);
c = c + 1; } j = j + 1; } i = i + 1; }
min c
N
输出:min 结束
开始
输入:a 、 b、c
N
Y
a>b ?
min a
min b
N

C语言(算法的描述)

C语言(算法的描述)
开始 输入年份y Y Y y%400== 0 N l=0 y%100== 0 N
y%4==0 N l=0
Y
l=1
l=1
Y 输出y是闰年
l==1
N 输出y不是闰年
结束
输入y y%100==0
Y
y%400==0 Y N l=1 Y 输出y是闰年 l=0 l==1
N
y%4==0 Y N l=1 N 输出y不是闰年 l=0
顺Байду номын сангаас结构
a a b
b
选择结构
Y
a
条件
N
b
条件 Y N
a
b
循环结构
条件 Y a
N
条件 a
a 直到条件成立
S=0 S=S+1 S=S+2 S=S+3 S=S+4 S=S+5 输出S
输入a,b a>b Y max=a N max=b
输出max
S=0 i=1 i<=100 S=S+i i++ 输出S
5.输入某年份,判断这年是否为闰年
算法的描述—流程图
1.传统流程图 2.N-S流程图
1.计算1+2+3+4+5
开始
S=0
S=S+1
Main() { int S; S=0;
S=S+1;
S=S+2 S=S+3 S=S+4 S=S+5 输出S 结束 S=S+2; S=S+3; S=S+4; S=S+5; printf(“%d”,S); }
3.计算1+2+3+4+5+....+100

C语言算法第五章源代码以及流程图

C语言算法第五章源代码以及流程图

程序流程图内存执行过程数计学院计算机科学与技术 110702010006戴晨丹5.4符号函数:1 /* example5-4.cpp */2 #include <stdio.h>3 Int main()4 {5 Int x, sign;6 print(“请输入x 的值:”);7 scanf(“%d ”, &x);8 if(x>0)9 sign=1; 10 else if (x<0) 11 sign=-1; 12 else 13 sign=0;14 printf(“x 的值为:%d,符号函数的值为:%d\n ”15 return 0;16 }5.5将三个整数由小到大输出1 /* example5-4.cpp */2 #include <stdio.h>3 Int main()4 {5 Int x, y, z, temp;6 print(“请输入三个整数:”);7 scanf(“%d%d ”8 if(x>y)9 {10 temp=x; 11 x=y; 12 y=temp; 13 } 14 if (z<x) 15 {16 temp=z; 17 z=y; 18 y=x; 19 x=temp; 20 }21 else if(z<y) 22 {23 temp=y; 24 y=z; 25 z=temp; 26 }27 printf(28 return 0; 29 }5.6.百分制转换1 /* example5-6.cpp */2 #include <stdio.h>3 Int main()4 {5 double score;6 int temp;7 char grade;8 printf(“请输入一个百分制成绩:”); 9 scanf(“%1f ”,&score); 10 temp=(int)score/10; 11 switch (temp) 12 {13 case 10:14 case 9: grade=‘A ’; break; 15 case 8: grade=‘B ’; break; 16 case 7: grade=‘C ’; break; 17 case 6: grade=‘D ’; break; 18 default: grade=‘E ’; break; 19 }20 printf(“百分制成绩%4.1f 对应的等级制成绩为21 return 0; 22 }计算n!1 /* example5-6.cpp */2 #include <stdio.h>3 int main()4 {5 int n, i=1;6 long int result=1;7 printf(“请输入一个整数:”); 8 scanf(“%d ”, &n); 9 while(i<=n) 10 {11 result=result*I; 12 i++; 13 }14 printf(“%d 的阶乘为: %d\n ”,15 return 0; 16}水仙花数1 Duty5-2.cpp */2 #include <stdio.h>3 Int main()4 {5 int x,x1, x2, x3, y;6 printf(“请输入一个三位整数:”);7 scanf(“%d ”, &x);8 x1=x%10;9 y=x/10; 10 x2=y%10; 11 x3=y/10;12 if(x1*x1*x1+x2*x2*x2+x3*x3*x3==x); 13 printf(“%d 是水仙花数\n ”, x); 14 else15 printf(“%d 不是水仙花数\n ”, x); 16 return 0; 17 }。

c语言流程图专项练习

c语言流程图专项练习

c语言流程图专项练习下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!题目:计算两个整数的和1. 开始2. 输入第一个整数3. 输入第二个整数4. 计算两个整数的和5. 输出结果6. 结束注意事项:1. 在输入整数时,要确保输入的是有效的整数,否则可能会导致程序出错。

《C语言程序的设计》大作业

《C语言程序的设计》大作业

南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。

(4)学生信息的浏览及排序(冒泡排序算法)。

(5)学生成绩的录入、修改。

(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。

C语言程序设计习题(含答案)

C语言程序设计习题(含答案)

一、名词解释(每小题4分,共20分)1. 变量2. 赋值运算3. int4. 数组5. 函数二、单选题(每小题2分,共20分)1. 以下运算符中,表示取余数运算的是( )A. %B. /C. !=D. <=2. C语言中,表示“不等于”、“不相等”的运算符是( )A. ≠B. !=C. < >D. =/=3. C语言中,printf函数中的格式字符%d用来( )A. 输出一个字符串B. 输出单个字符C. 输出十进制整数D. 输出双精度浮点数4. C语言中,要求接受用户从键盘输入的一个英文字符到char型变量ch中,那么,该语句的正确写法是( )A. scanf("%z",ch);B. scanf("%c",ch);C. scanf("%z",&ch);D. scanf("%c",&ch);5. 定义一个用来存放双精度浮点数且名为x的变量的正确语句是( )A. double x;B. float x;C. Double x;D. Float x;6. 判断整数型变量score的取值是否在区间[60,100]的正确写法是( )A. if (score>=60 and score<=100)B. if (score>=60 && score<=100)C. if (score>=60 & score<=100)D. if (60<= score <=100)7. 定义最多能存放30个整数且名为scores的数组的正确语句是( )A. INT scores[30];B. int [30] scores;C. int scores[30];D. INT [30] scores;8. 利用string.h中库函数求字符串s的长度的表达式正确写法是( )A. len(s)B. length(s)C. strLen(s)D. strlen(s)9.利用string.h中库函数判断字符串s1大于等于字符串s2的正确写法是( )A. if(strcmp(s1,s2)>=0)B. if (s1>=s2)C. if(strcmp(s1,s2)≥0)D. if (s1≥s2)10. 以下能输出数字0,1,2,3,4,5,6,7,8,9且每行输出一个数字的正确语句是( )A. for( i=0; i<10; i++ ) { printf("%d",i); }B. for( i=0; i<10; i++ ) { printf("%d\n",i); }C. for( i=0; i<10; i++ ) { printf("%d\n",i+1); }D. for( i=0; i<10; i-- ) { printf("%d\n",i); }三、判断题(每小题2分,共10分)1. C语言中,int可以作为变量名,例如语句:char int;可以定义名为int 的字符型变量。

C语言习题

C语言习题

一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)程序流程图中带有箭头的线段表示的是A)图元关系B)数据流C)控制流D)调用关系(2)下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息隐蔽(3)下列选项中,不属于模块间耦合的是A)数据耦合B)标记耦合C)异构耦合D)公共耦合(4)下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析(5)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是A)堆排序B)直接插入排序C)快速排序D)B)和C)(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是A)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面的设计内容,它们是A)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)结构特性设计和行为特性设计(9)关系表中的每一横行称为一个A)元组B)字段C)属性D)码(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言用户标识符的是A)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,Case D)2a,Do,Sizeof(13)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C语言中,运算对象必须是整型数的运算符是A)% B) C)%和D)**(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有以下程序段char ch; int k;ch=′a′; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>=′A′&& kk<=′Z′B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)以下不正确的定义语句是A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′};D)char c2[]={′x10′, ′xa′, ′x8′};(21)下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%dn",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次(23)(23)下面程序段的运行结果是char *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′的地址D)无确定的输出结果(24)阅读下列程序,则执行后的结果为#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%xn",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断正确的是A)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)有以下程序#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %dn",i1,i2);}程序的运行结果是A)12 12 B)11 7 C)11 11 D)12 7(29)若有以下说明和定义union dt{ int a; char b; double c;}data;以下叙述中错误的是A)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段:data.a=5;printf("%fn",data.c);输出结果为5.000000 D)data可以作为函数的实参(30)有以下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%dn",a[0],a[1],a[2]);fprintf(fp,"%d%d%dn",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%dn",k,n);fclose(fp);}程序运行后的输出结果是A)1 2 B)1 4 C)123 4 D)123 456(31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不正确的引用是A)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有以下程序#include <stdio.h>void fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("n");}程序的运行结果是A)0987654321 B)4321098765 C)5678901234 D)0987651234 (33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′′;i++)if(str[i]!=′′)str[j++]=str[i];str[j]= ′′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%sn",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有以下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%dn",x)}执行程序时,给变量x输入10,程序的输出结果是A)55 B)54 C)65 D)45(35)下面程序段中,输出*的个数是char *s="ta18bc";for(;*s!='';s++)printf("*");A)9 B)5 C)6 D)7(36)C语言结构体类型变量在程序运行期间A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项(38)设有以下语句char x=3,y=6,z;z=x^y<<2;则z的二进制值是A)00010100 B)00011011 C)00011100 D)00011000(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是A)auto和register B)extern和register C)auto和static D)static和register(40)设有定义语句int (*f)(int);,则以下叙述正确的是A)f是基类型为int的指针变量B)f是指向函数的指针变量,该函数具有一个int类型的形参C)f是指向int类型一维数组的指针变量D)f是函数名,该函数的返回值是基类型为int类型的地址二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

C语言期末练习及答案

C语言期末练习及答案

C语言期末练习(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 40分)1、流程图中,输入/输出框用( )图形表示?A、圆角矩形B、平行四边形C、矩形D、菱形【答案】B2、能正确表示"当x的取值在[1,10]和[100,11o]范围内为真,否则为假"的表达式是________。

A、(x>=1)&&(x<=10)&&(x>=100)&&(X<=110)B、(x>=1)&&(x<=10)||(x>=100)||(x<=110)C、(x>=1)&&(x<=10)||(x>=100)&&(x<=110)D、(x>=1)||(x<=10)&&(x>=100)||(x<=110)【答案】C3、如下程序段运行输出的结果为________。

int a=5,b=6,c; c=++a+b--;printf("%d,%d,%d%\n",a,b,c);A、5,6,11B、6,5,11C、6,5,12D、6,6,12【答案】C4、c语言中下面哪个不是条件语句?A、ifB、if elseC、NSLogD、switch【答案】C5、下面不属于算法的控制结构的是______ 。

A、顺序结构B、归纳结构C、循环结构D、选择结构【答案】B【解析】顺序结构、循环结构和选择结构是算法的基本结构。

6、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。

A、cp+1B、*(cp+3)C、*(cp+1)+3D、*(*cp+2)【答案】D7、关于数据类型存储大小从小到大正确的是________。

A、sizeof(char)<sizeof(short int)<sizeof(int)<sizeof(float)B、sizeof(char)<sizeof(short int)<sizeof(int)<sizeof(double)C、sizeof(char)<sizeof(int)<sizeof(long int)<sizeof(float)D、sizeof(char)<sizeof(unsigned int)<sizeof(long int)<sizeof(double) 【答案】B8、以下能正确定义一维数组的选项是________。

C语言实用程序设计100例流程图

C语言实用程序设计100例流程图

C语言实用程序100例第一篇基础与提高实例1利用库函数编写基本显示程序实例2变量属性实例3运算符与类型实例4关于程序结构实例5显示函数曲线图实例6二分法选代的应用实例7多变的立方体实例8一维整型数组应用(1)实例9一维整型数组应用(2)实例10一维整型数组应用(3)实例11一维整型数组应用(4)实例12二维数组应用(1)——显示杨辉三角实例13二维数组应用(2)——魔方阵实例14字符数组应用(1)——逻辑判断实例15字符数组应用(2)——数据模拟实例16二维数组应用——字符比较实例17利用指针进行数据处理实例18指针与字符串实例19利用指针处理二维数组实例20一级指针实例21利用指针传递参数值实例22结构体的应用实例23链表的应用(1)实例24链表的应用(2)实例25链表的应用(3)实例26共用体的应用实例27枚举类型应用实例28位运算买例29义件加密实例30文件的按记录随机读写第二篇图形与多媒体实例31改变文字背景色实例32及本颜色设置实例33制作表格实例34制作多样的椭圆实例35美丽的透视图形实例36错位窗口实例37能移动的矩形实例38多变的填充矩形实例39黄黑相间的矩形与圆实例40六叶图案实例41特殊图案实例42国际象棋棋盘实例43制作楼梯实例44使用线类型函数设置多个汉字实例45彩色群点实例46饼图买例47产品折线图实例48直方图实例49变大变色的拒形与国实例50多变的填充多边形实例51流星球实例52小球动态碰撞买倒53多,曲线实例54多变的圆与环实例55优美的球体实例56运动的小车实例57统计动画消失次数实例58运行的时钟实例59直升飞机实例60演绎“生命游戏”实例61猜猜看买例62艺术清屏买倒63制作火焰实例64动态绘制256条不同颜色的直线实例65红绿蓝三原色渐变第三篇综合小程序实例66两个矩阵相乘实例67艺术钟实例68家庭财务管理小程序实例69用系统时间实现随机数实例70闪动的多彩圆实例71检查系统有无鼠标实例72圆形光盘与矩形实例73动态渐变图案实例74往返两地间的小车实例75飘扬的红旗实例76显示蓝天白云图形实例77百叶窗第四篇计算机等级考试上机试题(二级)第五篇计算机等级考试上机试题(三级)部分流程图实例1实例2 实例3返回:return1=>flag当flag=1时输出选择信息ch=getchar()得到大写字符:ch=toupper(ch)ch=='F'否是调用函数print实例4实例5实例6实例7主函数main()实例8实例9实例10实例11实例120=>j 实例13实例14实例15图15-2 流程图实例16实例17实例18实例19实例20实例21实例22实例23实例24函数new函数list实例25图25-2 流程图实例26 Array实例27另外三种赋值实例28实例29实例30实例78实例79实例81实例82实例83实例84实例85实例86实例87实例92实例93实例94实例95实例96实例97(1)实例97(2)实例98实例99实例100定义整型变量a, k任意输入一个整数a>0&&a<1000F T打印出输入的数这是一个超出范围的数打印is group offor(k=1;k<=a;++k)a%k= =0T F打印出来k。

第3、4、5、6、7章C语言设计 习题答案

第3、4、5、6、7章C语言设计 习题答案

第三章习题答案1.掌握算法必须要掌握的五个特性:a)有穷性。

算法执行步骤的次数有限,能在有限时间内完成。

b)确切性。

每一步操作的执行步骤、执行结果确定,不能有二义性。

c)有效性。

算法中的每一步操作都是可执行的,即算法的每一步都能通过手工或机器在有限时间内完成。

d)必须有零个或多个输入。

e)必须有一个或多个输出。

2.算法是指令的有限序列,是求解问题显式的一步一步进行的过程。

为程序编写提供依据。

程序是用C语言单词将算法表达出来的过程。

算法是程序的灵魂。

3.数据类型总体分为三类:a)对象类型。

对象类型的基本类型又分为整型、浮点型、字符型。

b)函数类型。

c)不完全类型。

4.整型可分为:a)有符号整数。

它又包括 short int、int、long int、long long int。

b)无符号整数。

它又包括unsigned short int、unsigned int、unsigned longint、unsigned long long int。

不同数据类型数据的值域范围不同。

5.合法的标识符有:scanf、x、x1、_y 、_y2x、printf、main合法标识符由英文字母、数字、下划线组成,且第一个字符只能是英文字母或下划线。

关键词不能成为合法标识符。

6.略7.8.变量名:x 数据对象:3存储地址:&x 存储单元:8(在VS2005中)9.0x13B1:十六进制int型字面值;3e3:十进制 int型字面值;‘d’:字符型字面值;“my university”:字符串型字面值;99:十进制int型字面值;023:八进制int型字面值;1.3e-4:double型浮点型字面值;33U:十进制unsigned int型字面值;034L:八进制long int型字面值;0x34UL:十六进制unsigned long int型字面值;30.23L:十进制long double型字面值;30.23F:十进制float型字面值;10.\?:?\’:’\”:”\\:\\233:表示八进制int型整数233\x2f:表示十六进制int型整数 2f。

C语言实验带源程序及流程图

C语言实验带源程序及流程图
disc=b*b-4*a*c;
printf("root:\n");
if (disc>0)
{
greater_than_zero(a,b);
printf("x1=%f\t\tx2=%f\n",x1,x2);
}
else if (disc==0)
{
equal_to_zero(a,b);
printf("x1=%f\t\tx2=%f\n",x1,x2);
printf("它们的最大公约数是:%d\n",n);
printf("它们的最小公倍数是:%d\n",p/n);
return 0;
}
运行结果
程序二
功能
用二分法求 在(-10,10)之间的根
流程图N-S图
源代码
#include <stdio.h>
#include <math.h>
int main()
{
char text[3][80];
upp=low=dig=spa=oth=0;
for(i=0;i<3;i++)
{
printf("please input line %d:\n",i+1);
gets(text[i]);
for(j=0;j<80&&text[i][j]!='\0';j++)
{
if (text[i][j]>='A'&&text[i][j]<='Z')
for(i=0;i<3;i++)

程序设计基础(C语言)第3版习题及答案

程序设计基础(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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有一个错误
#include <>
int main()
{
int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{
if(i%5==0) printf("\n"); printf("%12d",f[i]);
}
printf("\n");
return 0;
}
可运行
#include <>
int main()
{char c;
c=getchar();
while(c!='\n')
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22; else c=c+4;
}
printf("%c",c);
c=getchar();
}
printf("\n");
return 0;
}
(2)有一个错误
#include <>
int main()
{char c;
while((c=getchar())!='\n')
{if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
{c=c+4;
if(c>='Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
return 0;
}
有一个错误
#include <>
#include <>
int main()
{
int n,k,i,m=0;
for(n=101;n<=200;n=n+2) {k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{printf("%d",n);
m=m+1;
}
if(m%10==0) printf("\n"); }
printf("\n");
return 0;
}
#include <>
int main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
//求三个整数中的较大者的max函数int max(int x,int y,int z)
{
int m;
if(x>y,x>z) m=x;
else if(y>x,y>z) m=y;
else m=z;
return (m);
}。

相关文档
最新文档