交通大学C作业及复习题.doc_第1页
交通大学C作业及复习题.doc_第2页
交通大学C作业及复习题.doc_第3页
交通大学C作业及复习题.doc_第4页
交通大学C作业及复习题.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

交通大学C作业及复习题C语言程序的执行,总是起始于(B)。a. 程序中的第一个函数 b. main函数 c. 程序中的第一条可执行语句 d. 包含文件中的第一个函数 反馈正确答案是:main函数。题目2 题干C语言程序能够在不同的操作系统下运行,这说明C语言具有很好的(C)。a. 兼容性 b. 适应性 c. 移植性 d. 操作性 反馈正确答案是:移植性。题目3 题干一个C语言程序是由(D)。a. 若干过程组成 b. 若干子程序组成 c. 一个主程序和若干个子程序组成 d. 若干函数组成 反馈正确答案是:若干函数组成。题目4 题干已知函数abc的定义为:void abc( ) 则函数中void的含义是(B)a. 以上答案都不对 b. 执行函数abc 后,函数没有返回值 c. 执行函数abc 后,函数不再返回 d. 执行函数abc 后,可以返回任意类型 反馈正确答案是:执行函数abc 后,函数没有返回值。题目5题干若有定义:int a = 7; float x = 2.5, y = 4.7; 则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是(A)。a. 2.500000 b. 3.500000 c. 0.000000 d. 2.750000 反馈正确答案是:2.500000。题目6 题干下列说法中正确的是(D)。a. C语言程序书写时,不区分大小写字母 b. C语言程序书写时每行必须有行号 c. C语言程序书写时,一行只能写一个语句 d. C语言程序书写时,一个语句可分成几行书写 反馈正确答案是:C语言程序书写时,一个语句可分成几行书写。题目7 题干假设变量x,y均为double型,则表达式 x=2, y=x+3/2 的值是(B)。a. 3 b. 3.000000 c. 2.000000 d. 3.500000 反馈正确答案是:3.000000。题目8 题干C语言程序的语句都是以(A)结尾。a. “;” b. “.” c. 都不是 d. “,” 反馈正确答案是:“;”。题目9 题干下面四个选项中,均是不合法的用户标识符的选项是(D)。a. A P_0 do b. float la0 _A c. _123 temp int d. ba sizeof int 反馈正确答案是:ba sizeof int。题目10 题干C语言规定,在一个源程序中,main函数的位置(C)。a. 必须在最后 b. 必须在最开始 c. 可以任意 d. 必须在系统调用的库函数的后面 反馈正确答案是:可以任意。题目11 题干C语言程序的注释是(C)。a. 由“*/”或“/”开头 b. 由“/”开头 c. 由“/*”开头,“*/”结尾 d. 由“/*”开头,“/*”结尾 反馈正确答案是:由“/*”开头,“*/”结尾。题目12 题干在C语言中,要求运算数必须是整型的运算符是(C)。a. != b. + c. % d. / 反馈正确答案是:%。题目13 题干下面对C语言特点,不正确描述的是(D)。a. C语言是一种结构化模块化程序设计语言 b. C语言兼有高级语言和低级语言的双重特点,执行效率高 c. C语言既可以用来编写应用程序,又可以用来编写系统软件 d. C语言的可移植性较差 反馈正确答案是:C语言的可移植性较差。题目14 题干下面正确的字符常量是(D)。a. b. ” c. c d. W 反馈正确答案是:W。题目15 题干标准C语言程序的文件名的后缀为(D)。a. .obj b. .exe c. .cpp d. .c 反馈正确答案是:.c。题目16 题干若有说明语句:char c = 72;则变量c(C)。a. 说明不合法,c的值不确定 b. 包含2个字符 c. 包含1个字符 d. 包含3个字符 反馈正确答案是:包含1个字符。题目17 题干设变量a是整型,f是实型,i是双精度型,则表达式10 + a + i * f值的数据类型为(D)。a. float b. int c. 不确定 d. double 反馈正确答案是:double。题目18 题干假设变量a,b均为整型,则表达式 (a=2, b=5, b+, a+b) 的值是(B)。a. 2 b. 8 c. 7 d. 6 反馈正确答案是:8。题目19 题干若变量已正确定义并赋值,下面符合C语言语法的表达式是(C)。a. a:=b+1 b. int 18.5%3 c. a=b=c+2 d. a=a+7=c+b 反馈正确答案是:a=b=c+2。题目20 题干下面四个选项中,均是不合法的浮点数的选项是(A)。a. 123 2e4.2 .e5 b. .18 123e4 0.0 c. 160. 0.12 e3 d. e3 .234 1e3 反馈正确答案是:123 2e4.2 .e5。题目21 题干若变量a、i已正确定义,且i已正确赋值,则合法的语句是(A)。a. +i; b. a=a+=5; c. a=int(i); d. a=1 反馈正确答案是:+i;。题目22 题干选出正确的输入格式(B)。int a; float b; char c; scanf(a = %d,b = %f,c = %c”,&a ,&b ,&c );a. 1 2.0 n b. a = 1,b = 2.0,c = n c. 12.0n d. 1,2.0,n 反馈正确答案是:a = 1,b = 2.0,c = n。题目23 题干C语言程序经过链接以后生成的文件名的后缀为(B)。a. .cpp b. .exe c. .obj d. .c 反馈正确答案是:.exe。题目24 题干C语言编译程序的首要工作是(A)。a. 检查C语言程序的逻辑错误 b. 生成目标文件 c. 检查C语言程序的语法错误 d. 检查程序的完整性 反馈正确答案是:检查C语言程序的语法错误。题目25 题干C语言程序经过编译以后生成的文件名的后缀为(A)。a. .obj b. .cpp c. .exe d. .c 反馈正确答案是:.obj。题目26 题干以下不合法的字符常量是(B)a. b. 018 c. xcc d. 反馈正确答案是:018。题目27 题干下面四个选项中,均是正确的数值常量或字符常量的选项是(B)。a. 0.0 0f 8.9e & b. +001 0xabcd 2e2 50. c. 3 011 0xff00 0a d. a 3.9e2.5 1e1 反馈正确答案是:+001 0xabcd 2e2 50.。题目28 题干下面四个选项中,均是合法整型常量的选项是(C)。a. 0xcdf 01a 0xe b. 0x48a 2e5 0x c. 160 0xffff 011 d. 01 986,012 0668 反馈正确答案是:160 0xffff 011。题目29 题干以下叙述不正确的是(B)。a. C程序的基本组成单位是函数 b. 在C程序中,注释说明只能位于一条语句的后面 c. 一个C源程序可由一个或多个函数组成 d. 一个C源程序必须包含一个main函数 反馈正确答案是:在C程序中,注释说明只能位于一条语句的后面。题目30 题干判断char型变量ch是否为大写字母的正确表达式是(A)。a. (ch=A)&(ch=Z) b. A=ch=Z c. (A= ch) d. (ch=A)&(ch=A)&(ch=Z)。给定如下程序段,请选择描述正确的说法(A)int i = 9; while(i = 0) i- ;a. 循环体语句一次也不执行 b. while 循环执行9 次 c. 循环是无限循环 d. 循环体语句执行一次 反馈正确答案是:循环体语句一次也不执行。题目2 题干在C 语言中,复合语句要用一对(A)括起来。a. 大括号 b. 尖括号 c. 圆括号 d. 方括号 反馈正确答案是:大括号。题目3 题干下列程序的输出结果是(C)#include void main() int a = 55, b = 50, c = 60, d; d = a 20 ? b : c; switch(d) case 40:printf(“%d,”, a); case 50 : printf(“%d,”, b); case 60 : printf(“%d,”, c); default : printf(“$n”); a. 50, 60 b. 60, $ c. 50, 60, $ d. 50, $ 反馈正确答案是:50, 60, $。题目4 题干若变量x、y 已正确定义并赋值,以下符合C 语言语法规则的语句是(D)a. x = x + 10 = x + y; b. x + 1 = y; c. double(x)/10; d. +x, y = x-; 反馈正确答案是:+x, y = x-;。题目5 题干已有定义int x32,以下能正确引用数组元素的选项是(A)a. x21 b. x02 c. x12 d. x22 反馈正确答案是:x21。题目6 题干x, y, z 被定义为int 型变量,若从键盘为其输入数据,则正确的输入语句是(A)a. scanf(“%d%d%d”, &x, &y, &z); b. read(“%d%d%d”, &x, &y, &z); c. scanf(“%d%d%d”, x, y, z); d. input x, y, z 反馈正确答案是:scanf(“%d%d%d”, &x, &y, &z);。题目7 题干对表达式for( 表达式1; ; 表达式3)可以理解为(D)a. for(表达式1; 表达式3; 表达式3) b. for(表达式1; 0; 表达式3) c. for(表达式1; 表达式1; 表达式3) d. for(表达式1; 1; 表达式3) 反馈正确答案是:for(表达式1; 1; 表达式3)。题目8 题干给定如下程序:#include void main() char c1 =A, c2 =a; printf(%cn, (c1,c2); 则以下叙述正确的是(C)a. 程序输出大写字母A b. 格式说明符不足,编译出错 c. 程序输出小写字母a d. 程序编译通过,但运行时出错 反馈正确答案是:程序输出小写字母a。题目9 题干以下能正确定义一维数组的选项是(C)a. char a = 0, 1, 2, 3 b. int a5 = “0123”; c. int a5 = 1, 2, 3, 4, 5; d. char a = A,B,D 反馈正确答案是:int a5 = 1, 2, 3, 4, 5;。题目10 题干设n 为整型变量,则for(n = 10; n = 0; n-) 循环的次数为(A)a. 11 b. 10 c. 9 d. 12 反馈正确答案是:11。题目11 题干数值029 是一个(B)a. 十六进制 b. 非法数 c. 十进制 d. 八进制数 反馈正确答案是:非法数。题目12 题干下列程序的输出结果为(B)void main() int x, y, z; x = y = 1; z = x+, y+, +y; printf(“%d, %d, %dn”, x, y, z);a. 2, 2, 1 b. 2, 3, 1 c. 2, 3, 3 d. 2, 3, 2 反馈正确答案是:2, 3, 1。题目13 题干若w=1, x = 2, y=3, z = 4 ,则条件表达式w x ? w: y z ? y : z 的值是(D)a. 3 b. 2 c. 4 d. 1 反馈正确答案是:1。题目14 题干有以下语句:int x; char c10; 则正确的输入语句是(C)a. scanf(“%d%s”, x, &c); b. scanf(“%d%s”, x, c); c. scanf(“%d%s”, &x, c); d. scanf(“%d%s”, &x, &c); 反馈正确答案是:scanf(“%d%s”, &x, c);。题目15 题干执行下列语句段后x 的值为(A)int a = 14, b = 15, x ;char c = A;x = (a & b) & (c a );a. 1 b. FALSE c. 0 d. TRUE 反馈正确答案是:1。题目16 题干逻辑运算符两侧运算对象的数据类型(C)a. 只能是0 或非0 正数 b. 只能是0 或1 c. 可以是整型或字符型数据 d. 可以是任何类型的数据 反馈正确答案是:可以是整型或字符型数据。题目17 题干对于int a, 表达式1 = a = 5 的值是(B)a. 0 b. 1 c. 表达式语法有误 d. 不定 反馈正确答案是:1。题目18 题干C 语言中,下面哪项是不合法的标识符?(B)a. Abc b. switch c. user d. _345 反馈正确答案是:switch。题目19 题干下列程序的输出结果是(B)#include void main() int a = 2, b = 3, c = 0, d; d = !a & !b |!c; printf(“%dn”, d); a. 0 b. 1 c. -1 d. 编译出错 反馈正确答案是:1。题目20 题干以下说法中正确的是(D)a. C 语言出现得最晚,具有其他语言的一切优点 b. C 语言不用编译就能被计算机执行 c. C 语言比其他语言高级 d. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 反馈正确答案是:C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式。下列说法中正确的是(B)A. 如果形参与实参的类型不一致,则以实参类型为准 B. 如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准 C. return 后面的值不能为表达式 D. 定义函数时,形参的类型说明可以放在函数体内 反馈正确答案是:如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准。题目2 题干C语言规定,若未对函数返回类型加以说明,则函数的隐含类型为(B)A. char B. int C. double D. void 反馈正确答案是:int。题目3 题干给定下列程序,则其运行结果为(C)#include void main() static int array4 = 1,3,5,7,9,11,13,15,17,19,21,23; int (* p)4, i, j, sum3; p = array; for(i = 0; i 3; i+) sumi = 0; for(j = 0; j 4; j+) sumi += *(*(p + i) + j); printf(%d, sumi); A. 80 B. 164880 C. 16, 48, 80 D. 144 反馈正确答案是:16, 48, 80。题目4 题干C语句: int (* pa)5; 中,pa 表示的是一个(B)A. 指针数组的名称 B. 指向包含5个整型元素的一维数组的指针 C. 指向整型变量的指针 D. 指向函数的指针 反馈正确答案是:指向包含5个整型元素的一维数组的指针。题目5 题干已有定义char a = xyz, b= x, y, z , 以下叙述正确的是(C)a. 数组a 的存储空间长度小于数组b 的存储空间长度 b. 数组a 和b 的存储空间长度相同 c. 数组a 的存储空间长度大于数组b 的存储空间长度 d. 上述说法均不正确 反馈正确答案是:数组a 的存储空间长度大于数组b 的存储空间长度。题目6 题干若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是(C)A. 函数调用可以作为独立语句存在 B. 函数调用可以出现在表达式中 C. 函数调用可以作为左值而被赋值 D. 函数调用可以作为一个函数的实参 反馈正确答案是:函数调用可以作为左值而被赋值。题目7 题干一个变量的指针就是(A)A. 变量的地址 B. 变量的类型 C. 变量的名称 D. 变量的值 反馈正确答案是:变量的地址。题目8 题干给定下列程序,假定从键盘输入数据1、2,则执行结果为(C)#include void swap(int * p1, int p2) * p1 = * p1 + p2; p2 = p2 + * p1; void main() int a, b, *p1; scanf(%d, %d, &a, &b); p1 = &a; swap(p1, b); printf(a = %d, b = %dn, a, b);A. a = 3, b = 5 B. 3, 2 C. a = 3, b = 2 D. 3,5 反馈正确答案是:a = 3, b = 2。题目9 题干两个指针变量不能(D)A. 比较 B. 指向同一地址 C. 相减 D. 相加 反馈正确答案是:相加。题目10 题干下列说法中不正确的是(A)A. 函数的类型可以是整型、实型、字符型,但不能是指针类型 B. 函数可以没有形参,但函数名后的括号不能省略 C. 在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型 D. C 语言规定,不能在一个函数的内部再定义函数 反馈正确答案是:函数的类型可以是整型、实型、字符型,但不能是指针类型。题目11 题干下列叙述中错误的是(C)a. 数组名代表数组所占存储区的首地址,其值不可变 b. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出 c. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示 d. 可以通过赋初值的方式确定数组元素个数 反馈正确答案是:在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示。题目12 题干C 语句int *func(); 中,func 表示的是(C)A. 指向函数的指针 B. 指向数组的指针 C. 返回值为指针的函数名称 D. 指向整型变量的指针 反馈正确答案是:返回值为指针的函数名称。题目13 题干阅读下列程序段,其执行结果为(C)#include void main() int a = 4, b = 6, c = 7; double d; double fun(int, int, int); printf(d = %lfn, fun(a, b, c); double fun(int a, int b, int c) return a % b * c; A. 27 B. 28 C. 28.000000 D. 27.000000 反馈正确答案是:28.000000。题目14 题干以下能正确定义一维数组的选项是(A)A. #define N 100 int numN; B. int num; C. int N = 100; int numN; D. int num0.100; 反馈正确答案是:#define N 100 int numN;。题目15 题干在C语言中,对变量的访问方式是(C)A. 能直接访问,不能间接访问 B. 不能直接访问,能间接访问 C. 能直接访问,也能间接访问 D. 直接、间接均不能 反馈正确答案是:能直接访问,也能间接访问。题目16 题干阅读下列程序段,其执行结果为(C)#include void fun(int a) int x = 5; x += a+; printf(%d, x); void main() int a = 3, x = 1; fun(a); x += a+; printf(%dn, x); A. 8,3 B. 8,5 C. 8,4 D. 8,2 反馈正确答案是:8,4。题目17 题干下列说法中错误的是(C)A. 在不同的函数中可以使用相同名字的变量 B. 在一个函数内定义的变量只在本函数范围内有效 C. 在一个函数的复合语句中定义的变量只在本函数范围内有效 D. 函数中的形参是局部变量 反馈正确答案是:在一个函数的复合语句中定义的变量只在本函数范围内有效。题目18 题干给定下列程序,则运行结果为(C)#include void fun(int x, int y, int * z) * z = x y; void main() int a, b, c; fun(11, 5, &a); fun(8, a, &b); fun(a, b, &c); printf(“%d, %d, %dn”, a, b, c); A. 2, 6, 4 B. 6,4,2 C. 6, 2, 4 D. 2,4,6 反馈正确答案是:6, 2, 4。题目19 题干以下不能正确定义二维数组的选项是(A)A. int a2 = 1, 2, 3, 4; B. int a22 = 1, 2, 3; C. int a22 = 1, 2; D. int a2 = 1, 2, 3, 4; 反馈正确答案是:int a2 = 1, 2, 3, 4;。题目20 题干下列程序的输出结果是(A)#include void main() char a = a, b, c, d, e, f, g, h, 0 ; int i, j; i = sizeof(a); j = strlen(a); printf(%d, %dn, i, j); A. 9,8 B. 9,9 C. 1,8 D. 8,9 反馈正确答案是:9,8。第一部分 初级篇 程序设计基础1.1 简单的C程序介绍 例 求两数a 和b的较大值。main( ) / * 主函数 * / int a, b, c; scanf (%d,%d, &a, &b); c = max ( a, b ); printf (max = %d”, c);int max (int x, int y ) / * 定义max 函数 */ int z; /* max 函数的声明部分*/ if (xy) z = x; else z = y; return (z); 注意:C程序由1n 个函数组成;函数=首部 + 函数体;函数体 = 声明部分+执行部分; 一个C程序总是从main ( ) 开始执行;“;”是语句的必要组成部分;注释 / * . * /1.2 C的数据类型 基本类型:整型 int , long, short,unsigned; 实型 float , double; 字符型 char; 枚举型 enum 构造类型:数组类型 结构体类型 struct 共用体类型 union 指针类型: int *p; 空类型: void1.3 常量与变量1. 普通常量与符号常量普通常量:在程序运行中,其值不能被改变的量。( 整型-12,实型-5.4,字符型-a,字符串常量-“pen” )符号常量:用一个标识符代表一个常量,称为符号常量。定义形式为: #define 符号常量 常量#define PRICE 550 /#define 是宏定义 /带参数的宏:#define M (a, b) (a)(b) ? (a) : (b)main( ) int i=10, j=15; printf(“%dn”,10*M(i, j); /运行结果:102. 变量变量:在程序运行中, 其值可以改变的量。变量名:一个变量应有一个名字,在内存中占据一定的存储单元,该单元中存放变量的值。变量名的定义:标识符命名的规则 由字母、数字、下划线三种字符组成,首字符必须为字母或下划线例: Class _total a68 a_bc 合法#33 56_m fh*5 _99.9 不合法注意:(1) 字母的大小写 SUN sun 不同的变量名(2) 变量先定义后使用 int sun; sun = 0;1.4 表达式1.4.1 C语言的运算符分类(1)算术运算符 (2) 关系运算符 (3) 逻辑运算符(4) 条件运算符(5) 赋值运算符 (6) 求字节数运算符(7) 逗号运算符 (8) 指针运算符 (9) 成员运算符(10) 强制类型转换运算符 (11) 下标运算符1.4.2 算术表达式用算术运算符和括号将运算对象连接起来,符合C语法规则的式子称为C算术表达式。 例:a * b/c - 1.5 + a 基本算术运算符: + - * %注意: %的两侧应为整型数据 ( 7 % 4 = 3 )运算符的优先级和结合性例a - b *ca - ( b *c ) ( 先*后)a - b + c 同级时按结合方向自左向右10/3%2+4=55/2.0=2.5 5/2=2 6-7%3*4+1=3混合运算中的自动类型转换若有定义:int a = 7; float x = 2.5, y = 4.7; 则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是(2.50)。1.4.3 强制类型转换运算符一般形式: (类型名) 表达式例( double ) a ( int ) ( x + y )1、5/(float)2=2.5 (双精度数)2、(int)4.5+5.5=9.5 (双精度数)3、(int)(4.5+5.5)=101.4.4 自增和自减运算符 (+,- )作用:使变量的值增 1 或 减1例:+k 表示在引用 k 值之前先加 1 -k表示在引用 k 值之前先减 1k+表示在引用 k 值之后再加1k-表示在引用 k 值之后再减 1如: k = 3; j = + k; ( k = k + 1,j = k = 4)j = k +; ( j = 3, k = k + 1 = 4 )(1) + ,-只能用于变量,不能用于常量或表达式5+,( a + b ) +不合法(2) + , -的结合方向:自右至左例:-k + = - ( k +); printf(%d, -k+);如:k = 3 先取的k值3,加负号,即输出 3,然后再对k值增1,即k = 41.4.5 赋值表达式赋值表达式一般形式: 例: a = 5a = ( b = 5 )即a = b = 5复合赋值运算符在赋值符之前加上其它运算符,可构成复合运算符。如:+=,-=,*= ,/=, %=例:a + = 3等价于 a = a + 3x= y + 8等价于 x = x ( y + 8 )x % = 3 等价于 x = x % 3目的是使程序简练。需注意的问题:1赋值号与数学中的等于号的区别。2赋值号左、右类型不一致时,自动进行转换。例如: a = 2 a + = a - = a a 结果为 -4 a + = a - = a =a 结果为 0a /= a + a 结果为01.4.6 逗号表达式一般形式:表达式1, 表达式2, , 表达式n例:a = ( 3 + 5, 6 + 8 );a = 14b = ( b = 3 5, b 2 ); b = 30c = ( ( c = 3 5, c 4 ), c + 5 );c = 20如a的初值为0,则表达式x=(a+1,a+2,a+3,a+4,a+5) 的值为5。如a的初值为0,则表达式(a+=1, a+=2, a+=3, a+=4, a+=5)的结果为15。说明:(1) 逗号运算符是所有运算符中优先级最低的;(2) 逗号表达式常用于循环语句(for语句)中;(3) 并非任何地方出现的逗号都是逗号运算符。1.4.7 关系表达式1关系运算符(6种) , , =, = =,!=优先次序: (1) ( , , = )高低 ( =, != ) ( )内表示优先级相同 (2) 算术运算符 高于 关系运算符 高于 赋值运算符 例如:a = b c 等价于 a = ( b b = c 等价于 ( a b) = cc a + b 等价于 c ( a + b)2关系表达式用关系运算符将两个表达式联接起来的式子称为关系表达式。例如 a ba + b b + ca b ) ( b c)x6-2-3x-1ab=c b”的值为“真”,则表达式的值为 1;当 “ a b”的值为“假”,则表达式的值为 0。1.4.8逻辑表达式1逻辑运算符 ( 三种 )逻辑与 | 逻辑或 ! 逻辑非 例如: a b 若 a, b 为真,则其结果为真。 a | b 若 a, b之一为真,则其结果为真。 !a 若 a为真,则其结果为假。!算术运算符 关系运算符 和|赋值运算符 逗号运算符 优先次序:(高- 低)例如: (a b)(x y)等价于a b x y (a = b)(x =y)等价于 a = bx = y(! a)(a b)等价于! a a b2. 逻辑表达式用逻辑运算符将关系表达式或逻辑量联接起来的式子称为逻辑表达式;逻辑表达式的值是一个逻辑量 “真”或“假”,用1和0;注意:任意表达式都可以构成条件,当表达式的值为非零时,条件为真 ( True);当表达式的值为零时,条件为假 ( False )。即:判断一个逻辑量的“真”或 “假”用0和非0来判断,0为假,非0 为真。如:5%2&p 结果取决于p3. 简化求值当C语言在计算如下形式的表达式时:exp1&exp2 或 exp1|exp2子表达式总是从左到右各自被计算。一旦能确定结果就终止计算。这种计算方法叫做简化求值。简化求值的好处在于第一个条件能控制第二个条件的执行。例如: (x!=0) & (y%x=0) 当x=0时, y%x不会被计算到。又如:5 328 3) 2 8 (4 - !0)128 (4 - !0)18 b) &(n=cd)a=1,b=2,c=2, d=4, m=1, n=1.问执行后m,n的值分别为多少?结果m=0, n=1如果a=3, b=5; a+|b+; 则a=4, b=5如果a=0, b=5; a+&b+; 则a=1, b=5,表达式的值为04、写出下列问题的C语言表达式1). 检查字符变量a的内容是否为字母。a=a & a=A & a b ) ? a : b;若 a b 为真,则条件表达式取值为a,否则为bprintf(“max=%d”, ab?a:b);1.5 C语句概述1. C程序结构C程序可以由若干个源程序文件组成;一个源程序文件可以由若干个函数和预处理命令以及全局变量声明部分组成;一个函数由数据定义部分和执行语句组成。2. C语句分类(五类)控制语句:条件语句,循环语句if() else 条件语句switch 多分支选择for () 循环语句while () 循环语句do while ()循环语句continue结束本次循环break终止switch或循环语句的执行return函数返回语句表达式语句:a = 3; 任何表达式可以加上“;” 即形成表达式语句。常用例子:赋值语句。如: x=(a+1,a+2,a+3,a+4,a+5) 是表达式,但x=(a+1,a+2,a+3,a+4,a+5); 是语句。又如:if (a=b)0) t=a; 是合法语句,而 if (a=b;)0) t=a; 是非法语句。 函数调用语句: printf(This is a pen); 空语句: ; 复合语句: a = 3; a = a + 1; /*分程序*/1.6 顺序结构程序设计1. 赋值语句:由赋值表达式加上一个分号。例如 if ( a = b ) 0 ) t = a ;2. 数据输入和输出C语言无输入和输出语句,数据输入和输出操作由库函数来实现。 在使用 C语言库函数时,要用预编译命令:例: #include 或 #include stdio.h 函数以库的形式存放在系统中,标准输入和输出函数是以标准输入和输出设备为输入和输出对象的。例:getchar()putchar(输出字符)scanf(格式输入)printf(格式输出)printf()格式输出函数作用:向终端输出若干个任意类型的数据一般形式:printf(“格式控制”,输出表列)例:printf(%d,%cn,j,c)格式控制符=格式说明符+普通字符格式说明符=%+格式字符(如d,c,s,f)sc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论