当前位置:首页 » 编程语言 » c语言程序设计43讲
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言程序设计43讲

发布时间: 2023-08-20 11:36:18

1. c语言程序设计

5.3 if语句
用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。
5.3.1 if语句的三种形式
1. 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。

【例5.3】
main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d",max);
}

本例程序中,输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。
2. 第二种形式为: if-else
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
其执行过程可表示为下图。

【例5.4】
main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
}

输入两个整数,输出其中的大数。
改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。
3. 第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。 当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;

else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如图3—3所示。

【例5.5】
#include"stdio.h"
main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
elseif(c>='0'&&c<='9')
printf("This is a digit\n");
elseif(c>='A'&&c<='Z')
printf("This is a capital letter\n");
elseif(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}

本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分
支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
4. 在使用if语句中还应注意以下问题:
1) 在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。
例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
又如,有程序段:
if(a=b)
printf("%d",a);
else
printf("a=0");
本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。
2) 在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
3) 在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}
5.3.2 if语句的嵌套
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。
其一般形式可表示如下:
if(表达式)
if语句;
或者为
if(表达式)
if语句;
else
if语句;
在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。
例如:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
其中的else究竟是与哪一个if配对呢?
应该理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
还是应理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。
【例5.6】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A<B\n");
else printf("A=B\n");
}

比较两个数的大小关系。
本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A<B或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清晰。因此,在一般情况下较少使用if语句的嵌套结构。以使程序更便于阅读理解。
【例5.7】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a==b) printf("A=B\n");
else if(a>b) printf("A>B\n");
else printf("A<B\n");
}

2. 哪里有C++,C语言,VB,JAVA语言程序设计的视频教程

J1314 C++程序设计(34讲)-东南大学 何洁月(女)
J2238 C++程序设计语言(33讲)-北京航空航天大学 张永鸣
J3294 C++面向对象程序设计(新)(48讲)-吉林大学 王爱民
J0687 C++语言程序设计(37讲)-吉林大学
J1128 C++语言程序设计(44课时)-上海交通大学
J0854 C++语言程序设计(45讲)-北京大学 吕凤翥
J0152 C++语言程序设计(52讲)-中山大学 黎培兴
J0043 C++语言程序设计(80讲)-东南大学 何洁月
J1667 C++语言程序设计-清华大学
J1882 VC++6.0教程(48讲)-吉林大学 田大新
J0379 VC++视频教学(20讲)-维新学院 孙鑫
J2471 VC++语言程序设计(56讲)-哈尔滨工业大学 张卫(女)
J2322 编程之道-C/C++程序设计入门
J2327 编程之道-VC++.NET程序设计入门
J1883 面向对象C++(40讲)-电子科技大学 陈文宇
J2444 面向对象程序设计(C++)(48讲)-西北工业大学 刘尊
J0187 数据结构(68讲)(C++描述)-吉林大学 徐沛娟(女)
J0185 数据结构(C++描述)(10讲)-清华大学 殷人昆
J1495 数据结构(C++描述)(42讲)-复旦大学 王宇君
J0861 数据结构(C++描述)(45讲)-北京大学 梅婧(女)

J1813 C语言程序设计(21讲)-中南大学
J1617 C语言程序设计(32讲)-西北工业大学(谭浩强 第二版)
J1499 C语言程序设计(33讲)-北京科技大学 杨国兴
J0029 C语言程序设计(33讲)-谭浩强主编 石油大学 曾怡(女)
J0989 C语言程序设计(40课时)-上海交通大学
J3140 C语言程序设计(43课时)-上海交通大学
J0857 C语言程序设计(45讲)-北京大学 王秀珍(女)
J0138 C语言程序设计(51讲)-吉林大学 康辉(女)
J1071 C语言程序设计(68讲)-哈尔滨工业大学 温东新(女)
J1931 C语言程序设计-北京邮电大学 王晓军
J0285 C语言程序设计教学(45讲)- 浙江大学 颜晖
J1313 C语言课程设计-东南大学 陈平
J1506 程序语言设计(C语言)(64讲)-西北工业大学 王建国
J1057 计算机程序设计(C语言)(16讲)-同济大学
J1043 数据结构(C语言版)(30讲)-石油大学 张柳村(女)
J0157 数据结构教程(C语言)(42讲)-西北工业大学 赵云庆
J1344 新东方IT培训之C语言

J0655 VB.NET教程(37课时)-上海交通大学
J0991 VB6.0程序设计(41课时)-上海交通大学 徐安东
J3296 VB编程与应用(64讲)-吉林大学 陈伟
J1042 VB程序设计(30讲)-石油大学 于广斌
J1687 VB程序设计(34讲)-郑州大学 柳宏川
J0368 VB程序设计(40讲)-电子科技大学 陈峦
J0870 VB程序设计(48讲)-吉林大学
J0322 VB程序设计基础(36讲)-浙江大学 何鸿声
J2474 VB程序设计基础(54课时)-上海交通大学 徐安东
J2475 Windows程序设计(VB.NET)(38课时)-上海交通大学 陈泽宇
J2326 编程之道-VB.NET程序设计入门
J1080 高级语言程序设计(VB)(52讲)-哈尔滨工业大学 沈杰
J0633 黑客教程-VB视频教程(木马编程)-黑鹰基地

J1341 Ajax与Java框架的示例讲解-JAVA教学群
J0281 JavaScript视频教学(13CD)-张孝祥
J1945 JAVA-web开发实战培训视频教程-MLDN网校
J1668 JAVA编程语言-清华大学 许斌
J0265 JAVA程序程序设计与INTERNET(42讲)-浙江大学 翁恺
J2473 Java程序设计教程(46讲)-上海交通大学 伍建焜
J2441 JAVA高级网络编程(44讲)-西北工业大学 齐勇
J0137 JAVA教学(58讲)-哈尔滨工业大学 辛明影
J0006 JAVA教学全集(30讲)-浙江大学 翁恺
J0092 JAVA就业培训(高级篇)(15CD)-张孝祥
J0091 JAVA就业培训教程(基础篇)(5CD)-张孝祥
J0596 JAVA开发工具eclipse教程(9讲)-www.akamai.com出品
J1946 JAVA框架核心技术(J2EE)培训课程-MLDN网校
J3115 Java语言程序设计(22讲)-电子科技大学 陈峦
J2440 JAVA语言程序设计(38讲)-西北工业大学 严建峰
J3088 JAVA语言程序设计(50讲)-吉林大学 康辉(女)
J2427 SSH综合项目-智囊团(26讲)-MLDN网校 JAVA培训先锋 李兴华
J2324 编程之道-Java程序设计入门
J1429 编写高效的代码JAVA(10讲)-西安电子科技大学 徐坤
J1932 互联网软件应用与开发(JAVA)-北京邮电大学 王晓军
J0979 基于JAVA技术Web应用开发双认证培训-IBM软件学院 董平军
J2480 面向对象程序设计(JAVA)(36讲)-上海交通大学 齐开悦
J0255 面向对象程序设计JAVA(45讲)-浙江大学 毛根生
J1225 面向对象程序设计JAVA(46讲)-石油大学 王保三
J0703 面向对象程序设计JAVA(51讲)-吉林大学 王爱民
J1192 面向对象技术JAVA(43课时)-上海交通大学 李柏岩

3. c语言:程序设计

楼主你好!

根据你的要求,代码实现如下:

#include "conio.h"
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(){

char a[]="123456"; // 密码
char ch;
char st[20];
int i,k=1; //k用于统计输入密码的次数


A:printf("请输入密码:");
i=0;
ch=getch(); /* getch()函数从键盘接收字符,不在屏幕上显示 */

while(ch!=13) /* 13为换行字符ASCII码 ,键盘输入为回车键 */

{st[i]=ch;

putchar('*');

ch=getch();

i++;

}

st[i]= ''

if(strcmp(a,st)==0)printf(" 您好,我的主人! ");
else
{
printf(" 离我远点! ");
k++;
if(k>3)exit(0);
goto A;
}

}

希望我的回答对你有帮助!望采纳!

4. 《C程序设计语言第2版·新版》pdf下载在线阅读全文,求百度网盘云资源

《C程序设计语言(第2版·新版)》([美] Brian W. Kernighan)电子书网盘下载免费在线阅读

链接: https://pan..com/s/1txJqYzmjYS-BSw43eLWrnQ

提取码: sejp

书名:C程序设计语言(第2版·新版)

作者:[美] Brian W. Kernighan

译者:徐宝文

豆瓣评分:9.4

出版社:机械工业出版社

出版年份:2004-1

页数:258

内容简介:

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书作者是C语言的设计者之一Dennis M. Ritchie和着名计算机科学家Brian W. Kernighan合着的一本介绍C语言的权威经典着作。我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。

原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。原着第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。

对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。

作者简介:

Brian W. Kernighan,贝尔实验室计算科学研究中心高级研究人员,着名的计算机科学家。参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的着作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入贝尔实验室。他和 Ken L. Thompson 两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie 于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项.。

5. 求C语言说课稿

《C语言程序设计》说课教案

授课班级:07应用电子

授课课时:2课时

授课地点:计算机实验室

课题 制作数字电子时钟―――循环嵌套

一、教学目标

1、通过本次课教学,学生能进一步理解顺序、分支和循环三种基本结构,特别是While、Do-While、for三种循环循环语句的使用;

2、掌握循环嵌套概念;

3、掌握多种循环程序设计方法并根据任务要求 “制作数字电子时钟”;

4、通过本次任务,了解gotoxy()和Clrscr()函数的作用,并掌握这两个函数在实际应用程序中的使用方法。

5、技能目标:培养学生逻辑思维能力、综合运用知识的能力和自主学习能力;

二、教材分析

选用教材为李志球、刘昊编着的《C语言程序设计教程》(第二版),该教材由电子工业出版社出版,教材特点如下:

1、在内容上体现科学性、时代性、实用性,编排上面向应用,理论与实践有机结合;

2、采用任务驱动、项目教学等教学手段,全书围绕项目“学生成绩管理系统”作为案例,贯穿整个课程进行难点讲解,以实际应用作为突破口,使学生能够真实体验到知识的实际应用,提高兴趣,促进理解;教学与项目开发融为一体,浅显易懂,符合高职学生认知规律。

3、实验实训环节结合教学内容,实验项目丰富。课程设计中案例学生熟悉。

本节课教学内容参考教材第4章的4.4节:循环嵌套。

三、学生分析

07应用电子是普招类(高中毕业生)学生,它们高中期间文化基础较扎实,但计算机专业知识薄弱,C语言程序设计是他们学习的第一门计算机语言类课程,开始学习时较困难,但入门提高较快。本次课的教学内容中循环嵌套概念他们很容易理解,简单的多重循环编程对他们不难,但循环嵌套在实际应用中的编程较为困难,如本次课的任务“制作数字电子时钟”牵涉许多知识,如屏幕定位、输入初始时间等。

另外,高职学生对于上机实际操作要比学习理论知识更为有兴趣;简单的实验项目都能完成,但解决实际应用问题的能力也较差。因此,在教学中通过演示让学生有感性认识,提高学习兴趣;通过提出问题让学生讨论议一议,主动思考如何解决;通过一个教学任务让学生动手做一做。

四、教学重点、难点及解决办法

1、本次课教学重点

1)循环嵌套概念;

2)gotoxy()和Clrscr()函数使用方法;

3)循环嵌套结构程序设计方法及实际应用。

在教学过程的叙述中,要抓住教学的重点、最能体现教学理念的内容和最能展示教学艺术的环节,作较为详细的叙述。

2、本次课教学难点

1)循环嵌套编程

2)算法分析及程序结构

3)编程完成“制作数字电子时钟”

3、难点解决办法

1)通过演示让学生有感性认识,并从for语句基本语法入手,逐步引入循环嵌套概念,弱化实用性不强的细节;

2)围绕任务“制作数字电子时钟”程进行难点讲解,以实际应用作为突破口,使学生能理解循环嵌套在实际中的应用,提高学习兴趣;

3)针对难点设置上机实际操作内容,进一步掌握循环嵌套程序设计方法。

4)在实验实训过程中布置任务项目,通过实践环节进一步理解和掌握重点难点,达到学习目的。

五、教学理念、方法及手段

本次课采用理(论)实(践)一体化教学理念通过任务驱动(项目教学)、讲练结合等教学手段。

1、任务驱动:通过“制作数字电子时钟”这一任务,掌握循环嵌套程序设计认方法。并掌握相应知识点,突出重点,分解难点。

2、讲练结合:授课地点为计算机实验室,采用边讲边练的教学互动形式。教学过程中,适当安排学生在计算机上进行进行实际程序设计,通过运行调试自己设计的程序,让学生亲自观察和体验程序设计的成功感受,加深知识的理解。

六、教学设计(时间分配)

1、任务提出,演示成果程序,明确目标,提出要求。(2分钟)

(1)演示成果程序,在屏幕固定位置显示“制作数字电子时钟”。

(2)任务分析:完成本次课的任务所需知识―――三种基本程序设计结构。

2、知识回顾(2分钟)

循环结构概念、三种循环语句(while、do-while、for)、当型和直到型循环、重点语句for语句应用、注意事项。

3、上机实训1(2分钟)

简单程序:用for语句编程,实现在屏幕上显示0、1、2……59。

(上机技能训练的操作、指导、辅导过程,以学生实际操作动手为主,教师进行辅导指导、师生共同探讨完成,应充分体现学生的主体地位)

思考提问:如何让0-59重复变化,以接近实际生活中秒的变化情况。

4、导入新课(6分钟)

(1)通过练习1,分析在屏幕上显示秒的变化程序中存在的问题。一是数字“0-59”以滚动卷屏方式显示;二是每个数字显示速度太快,如何实现以实际一秒时间显示一个数。

第一个问题使用gotoxy()函数或clrscr()函数解决;第二个问题在程序中每显示一秒后都设置一个时间延迟,时间延迟用方法空循环结构实现,它的位置在循环内屏幕每显示一个数值后。通过讲解解决第二个问题的程序结构,引入本次课新知识―――循环嵌套概念。

for(s=0;s<=59;s++)

{printf("\%2d",s);

for (i=1;i<=200000000;i++); }

(2)循环嵌套概念、结构和程序设计时注意事项。

5、上机实训2(5分钟)

使用循环嵌套结构编程,在屏幕固定位置能以分秒变化的时钟:

10:11

编程和上机操作时要理解两点:一是gotoxy()函数的使用,二是空循环实现延时循环终值的调试,以接近实际生活中时间变化。

本部分内容所用到知识是本次课的核心,是基本的能力目标,所以教学时要以重点内容处理。

6、程序设计讲解(4分钟)

编程完成本次课任务,制作一个带有时、分、秒变化的数字电子时钟。(四重循环)。

(1)算法分析

(2)定义变量及类型

(3)程序结构设计

(3)源程序核心结构编程

7、上机实训3(5分钟)

(1)调试程序时要注意观察程序运行情况,调整空循环变量i的终值,尽量与实际运转时间一致。计算机运行速度越快,则这个数值越大。

(2)本程序需运行24小时才能结束,如果要停止程序运行,可以按Ctrl-C或连续按两次Ctrl-Break强制中断程序运行。

(3)修改变量i类型,将它定义为整形后再次运行程序,观察运行结果,分析程序出错原因,提醒以后编程时注意。

8、提出问题,任务完善―――源程序提高与扩展 之一(4分钟)

前面的程序每次运行都从0点0分0秒开始,不能从当前实际时间开始运行。解决问题的办法可以在程序第一次循环开始时输入一次当前实际时间。为了只在开始运行时设置一次初始时间,可以引入一个逻辑变量first,其初始值为0 ,输入初始时间后,将其值置为非0。在后面程序运行中,通过if语句控制不再需要输入初始时间。

9、上机实训4(5分钟)

上机修改程序,使数字电子钟能从指定时间(输入初始时间)开始运转。

10、思考和作业(5分钟)

(1)源程序提高与扩展 之二:本程序只能运行24小时,请同学们将程序进一步改进,使它能显示年、月、日、星期、时、分、秒等数据的电子钟。

(2)“九九乘法表”。

10、课堂小结及作业(5分钟)

11、Question & Answer(1-2分钟)

七、学法指导

1、鼓励学生自主探索和合作交流。引导学生自主地从事观察、分析、交流等活动,使学生形成对计算机语言知识有效的学习策略。

2、鼓励与提倡解决问题的多样性,引导学生在与他人的交流中去选择合适的策略,丰富自己的思维方式,获得成功的体验和不同的发展。

3、引导学生将所学计算机知识应用到其他学科中去,使学生觉得计算机有很用,同时也培养了学生逻辑思维能力。

6. 求C语言程序设计!

《C语言程序设计》网络网盘资源免费下载

链接:https://pan..com/s/1poC6JALVnvOfunlWOnN6nQ

提取码:ejmz

0100C语言程序设计谭浩强版全30讲曾怡石油大学|各学科学习视频目录|1-15讲|[C语言程序设计视频教程(曾怡)].15.csf|[C语言程序设计视频教程(曾怡)].14.csf|[C语言程序设计视频教程(曾怡)].13.csf|[C语言程序设计视频教程(曾怡)].12.csf|[C语言程序设计视频教程(曾怡)].11.csf|[C语言程序设计视频教程(曾怡)].10.csf|[C语言程序设计视频教程(曾怡)].09.csf|[C语言程序设计视频教程(曾怡)].08.csf|[C语言程序设计视频教程(曾怡)].07.csf|[C语言程序设计视频教程(曾怡)].06.csf|[C语言程序设计视频教程(曾怡)].05.csf|[C语言程序设计视频教程(曾怡)].04.csf

7. C语言程序设计

1.B 2.B 3.C 4.A 5.C 6.D 7.B 8.B 9.A 10.C
1、编写程序。从键盘输入100个数,将正数升序排列到数组的前端,把0放在中间,负数按降序排列在0的后面。
#include"stdio.h"
void main()
{
int i,j,k,s,a[100],b[100]={0},m=0,n=0;
printf("input:");
for(i=0;i<100;i++)
scanf("%d",a[i]);
for(i=0,j=0;i<100;i++)
if(a[i]>0){b[j++]=a[i];m++;}//m正数个数
for(i=0,j=99;i<100;i++)
if(a[i]<0){b[j--]=a[i]; n++;}//n负数个数
for(i=0;i<m-1;i++)//正数排序
{ k=i
for(j=i+1;j<m;j++)
if(b[i]>b[j])k=j;
if(i!=k)
{s=b[i];b[i]=b[k];b[k]=s;}
}
for(i=100-n;i<99;i++)//负数排序
{ k=i
for(j=i+1;j<100;j--)
if(b[i]<b[j])k=j;
if(i!=k)
{s=b[i];b[i]=b[k];b[k]=s;}
}
for(i=0;i<100;i++)
printf("%d ",b[i]);
printf("\n")

}