精华内容
下载资源
问答
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    现在大家玩个游戏,一个人A来说一个人B来做,一个人A说命令“敬礼,礼毕”,另一人B做动作十遍;第一种思维那就是说一下命令就让B执行动作,B执行完动作后,A再继续说命令,B再继续做动作,同样的事情重复十遍。如果...

    一、循环结构的思想及意义:
    知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人B来做,一个人A说命令“敬礼,礼毕”,另一人B做动作十遍;第一种思维那就是说一下命令就让B执行动作,B执行完动作后,A再继续说命令,B再继续做动作,同样的事情重复十遍。如果利用所学的知识,让你输出十遍“敬礼,礼毕”,你会怎么写程序呢?

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
        printf("1.敬礼、礼毕\n");
        printf("2.敬礼、礼毕\n");
        printf("3.敬礼、礼毕\n");
        printf("4.敬礼、礼毕\n");
        printf("5.敬礼、礼毕\n");
        printf("6.敬礼、礼毕\n");
        printf("7.敬礼、礼毕\n");
        printf("8.敬礼、礼毕\n");
        printf("9.敬礼、礼毕\n");
        printf("10.敬礼、礼毕\n");    
    }
    

    那A要让B说一万遍呢,显然如果还是用上面的程序来写的话,那么今天你一个小时不用做别的了,你就在这里慢慢复制粘贴吧!所以肯定有好的办法:A应该对B说执行命令动作“敬礼、礼毕”十遍。同样的问题大家来看第二段程序代码:

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
    	int i;
    	i=1;
        while(i<=10)
    	{
    printf("%d.敬礼、礼毕\n",i);
    i=i+1;
    	}   
    }
    

    二、while的基本格式
    while的基本格式:(流程图如右图所示)
    while(表达式)
    {
    语句1;
    ……
    语句 n;
    }
    其中表达式代表了循环条件,整个复合语句为循环体。
    while语句规范:
    1:{和}自成一行
    2:语句1—语句n自动缩进
    while循环属于当型循环,也就是先判断表达式的值是否为真的(也可以理解为条件是否成立),若为真则循环,否则退出循环。
    它的格式变形如下;
    表达式1;
    while(表达式2)
    {
    语句;
    表达式3;
    }
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    拿输出1到100为例分析。
    最初始的值(假设变量为i)应该是i=1;条件是i<101(或i<=100);语句是输出相应的变量值 printf(“%d ”,i);而表达式3应该是输出一个后进入下一个数,也就是i++;
    所以它的代码也就很容易就出来了:

    void main()
    {
        int i;
        i=1;
        while(i<101)
    {
      printf(“%d ”,i);
      i++;   
    }
    }
    

    do—while循环语句
    do–while语句
    在循环中有当型循环,还有直到型循环。接下来我们就来学习下直到型循环。
    一、do—while语句格式
    1.do—while语句格式1
    表达式1;
    do
    {
    语句;
    表达式3;
    } while(表达式2);
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    这种格式在程序中已经很少用了。主要应用于下种变形格式:
    2.do—while语句格式变形
    do
    {
    语句;
    } while(条件表达式);
    二、do-while语句的思想及意义
    do英文翻译成中文是做的意思,那么从上面的结构我们也能看出,do语句后判断条件表达式,如果条件还表达式成立,再次执行语句,直到条件表达式不成立,往下继续执行。所以do—while的中心思想是至少执行一次循环语句。
    三、do-while循环结构实例
    下面我们一些操作实例来讲解循环结构的逻辑思维过程。
    1.求1+2+3+4±—+100和是多少?
    (1)步骤1,首先我们应该分析的是,我们要求一个数即和,那么和初值是几呢? sum=0
    (2)sum+=1;
    (3)sum+=2;
    (4)sum+=3;
    (5)假如我们如一个变量i来代表值的变化的话那么我们应该也能推算去,求和其实就是
    (6)sum+=i;只是i要从1变化到100
    (7)while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	while(i<=100)  //条件表达式
    	{
    		sum+=i;
    		i+=1; //步长
    	}	
    	printf("和是%d",sum);
    }
    

    (8)do–while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	do
    	{
    		sum+=i;
    		i+=1; //步长
    	}	while(i<=100); //条件表达式
    	printf("和是%d",sum);
    }
    

    2.输入qq的密码;输入正确则显示登录成功,否则可以一直输入密码直到对为至,假设密码为123456
    (1)那么我们分析题目,应该是先输入后判断的一种循环方式,那么应该选择do—while语句
    (2)程序中要求我们输入密码,密码可以变,所以要给密码定义成一个变量,我们假设int password;
    (3)因为密码是输入的,所以没有初始值
    (4)输入密码以后我们应该判断密码是否和默认密码相同
    (5)相同则登录成功
    (6)不相同则重新
    (7)do–while代码参考代码如下

    /*判断qq密码*/
    #include "stdio.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        do	
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    	}while(password!=123456);  	//条件表达式
    	printf("登录成功");
    }
    

    (8)do—while语句是可以被while()替换,其实循环之间的语句都可以相互替换,哪种方法更适合你,就选那种,也就是说一定要有一种是自己专长的。

    (9)参考代码如下
    /*登录*/
    #include "stdio.h"
    #include "stdlib.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        while(1)
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    		if(password==123456)
    		{
    			printf("登录成功");
    			break;
    			}
    	}
    	
    }
    

    3.while 与do—while的相同与不同总结?
    (1)while 语句是先计算表达式的值,再执行循环体,do…while是执行完一次循环体,再计算表达式的值
    (2)当表达式的值第一次为假时,while的循环体一次都不执行,do…while则执行一次循环体;
    (3)当表达式的值为真时,两者无区别
    (4)在不确定条件次数的情况下,程序一般用while比较多

    for循环语句
    for 循环为当型循环。for循环最容易实现计数控制循环方法。for循环的使用最为灵活,且适合应用在循环次数确定的情况下。
    for循环的思想是,先分析清楚循环的初始值,循环的控制条件,循环变量的步长变化,然后直接把语句再写到for的循环体里即可,这样可以让问题想的很清楚,流程也很清楚。
    二、for循环语句的应用
    for语句是c语言所提供的功能更强,使用更广泛的一种循环语句。
    1.for语句的一般格式
    (1)第1种情况
    for(表达式1;表达式2;表达式3)
    语句;
    (2)第2种情况
    for(表达式1;表达式2;表达式3)
    {
    语句块;
    }
    2.for语句的注意事项
    (1)各表达式之间分号不能省略
    (2)表达式1与表达式2与表达式3均可省略,一般是不省略的。
    ①当表达式1省略时,相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值
    ②当表达式2省略时,表示不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环
    ③当表达式3省略时,即省去修改循环变量的值,但此时应在循环体内设法结束循环
    (3)虽然说表达式可以省略,但是在使用for时,还是要正常使用的,也就是该有的都有。
    三、for的逻辑思维过程
    for语句和while语句一样,它的思想是在做循环之前,也是先有一个初值表达式1,然后判断条件表达式2是否成立,如果成立就执行{}里的语句然后跳转到表达式3,表达式3再跳转到表达式2,再次判断表达式2,如若成立再次,执行{}里的语句语句然后跳转到表达式3,表达式3再跳转到表达式2,如果成立就再重复执行,如果不成立就退出循环。
    for的流程图走向和while语句一模一样,但是for的思维过程,可以直接先分析从第一次开始执行,执行条件是什么,步长是多少,然后执行的语句是什么,套用for的结构即可。

    展开全文
  • 1.4 1 0 2 解析: 因为a,b都是int型,所以a/b也是int型,值为1;加0.4之后,因为c是int型,所以最终结果强制转换为1。

    1.4
    1
    0
    2

    解析:
    因为a,b都是int型,所以a/b也是int型,值为1;加0.4之后,因为c是int型,所以最终结果强制转换为1。

    展开全文
  • 若x,y均定义int型,z定义为double型,以下不合法的scanf函数调用语句是: A)scanf(" %d%lx,%le",&x,&y,&z); B)scanf("%2d * %d%lf",&x,&y,&z); C)scanf("%x %* d%o",&x,&y); D)scanf...

    若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:
    A)scanf(" %d%lx,%le",&x,&y,&z);
    B)scanf("%2d * %d%lf",&x,&y,&z);
    C)scanf("%x %* d%o",&x,&y);
    D)scanf("%x%o%6.2f",&x,&y,&z);

    scanf格式必须bai与输入类型一直du。
    A、%d整型,%lx十六进制zhi长整形,%le科学计dao数专法double型,与xyz对应,是对的属。
    B、%2d宽度2的整型,(中间表示输入前两个数必须以分割)%d整型,%lfdouble型,是对的。
    C、%x对应十六进制整型,%*d忽略第二个整数数的输入,%o八进制整型,对应x,y,是对的
    D、%6.2f单精度与z的双精度不对应,错。
    选D。

    展开全文
  • a[1]表示a[1] [0],而a[1]+3就是a[1][3]。 因为内存地址是按照a[1][0],a[1][1],a[1][2],a[1][3],a[1][4]来进行存储的, 所以+3是内存地址加3。

    a[1]表示a[1] [0],而a[1]+3就是a[1][3]。

    因为内存地址是按照a[1][0],a[1][1],a[1][2],a[1][3],a[1][4]来进行存储的,
    所以+3是内存地址加3。

    展开全文
  • int a=12,则执行完语句a+=a-=a*a后,a的值是???
  • 为什么呢
  • 类的定义:类声明和类体。基本格式如下: class 类名{ 类体 } 特点: 1、类是Java程序的基本要素,一个Java应用程序就是由若干个类所构成; 2、类声明的变量称为对象变量,也简称 对象 ; 3、class 关键字是...
  • typedef介绍

    万次阅读 多人点赞 2019-08-21 17:18:48
    typedef为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 typedef本身是一种存储类的关键字,与auto、extern、static、...
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    C语言 42.C语言是一种计算机高级语言。 43.C语言允许直接访问物理地址,能进行...48.C程序书写格式,允许一行内可以写几个语句 49.C程序的语句无行号 50.C语言的每个语句的最后必须有一个分号 51.C语言本身没有输入...
  • SQLserver基础语句大全

    万次阅读 多人点赞 2019-06-09 13:17:50
    SQL 基础 结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言, 是一种...可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行...
  • *(a[2]+1) a[9] *(a[1]+2) *(*(a+2))+1 对于 a[3][4],a是一个指针数组,大小为3,里面三个元素就是该二维数组的每一行第一个元素的地址 1、*(a[2]+1), a[2]就是第三行首元素的地址,...
  • 假设A类有如下定义, 设aA类的一个实例, 下列语句调用哪个是错误的?() public class A{ public int i; static String s; void method1(){} static void method2(){} } A. System.out.println(a.i); B. a....
  • 定义: CREATE TABLE `ids` ( id int(11) not null auto_increment, PRIMARY KEY (id) ); 表中存在一些IDs: 111, 112, 113, 114 等. 查询: SELECT * FROM `ids` WHERE id = '112abcdefg' Msql会...
  • 关于int*p=&aint*p;p=&a的解惑

    万次阅读 多人点赞 2019-03-30 11:21:59
    在学习c语言解惑中遇到这个问题,其中对int *p=&a的写法百思不得其解,查了网上资料得出 这样的理解是错误的 正确理解是 一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值...
  • 为什么是int main(void),而不是void main(void)?

    千次阅读 多人点赞 2018-04-15 23:11:55
    这是基于我们学校老师一直使用void main(),而发的感慨,大一学习C语言时,我就在想,老师上课演示的为什么一直用void main(),而不是int main()呢?不为了偷懒?还是习惯性的语句呢?在查阅了部分大牛的博客...
  • c++第四课 定义int型变量、变量赋值与输出 如果本章学会了,代表你知道了c++是个什么东西。 其实前三课学不学无所谓,学了就明白个cout是个什么,所以,前三课学不好没关系,从这一课开始,认真学。 c++最大的...
  • int a[4][5];sub(a[2]+1);则错误的sub函数的首部是A sub(int (*p)[5])B sub(int p[6])C sub(int *p)D sub(int p[0])====参考答案是D,求详细解释
  • 若有以下定义,且0,则不正确的赋值语句int b[4][6],*p,*q[4]; A q[i]=b[i]; B p=b; C p=b[i]; D q[i]=&b[0][0];  答案为B 解析: A:q是一个指针数组,本质是一个一维数组,b[i]相当于将二维数组拆开成一个...
  • 语句表达式的亮点在于定义复杂功能的宏。使用语句表达式来定义宏,不仅可以实现复杂的功能,而且还能避免宏定义带来的歧义和漏洞。下面以一个简单的最小值的宏为例子一步步说明。 1、灰常简单的么,使用条件运算符...
  • typedef

    千次阅读 多人点赞 2019-07-09 16:23:46
    使用typedef注意事项 typedef语句不能创造新的类型,只能为已有的类型重新命名,也就是说...typedef语句只能用来定义类型名,而不能用来定义变量。 举个例子 typedef int COUNTER;COUNTER i,n;与int i,n等价。 ...
  • const int a; int const a; const int * a; int * const a; int const * const; 之间的区别const int a; int const a; 这两个写法是等同的,表示一个是一个INT常量。const int * a; 表示a是一个指针,可以任意指向...
  • 6-2 数组元素的区间删除

    万次阅读 2017-09-27 15:20:30
    6-2 数组元素的区间删除...函数接口定义int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数
  • #include <stdio.h>...本题要求两个整数a和b,输出其中较大的数。 */ int max( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); printf("max = %d\n", max...
  • int sum(int m,int n) { int s=0,i; for(i=m;i<=n;i++) { s+=i; } return s; } int main() { int m,n,t; printf(“输入两个整数:”); scanf("%d%d",&m,&n); if(m>n) { t=m; m=n; n=t...
  • C语言条件判断语句:if、else if、else

    万次阅读 多人点赞 2018-07-05 13:34:04
    1)简单介绍三种形式的条件判断语句:if、else if、elseif:if(表达式) 执行语句if:判断表达式内容,如果为true(真),就执行语句else if:if(表达式) 执行语句 else if(表达式1) 执行语句1 ......(很多的else if)...
  • 关于指针int *p=&a和*p=&a的纠正

    千次阅读 2017-04-22 21:18:55
    则*p表示的就是a,a是一个int 型变量,所以*p是int变量; int*p=&a是初始化与int *p;p=&a;是完全相同的;所以int *是一种类型 *是指针运算符 是一种运算符 *p代表指针变量p 操作了指针运算符 p=&a代表p存储了a的...
  • 零值比较–BOOL,int,float,指针变量与零值比较的if语句这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了...
  • 结构体变量和结构体类型的定义

    万次阅读 多人点赞 2019-08-02 16:43:19
    结构体类型定义 定义方式1: Typedef struct LNode { int data; // 数据域 struct LNode *next; // 指针域 } *LinkList; 定义方式2: struct LNode { int data; // 数据域 struct LNode *next; // 指针域 }; ...
  • C#判断字符串是否为数字字符串

    千次阅读 2018-12-27 09:59:45
    我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。一旦发现异常,则不是数字字符串。 我们可以以下三种方式将s...
  • 若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是( )?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 828,963
精华内容 331,585
关键字:

a对以下定义语句int