首页
动态
归档
Github
留言
工具箱
更多
邻居
壁纸
音乐
Search
1
欢迎访问我的日志空间
8,244 阅读
2
C语言读写程序文件-学习三十二
742 阅读
3
WEB音乐播放器源码
712 阅读
4
Typecho - Joe主题魔改版(持续更新)
660 阅读
5
Typecho-1.1/17.10.30-定制版源码
639 阅读
学习笔记
源码库
BUG
第九艺术
登录
Search
标签搜索
学习笔记
C语言
typecho
Java
扫雷
源码
PHP
插件
网站源码
音乐播放器
模板
git
github
bug
XG.孤梦
累计撰写
50
篇文章
累计收到
44
条评论
首页
栏目
学习笔记
源码库
BUG
第九艺术
页面
动态
归档
Github
留言
工具箱
邻居
壁纸
音乐
搜索到
39
篇与
的结果
2022-01-25
C语言运算符与表达式-学习四
变量赋值变量赋初值类型说明符 变量1=值1, 变量2=值2, ....;int a = 1, //指定整型变量a,初值为1 float b = 1.28 //指定实型变量b,初值为1.28也可以使被定义的变量的一部分赋初值。如只对c赋初值: int a,b,c=5;如果对几个变量赋予初值,应写成:int a=1,b=2,c=3;各类数值型数据间的混合运算整数、实数、字符型数据可以混合运算,如:10 + 'a'+ 1.5 - 8765.1234 * 'b'若参与运算量的类型不同,应先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。所有的浮点运算都是以双精度进行的。char型和short型参与运算时,必须先转换成int型。在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。例子设已定义i为int型变量,f为float型变量,d为double型变量, e为long型。看下面的表达式:10 + 'a' + i * f - d / e在计算机执行时从左至右扫描,运算次序为:第一步:先 10 + 'a'的运算,先将 'a' 转换成整型97,运算结果为107;第二步:由于 “ * ” 比 “ + ” 优先,先进行 i * f 的运算。先将i与f都转成double型,运算结果为double型。第三步:整数107与 i * f 的积相加。先将整数107转换成双精度数(小数点后加若干个0,即107.000...00),结果为double型。第四步:将变量e化成double型,d/e结果为double型。第五步:求整个表达式 10 + 'a' + i * f - d / e 的结果运算符算术运算符运算符描述实例 (A=10, B=20)+把两个操作数相加A + B 将得到 30-从第一个操作数中减去第二个操作数A - B 将得到 -10*把两个操作数相乘A * B 将得到 200/分子除以分母B / A 将得到 2\%取模运算符,整除后的余数B \% A 将得到 0++自增运算符,整数值增加 1A++ 将得到 11--自减运算符,整数值减少 1A-- 将得到 9+ 、- 、* 、/ 运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行计算。两个整数相除的结果为整数。如:5 / 3 的结果值为1,舍去小数部分。两个数相除有一个有小数,则结果为小数,如:5.0 / 2= 2.5。除数或被除数中有一个为负值,舍入方向不固定。例如,-5 / 3, 有的系统中得到的结果为-1,在有的系统中则得到结果为-2。Turbo C采取“向零取整”的方法,即5 / 3=1, -5 / 3= -1,取整后向零靠拢。\% 模运算符,或称求余运算符,\% 两侧均应为整型数据。如:7 \% 4 的值为3。对于求余(\%)运算,结果与第一个数的符号相同。如:-5 \% 3 = -2; 5 \% 3 = 2; -5 \% -3 = -2算数表达式算术表达式和运算符的优先级与结合性在表达式求值时,先按照运算符的优先级别高低次序执行。算术运算符的结合方向为“自左向右”。强制类型转换运算符含义:用来将一个算术表达式的值转换成所需类型。定义格式: (类型名) [表达式],如: (int) (a + b)例子取整#include <stdio.h> void main() { int a; float b = 10.65; a = (int) b; printf("%d\n",a); } 不使用强制类型转换如(a = b),在执行不同类型变量进行运算时,两边都是数值型或字符型时,系统会进行自动转换。无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的值进行的临时性转换而不改变数据说明时对该变量定义的类型。自增自减运算符定义格式++a , --a 含义( a = a+1 , a = a-1)++a , --a (在使用a之前,先使a的值加/减1)a++ , a-- (在使用a之后,使a的值加/减1)自增1,自减1运算符均为单目运算,都具有右结合性。作为单独的语句,a++;与++a;并没什么区别,但是b= a++;和b= ++a就有区别了#include <stdio.h> void main() { int a = 1, b = 1, x, y; // 在使用a之后,使a的值加/减1 x = a++; // x = a; // a = a+1; // 在使用b之前,先使b的值加/减1 y = ++b; // b = b+1; // y= b; printf("%d,%d\n", x, y); } 自增运算符(++)和自减运算符(--)只能用于变量,不能用于常量和表达式。如: 5++、(a+b)++ 都不合法。++ 和 --的结合方向是“自右向左”。如: -i++ = -(i++) i=3; printf("%d",-i++); 结果为:-3赋值运算符使用:如:a =3类型转换条件:如果赋值运算符两侧的类型不一致, 但都是数值型或字符型时,在赋值时要进行类型转换。如: int a; a=6.3; 则 a 的值为6;将实型数据赋给整型变量时,舍弃实数的小数部分。将整型数据赋给单、双精度变量时,数值不变,但以实数形式存储到变量中。将一个double型数据赋给一个float型变量时,截取其前面的7位有效数字,存放到float变量的存储单元(32位)中。字符型数据赋给整型变量时,由于字符只占1个字节,而整型变量为2字节,因此将字符数据(8位) 放到整型变量低8位中将一个int、short、long型数据赋给一个char型变量时,只将其低8位原封不动地送到char型变量(即截断)例子字符型数据赋给整型变量#include <stdio.h> void main() { int i = 289; char c = 'a'; c = i; printf("%d\n", c); }转换过程:复合的赋值运算符在赋值符“=”之前加上其他运算符。一般形式为: 变量 双目运算符 = 表达式它等效于:变量 = 变量 运算符 表达式例如:a += 3 等价于 a = a+3x *= y+8 等价于 x = x * (y+8)x %= 3 等价于 x = x % 3赋值表达式定义:由赋值运算符将一个变量和一个表达式连接起来的式子 。一般形式: <变量> <赋值运算符> <表达式>例如:a = 1 赋值表达式值为1,a=1a = b = c =1 赋值表达式值为1,a=b=c=1a=1+(b=2) 赋值表达式值为3,a=3,b=2例子求表达式 a+ = a- = a*a的值,a的初始值为12。解:根据赋值运算符的“右结合性”第一步:先求表达式 a -= a*a;a- = a*a等价于a = a - a*a,结果为a= -132第二步:再求表达式a += -132;a += -132 等价于 a = a - 132,注意上一步a的值已经变成了-132所以就是 -132-132,结果为a = -264逗号运算符C语言提供一种特殊的运算符逗号运算符。用它将两个表达式连接起来。一般形式:表达式1,表达式2扩展:表达式1,用表达式2,表达式3,...,表达式n求解过程:根据左结合性,分别求n个表达式的值,并以表达式n的值作为整个逗号表达式的值。例如:a = 3 * 4,a * 5 表达式的值为60(a=3*4,a*5),a+6 表达式的值为18练习{card-default width="100%" label="练习"]1、设int a; float f; double d; 则表达式 10 + a + i*f 的值的数据类型是___。2、若有代数式|3a+2b|,则正确的C语言表达式为___。(求绝对值的函数 fabs() )3、设x=2,y=3,则计算表达式 y+=x++, x+y 的值为___。4、下面程序的运行结果是___。#include <stdio.h> void main() { int a = 2; a %= 3; a += a * 2; printf("%d\n", a); }5、下面程序输出的结果是___。#include <stdio.h> void main( ){ int x,y,m,n; x=2;y=2 m=x++*5; n=++y*5; printf("%d,%d,%d,%d",x,y,m,n); }{collapse} {collapse-item label="答案"]1、double 2、 fabs(3*a + 2*b) 3、8 4、6 5、3,3,10,15 [/collapse-item]{/collapse}{/card-default}
2022年01月25日
346 阅读
0 评论
0 点赞
2022-01-24
C语言常量与变量-学习三
C语言的数据类型基本数据类型最主要的特点是:其值不可在分解为其它类型。构造类型的值可以分解成为若干个“成员”或“元素”。每个成员都是一个基本数据类型或又是一个构造类型。常量与变量定义:在程序执行过程中,其值不发生改变的量称为常量,其值可改变的量称为变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。常量在程序执行过程中,其值不发生改变的量直接常量(字面常量):可以直接从字面值看出来。整型常量:1、5、0、-1实型常量:4.5、-1.28字符型常量:‘a’、‘b’、‘c’符号常量:用标识符代表一个常量,称之为符号常量。一般格式:#define 标识符 常量例如:#define PI 3.1415926符号常量在使用前必须先定义习惯上,约定符号常量名用大写,变量名用小写例子求圆的周长和面积。#include <stdio.h> #define PI 3.1415926 void main() { int r; float circum,area; r = 5; circum = 2 * r * PI; area = r * r * PI; printf("circum=%f,area=%f\n",circum,area); } 变量代表内存中具有特定属性的一个的存储单元,用来存放数据,也就是该变量的值。程序编译链接执行时由系统给每个变量名分配内存地址。变量必须先定义后使用int a; //定义 a=10; //使用标识符在C语言中用来对变量、符号常量、函数、数组等数据对象命名的有效符号序列统称为标识符。命名规则:只能由字母、数字、下划线三种字符组成且第一个字符必须为字母或下划线,不能为数字!不能使用关键字来命名标识符例子:area PI _da adw_1_0注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选择有含意的英文单词(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,后使用”。根据定义的数据类型,编译系统为变量分配存储空间。整型数据整型常量二进制整数:逢二进一(0,1)。如1010(换算十进制:0*2º + 1*2¹ + 0*2² + 1*2³ = 10 )八进制整数:以“0”开头(0-7)。如:0123 (换算十进制:3*8º + 2*8¹ + 1*8² = 83 )十进制整数。如:123、60、0、-123十六进制整数:以“0x”开头(0-9,A-F可小写(a-f))。如:0x123 (换算十进制:3*16º + 2*16¹ + 1*16²= 291 )整型变量数据在内存中是以二进制形式存放的。如果定义了一个整型变量: int i; //定义为整型变量 i = 10; //给 i 赋值整数10十进制10的二进制为1010;八进制为012;十六进制为0xA在内存中,数值是以补码的形式表示的。正数的补码、反码和其原码形式相同。求负数的补码方法:将该负数的绝对值的二进制形式(原码),按位取反(反码)再加1(补码)例子-10的绝对值的原码:反码反码再加1,得到补码在存放整数的存储单元中,最左面的一位是符号位,该位为0表示该整数位正数,该位为1表示为负数。整型变量的分类类型类型说明符数的范围字节数基本型int (16位)-32768~32767 即-2^15 ~ (2^15-1)2无符号基本型unsigned[int] (16位)0~65535 即0 ~ (2^16-1)2基本型int (32位)-2147483648 ~ 2147483647 即-2^31 ~ (2^31-1)4无符号基本型unsigned[int] (32位)0~4294967295 即0 ~ (2^32-1)4短整型short[int] (16位)-32768~32767 即-2^15 ~ (2^15-1)2无符号短整型unsigned short [int] (16位)0~65535 即0 ~ (2^16-1)2长整型long [int] (32位)-2147483648~2147483647 即-2^31 ~ (2^31-1)4无符号长整型unsigned long [int] (32位)0~4294967295 即0 ~ (2^32-1)4整型变量的定义类型说明符 变量名标识符,变量名标识符,...;int a,b,c; // a、b、c为整型变量 long x,y; // x、y为长整型变量 unsigned q; // q为无符号整型变量➢注意:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。 类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”分号结尾。变量定义必须放在变量使用之前。 一般放在函数体的开头部分。整型变量的溢出#include <stdio.h> void main() { int a,b; a = 32767; b = a + 1; printf("%d\n",b); }a: 01111111 11111111 + 1 = 10000000 00000000 即-32768 ,正确答案应该是 32768,这就是溢出注意现在的VS编译器默认int为32位,溢出效果看下图浮点型数据实型常量实数(real number) ,又称浮点数(floating-point number) 。十进制小数形式由数字和小数点组成(必须有小数点) 如:.123、123. 、23.01 、0.0指数形式数字 + e (E) + 整数,字母e (或E)之前必须有数字,且e后面的指数必须为整数。如: 123e3=123*10³、 0.122e0内存中存放形式一个浮点型数据一 般在内存中占4个字节。在内存中按照指数形式存储。不少C语言编译系统用24位表示小数部分(包括符号),8位表示指数部分。计算机中,二进制表示小数部分,2的幂次表示指数部分。小数部分占的位数越多,数的有效数字越多,精度越高。指数部分占的位数越多,则能表示的数值范围越大。浮点型变量的分类类型类型说明符数的范围字节有效位单精度float1.2E-38 ~ 3.4E+3847位有效位双精度double2.3E-308 ~ 1.7E+308815位有效位长双精度型long double3.4E-4932 ~ 1.1E+49321619位有效位浮点型变量的定义float a,b,c; // a、b、c为单精度实数 double x,y; // x、y为双精度实数 long double q; // q为长双精度实数浮点型数据的舍入误差由于实型变量是用有限的存储空间存储的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去,因此会产生舍入误差。例子#include <stdio.h> void main() { float a,b; a = 123456.789e5; b = a + 20; printf("a = %f\n,b = %f\n",a,b); } 理论值:a=12345678900b=12345678920实际值:原因:一个单精度实型变量只能保证的有效数字是7位,7位后面的数字是无意义的,并不准确地表示该数。7位是指整数部分 和 小数部分一共7位。注意:在C程序中,应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数。字符型数据字符型常量用单引号包含的一个字符只能包含一个字符 如:‘a’、‘#’、‘6’、‘’‘a’和‘A’ 是不同的字符常量。字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能是单个字符,不能是字符串。字符‘1’和整数1是不同的概念:字符‘1’只是代表一个形状为‘1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储占1个字节。整数1是以整数存储方式(二进制补码方式)存储的,占2个字节。转义字符以“\”开头的特殊字符字符形式含义\n换行,将当前位置移到下一行开头\t水平制表(跳到下一个tab位置,8位为一个tab位置)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头\f换页,将当前位置移到下页开头\\反斜杠字符\‘单撇号字符\“双撇号字符\ddd1到3位8进制数所代表的字符\xhh1到2位16进制数所代表的字符[alt type="warning"]除了“\r”外,其余转义字符的跳格会取代原来屏幕上该位置显示的字符[/alt]字符型变量字符型变量用来存放字符常量,但只能存放一个字符。字符变量的定义形式如下: char c1,c2;c1和c2为字符型变量,各可以放一个字符。对c1,c2赋值: c1 = 'a'; c2 = 'b';字符数据在内存中的存储形式及其使用方法将一个字符放到一个字符变量中,在内存单元中,是将该字符的相应的ASCII代码放到存储单元中。如'a'的ASCI代码为97,'b'为98,内存变量c1、 c2的值如下图效果:字符数据以ASC1I码存储,与整数的存储形式类似,这样使字符数据和整型数据之间可以通用。因此,一个字符数据既可以以字符形式输出,也可以以整数形式输出,例子向字符变量赋以整数。#include <stdio.h> void main() { char c1, c2; c1 = 'a'; c2 = 'b'; printf("c1 = %c c2 = %c\n", c1, c2); printf("c1 = %d c2 = %d\n", c1, c2); }字符串常量定义:字符串常量是一对双引号括起来的字符序列。如: “how are you?” 、 “CH I NA” 、“%#8ad72”C语言规定:在每一个字符串的结尾加一个“字符串结束标志“\0”,以便系统据此判断字符串是否结束。在内存中:字符串存储为:字符串+‘\0’;书写时:不必加‘\0’, 系统会自动加上‘\0’练习{card-default width="100%" label="练习"]1、___是合法的用户自定义标识符。(A)b-b(B)float(C)3sd(D)_isw2、以下所列的C语言常量中,错误的是___。(A)0xFF(B)1.2e0.5(C)“asd”(D)‘a’3、下面四个选项中,均是不合法的浮点数的选项是___。(A)160. 0.12 e3(B)123 2e4.2 .e5(C)-.18 123e4 0.0(D)-.e3 .234 1e34、若有说明语句: char c='\729';则变量c___。(A)包含1个字符(B)包含2个字符(C)包含3个字符(D)说明不合法{collapse} {collapse-item label="答案"]1、D 2、B 3、B 4、D[/collapse-item]{/collapse}{/card-default}
2022年01月24日
290 阅读
0 评论
0 点赞
2022-01-23
C语言算法-学习二
一个 程序 主要包括两个方面的信息:对 数据的描述,在程序中要指定要到了哪些数据以及这些数据的类型和数据的组织形式。这就是 数据结构(data structure)对 操作的描述,即要求计算机进行 操作的步骤。也就是 算法(algorithm)一个程序除了 算法 和 数据结构 这两个要素外,还应当采用 结构化程序设计方法 进行程序设计,并用某一种 计算机语言 表示。什么是算法算法是为了解决问题而执行的一系列步骤。计算机的算法可以分为两大类别:数值运算算法数值运算的目的是求数值解。非数值运算算法非数值运算用于事务管理领域(图书检索,人事管理等等)。例子:求1X2X3X4X5的值可以用最原始的方法进行:步骤1:先求1*2,得到结果2。步骤2:将步骤1得到的乘积2再乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。改进算法设变量 a 为被乘数;变量 i 为乘数;用循环算法求结果;算法步骤:S1:使a=1,或写成1→a;S2:使i=2,或写成2→i;S3:使a与i相乘,乘积仍放在变量a中,可表示为:a*i→a;S4:使i的值加1,即i+1→i;S5:如果i不大于5,返回重新执行S3;否则,算法结束;最后a的值就是要求的结果 ;算法的特性有穷性。一个算法应该包含有限的操作步骤,而不能是无限的确定性。算法的每一个步骤都应当是确定的,而不是含糊的、模棱两可的有零个或多个输入。输入是指在执行算法时需要从外界取得的必要信息有一个或多个输出。算法的目的是为了求解,“解”就是输出有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果怎么表示一个算法常用的方法有:自然语言流程图NS图伪代码......流程图表示算法流程图是用一些图框来表示各种操作,用图形表示算法,直观形象,易于理解。三种基础结构和改进的流程图一、顺序结构二、选择结构三、循环结构当型循环结构直到型循环结构三种基本结构的共同特点:只有一个入口只有一个出口结构内的每一部分都有机会被执行到结构内不存在“死循环”以上面的例子做流程图NS图表示算法以上面的例子做N-S图用C语言表示算法while循环#include <stdio.h> int main() { int a,i; a = 1; i = 2; while(i <= 5) { a = a * i; i = i + 1; } printf("%d\n",a); return 0; }do while循环#include <stdio.h> int main() { int a,i; a = 1; i = 2; do { a = a * i; i = i + 1; }while(i <= 5); printf("%d\n",a); return 0; }for循环#include <stdio.h> int main() { int a; a = 1; for (int i = 2; i <= 5; i++) { a = a * i; } printf("%d\n",a); return 0; }[alt type="warning"]注意:上面的代码是计算到5的阶乘,因为受数据类型的限制对于 int 型,13! 会溢出; 对于 long 型,21! 会溢出100、1000的阶乘结果较大,int,long表示的数据范围有限,所以在表示大数运算的时候,应该采用数组存储。[/alt]结构化程序设计方法结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行每个阶段处理的问题都控制在人们容易理解和处理的范围内采取以下方法保证得到结构化的程序:1.自顶向下2.逐步细化3.模块化设计4.结构化编码练习{card-default width="100%" label="练习"]1、用流程图或N-S图表示以下算法。输入x的值,按下列函数计算y的值并输出y的值。{collapse} {collapse-item label="答案"][/collapse-item]{/collapse}2、画出打印以下图案的算法流程图或N-S图* * * * * * * * * *{collapse} {collapse-item label="答案"]流程图N-S图[/collapse-item]{/collapse}{/card-default}
2022年01月23日
258 阅读
0 评论
1 点赞
2022-01-21
C语言概述-学习一
程序设计语言发展过程 机器语言:0 / 1汇编语言:符号语言(操作指令)高级语言:面向过程(C语言) / 面向对象(Java/C++)C语言特点语言 简洁紧凑 ,使用 灵活方便 (一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写)。丰富的 运算符 和 数据类型(共有34种运算符,整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等)。具有 结构化 的控制语句,是 完全模块 和 结构化 语言(主要为设计结构、选择结构、循环结构)。允许直接访问 物理地址,可以 直接对硬件进行操作(能够对位(bit)、字节和地址进行操作,对 操作系统 以及需要对 硬件 操作的场合有优越性)。程序 可移植性好(与汇编语言相比,基本不需要修改就能用于各种型号计算机与操作系统)。C语言程序结构C程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释#include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("This is a C program.\n"); return 0; } /* include为指令,作用是将头文件(stdio.h)添加到源文件。 stdio .h 头文件定义了 三个变量类型、一些 宏 和各种函数来执行 输入 和 输出。详情见附录。 main()表示主函数,程序的执行从主函数开始,一个C语言程序有且只能有一个主函数。 其中int代表函数的返回类型是整型。 {代码}括号里的内容称为函数体。 printf(...)是通过include添加的头文件里的另一个的函数,作用是打印输出。 return 0 因为main函数类型为整型,所以要返回一个整型 0 结束程序。 */总结:程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。第二行 int main() 是主函数,程序从这里开始执行。{}括号将函数体包括起来。第四行 /.../ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。第五行 printf(...) 是 C语言 中另一个可用的函数,会在屏幕上显示消息 "This is a C program."。第六行 return 0; 终止 main() 函数,并返回值 0。C语言运行机制函数库: 是文件,文件里存放了多个函数供你调用。函数库对应的头文件: 扩展名多为 .h ,即head 头。在C语言的源程序中使用 #include <函数库的头文件> 语句引入 函数库,再调用库中的函数。示例:1.求两个整数之和解题思路:设置3个变量:a、b、sum;a和b用来存放两个整数;sum用来存放之和的数;用赋值运算符 “=” 把结果传递给sum;#include <stdio.h> int main() { int a,b,sum; //定义整数变量 a,b,sum a=1; //对变量a,b赋值 b=2; sum = a + b; // 把变量a,b的和赋值给sum printf("两个整数之和是 %d\n",sum); //将和输出 return 0; }2.求两数之间的较大的数解题思路:使用一个函数实现求出两数的较大者;在主函数中调用此函数并输出结果;#include <stdio.h> #pragma warning(disable:4996) //4996这个警告是VC2005以后的版本为了提高程序安全性而用的。 //去掉这个警告可以编译非安全函数,包括scanf,printf,strcpy等。 int main() { int max(int x, int y); //因为max函数定义在在main之后,需要声明。 int a,b,c; scanf("%d,%d",&a,&b); //新版本使用scanf_s函数输入。 c = max(a,b); //a,b为实参。 printf("较大的数是:%d\n",c); return 0; } //求两个整数中的较大者的max函数。 int max(int x, int y) //定义max函数,函数值为整型,形参x和y为整型。 { int z; //max函数中的声明部分,定义本函数中用到的变量z为整型。 if(x>y) z=x; //若x>y成立,将x的值赋给变量z 。 else z=y; //否则(即x>y不成立),将y的值赋给变量z。 return(z); //将z的值作为max函数值,返回到调用max函数的位置。 }★C语言程序结构的特点:一个源程序文件包括:预处理指令:#include <stdio.h>等;函数定义;函数是C语言程序的主要组成部分一个C程序由一个或多个函数组成;必须包含一个main函数(只能有一个);程序总是从main函数开始执行;一个函数包括两个部分:函数首部函数体C程序对计算机的操作由C语句完成C程序书写格式是比较自由的;为了清晰可见,习惯上每行只写一个语句;数据声明和语句的末尾必须有分号;C语言本身不提供输入输出语句;程序应当包含注释,增加可读性。C程序的执行步骤练习{card-default width="100%" label="练习"]1、以下叙述正确的是___。(A)在C程序中main函数必须位于程序的最前面。(B)C程序的每行中只能写一条语句。(C)C语言本身没有输入输出语句。(D)在对个C程序进行编译的过程中可发现注释中的拼写错误。2、C语言规定:在一个源程序中,main函数的位置___。(A)必须在最开始。(B)必须在系统调用库函数的后面。(C)可以任意。(D)必须在最后。3、一个C程序的执行是从___。(A)本程序的main函数开始,到main函数结束。(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。(C)本程序的main函数开始,到本程序文件的最后一个函数结束。(D)本程序文件的第一个函数开始,到本程序main函数结束。4、以下叙述不正确的是___。(A)一个C源程序可由一个或多个函数组成。(B)一个C源程序必须包含一个main函数。(C)C程序的基本组成单位是函数。(D)在C程序中,注释说明只能位于一条语句后面。{collapse} {collapse-item label="答案"]1、C 2、C 3、A 4、D [/collapse-item]{/collapse}{/card-default}附录:\#include <stdio.h> 函数库 (包括printf()输出函数、scanf()输入函数等函数)。 \#include <math.h> 数学计算(包括abs()求绝对值的函数、sqrt()求开方的函数等等数学计算需要用到的函数)。 \#include <sting.h> 字符串处理 (包括strlen()计算字符串长度函数、strcpy()字符串复制函数等等字符串处理函数)。[btn href="https://www.runoob.com/cprogramming/c-standard-library.html" type="primary"]更多详细内容[/btn]
2022年01月21日
294 阅读
0 评论
1 点赞
1
...
7
8