zoukankan      html  css  js  c++  java
  • C语言博客作业03--函数

    这个作业属于哪个班级 C语言--网络2011/2012
    这个作业的地址 C语言博客作业03--函数
    这个作业的目标 学习如何设计函数、C语言基本数据类型
    姓名 陈佳桐

    0.展示PTA总分

    1.本章学习总结(4分)

    1.1 函数定义、调用、声明

    函数定义:

            函数类型 函数名(形式参数表)   /*函数首部*/
          {
                
                 对变量的定义
                 进行运算            /*函数实现过程(函数体)*/
                 返回运算结果
           }
    

    注意

    1.函数首部后面不加分号

    2.形参表的各个形参之间用逗号隔开。(形参1,形参2,......形参n)

    3.函数的形参数量可以是一个,也可以是多个,或者没有形参。

    函数调用:

        函数名(实际参数表)
        volume=cylinder( radius, height);
    

    注意

    1.C语言的执行,首先从主函数main()开始,如果遇到函数调用,主函数暂停,先执行函数。

    2.函数结束后通过return x结果返回到主函数调用处。

    函数声明:

     函数类型 函数名(形式参数表);
    

    注意
    1.以分号结束。
    2.函数先定义后调用,自定义函数放在主调函数后面,需要进行函数声明

    1.2 全局、局部变量、静态局部变量

    全局变量

    定义在函数外,不属于任何函数的变量。

    对作用范围内所有函数起作用。

    常定义于第一个函数的前面

    局部变量

    定义在函数内部的变量,避免函数间的干扰。

    定义在复合语句的开头处,仅在复合语句中有限使用。

    形参是局部变量,形参的改变不会影响到实参。

    静态局部变量

    局部变量,保存着上次函数调用时候的值。

    仅第一次调用时赋初值,未赋初值,系统自动赋0。

    1.3 C数据类型及注意点

    每个数据类型特点及其相关知识的扩展。如浮点误差、字符型数据输入问题等等

    基本数据类型:整型,字符型,实型。

    整型:不存在小数部分的数据类型。

    无符号整型数据:不带符号的整数(零和正整数)
    有符号整型数据:储存单元最高位为符号位。

    1.4 C运算符

    1.算数运算符:

    单目运算符:一个操作数
    双目运算符:两个操作数

    单目 双目
    ++ -- + - + - * / %

    2.赋值运算符

    把一个表达式的值赋给一个变量。
    变量=表达式。

    3.关系运算符

    4.逻辑运算符

    逻辑非 !

    逻辑与 &&

    逻辑或 ||

    学习体会:

    A.函数的知识对于之后更高难度的编程学习有着基础作用,必须认真落实。

    B.通过定义和调用函数,可以简化问题,降低代码量。

    C.函数是一个综合性问题,学习函数意味着步入更深层次。

    2.综合作业(6分):小学生口算表达式自动生成系统

    2.1.模块流程图

    一年级模块流程图

    2.2.函数功能及全局变量介绍

    2.2.1.全局变量

    变量名,作用。

    int getnumber(int grade);//生成随机数
    int getsymbol(int grade);//生成随机符号
    int judgeproblem(int grade);//判断特殊情况
    int   sumnumber();//判断正确率
    void OperateMenu();//游戏操作界面
    void GradeOneMenu();//一年级
    

    2.2.2 菜单相关函数

    文字介绍函数功能、思路,截图函数代码。

    #include<windows.h>
    #include<stdlib.h>
    #include<time.h>
    #include"expression"
    void OperateMenu()//游戏操作界面
    {
    	char option;
    	int i;
    	int temp;
    	system("cls");//清屏
    
    	do
    	{
    		system("cls");
    		printf("******************************************
    ");
    		printf("1.一年级口算
    ");
    		printf("2.二年级口算
    ");
    		printf("3.三年级口算
    ");
    		printf("4.退出系统
    ");
    		printf("******************************************
    ");
    		printf("请输入您的选择:");
    		scanf(" %c", &option);
    		switch (option)
    		{
    		case '1':
    			system("cls");
    			GradeOneMenu();
    			//GradeOneMenu();
    			break;
    		case '2':
    			system("cls");
    			GradeTwoMenu();
    			break;
    		case '3':
    			system("cls");
    			GradeThreeMenu();
    			break;
    		case '4':
    			printf("
    谢谢您的参与!
    ");
    			Sleep(500);
    			exit(0);
    		default:
    			printf("您输入不对,只能输入1,2,3,4,请重输!
    ");
    			Sleep(500);
    		}
    	} while (!(option >= '1' && option <= '4'));
    }
    

    2.2.2 出题相关函数

    文字介绍函数功能、思路,截图函数代码。

    生成随机数函数

    
    {
    #include<stdio.h>
    #include<windows.h>
    #include<stdlib.h>
    #include<time.h>
    #include"expression"
    int getnumber(int grade)//生成随机数
    
    {
    	int number;
    	switch (grade)
    	{
    	case 1:number = 1 + rand() % 99;break;
    	}
    }
    

    生成随机符号函数

                    int getsymbol(int grade)
    {
                    #include<stdio.h>
                    #include<windows.h>
                    #include<stdlib.h>
                    #include<time.h>
                    #include"expression"
                    char op;       // 存放随机数符号
    		int  Judgenumber=0 ;   
    		Judgenumber = rand() % 2;       //奇数和偶数情况
    		switch (Judgenumber)
    		{
    		case 0:  op = '+';  break;
    		case 1:  op = '-';  break;
    		}                               //仅用于一年级
                    return op;
    }
    

    判断特殊情况的函数

                   int judgeproblem(int grade)
    {
                    #include<stdio.h>
                    #include<windows.h>
                    #include<stdlib.h>
                    #include<time.h>
                    #include"expression
                    int Betnumber = 0;
    		if(op == '-' && number1 < number2)    //一年级减法不涉及负数
    		{
    			number1 = Betnumber;
    			number1 = number2;
    			number2 = Betnumber;
    		}
    		while (op == '+' && number1 + number2 >= 100) //一年级加法不超过100
    		{
    			number1 = rand() % 99 + 1;
    			number2 = rand() % 99 + 1;          
    		}                                            //保证加法的数值
    }
    

    2.3.运行结果截图,测试用例。


    2.4.大作业中编程技巧总结

    srand((unsigned)time(NULL));
    让随机数真正做到随机。

  • 相关阅读:
    网络抓包工具使用
    JAVA 原子操作类
    guava collection/cache初探
    MiniGUI
    Cookie
    System V IPC
    SQLite交叉编译
    NCurses交叉编译
    双向循环链表
    VMware安装Windows Server 2008
  • 原文地址:https://www.cnblogs.com/keepgoingccc/p/14032287.html
Copyright © 2011-2022 走看看