c语言

C语言寒假大作战04

混江龙づ霸主 提交于 2020-02-15 11:15:06
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 链接 我在这个课程的目标是 学习rand函数,并完整做出菜单 参考文献 链接1 链接2 2.2.2设计思路和遇到的问题 设计思路: 1.在上次作业中加上答案。 2.首先百度一下,知道格式怎么写,再搜doubl的输出怎么表示 心路历程: 究极easy→有点小难(自己想了下)→豁然开朗(百度一下)→over 2.2.3程序结果截图 2.2.4程序代码 include<stdio.h> include<stdlib.h> include<time.h> int help(int m); int main(void) { time_t t; srand((unsigned) time(&t)); printf(" 口算生成器 \n"); printf("欢迎使用口算生成器:)\n"); int a = -1, b = 0, HELP, EXIT,i,m,c,n; char ch,ch1; double a1,a2,a3; while (a != 0) { printf("\n"); printf("\n"); printf("操作列表\n"); printf("1) 一年级 2) 二年级 3) 三年级\n"); printf("4) HELP 5) EXIT\n"); printf("请选择: \n"); scanf("%d",

linux c语言 fork() 和 exec 函数的简介和用法

孤者浪人 提交于 2020-02-15 10:06:03
linux c语言 fork() 和 exec 函数的简介和用法 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdlib.h> 这个头文件中包含了1个调用shell命令或者脚本的函数 system();直接把 shell命令作为参数传入 system函数就可以了, 的确很方便. 关于system 有一段这样的介绍: system 执行时内部会自动启用fork() 新建1个进程, 效率没有直接使用fork() 和 exec函数高. 那么这篇文章其实就是介绍一下fork() 和 exec函数的用法, 以及如何使用它们来替代system函数. 1. fork() 函数 1.1 fork() 函数的作用 一般来讲, 我们编写1个普通的c程序, 运行这个程序直到程序结束, 系统只会分配1个pid给这个程序, 也就就说, 系统里只会有一条关于这个程序的进程. 但是执行了fork() 这个函数就不同了. fork 这个英文单词在英文里是"分叉"意思, fork() 这个函数作用也很符合这个意思. 它的作用是复制当前进程(包括进程在内存里的堆栈数据)为1个新的镜像. 然后这个新的镜像和旧的进程同时执行下去. 相当于本来1个进程, 遇到fork() 函数后就分叉成两个进程同时执行了. 而且这两个进程是互不影响

switch case 求图形面积--C语言

微笑、不失礼 提交于 2020-02-15 09:40:01
switch case 应用举例 求图形面积 #include "stdafx.h" int main(int argc, char* argv[]) { int tape,b,r,s=0,pi=3; printf("请输入图形的类型,圆形为1,正方形为2,长方形为3\n"); scanf_s("%d",&tape); switch (tape) { case 1: printf_s ("请输入图形的类型,圆形为1,正方形为2,长方形为3\n"); scanf_s("%d",&r); s=pi*r*r; printf("%d",s); break; case 2: printf("请输入正方形的边长\n"); scanf_s("%d",&b); s=b*b; printf("%d\n",s); break; case 3: printf("请输入长方形的长和宽\n"); scanf_s("%d",&r); scanf_s("%d",&b); s=r*b; printf("%d\n",s); break; default: printf("不合理的输入值 \n"); } return 0; } 来源: CSDN 作者: 晴飔. 链接: https://blog.csdn.net/weixin_45661800/article/details/104320390

c语言指针

[亡魂溺海] 提交于 2020-02-15 07:50:02
1.计算机会为变量在存储器中分配空间。 2.局部变量位于栈中。 3.全局变量位于全局变量段。 4.指针只是一个保存“存储器”地址的变量。 5.&运算符可以找到变量的地址。 6.*运算符可以读取存储器地址中的内容 7.*运算符还可以设置存储器地址中的内容 如: int x = 3; int *address = &x; *address中保存的就是x变量的存储地址 通过&提取x的地址,保存在了*address中 #include <stdio.h> int main() { int x = 3; int *address = &x; // 打印结果:一样相等 printf("%p----%p", *address, x); return 0; } 讲解: &运算符用于接收一个数据并获取地址 而 *运算符则是用于接收一个地址并保存数据 c语言中的指针在其他语言中叫法为引用类型,*就算对于地址的解析,生成具体的值 相当于其他语言中的,引用地址的具体值 C语言中声明一个指针变量: 指针变量是什么呢? 答:用来保存内存地址的变量,相当于其他语言的引入地址传给函数假参 声明指针变量: int *名称(或标识符) = &变量; 如: int x = 3; int *address = &x; &提取了变量x的地址并赋值给了address变量,*就是接收地址来表示这是一个指针变量 这时如果你去改变

C基础知识和顺序结构

烂漫一生 提交于 2020-02-15 05:35:29
C语言基础知识和顺序结构 计算机只能识别机器语言,不能直接识别由高级语言编写的程序。 main()是一个程序的起始,C语言中某些语句可以不用分号,比如if语句,宏定义。 算法的特点:零个或多个输入。至少有一个输出。可行性。有穷性。确定性。 标准C语言中,存在着六种基本数据类型:char字符型,short=short int 短整型,int 整型,long=long int 长整型,float 单精度浮点型,double 双精度浮点型。 一个算法的五个特征: 有穷性,确定性,可行性,有零个或多个输入,有一个输出或多个输出。 C语言中的三种基本类型: 整型,字符型,实型。 **程序模块化的优点:**易于维护和复用,提高编程编制效率。 易于分工合作。 易于模块化调试测试。 **程序模块化的缺点:**可能降低程序运行的效率。 设计的前期需要多花费时间。 传统流程图:各个基本元素的介绍: c语言中的关键字:auto 局部变量(自动储存) break 无条件退出程序最内层循环 case switch语句中选择项 char 单字节整型数据 const 定义不可更改的常量值 continue 中断本次循环,并转向下一次循环 default switch语句中的默认选择项 do 用于构成do…while循环语句 double 定义双精度浮点型数据 else 构成if…else选择程序结构 enum

C语言那些值得注意的细节!

旧时模样 提交于 2020-02-14 23:26:28
1.1、基本数据类型 数据类型分两类:基本数据类型 + 复合类型 基本类型:char 、short、int 、long 、float 、double 复合类型:数组、结构体、共用体(C语言没有类,C++有) 1.2、内存占用与sizeof运算符 数据类型就像一个一个的模子,这个模子实例化出C语言的变量。变量存储在内存中,需要占用一定的内存空间。一个变量占用多少空间是由变量的数据类型决定的。每种数据类型,在不同的机器平台上占用内存是不同的。我们一般讲的时候都是以32位CPU为默认硬件平台来描述: char 1字节 short 2字节 int 4字节 long 4字节 float 4字节 double 8字节 int main(void) { printf("sizeof(char) = %d\n", (int)sizeof(char)); return 0; } 1.3、有符号数和无符号数 对于char、 short 、int 、long 等整形类型的数,都分有符号数和无符号数。对于float、 double这种浮点型数来说,只有有符号数,没有无符号数。 对于C语言来说,数(也就是变量)是存储在内存中的一个一个的格子中的。存储的时候是以二进制方式存储的。对于有符号数和无符号数来说,存储方式不同的。比如对于int来说,unsigned int 无符号数,32位(4字节

[C语言练习]学生学籍管理系统

亡梦爱人 提交于 2020-02-14 19:56:15
/** * @copyright 2012 Chunhui Wang * * wangchunhui@wangchunhui.cn * * 学生学籍管理系统(12.06) */ #include <iostream> #include <fstream> #include <string> #include <iomanip> #include <conio.h> #include <string.h> #include <stdio.h> #include <windows.h> using namespace std; #define M 100000 #define BACKSPACE 8 string P_No[M]; string P_name[M]; string A_ID[M]; string A_name[M]; string A_password[M]; int A_Jur[M]; string S_name[M]; string S_No[M];//学号 string S_password[M]; string s_ID[M];//身份证号 string S_address[M]; string S_Tel[M]; char S_sex[M]; string user;//当前用户名 int Jur;//权限等级 super--9 admin--1 stu--2

C语言寒假大作战04

拥有回忆 提交于 2020-02-14 18:02:34
这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求 这个作业的目标 增加各年级题目的答案函数 参考文献 c语言中%g是什么意思? 2.2.2 设计思路和遇到的问题 设计思路:就是将个随机数组用一个变量表示,然后结果使用变量的来表示 心路历程:一开始觉得很简单——然后用自己的思路写发现自己结果用变量表示有——然后想办法解决了问题 遇到的问题:就是用整形的除法结果转换成浮点型时出现了问题 解决方法:用一个新的变量来表示结果 2.2.3 程序结果截图 2.2.4 程序代码 include<stdio.h> include<stdlib.h> include <time.h> void yinianji() { int y,i; printf("<执行操作:)\n"); printf("\n"); printf("\n"); printf("现在是一年纪题目:\n"); printf("请输入生成题目数目:"); scanf("%d",&y); printf("<执行操作:)\n"); printf("\n"); char op; int n; double a,b,c,d; srand(time(0)); for(i=1;i<=y;i++) { n=rand()%2; a=rand()%10; b=rand()%10; c=rand()%10; d=rand()%10; if

shell中的for循环

我的梦境 提交于 2020-02-14 17:49:18
shell中的for循环 文章目录 shell中的for循环 1.C语言风格的for循环 2.C语言风格for循环的例子 3.python风格的for in循环 4.python风格for循环的例子 1.C语言风格的for循环 格式: for ((exp1;exp2;exp3)) do statements done 运行过程: 先执行exp1; 再执行exp2,如果它的判断结果成立,则执行循化体中的语句,否则结束整个for循环; 执行完循环体后再执行exp3; 重复执行步骤2和3,直到exp2的判断结果不成立,就结束循环; 上面的步骤中,第二步和第三步合并在一起算一次循环,会重复执行。for语句的主要作用就是不断执行步骤2和3- 注意: 1.exp1仅在第一次循环时执行,以后都不会再执行。可以认为这是一个初始化语句 2.exp2一般是一个关系表达式,决定了是否有还要继续下次循环,称为“循化条件” 3.exp3很多情况下是一个带有自增或自减运算的表达式,以使循环条件逐渐变得“不成立” 4.for循环中的exp1、exp2、exp3都是可选项,都可以省略,但分号必须保留! for ((初始化语句;判断条件;自增或自减)) 2.C语言风格for循环的例子 例1:计算1到100的和 #!/bin/bash sum=0 for ((i=1;i<=100;i++)) do ((sum +=

C语言结构体和共用体_07

陌路散爱 提交于 2020-02-14 17:45:21
概述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型 用 typedef定义类型 概述 定义一个结构体的一般形式: struct 结构名 { 成员列表 }; 一个结构体有一个结构名,但不是必须的。成员列表有若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 例如: // 学号、姓名、性别、年龄、地址等属性 struct Student { int num; char name[20]; char sex; int age; char addr[30]; }; 定义结构体类型变量的方法 在定义了结构体变量后,系统会位置分配内存单元。 可以采用三种方法定义结构体类型变量: 1)先声明结构体类型再定义变量名; struct Student person1; struct Student person2; 则,person1、person2 具有struct Student类型的结构。 2)在声明类型的同时定义变量 struct Student { int num; char name[20]; char sex; int age; char addr[30]; } student1, student2; 3)直接定义结构体类型变量