C的32个关键字9种控制语句34个运算符.doc

上传人:飞****9 文档编号:137091531 上传时间:2020-07-05 格式:DOC 页数:8 大小:43.50KB
返回 下载 相关 举报
C的32个关键字9种控制语句34个运算符.doc_第1页
第1页 / 共8页
C的32个关键字9种控制语句34个运算符.doc_第2页
第2页 / 共8页
C的32个关键字9种控制语句34个运算符.doc_第3页
第3页 / 共8页
C的32个关键字9种控制语句34个运算符.doc_第4页
第4页 / 共8页
C的32个关键字9种控制语句34个运算符.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C的32个关键字9种控制语句34个运算符.doc》由会员分享,可在线阅读,更多相关《C的32个关键字9种控制语句34个运算符.doc(8页珍藏版)》请在金锄头文库上搜索。

1、C的32个关键字9种控制语句34个运算符2020年7月5日星期日一、32个关键字(一)分类:32个关键字每个都有不同的意义,大体上根据其意义可以分为以下几类(下划线表示不同分类中有交集):非常见:auto、register、volatile、goto存储相关:const、extern、register、volatile、static、auto、signed、unsigned数据类型:char、short、int、long、float、double、struct、union、enum、void逻辑控制:if、else、for、while、do、break、continue、return、defa

2、ult、switch、case、goto特殊用途:sizeof、typedef(二)含义:C语言32个关键字含义分述如下:1、auto :声明自动变量 2、short :声明短整型变量或函数 3、int: 声明整型变量或函数4、long :声明长整型变量或函数 5、float:声明浮点型变量或函数 6、double :声明双精度变量或函数 7、char :声明字符型变量或函数 8、struct:声明结构体变量或函数 9、union:声明共用体数据类型 10、enum :声明枚举类型 11、typedef:用以给数据类型取别名 12、const :声明只读变量/常变量 13、unsigned:声

3、明无符号类型变量或函数 14、signed:声明有符号类型变量或函数 15、extern:声明变量是在其他文件中已定义/声明 16、register:声明寄存器变量 17、static :声明静态变量 18、volatile:说明变量在程序执行中可被隐含地改变。即设置内存变量在CPU访问时直接内存读写方式,即不经过CPU中的高速缓冲cache或寄存器。volatile意“易变的”,在程序中,当未使用volatile关键字定义的变量,如int x;在本次线程内, 当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后,再取变量值时,就直接从寄存器中取值;当变量值在本

4、线程里改变时,会同时把变量的新值copy到该寄存器中,以便保持一致。当使用volatile关键字定义的变量,如volatile int x;每次读取x值时均从内存读取,而不经过速度较快的寄存器或cache。即volatile应该解释为“直接存取原始内存地址”比较合适。19、void :声明函数无返回值或无参数,声明无类型指针 20、if:条件语句 21、else :条件语句否定分支(与 if 连用) 22、switch :用于开关语句23、case:开关语句分支 24、for:一种循环语句 25、do :循环语句的循环体 26、while :循环语句的循环条件 27、goto:无条件跳转语句

5、28、continue:结束当前循环,开始下一轮循环 29、break:跳出当前循环/当前switch结构30、default:开关语句中的“其他”分支 31、sizeof:计算数据类型长度 32、return :函数返回语句(可以带参数,也可不带参数)二、C语言9种控制语句if( )else 条件语句for( )循环语句while( ) 循环语句dowhile( ) 循环语句continue 结束本次循环语句break 中止执行switch或循环语句switch多分支选择语句goto 无条件转向语句return 从函数返回语句三、34种运算符按优先级由高向低排序如下:其中第14至第31种运算

6、符均为双目,按左结合律。1、()圆括号2、下标3、-指针型结构成员4、.结构成员直接指定5、!逻辑非6、按位非7、+自增8、-自减9、-取负10、(类型)类型转换11、*取内容/间接访问12、&取地址13、sizeof求字节注:第513均为单目运算,且都为右结合律。14、*乘15、/除16、%求余17、+加18、-减19、右移21、小于22、大于24、=大于等于25、=等于26、!=不等于27、&按位与28、按位异或29、|按位或30、&逻辑与31、|逻辑或32、?:条件运算注:第32种运算符为三目运算,右结合律。33、=赋值运算注:另有10个扩展符+=,-=,*=,/=,%=,=,=,&=,

7、=,|=34、,逗号运算。C语言程序设计统考试题编程:输入一不包含空格的字符串,判断输入的字符串是否为回文。回文算法:回文是相对中心左右对称的字符串。如字符串“abcba”和“abddba”是回文,而字符串“abcAa”不是回文。要求判断字符串是否为回文的功能用函数实现。“level”也是回文字符串。答案1:#include #include void huiwen(char* str,int n); void main() char str10; int len; printf(请输入字符串:); scanf(%s,str); len=strlen(str); huiwen(str,len)

8、; void huiwen(char* str,int n) int net=0; int i,j; for(i=0,j=n-1;in/2;i+,j-) if(stri=strj) net+; if(net=(int)n/2) printf(%s:是回文字符串.n,str);else printf(%s:不是回文字符串.n,str);答案2:#include #include void main() char s255;int i,j,b=1; printf(Input a string:); scanf(%s,s); i=strlen(s); for(j=1;j=i/2;j+) b=b&(s

9、j-1=si-j); printf(b?Yesn:Non);回文数是指正读和反读都一样的正整数。例如,5775回文数是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。基本情况1千以内在自然数中,最小的回文数是0,其次是1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,111,121,131,141,151,161,171,181,191,202,212,222,232,242,252,262,272,282,292,303,313,323,333,343,353,363,373,38

10、3,393,404,414,424,434,444,454,464,474,484,494,505,515,525,535,545,555,565,575,585,595,606,616,626,636,646,656,666,676,686,696,707,717,727,737,747,757,767,777,787,797,808,818,828,838,848,858,868,878,888,898,909,919,929,939,949,959,969,979,989,999.平方回数定义:一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数。例如:121。100以上至100

11、0以内的平方回数只有3个,分别是:121、484、676。其中,121是11的平方。484是22的平方,同时还是121的4倍。676是26的平方,同时还是169的4倍。举例说明任意某一个数通过以下方式相加也可得到如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992不过很多数还没有发现此类特征(比如196,下面会讲到)另外个别平方数是回文数1的平方=111的平方=121111的平方=123211111的平方=1234321依次类推351=153621=126430762=26703497533=33579上面这些算式,等号左边是两个(或三个

12、)因数相乘,右边是它们的乘积。如果把每个算式中的“”和“=”去掉,那么,它们都变成回文数,所以,我们不妨把这些算式叫做“回文算式”。还有一些回文算式,等号两边各有两个因数。请看:1242=24213486=6843102402=20420110124202=20242101不知你是否注意到,如果分别把上面的回文算式等号两边的因数交换位置,得到的仍是一个回文算式,比如:分别把“1242=2421”等号两边的因数交换位置,得到算式是:4212=2124这仍是一个回文算式。还有更奇妙的回文算式,请看:12231=13221(积是2772)124032=230421(积是48384)这种回文算式,连乘

13、积都是回文数。四位的回文数有一个特点,就是它决不会是一个质数。设它为abba,那它等于a*1000+b*100+b*10+a,1001a+110b。能被11整除。六位的也一样,也能被11整除还有,人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如112=121,222=484,73=343,113=1331,114=14641都是回文数。研究现状人们迄今未能找到自然数(除0和1)的五次方,以及更高次幂的回文数。于是数学家们猜想:不存在nk(n2,k5;n、k均是自然数)形式的回文数。在电子计算器的实践中,还发现了一桩趣事:任何一个自然

14、数与它的倒序数相加,所得的和再与和的倒序数相加,如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。用visual basic6.0for i = 100 to 99999 这里从100开始 后面可以随便填,我这里填99999 表示所有3位数到五位数之间的回文数if StrReverse(i)=i then print i 用StrReverse函数 判断倒序后的数和原来数是否相同,如果相同者表示此数为回文数next用C语言编程#includeint x,y;separate(int *data,int n)i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号