存储取存退格清屏
㈠ 关于c语言中的类型转换,谢谢了啊!!!
main() /*No.1主函数*/
{
printf("Welcome to study C program.\n");
printf("This is Lesson One.\n");
}
程序写好后,按“F9”,然后按"Alt-F-O",就进入DOS提示符下
去执行它。
Welcome to study C program.
This is Lesson One.
怎么样?你自己的程序也变成了*.exe型的可执行文件了。按
“EXIT”可以返回到系统。
上例中“main()”是程序的主函数。C 语言程序由一系列函数组
成,而且每个程序必须有且只有一个主函数,即“main()”。在第一
行末还有/* */所夹的内容,它在程序编译时不参与编译,只说明程
序的作用,即起注释作用。所以在你抄本教程的例子时可不抄这一部
分内容。
每个函数必须由“{ }”括起来,每句程序必须用“;”结束。
第3行第4行中printf是C语言用来在屏幕上输出信息的一个重要
函数,最简单的格式是
printf("显示的内容");
字符串后面的“\n”不会显示在屏幕上,它的意思是“回车换行”
接下来,你把第3行后面的“\n”去掉,再按“F9”后去执行,
你就会发现两行内容都印在了一行。
Welcome to study C program.This is Lesson One.
如果在“\n”后加上“\a”,即每显示一行出现一次响铃。
如下表,是“\”后面字符的特殊含义。
\r
回车不换行(到行首)
\t
横向跳到下一输出位
\b
向左退格
\\
输出字符"\"
好。下面把程序中“printf("This is Lesson One.\n");”
换成“printf("\tThis is Lesson One.\n");”,执行一下程序。
Welcome to study C program.
This is Lesson One.
下面再换成“printf("This is \b\bLesson One.\n");”再执行
一下。
Welcome to study C program.
This iLesson One.
程序中的“s ”并不是没有显示,而是显示后,又被“Le”给盖
上了。
要想在屏幕上输出一个“C:\>”则要写上“printf("C:\\>");”
好了,第一节就要此为止。你赶快复习一个。你知道今天所学的
知识了吗?(只要学会了这些就别再多学了,贪多吃不烂。)
1.printf("显示信息") 最简单的输出格式
2.“{ }” 用来括起函数
“;” 每句程序的结束标志
3.“\t”“\n”“\b”“\a”是什么意思?
4.主程序的标志是什么?
5./* */ 是用来注释程序
不过先别关机,如果你用的是UCDOS或是成然汉字,你可以把显
示的信息用中文代替。如:printf("我一定要把C语言学会!\n");
您的当前位置是:首页>>电脑知识>>文本方式下的显示
--------------------------------------------------------------------------------
文本方式下的显示
C语言中,图形函数大致可分为两类:字符模式函数和图形模式函数。本节我们练习使用字符模式函数。
使用字符模式函数应该在程序中联入conio.h头部文件。
下面是一些函数的作用
1) void clreol(); 从光标处删除到本行末
2) void delline(); 清除本行内容,下面内容上提一行
delline();函数实际上还起到了向上卷屏的作用。
3) void insline(); 在光标所在行插入一空行,原来该行及以
下各行皆向下移一行
4) int wherex(); 返回当前光标的x(行)坐标
5) int wherey(); 返回当前光标的y(列)坐标
6) void highvideo(); 字符输出用高亮度字符
7) void lowvideo(); 字符输出用低亮度字符
8) void normvideo(); 字符输出用普通亮度字符
在以上的各函数中皆不带参数,当然也可以写成括号中有void的形式:
void wherex(void); 还可以写成 wherex();
清屏、清行、向后删行、插行的操作真有些CCED、WPS等编辑软件的风格,就是在你平时的屏幕设计中也用少不了。返回坐标的函数则给你的设计提供每一个环节的光标坐标值。有利于你前后响应。字
符亮度的改变则会让你的字符显示出层次感,怎么样,赶快试试吧:
/* No32.c*/
# include "stdio.h"
# include "conio.h"
main()
{ clrscr();
gotoxy(10,1);
cprintf("甜密密,");
highvideo(); /*高亮度显示*/
cprintf("\r\n 你笑得甜密密,");
lowvideo(); /*低亮度显示*/
cprintf("\r\n 好象花儿开在春风里,");
normvideo(); /*普通亮度显示*/
gotoxy(10,4); cprintf("开在春风里");
cprintf("\r\n 在哪里,在哪里见过你?");
printf("\r\n 你的笑容这样熟悉。");
gotoxy(10,20);printf("任意键删去光标后的内容");
gotoxy(18,3); getch();
gotoxy(18,3);
clreol(); /*删去光标后字符*/
gotoxy(10,20);printf("任意键删去本行的内容 ");
gotoxy(18,3); getch();
delline(); /*删去本行*/
gotoxy(10,20);printf("任意键在本行插一空行 ");
gotoxy(18,3); getch();
insline(); /*插入一空行*/
gotoxy(1,7);
}
应该注意的是,要发挥本节所讲的函数的作用,在显示时不能使printf函数,应使用cprintf函数。它的使用方法和printf的完全一样,只不过后面的cprintf能发挥亮度设置和颜色设置的作用。前者
printf函数只有一种颜色和单一的亮度。
在cprintf函数中,“\n”的作用不再是既回到行首又换行,它只起一个换行的作用,所以要把内容在行首显示必须再加一个“\r”
上面的程序不是一真正对大家有用的程序,只是用来说明一个刚刚学到的几个函数的作用。在conio.h中还有一些字符型函数,它们都是带参数的。
9) void textcolor(颜色); 定义显示字符颜色
10) void textbackground(颜色); 定义背景颜色
下面是颜色数字和颜色对照表
BLACK 0 黑 DARKGRAY 8 深灰
BLUE 1 兰 LIGHTBLUE 9 淡兰
GREEN 2 绿 LIGHTGREEN 10 淡绿
CYAN 3 青 LIGHTCYAN 11 淡青
RED 4 红 LIGHTRED 12 淡红
MAGENTA 5 洋红 LIGHTMAGENTA 13 淡洋红
BROWN 6 棕 YELLOW 14 黄
LIGHTGRAY 7 淡灰 WHILT 15 白
背景颜色值只能是0-7共8个数字或其对应的英文大写单词。而前景(即字符)的颜色可以是0-15共16种颜色或其对应的英文大写单词。当你定义的前景和背景相同时,屏幕上看不到输出的内容。
textcolor(4); 和 textcolor(RED); 效果是相同的。
设置屏幕颜色还可以使用
11) void textattr(前景颜色+(背景颜色));
但这里的背景颜色要有“<<4”。如白底红字,就是:
textattr(RED+(WHITE<<4));
12) int gettext(左上角x,左上角y,右下角x,右下角y,内存指针);
把定义的长方形区域内的内容存在内存中
13) int puttext(左上角x,左上角y,右下角x,右下角y,内存指针);
把内存中存好的内容显示在新定义的矩形块内
这里的内存指针也可用字符形数组来代替。需要注意的是内存大小应该是所存内容的“行数*列数*2”。比如把第3行第5列到第6行第75列的数据存到内存中,可以用下面的片段:
char buffer[4*70*2];
gettext(5,3,75,6,buffer);
然后你就可以用puttext函数来显示它了。
14) void movetext(左上角x,左上角y,右下角x,右下角y,
新左上角x,新左上角y);
把矩形块移到新左上角(x,y)决定的地方
15) void window(左上角x,左上角y,右下角x,右下角y);
定义一个窗口,大小就是上面参数决定的长方形
利用这一函数,你可以在屏幕上任何一个地方开辟一个窗口,并在上面显示需要的内容。这丝毫不影响屏幕其它地方的内容。当你定义了窗口后,你只能操作该窗口,gotoxy(),wherex(),wherey(),
clrscr()等等函数所表示的都是你定义窗口中的情况。实际上这就为我们的操作带来了方便,你想操作哪儿,就定义哪儿,想回到平时状态的屏幕,就定义一个最大的窗口,window(1,1,80,25);就复原了。
No.33号例子是利用puttext和gettext函数以及颜色定义来模仿CCED和WPS的菜单显示。但这个小程序没有可移动的光条,也没有菜单中内容的相应执行程序,只是演示一下屏幕的保存和释放而已。
/* No33.c */
#include "conio.h"
#include "stdio.h"
main()
{ int i=1,j,ch;
char buffer[6*50*2]; /*开辟内存空间的大小*/
clrscr();
textcolor(0); /*定义字符颜色*/
textbackground(7); /*定义背景颜色*/
gotoxy(1,1);
cprintf(" 功能1 功能2 功能3 ");
textbackground(0);
textcolor(14);
gotoxy(1,2);
cprintf("What's your name? 你叫什么名字");
cprintf("\n\rMy name is Wang Dong. 我叫王东.");
cprintf("\n\rHow old are are you? 你多大了 . ");
cprintf("\n\rI'm thirty-four. 我四十四了");
cprintf("\n\r\n\rThis is Lesson One. 这是第一课");
while(1)
{ j=i;
textcolor(0);
textbackground(7);
if(i==1)
{ gettext(1,2,13,5,buffer);
gotoxy(2,2); cprintf("│第一课│");
gotoxy(2,3); cprintf("│第二课│");
gotoxy(2,4); cprintf("│第三课│");
gotoxy(2,5); cprintf("└———┘");
}
if(i==2)
{ gettext(13,2,25,5,buffer);
gotoxy(14,2); cprintf("│菜单一│");
gotoxy(14,3); cprintf("│菜单二│");
gotoxy(14,4); cprintf("│菜单三│");
gotoxy(14,5); cprintf("└———┘");
}
if(i==3)
{ gettext(25,2,37,5,buffer);
gotoxy(26,2); cprintf("│说明A │");
gotoxy(26,3); cprintf("│说明B │");
gotoxy(26,4); cprintf("│说明C │");
gotoxy(26,5); cprintf("└———┘");
}
textcolor(14);
gotoxy(10,20);printf("→向右移动 ←向左移动 Esc 退出");
ch=getch();
if((ch==75)&&(i==1)) /*菜单个数的判断*/
{ i=3; ch=0;}
if((ch==77)&&(i==3)) /*ASCII码 77是右箭头*/
{ i=1; ch=0;}
if((ch==75)&&(i>1)) /*ASCII码 75是左箭头*/
i--;
if((ch==77)&&(i<3))
i++;
if(ch==27)
break;
puttext(j*12-11,2,j*12+1,5,buffer);
}
}
您的当前位置是:首页>>电脑知识>>基本输入输出
--------------------------------------------------------------------------------
基本输入输出
基本输入输出函数
下面要进行的工作是编个程序,你输入什么,它就显示什么。程序如No.2所示。
main() /* No.2 */
{
char ch[12]; /*定义一个字符串*/
int i; /*定义一个整(数)型变量*/
printf("请输入一个字符串:"); /*显示提示信息*/
scanf("%s",ch); /*用输入函数输入字符串*/
printf("请输入一个整数:");
scanf("%d",&i); /*输入一个整数*/
printf("输入的字符串是:%s 输入的数字是%d",ch,i);
}
如果你输入的字符串是“中华人民共和国”,数字是2000,那么编译成EXE文件后执行
请输入一个字符串:中华人民共和国
请输入一个整数:2000
输入的字符串是:中华人民共和国 输入的数字是2000
怎么样?比No.1程序要好一些吧,想显示什么就显示什么。你还
可以显示代数式的结果:如把第8行最末尾的数据“i”换成“i*10”
printf("输入的字符串是:%s 输入的数字是%d",ch,i*10);
运行程序时,输出如下:
请输入一个字符串:中华人民共和国
请输入一个整数:2000
输入的字符串是:中华人民共和国 输入的数字是20000
本程序注释较多,这样就增加了程序的可读性。通过此程序我们应学习哪些知识呢?
第3行和第4行是对数据进行定义,任何一个变量在C 语言中必须先定义才能使用。
第5行和第7行的scanf()是输入函数,用来输入用户信息。其格式是:
scanf("数据格式说明",数据列表);
之所以是“数据列表”,就是说这里的数据,既可以是一个,也可以是多个,既可以是相同格式的数据,也可以是不同格式的数据。
scanf("%s%d",ch,&i);
它说明的含义是让用户输入一个字符串再输入一个整数,中间用空格分开。
在格式说明中“%s”“%d”是什么意思呢?“%s”说明输入的是 字符串,“%d”说明输入的是整数
注意:C语言中,整数叫“整型数据”。其它格式如下表所示 %d
十进制整数
%o
八进制整数
%x
十六进制整数
%f
小数或指数形式数据
%c
输入单个字符
上表格式说明也同样适用于printf()函数。如第8行就是一例。需要注意的是,在输入数字或单个字符时,数据列表必须用取地址符号,即“&”,而在输出时则不用。
下面再看一看No.3号程序
main() /*No.3*/
{ int a=5,b=10,c,d;
c=200;
d=a*(b+c);
printf("a*(b+c)=%d",d);
}
在这个小程序里,我们计算了一个小代数式的值,然后输出了它的值。需要说明的是,第二行中,在定义变量时可以赋初值。也可以象第三行那样,在定义后再赋初值。
在C语言中,除了整数外,还有无符号整数、实数(浮点数)、长整数、双清度实数。
在C语言中,整数并不是可以无限大,它的大小是有一定限度的,超过了这个限制,程序就会出错。大小规定如下表所示:
数据类型
存储位(bit)
数值范围
整型 int
16
-32768—32767
无符号整数unsigned
16
0—65535
实数 float
32
10E38—10E38
长整型 long int
32
-2147483648—2147483647
双精度实数 double
64
10E-308—10E308
我们下面练习一个No.4号程序
main() /* No.4 */
{ int a=1000,b=2500,i1;
long c=1000,b=2500,i2;
i1=a*b;
i2=c*d;
printf("整型数据1000*2500的积是%d\n",i1);
printf("长整型数据1000*2500的积是%ld\n",i2);
}
执行程序,屏幕输出:
整型数据1000*2500的积是9632
长整型数据1000*2500的积是2500000
上例中,因为整型数据超出了32767的限制,所以出错。如果计
算结果超过32767,在设计时就应该定义成长整型数据。
今天学习的内容太多了,下面的内容你会多少?
1.输入函数scanf()和输出函数printf()的格式是怎样的?
2.scanf()在输入字符串时和输入数字时有什么区别?
3.输入输出时“%s %d %o %x %c %f”表示什么意思?
4.你能大致了角数字数据类型和最大值最小值吗?
头关机以前,你能否再看一眼No.2、No.3、No.4三个程序
您的当前位置是:首页>>电脑知识>>定位输出
--------------------------------------------------------------------------------
定位输出
在系统程序中,显示内容是方便的,任何一个位置都可以显示,
那么,我们怎样随意显示输出内容呢?在C语言中,光标定位用:
gotoxy(列坐标,行坐标);
下面的No.5例子就是它的具体应用:
/* No5.c*/
#include "stdio.h" /*连入头部文件stdio.h*/
main()
{
char ch; int i;
gotoxy(10,4); /*把光标定位在(10,4)坐标处*/
printf("输入一个字符,它便以大写的形式输出 ");
ch=getchar(); /*用getchar()函数输入一个字符*/
if ((ch>='a') && (ch<='z'))
ch=ch-32;
gotoxy(10,7);
printf("输入一个整数,便把它大1和小1的数输出 ");
scanf("%d",&i);
gotoxy(15,13); printf("你输入的字符大写为%c",ch);
gotoxy(15,14);
printf("你输入的%d两侧的数分别为%d,%d",i,i-1,i+1);
}
第1行是在编译时把stdio.h连入程序文件。具体作用见No.6解释
在上程序的第4行中,两类数据定义占了一行,这是允许的。C语
言程序写法是很随便的,它可以一行一句,也可以一行写多句,上例
的第13行也是这样书写的。不过一般情况下我们不这样写。为了程序
在检查和阅读时方便,我们一般一行写一句,而且程序中一个层次的
内容和另一个层次的内容使用缩格排版格式。如上程序的main()函数
上例中的if()语句等。以后程序中层次越多,越应该形成这样的好习
惯。
如果你输入的字符是m,数字是11,则屏幕输出如下:
输入一个字符,它便以大写的形式输入 m
输入一个整数,便把它大1和小1的数输出 11
你输入的字符大写为M
你输入的11两侧的数分别为10,12
在No.5程序中出现了一个新的函数,它是字符输入函数,它的作用是只输入一个字符。
除了它,还有两个字符输入函数,如右表
getchar()
字符显示,回车键结束
getche()
字符显示,不必按回车
getch()
字符不显示,不必按回车
上述三个字符输入函数使用时没有参数,即()中没有内容。
在C语言中,字符也有大小,它按ASCII表中的值排列大小。可以
进行字符间及字符与数字间的运算。如上例的“ch=ch-32;”。比较
字符大小时,可用字符直接比较,如上例的第7行那样;也可以用数
值进行比较,上第7行可改为:
if ((ch>=97) && (ch<=122))
上一行是程序中的条件语句,它的简单格式是
if(条件表达式)
{ 内容1;}
else
{ 内容2;}
如果条件表达式成立,执行内容1,不成立则执行内容2。else语
句可有可无。当执行内容只有一行时,可以省略内容两侧的“{ }”
上述程序的执行内容就没有“{ }”
在上例的“if ((ch>='a') &&(ch<='z'))”中“&&”是逻辑运
算符,逻辑运算符如下表所示
&&
逻辑与
||
逻辑或
!
逻辑非
任何时候,学习都是为了应用。下面我们编写一个电子表程序:
/* No6.c */
# include "stdio.h" /*连入头部文件stdio.h*/
# include "dos.h" /*连入头部文件dos.h*/
main()
{ struct time t; /*定义时间变量 t */
struct date d; /*定义日期变量 d */
clrscr(); /*清屏*/
getdate(&d); /*获取当前日期*/
gotoxy(33,4);
printf("%d.%d.%d",d.da_year,d.da_mon,d.da_day);
while(!kbhit()) /*如果没有按键,则执行下面内容*/
{ gotoxy(34,6);
gettime(&t); /*获取当前时间*/
printf("%d:%d:%d",t.ti_hour,t.ti_min,t.ti_sec);
}
}
C语言程序特别灵活,它可以把别的程序或文件中的内容,连入
到你的程序中,在C语言中已经有许多我们用到的内容放在了头部文
件中,本例中就是利用了"dos.h"头部文件中的时间和日期的定义。
这种连入,既可以是C语言内部的头部文件(*.h),也可以是你自已
写的文件。你自己被连入的文件既可以是“*.h”文件,也可以是
“*.c”文件。文件连入写法有两种:
#include "dos.h" 用这种写法 dos.h 文件放在当前目录中
#include <dos.h> 用这种写法 dos.h 文件放在TC\INCLUDE目
录中。
第6行中“clrscr();”是清屏函数,它不带参数,作用:清屏
第11行的“kbhit()”函数是用来检测用户是否按了键,但它不
能测试出你按的什么键。要知道按的是什么,必须和输入函数配合使
用。
第11行有“while(!kbhit())”是个循环语句,它的意思是:只
要没有按键,程序便执行{...}所括的内容。
本节内容提纲如下:
1.光标定位:gotoxy(列从标,行坐标);
2.getchar()、getcha()、getch()三个字符输入函数输入时情况
是不同的,一个是光标是否回显,一个是是否用回车结束
3.if(...) 如果...便执行{...}中的内容
4. &&逻辑与,||逻辑或,!逻辑非
5.#include "..." 把...文件和主程序连在一起编译
6.kbhit()测试按键是否按
您的当前位置是:首页>>电脑知识>>使用文件
--------------------------------------------------------------------------------
使用文件
到此为止,我们仍停留在屏上,一些需要的东西还不能做为资料保存。要想把你看到的保留下来,就得把资料存储在磁盘文件中,本节我们用两个例子来学习使用文件。
No.7程序是模仿DOS命令中的程序。
/* No7.c */
#include "stdio.h" /*连入stdio.h*/
main(int argc,char *argv[]) /*带参数的程序(带命令行参数)*/
{
char ch;
FILE *in,*out; /*定义文件指针*/
if(argc!=3) /*如果命令行数目不等于3*/
{ printf("格式应该是: No7 源文件名 目标文件名\n");
exit(1); } /*退出程序*/
if((in=fopen(argv[1],"r"))==NULL) /*打开源文件*/
{ printf("文件不存在或磁盘没准备好!\n");
exit(1); }
if((out=fopen(argv[2],"w"))==NULL)
{ printf("文件复制失败!\n");
exit(1); }
while((ch=fgetc(in))!=EOF) /*如果读出的数据不是结尾标志*/
fputc(ch,out); /*把读出的数据写到目标文件中*/
fclose(in); /*关闭文件*/
fclose(out);
printf(" 1 个文件复制成功 \n");
}
上述程序的主程序是带参数的,argc表示命令行的元素个数,argv[],用来接收程序所带的参数。这些参数的接收都是在执行程序时自动完成的。如用上例程序把名为“HEBEI”文件,复制到名为“BEIFEN”的文件,命令行应执行:
no7 hebei beifen
执行后,argc值为3,argv[1]成为“hebei”,argv[2]赋值为“beifen”。
上例中“exit(1);”表示退出程序的执行,返回到DOS提示符。
文件打开格式用
文件指针=fopen(文件名,"打开方式");
if((in=fopen(argv[1],"r"))==NULL) 意思是“如果文件打开失败”,则... ...
打开方式中“r”是打开文件后,只能从文件中读取信息。“w”是打开文件后,只能从文件中写信息。下面是打开方式及功能列表
r
打开一个文本文件读
rb
打开一个二进制文件读
w
打开一个文本文件写
wb
打开一个二进制文件写
a
打开一个文本文件添加
ab
打开一个二进制文件添加
r+
打开一个文本文件读写
r+b
打开一个二进制文件读写
w+
生成一个文本文件读写
w+b
生成一个二进制文件读写
a+
打开或生成文本文件读写
a+b
打开或生成二进制文件读写
“fclose(文件指针);”用来关闭已打开的文件。 如上面的
fclose(in); fclose(out); 就是应用。
fgetc(文件指针); 从文件中读取一个字符。
fputc(字符,文件指针); 把字符写到文件中去。
EOF是文件结束标志。
下面我们编个简易的文本文件阅读器,它相当于DOS中的“type 文件名 | more”,也就是分页显示文本文件。
/*No8.c*/
#include "stdio.h"
main(int argc,char *argv[])
{
FILE *fp;
int i=1;
char ch;
if(argc<2) /*如果命令行参数少于两个*/
{ printf("正确使用方法是: no8 文本文件名");
exit(1);} /*退出*/
if((fp=fopen(argv[1],"r"))==NULL) /*如果文件打开失败*/
{ printf("%s 不存在",argv[1]);
exit(1);}
else
{ clrscr(); /*清屏*/
while((ch=fgetc(fp))!=EOF) /*读取文件中的字符*/
{ printf("%c",ch); /*显示读出的字符*/
if(ch=='\n') /*如果读出的字符是回车*/
i++;
if(i>=23) /*如果行数到24行*/
{ printf("Any key to continue......\n");
i=1;
getch(); /*输入任一个字符*/
}
}
}
fclose(fp);
}
本例中没有什么更难理解的。需要提醒大家的是:在程序中你打开一个文件后,别忘了在结束程序之前,一定要把打开的文件关闭。
在上述程序中,使用了条件语句中的else语句。在使用else语句时,如果语句不
㈡ java jpanel 添加不上去jbutton组
没有看出来有问题。
运行也是正常的,如图:
你的代码应该没有问题。
确认下你的运行环境吧。
请采纳,谢谢。
㈢ 手机存储空间已满怎么清除
关闭后台运用,在手机界面,向上滑动手机底部,调出后台运用,退出不用的程序或点击删除图标全部清除;清理缓存数据,这里以qq为例,打开qq,点击头像,设置,通用,存储空间管理,清空缓存。
优化知识
查看系统内存
怎么看系统的系统内存, 很多人会用文件管理软件来看,这样看是看不到的,看到的只是存储空间的大小。运行内存一般使用进程管理之类的软件来查看。
释放内存入门
1、刚开机的时候的内存是最大的,所以一般重新开机可以达到手机现有状态下的最大的运行内存。
2、用软件直接释放内存,可以释放一部分运行内存,但非常有限。
3、如果你刚开机后的内存都非常小,那么就需要优化你的机器了优化有如下方法:
1)如果你的机器太乱了,那么最好格式化你的机器,保持最干净的系统,你也可以看看这个时候你的最大运行内存是多少。
2)尽量少装开机自启动的软件,这些软件开机就自动运行并且常驻内存,例如:来电大头贴、防火墙、增强情景模式、自动锁键盘等等。
3)尽量不要装其它字体文件。字体文件开机也会加载到内存中,而且字体容量比较大,一下就会出掉很多内存。
以上内容参考:网络-手机系统内存
㈣ 计算机上的“CE”是什么键
“CE”键是清除键,可清除显示的数字,但对前面的运算和输入没有影响。
㈤ 格手机和存储卡要先将存储卡取出先格手机然后再格存储卡吗
正确安全的格式化方法:先用手机格卡,再格机。
存储卡插上手机,在手机上格式化存储卡,然后取出存储卡(或者不取出)再格式化手机,如果是诺基亚智能机,先格式化手机而没有格式化存储卡,手机会搜索存储卡上文件自动安装格式掉的程序。
㈥ 现在很多计算器上储存、取存、累存、积存、清存都怎么用,跟M+ M- MR MC啥关系,请举个例子详细说明下,谢
储存:将当前值存到暂存器
取存(MR):将暂存器的值取出
累存(M+):把当前值与存储器的暂存值相加,再存入暂存器,注意与"储存"的区别
积存:把当前值与存储器的暂存值相乘,再存入暂存器
清存:(MC)memory clear
如"累存(M+)":
当你要计算一大堆货物的总价,又怕把其中的加法,乘法的混合运算搞混时:
sum=150×3+43×5...........
就可以在每次做乘法运算后将其结果累存到暂存器中
㈦ 计算器上的是开关、清屏键、清除键是什么
计算器上的清除键是CE键,开关键是ON、OFF键,清屏键是C键。
CE键可以清除当前输入的数字,但并不清除计算结果,比如输入2+3时,发现3按成了4,可以按CE键,这时只清除“4”,保留了“2+”,只需再输入3,然后按=即可。
C键是将输入的全部内容删除,比如输入2+3,当按3时按错了,这时使用ON/C键,就把全部的数据都清除了,需要再把2+3全部重新按一遍。
(7)存储取存退格清屏扩展阅读
计算器的其他功能键
1、输入键:0-9;+/-:正负转换键。
2、运算功能键:
+-*/(注意:加、减、乘、除键在计算时都可能代替等号键)
√:开平方键,用来进行开平方运算,先输入数字,再按下此键,不必按等号键即可得出结果。
4、等号键:=。
5、清除键
AC或CA键:全部清除键,也叫总清除键,作用是将显示屏所显示的数字全部清除。
→:右移键,其功能是荧屏值向右位移,删除最右边的尾数。
CE:部分清除键,也叫更正键。其功能是清除当前输入的数字,而不是清除以前输入的数。如刚输入的数字有误,立即按此键可清除,待输入正确的数字后,原运算继续进行。
如5+13,这时发现“13”输入错了,则按“CE”键就可以清除刚才的“13”,但还保留“5”这个数。值得注意的是,在输入数字后,按“+”、“-”、“/”、“*”键的,再按“CE”键,数字不能清除。
MC:累计清除键,也叫记忆式清除键,其功能是清除储存数据,清除存储器内容,只清除存储器中的数字,内存数据清除,而不是清除显示器上的数字。
㈧ phantomjs有什么命令可以清屏或者退格在CMD运行的时候数据显示有点乱。
Windows 命令提示符(cmd.exe)是 Windows NT 下的一个用于运行 Windows 控制面板程序或某些 DOS 程序的shell程序;或在 Windows CE 下只用于运行控制面板程序的外壳程序。
㈨ 如何清理手机存储空间
如何清理手机存储空间呢?
电子时代的发展是日新月异,手机的更新换代速度也是越来越快。
我们慢慢会发现,自己的手机越来越不给力,安装不了几个软件程序手机就装满了,还总是提醒我们"存库空间不足"。
那么,我们该如何清理手机里的垃圾,保证手机的顺畅运行呢?
一、如果手机空间已经很小,手机会自动提醒你,要清理手机空间。我们点击手机的提醒后,进入到清理界面,并依次进行清理:
1.照片清理。主要清理方式包括:
1)直接删除不要的照片
2)将照片转移到其他位置(如电脑、硬盘、云相册、网盘等)以后再删除,一般可以使用蓝牙或数据线进行转移。
2.卸载应用程序。对于不想要或不常用的程序,我们可以直接进行卸载。
3.清除应用数据。
如果已经没有要卸载的程序了,我们可以选择清理这些应用的数据,尤其是数据很多的程序,可以进行"瘦身"。
清理数据后我们的账户数据也会一并被清除,需要重新登陆一下。
需要注意的是,清除数据前,要先保存好重要的数据(如:微信接收的图片、视频等)。
4.删除大文件,包括视频(或视频缓存文件)、PDF文件等。来源主要包括:
1)通过手机蓝牙或电脑(微信电脑版、蓝牙等)发送到手机的文件
2)通过手机下载文件
5.安装包清理。
1)有些安装包下载后从未安装过,确认不需要安装的话可以直接删除
2)安装完成后的安装包,是可以删除的。
二、如果系统没有提醒"存储空间不足",我们想提前卸载程序时,可以按照以下步骤依次操作:
1.点击"设置"图标。
2.手机向下查找到选项,找到并选择"更多应用"。
3.进入程序管理界面后,可以选择查看程序的排序方式,我们最常用的是选择"按存储空间"或"按安装时间"来排序。
4.点击要卸载的程序,在程序查看界面我们可以进行"结束运行"、"卸载"、"清除数据"等操作。同时,点击"存储占用"选项,我们可以查看程序构成。
注意事项
如果是因为换手机而清理空间,为减少不必要的麻烦,建议先将各个程序里的手机号码现变更为新手机号码以后,再进行清理。
长期使用手机,手机内部容易累计垃圾,那么以上就是如何清理手机存储空间的全部内容,希望对大家有所帮助!
㈩ 高分求作一个c语言编程的操作界面
C语言课程设计报告—班级成绩管理系统
需要分析:
学生成绩管理系统有13种功能。把这13个功能做成13个子函数。在主函当数中设计一个菜单对这13个子数进行管理。来实现对整个系统的操作。
根据课题的要求。每一个学生的包括姓名(char)、学号(char)、M门课程的成绩(float).再加上系统功能上的要求每一学生的信息还要总分和名次等。所以自然的想到要用结构体来定义每一个学生的信息结构。然后用链表把它们组成一个有序的整体。用对链表的操作来实现对所有学生信息的统一管理(成绩显示、成绩排序、成绩修改等)。最后为了以后按照处理后的顺序保存到文件中。
. 各函数的功能:
概要设计:
程序的模块组成:
主 函 数: int main()
新建函数:STUDENT *init()
输入函数 :STUDENT *create()
显示函数: void print(STUDENT *head)
删除函数: STUDENT *delete(STUDENT *head)
按名字寻找函数: void lookup(STUDENT *head)
保存函数: void save(STUDENT *head)
按总分排序函数: STUDENT *sort(STUDENT *head)
计算总分和均分函数: void computer(STUDENT *h)
修改函数: STUDENT *Modify(STUDENT *head,STUDENT *new)
按学号排序函数: STUDENT *index(STUDENT *h)
菜单函数:int menu_select()
各个函数的主要功能:
输入函数: 随时输入数据。
菜单函数:显示系统主菜单。
显示函数: 显示所有学生的信息。
寻找函数: 方便学生查找自己的成绩。
删除函数: 删除某学生的信息。
排序函数: 按总成绩排序。
按学号排序函数: 按学号排序。
插入函数: 可以插入新的信息。
保存函数: 保存好学生成绩,以免丢失。
统计函数:
l 显示每门课程成绩最高的学生的基本信息。
l 显示每门课程的平均成绩。
l 显示超过某门课程平均成绩的学生人数。
课题的功能模块的划分:
开始
菜单界面
功能选择
初始化函数
输入学生信息
删除学生信息
显示学生信息
查找学生信息
按成绩排序
保存到文件
从文件读数据
插入学生成绩
分类合计
退出系统
结束
详细设计: 整个系统除了主函数外,另外还有14个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:
主函数 main()
利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
菜单选择函数 int menu_select()
这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,返回菜单。
代码设计: 初始化函数 STUDENT *init()
这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!
输入记录函数 STUDENT *create() 这是一个无参函数,用来执行学生成绩记录的输入,当学生为@时停止输入,函数结束后,带回一个链表头的指针指向一下个学生的信息插在表头。
N-S流程图如下:
head=NULL无条件循环
指针p指向新开辟的单元
指针p是否为空
是 否
输入学号p->num
输出 p->num是否为@
内存 是 否
溢出 输入姓名p->name
停止 for(i=0;i<3;i++)
输入 输入成绩
返回 p->sum=s;
菜单 p->average=(float)s/3;
显示记录函数 void print(STUDENT *head)
这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。
算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。
N-S流程图如下:
p=head,使指向第一个结点
输出p所指向的结点
p指向一下个结点
当p指的不是表尾
程序调试:
由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。最后还是老师帮我帮我们找到了问题的所在——for 循环的次超过了链表中结点的数量。再就是自定义函数时由于课本的概念不清楚,多写了空格键,以至函数调用不出来。又如:在设计修改学生信息时的密密码时。当用户发现输入密码错误按了退格键后,因为“*”并没有消去。导致用户再次按退格键,又出现前面的情况。最终导致输入密码错误。所以用了两次退格键:
在对链表操作时,要特别链表指针的移动(p=p->next)和链表尾的判断 (p= =NULL)。没有指针的移动,就很容易出现死循环。而在运行过程中不能控制。所以你就会认为是死机。如果没有链表尾的判断。就会在运行过程出现想不到的错误。如:在显示链表信息时,后面就会出现乱码。
一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。
予我耐心解答的老师和同学,是他们为我小程序的成功起到了关键性的作用,那么多个日夜,如此多的困难,同学们勤恳塌实,从开始到结束,没有显出一点倦意,始终热情高涨,我感谢这种氛围,感谢学校提供的良好条件。
回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
本次课程设计结束了,对于我的影响很大。我通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我知道自己哪些方面做得还不够。
但我出总结出了一点点的经验如下:
1、要对系统的功能和要求做出详细的分析,并合理分解任务。
2、把分解出来的子任务,做给一个相对独立的模块。
3、在设计一个模块之前,要简单构想一下总界面的显视情况。
4、针对构想出来的界面进行程序的编写。
最后,感谢老师您对我的指导和从百忙中抽空看我的设计,谢谢!
附件:
源程序:
#include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "conio.h" /*屏幕操作函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
#include "dos.h"
#define N 4 /*定义常数*/
typedef struct z1 /*定义数据结构*/
{
char no[12];
char name[20];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
/*以下是函数原型*/
STUDENT *init(); /*初始化函数*/
STUDENT *create(); /*创建链表*/
STUDENT *delete(STUDENT *h); /*删除记录*/
void print(STUDENT *h); /* 显示所有记录*/
void lookup(STUDENT *h); /*查找*/
void save(STUDENT *h); /*保存*/
STUDENT *load(); /*读入记录*/
void computer(STUDENT *h); /*计算总分和均分*/
STUDENT *Modify(STUDENT *h); /*修改记录*/
void append(); /*追加记录*/
STUDENT *sort(STUDENT *h); /*按总分排序*/
STUDENT *index(STUDENT *h); /*按学号排序*/
int menu_select(); /*菜单函数*/
/******主函数开始*******/
main()
{
int i;
STUDENT *head; /*链表定义头指针*/
printf("\n\n\n\n\n\n\n\n\n");
printf(" * * ******* * ***** ***** * * ******* \n");
printf(" * * * * * * * ** * * * \n");
printf(" * * * * ******* * * * * * *** * ******* \n" );
printf(" * * * * * * * * * * * * * \n");
printf(" * * ******* ******* ***** * *** * * * ******* \n");
printf("\n");
printf("\n");
printf("\n");
sleep(2);
head=init(); /*初始化链表*/
clrscr(); /*清屏*/
for(;;) /*无限循环*/
{
switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/
{ /*值不同,执行的函数不同,break 不能省略*/
case 0:head=init();break; /*执行初始化*/
case 1:head=create();break; /*创建链表*/
case 2:print(head);break; /*显示全部记录*/
case 3:head=delete(head);break; /*删除记录*/
case 4:lookup(head);break; /*按名字查找记录*/
case 5:save(head);break; /*保存文件*/
case 6:head=load(); break; /*读文件*/
case 7:computer(head);break; /*计算总分和均分*/
case 8:head=Modify(head); break; /*修改记录,一般会插在表尾*/
case 9:head=sort(head);break; /*按部分排序*/
case 10:append();break; /*追加记录*/
case 11:head=index(head);break; /*按学号排序*/
case 12: exit(0); /*如菜单返回值为14程序结束*/
}
}
}
/*菜单函数,返回值为整数*/
menu_select()
{
char *menu[]={"***************MENU***************", /*定义菜单字符串数组*/
" 00. init list", /*初始化*/
" 01. Enter list", /*输入记录*/
" 02. print list ", /*显示单链表中所有记录*/
" 03. Delete a record from list", /*从表中删除记录*/
" 04. Search record on name", /*按照姓名查找记录*/
" 05. Save the file", /*将单链表中记录保存到文件中*/
" 06. Load the file", /*从文件中读入记录*/
" 07. compute the score", /*计算所有学生的总分和均分*/
" 08. Modify an information ", /*修改某学号的信息*/
" 09. sort to make new file", /*排序*/
" 10. append record to file", /*追加记录到文件中*/
" 11. index on nomber", /*按学号排序*/
" 12. Quit"}; /*退出*/
char s[3]; /*以字符形式保存选择号*/
int c,i; /*定义整形变量*/
gotoxy(1,1); /*移动光标*/
textcolor(YELLOW); /*设置文本显示颜色为黄色*/
textbackground(BLUE); /*设置背景颜色为蓝色*/
gotoxy(10,2); /*移动光标*/
putch(0xc9); /*输出左上角边框┏*/
for(i=1;i<44;i++)
putch(0xcd); /*输出上边框水平线*/
putch(0xbb); /*输出右上角边框 ┓*/
for(i=3;i<20;i++)
{
gotoxy(10,i);putch(0xba); /*输出左垂直线*/
gotoxy(54,i);putch(0xba);
} /*输出右垂直线*/
gotoxy(10,20);putch(0xc8); /*输出左上角边框┗*/
for(i=1;i<44;i++)
putch(0xcd); /*输出下边框水平线*/
putch(0xbc); /*输出右下角边框┛*/
window(11,3,53,19); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr(); /*清屏*/
for(i=0;i<16;i++) /*输出主菜单数组*/
{
gotoxy(10,i+1);
cprintf("%s",menu[i]);
}
textbackground(BLACK); /*设置背景颜色为黑色*/
window(1,1,80,25); /*恢复原窗口大小*/
gotoxy(10,21); /*移动光标*/
do{printf("\n make by wenwei");
printf("\n Enter you choice(0~13):"); /*在菜单窗口外显示提示信息*/
scanf("%s",s); /*输入选择项*/
c=atoi(s); /*将输入的字符串转化为整形数*/
}while(c<0||c>14); /*选择项不在0~14之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/
}
STUDENT *init()
{ clrscr();
return NULL;
}
/*创建链表*/
STUDENT *create()
{
int i; int s;
STUDENT *h=NULL,*info; /* STUDENT指向结构体的指针*/
clrscr();
for(;;)
{
info=(STUDENT *)malloc(sizeof(STUDENT)); /*申请空间*/
if(!info) /*如果指针info为空*/
{
printf("\nout of memory"); /*输出内存溢出*/
return NULL; /*返回空指针*/
}
inputs("enter no:",info->no,11); /*输入学号并校验*/
if(info->no[0]=='@') { clrscr();break; } /*如果学号首字符为@则结束输入,清屏后返回*/
inputs("enter name:",info->name,15); /*输入姓名,并进行校验*/
printf("please input %d score \n",N); /*提示开始输入成绩*/
s=0; /*计算每个学生的总分,初值为0*/
for(i=0;i<N;i++) /*N门课程循环N次*/
{
do{
printf("score%d:",i+1); /*提示输入第几门课程*/
scanf("%d",&info->score[i]); /*输入成绩*/
if(info->score[i]>100||info->score[i]<0) /*确保成绩在0~100之间*/
printf("bad data,repeat input\n"); /*出错提示信息*/
}while(info->score[i]>100||info->score[i]<0);
s=s+info->score[i]; /*累加各门课程成绩*/
}
info->sum=s; /*将总分保存*/
info->average=(float)s/N; /*求出平均值*/
info->order=0; /*未排序前此值为0*/
info->next=h; /*将头结点做为新输入结点的后继结点*/
h=info; /*新输入结点为新的头结点*/
clrscr();
}
return(h); /*返回头指针*/
}
/*输入字符串,并进行长度验证*/
inputs(char *prompt, char *s, int count)
{
char p[255];
do{
printf(prompt); /*显示提示信息*/
scanf("%s",p); /*输入字符串*/
if(strlen(p)>count)printf("\n too long! \n"); /*进行长度校验,超过count值重输入*/
}while(strlen(p)>count);
strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/
}
/*输出链表中结点信息*/
void print(STUDENT *h)
{
int i=0; /* 统计记录条数*/
STUDENT *p; /*移动指针*/
clrscr(); /*清屏*/
p=h; /*初值为头指针*/
printf("\n\n\n*********************************STUDENT************************************\n");
printf("|rec|nO | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|---|----------|---------------|----|----|----|----|--------|--------|-----|\n");
while(p!=NULL) /*只要p不是尾结点,就输出记录*/
{
i++;
printf("|%3d|%-10s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6.2f | %3d |\n", i, p->no,p->name,p->score[0],p->score[1],p->score[2],p->score[3],p->sum,p->average,p->order);
p=p->next;
}
printf("***********************************end**************************************\n");
getch(); /*输入任一键返回主菜单*/
clrscr(); /*清屏*/
}
/*删除记录*/
STUDENT *delete(STUDENT *h)
{
STUDENT *p,*q; /*p为查找到要删除的结点指针,q为其前驱指针*/
char s[12]; /*存放学号*/
char *pass="wenwei28";
char a[20],b=NULL;
int i=0;
clrscr();
printf("Input your password:");
while((i<20)&&(b!='\r'))
{ b=getch(); /*无回显输入*/
if(b==8)
{ if(i>0)
{a[--i]=NULL;
putchar(8); /*退格键*/
putchar(' '); /*以空格代替*/
putchar(8);
}
else putchar(7); /*没有任何字符的退格,响铃警告*/
}
else if(b!='\r')
{ a[i++]=b; /*只要不是退格和回车就接受*/
putchar('*');
}
else
{a[i]=NULL; break; /*密码输入完了,记得加个NULL到后面*/
}
}
if(strcmp(a,pass)!=0)
{clrscr();
printf("Password is mistake Tow seconds to return!");
sleep(2);clrscr();return h;
}
else {printf("Password is OK! Welcome to come!"); sleep(3);
}
clrscr(); /*清屏*/
printf("please deleted no\n"); /*显示提示信息*/
scanf("%s",s); /*输入要删除记录的学号*/
q=p=h; /*给q和p赋初值头指针*/
while(strcmp(p->no,s)&&p!=NULL) /*当记录的学号不是要找的,或指针不为空时*/
{
q=p; /*将p指针值赋给q作为p的前驱指针*/
p=p->next; /*将p指针指向下一条记录*/
}
if(p==NULL) /*如果p为空,说明链表中没有该结点*/
{ printf("\nlist no %s student\n",s);sleep(2);clrscr();return h;}
else /*p不为空,显示找到的记录信息*/
{
printf("*********************************have found********************************\n");
printf("|no | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|------------|---------------|----|----|----|----|--------|--------|-----|\n");
printf("|%-12s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6-5.2f | %3d |\n", p->no,
p->name,p->score[0],p->score[1],p->score[ q=p; /*保存当前结点的指针,作为下一结点的前驱*/
p=p->next; /*指针后移,新读入数据链到当前表尾*/
}
q->next=NULL; /*最后一个结点的后继指针为空*/
fclose(fp); /*关闭文件*/
printf("---You have success read data from file!!!---\n");
getch(); /*按任意键返回主菜单*/
clrscr();
return h; /*返回头指针*/
}
/*成绩统计*/
void computer(STUDENT *h)
{
STUDENT *p,*t,*q; /*定义移动指针*/
float saverage[N]={0}; /*均分初值为0*/
int i;
clrscr();
for (i=0;i<N;i++)
{ int n=0,j=0; /*保存记录条数初值为0*/
long s=0; /*总分初值为0*/
p=h; /*从头指针开始*/
while(p!=NULL) /*当p不为空时处理*/
{
s+=p->score[i]; /*累加总分*/
j++; /*统计记录条数*/
p=p->next; /*指针后移*/
h; /*返回头指针
来源: http://..com/question/87150638.html?si=6