好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言程序设计复习.doc

7页
  • 卖家[上传人]:hs****ma
  • 文档编号:506762540
  • 上传时间:2023-12-08
  • 文档格式:DOC
  • 文档大小:27.50KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第三章1 常量: #define PI 3.14 字符常量:例如:’a’ (单引号、 只能一个字符) 字符串常量:例如:”abc” (双引号、 可以是一个字符,也可以是多个字符、 字符串一定有结束标记 ’\0’ ) 字符型数据在内存中存放的是字符的ASCII 码2 变量: (1) 变量名: 只能由字母、数字、下划线 3种字符组成 并且第1个字符必须是字母或者下划线,不能是数字 (2) int整型变量的范围: -32768~32767(两个整数相除结果一定是整数 例如5/2的结果是2,不是2.5 如果想得到2.5,可以使用(float)5 / 2,不能是(float)(5/2),强制类型转变) (3) ++(--): n=1; printf(“%d”,n++); 先输出1,n的值再变为2 n=1; printf(“%d”,++n); n的值先变为2,再输出n的值2 (4) 复合赋值运算符: 例如a*=b+3 相当于 a=a*(b+3) 注意b+3应加括号 (5) = 与 = = 的区别: =是赋值运算符,例如a=3;(将3放到变量a中) = = 表示相等的意思,例如a= =b;(判断a b是否相等,如果相等,结果是1(表示成立),如果不等,结果是0(表示不成立)) (6) 常用运算符的优先级: 从高到低: 逻辑非运算符 (!) 算术运算符 ( (* / %) ——>( + - ) ) 关系运算符 ( (> >= < <=)——>(= = !=) ) 逻辑与、或运算符 ( (&&) ——>(||) ) (7) 常用变量所需字节数: char 字符型 1个字节 int 整型 2个字节 float 浮点型 4个字节 (8) 逗号表达式 a=1,b=a+1,c=b+2 先做a=1,再做b=a+1,最后做c=b+2, 整个逗号表达式的值是最后一个表达式的值,本例中为4第四章scanf(”%d”,&m); 注意后面一定应该是内存地址(指针)(&:取变量地址)printf ( )getchar ( )putchar ( )第五章1 if语句 if (x>y) printf(“%d”,x); else printf(“%d”,y); 注意:if 后面的条件必须使用括号括起来。

      if和else后面都没有分号;if和else后面的语句有分号if和else后面都只能是一个语句,如果有多个语句,应该使用大括号做成复合语句else与最近的没有配对的if配对if后面的条件:只要不是0都代表 成立,只有0代表 不成立2 switch语句 scanf("%d",&a);switch (a){ case 1:printf("Monday\n");break; case 2:printf("Tuesday\n"); break; case 3:printf("Wednesday\n");break; case 4:printf("Thursday\n");break; case 5:printf("Friday\n");break; case 6:printf("Saturday\n");break; case 7:printf("Sunday\n");break; default:printf("error\n"); } 注意: switch后面必须有一对括号,括号里面有一个表达式, 表达式的值必须是整型和字符型,不能是浮点型,也不能是一个范围。

      case 后面的值应该与switch后面表达式的值类型相同,起标号的作用 default 代表不满足前面所有的条件时要执行的语句 break 代表结束switch的执行 本例中如果没有所有的break,假设a=1;则程序中所有printf都会被执行3 条件表达式 max=(a>b)?a:b 相当于 if (a>b) max=a; else max=b;第六章:break:终止执行循环,执行此循环之后的语句continue:终止这一次循环,跳过之后的语句,回到条件语句,准备开始执行下一次循环1 while ( )循环 while(i<=100) { sum=sum+i; i++; } 注意: while后面必须有一对括号,括号中是一个条件 条件成立做循环,直到条件不成立才退出循环 只要不是0都代表条件成立,0代表条件不成立 while 条件后面没有分号、如果有分号,代表空循环,什么都不做 先判断条件,条件成立才开始做循环,条件不成立退出循环 可能循环一次都做不了。

      while 循环体只能是一个语句,多个语句必须使用大括号做成复合语句2 do while ( )循环 do { sum=sum+i; i++;}while(i<=100); 注意: while条件后面有分号 先做第一次循环,再判断条件,条件成立继续做循环,条件不成立退出循环 至少会做一次循环3 for循环 for(sum=0,i=1; i<=100; i++) sum+=i; 注意: for循环体只能是一个语句,多个语句必须使用大括号做成复合语句 for括号后面没有分号、如果有分号,代表空循环,什么都不做 for后面必须有一对括号,括号中三个表达式,使用两个分号分隔 表达式可以省略,但是分号一定不能省略 其中 表达式2 是条件 先做表达式1;再做表达式2,如果表达式2这个条件成立,做循环; 循环做完之后做表达式3;然后回表达式2,如果条件还成立,继续做循环; 直到表达式2这个条件不成立,退出for循环4 循环例题分类(更详细的参见当时的课件) (1) 整数分离、穷举法: 水仙花数( ABC=A3+B3+C3) ABC+CBA= =1333 (2) 多项之和、多项之积 (3) 用星号显示各种图形 (4) 判断满足特殊条件的数 判断一个数是不是素数 显示100到999之间所有能同时被3、5整除的数第七章数组名是一个特殊的变量、一个指针变量、代表数组在内存中的起始地址。

      1 数组的定义 数组下标从0开始 例如有定义int a[10];可用的10个元素是从a[0]到a[9] 整个数组的数据类型应该是完全相同的 int a[10];中括号里面必须是常数,不能是变量 int k=10;int a[k];这样的定义是错误的,因为k是变量,不是常数 #define k 10;int a[k];这个数组的定义是正确的,因为k是常量 int a[];这样的定义是错误的,因为没有指明数组的长度 int a[]={1,2,3,4};这样的定义是正确的,系统自动根据后面值的数量决定数组的长度 int a[3][4];二维数组 int a[3][ ];这样的定义是错误的,因为没有指明数组的列数 int a[ ][4];这样的定义是错误的,因为没有指明数组的行数 int a[3][ ]={1,2,3,4,5,6,7,8,9};错误,不能省略列数 int a[ ][4]={1,2,3,4,5,6,7,8};正确,自动根据后面值的数量决定数组的行数2 字符数组 char a[4]=”abcd” ; 这是错误的,字符串”abcd”一共需要占5位,字符串的最后有结束标记 ’\0’ char a[4]={ ‘a’,’b’,’c’,’d’};正确 char a[5]=”abcd” ;正确 char a[5];a=”abcd” ;错误3 数组简单例题 数组中求最大值、最小值、平均值、求和。

      数组前5个元素和后5个元素交换, 第1个与第10个交换,第2个与第9个交换...... 斐波那契数列 1 1 2 3 5 8 13...... 矩阵主对角线元素之和第八章main 函数是主函数,它可以调用其它函数,而不允许被其它函数调用C程序的执行总是从main函数开始,完成对其它函数的调用后再返回到main函数,最后由main函数结束整个程序一个C源程序必须有,也只能有一个主函数main main() { int max(int a,int b);//函数声明,因为max函数在后面 注意有分号 int x,y,z; printf("input two numbers:\n"); scanf("%d%d",&x,&y); z=max(x,y);//函数调用 printf("maxmum=%d",z); } int max(int a,int b) //函数定义 //函数返回值类型 函数名(参数1类型 形式参数1,参数2类型 形式参数2…………) { if(a>b) return a; //函数中遇到第一个return 就返回结果并结束函数的执行。

      else return b; //没有返回值的函数应该没有return语句 } 注意:函数调用的时候实际参数的值传递给形式参数 如果实际参数、形式参数是普通变量 使用传值的方式 形式参数的值改变之后 不会 影响实际参数 如果实际参数、形式参数是数组、指针则采用 传地址的方式 形式参数的值改变之后 会 影响实际参数 实际参数是数组的时候,实际参数只写数组的名字函数可以嵌套调用,但是不能嵌套定义;不能在一个函数的内部定义另一个函数第十章 重要:教材P276 表10-4int a; int *p=&a; // int *p决定了以后p里面只能存放整型变量的地址 两个有关的运算符: &: 取地址运算符 *:指针运算符(或称“间接访问” 运算符) 指针与数组: int a[10]; int *p=a; 访问数组里面下标为3的元素的 值 有4种方式: a[3] *(a+3) *(p+3) p[3] 数组里面下标为3的元素的 地址 有3种方式: 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.