ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:25.38KB ,
资源ID:19371174      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19371174.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序结构和语法规则2Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言程序结构和语法规则2Word文件下载.docx

1、其中,自定义函数由用户自己设计。图1-1 C语言程序构造示意图结合以上例如,可以看出C语言程序构造有以下根本特点:1C语言程序是由函数(如:main函数和max函数)组成的,每一个函数完成相对独立的功能,函数是C语言程序的根本模块单元。main是函数名,函数名后面的一对圆括号“()是用来写函数的参数的。参数可以有,也可以没有本程序没有参数,但圆括号不能省略。2一个C语言程序总是从main()函数开始执行。主函数执行完毕,程序执行完毕。3C语言编译系统区分字母大小写。C语言把大小写字母视为两个不同的字符,并规定每条语句或数据说明均以分号(;)完毕。分号是语句不可缺少的组成部分。4主函数main(

2、)既可以放在max()函数之前,也可以放在max()函数之后。习惯上,将主函数main()放在最前面。5C语言程序中所调用的函数,既可以是由系统提供的库函数,也可以是由设计人员自己根据需要而设计的函数。例如,在【例】中,printf()函数是C语言编译系统库函数中的一个函数,它的作用是在屏幕上按指定格式输出指定的内容;max()函数是由用户自己设计的函数,它的作用是计算两个数中的较大值。二、C语言程序的书写规那么1C源程序是由一个主函数和假设干个其它函数组成的。2函数名后必须有小括号,函数体放在大括号内。3C程序必须用小写字母书写。4每句的末尾加分号。5可以一行多句。6可以一句多行。7可以在程

3、序的任何位置加注释。一个完好的语言程序,是由一个main()函数又称主函数和假设干个其它函数结合而成的,或仅由一个main()函数构成。例1.3 仅由main()函数构成的语言程序。main() printf(“This is a C program.n);This is a C program. 例1.4 由main()函数和1个其它函数max()构成的语言程序。int max(int x, int y)return( xy ? x : y );int num1,num2;printf(“Input the first integer number: );scanf(“%d, &num1);

4、printf(“Input the second integer number:printf(“max=%dn, max(num1, num2); Input the first integer number:6 Input the second integer number:9max=9 运算符与优先级、表达式一、运算符运算符包括下面这些类型:1、算术运算符(,*,):依次为加,减,乘,除,求余数。除最后两种是单目运算符外,其它几种都是双目运算符。前四种运算较简单,不再展开表达,最后三种运算的定义如下:Op1 op2 表示:oPlint(oP1op2)*op2,其中ina(a)表示取a的整数

5、部分(a的小数部分总非负)。Op+ 表示 op = op +1;Op- 表示 op = op -1;2 关系运算符(,=, ,) 依次为取反,按位与,按位或,按位异或,右移位,左移位,无符号右移位5 赋值运算符() 赋值操作符,它将等号右边数据的值赋值给左边的变量。6 条件运算柠(?:)条件运算符为三目运算符,其“般格式为:ab?a:b7 扩展运算符(十, * , /= ,|,)扩展运算符都是由一个双目运算符和一个等号连在一起组成(注意它们之间不能用空格隔开),以“+为例说明这类扩展运算符的用法:A += B; 表示A A+B 其它类似。8 其他运算符,如豆号运算符“,分量运算符“。再如实例运

6、算符“instanceof,内存分配运算符“new,强迫类型转换运算符“(类型),方法调用运算符“(),取数组元素运算符“ 。比方,设t是类Thread的一个实例。分量运算符:tname 表示类的实例的调用,又叫点问,意指通过点的操作符访问类的实例对象二、运算符的优先级优先顺序依次为(1级最优先,余下类推)15+ -913|2+ - ! instanceof6 1014?3new7= =11!15 + - * /4* %8= !1216 ! 记住这些优先次序是困难的,个较好的方法是使用括号(),比方:b & bc & ca 可以用括号写为 (ab) & (bc) & (ca) 这样即明晰易懂,

7、也不易出错。三、表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值。表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型,如下面的例子所示:布尔型表达式: x&y|z;整型表达式:num1十num2;顺序构造:输入与输出一、选择题(1)有以下程序 int m,n,p;m=%dn=%dp=%dm,&n,&p);%d%d%dn,m,n,p);假设想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,那么正确的输入是

8、 Am=123n=456p=789Bm=123 n=456 p=789Cm=123,n=456,p=789D123 456 789(2) 有以下程序 int m=0256,n=256;%o %on,mn,n);程序运行后的输出结果是A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400 (3) 有以下程序 int a=666,b=888;%dn,a,b);A) 错误信息 B) 666 C) 888 D) 666,888 (4) 有以下程序main( )int x=102,y=012;printf(“%2d,%2dn,x,y); 执行后输出结果是A) 10,

9、01 B) 02,12 C) 102,10 D) 02,10(5) 有以下程序 int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);%d %d %3.1f %3.1fn,a,c,f,x);A) 1 65 1 6.5 C) 1 65 1.0 6.5 (6) 有定义语句:int x,y;, 假设要通过scanf(x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的选项是A) 11 12回车B) 11,12回车C) 11,12回车 D) 11,回车12回车(7) 设有如下程序段:int x=2002,y=2

10、003;,(x,y);那么以下表达中正确的选项是A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C) 输出值为2002D) 输出值为2003(8)假设有以下程序段n所赋的是八进制数int m=32767,n=032767%d,%o/n,m,n);A) 32767,32767 B) 32767,032767C) 32767,77777 D) 32767,077777(9)假设有以下程序段int m=0xabc,n=0xabc;m-=n;%Xn,m);A) 0X0 B) 0x0 C) 0 D) 0XABC(10) i、j、k为int型变量,假设从键盘输入:1,

11、2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A) scanf(“%2d%2d%2d,&i,&j,&k);B) scanf(“%d %d %d,&C) scanf(“%d,%d,%d,&D) scanf(“i=%d,j=%d,k=%d,&(11) 设有定义:long x=-123456L;,那么以下可以正确输出变量x值的语句是Aprintf(“x=%dn,x);B) printf(“x=%1dn,x);Cprintf(“x=%8dLn,x);Dprintf(“x=%LDn,x);(12) 以下程序段的输出结果是int a=1234;%2dn,a);A) 12 B) 3

12、4 C) 1234 D) 提示出错、无结果(13) x、y、z被定义为int型变量,假设从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z;B) scanf(“%d%d%d,&y,&z);C) scanf(“%d%d%d,x,y,z);D) read(“%d%d%d,&(14) 假设变量已正确说明为float类型,要通过语句scanf(“%f %f %f ,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A) 10 B) 10.0,22.0,33.02233C) 10.0 D) 10 2222.0 33.0 33(15) 有如下程

13、序main0 int y=3,x=3,z=1;printf(“%d %dn,(+x,y+),z+2);运行该程序的输出结果是A) 3 4B) 4 2C) 4 3 D) 3 3(16) 以下程序执行后的输出结果是(小数点后只写一位) double d; float f; ling l; int i;i=f=1=d=20/3;%d %ld %f %f n, i,l,f,d);(17) 以下说法中正确的选项是A) #define和printf都是C语句 B) #define是C语句,而printf不是C) printf是C语句,但#define不是 D) #define和printf都不是C语句(1

14、8) 以下程序的输出结果是A) 17,021,0x11 B) 17,17,17B) 17,0x11,021 D) 17,21,11 int k=17;%d,%o,%x n,k,k,k);(19) 以下表达中正确的选项是A) 输入项可以是一个实型常量,如:scakf(%f,3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:a=%d,b=%d);C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:%4.2ff);D) 当输入数据时,必须指明变量地址,例如:(20) 假设有以下定义和语句:int u=010,v=0x10,w=10;%d,%d,%dn,u,v,

15、w);那么输出结果是:A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10(21) 请读程序片段:int i=65536; printf(,i);上面程序片段的输出结果是A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1(22) 假设x和y都是int型变量,x=100,y=200,且有下面的程序片段:%dA) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值(23) 请读程序:#include float b, c;%2d%3f%4fna=%d, b=%f, c=%fn, a, b, c);假设运行时从键盘上输

16、入9876543210(表示回车),那么上面程序的输出结果是A) a=98, b=765, c=4321 B) a=10, b=432, c=8765C) a=98, b=765.000000, c=4321.000000 (24)以下程序的输出结果是【24】 。# include int a=1,b=4,c=2;float x=10.5 , y=4.0 , z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;pritnf(%fn,z); A) 14.000000 B) 015.400000 C) 13.700000 (25)以下程序的输出结果是【25】 。 int a=2,

17、c=5;a=%d,b=%dn,a,c);A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d(26) 执行下面程序中的输出语句,a的值是A) 65B) 20 C) 15D) 10,(a=3*5,a*4,a+5);二、填空题:1以下程序运行后的输出结果是 【1】 。 int x=0210;,x);2以下程序运行后的输出结果是 【2】 。 char c; int n=100;float f=10;x=f*=n/=(c=50);%d %fn,n,x);3以下程序运行时假设从键盘输入:10 20 30。输出结果是 .#include int i=0,j=0

18、,k=0;%d%*d%d,i,j,k);(4) 以下程序段的输出结果是 【4】 。int i=9;%on(5) 以下程序运行后的输出结果是 【5】 。 int a,b,c;a=25;b=025;c=0x25;%d %d %dn,a,b,c);(6) 有以下语句段int n1=10,n2=20;printf(“ 【6】 ,n1.n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=20(7)假设有语句int i=-19,j=i%4;,j);那么输出结果是【7】。(8)假设有程序 int i,j;i=%d,j=%d;j);i=%d,j=%dn,i,j);要求给i

19、赋10,给j赋20,那么应该从键盘输入【8】。(9) 以下程序的输出结果是【9】 。main() int a=177;(10) 以下程序的输出结果是【10】 。 int a=0a+=(a=8);(11)以下程序的输出结果是 【11】 int a=1, b=2;a=a+b; b=a-b; a=a-b;printf(“%d,%dn, a, b );(12)以下程序的输出结果是16.00,请填空。 int a=9, b=2;float x= 【12】 , y=1.1,z;z=a/2+b*x/y+1/2;printf(“%5.2fn, z );(13) 以下程序的输出结果是 13 。 unsigned

20、 short a=65536; int b;printf(“%dn,b=a);(14) 假设想通过以下输入语句使a=5.0,b=4,c=3,那么输入数据的形式应该是 【14】 。int b,c; float a;%f,%d,c=%d,&a,&b,&c);(15) 假设想通过以下输入语句给a赋于1,给b赋于2,那么输入数据的形式应该是 【15】 。int a,b;a=%b,b=%d,&b);答案:01) A 02) C 03) B 04) C 05) B 06) A 07) D 08) A 09) C 10) C 11) B 12) C 13) B 14) B 15) D 16) A 17) D

21、 18) D 19) D 20) A 21) B 22) A 23) C 24) C 25) D 26) C二、填空题(1) 88 (3) 10 30 0 (4) 11 (5) 25 21 37(6) n1=%dnn2=%d (7) -3 (8) i=10,j=20 (9) 261 (10) 16(11) 2,1 (13) 0 (14) 5.0,4,c=3 (15) a=1,b=2水滴石穿C语言之指针、数组和函数根本解释1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置地址;数组的本质那么是一系列的变量。2、数组名对应着而不是指向一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变,所以我们常用指针来操作动态内存。3、当数组作为函数的参数进展传递时,该数组自动退化为同类型的指针。问题:指针与数组听说char a与char *a是一致的,是不是这样呢?答案与分析:指针和数组存在着一些本质的区别。当然,在某种情况下,比方数组作为函数的参数进展传递时,由于该数组自动退化为同类型的指针,所以在函数内部,作为函数参数传递进来的指针与数组确实具有一定的一致性,但这只是一种比较特殊的情况而已,在本质上,两者是有区别的。请看以下的例子:char a = Hi, pig!char *p = 上述两个变量的内存布

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1