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]= '