2018-19学年第一学期程序设计A课程笔记
18-数学类-3班-2018216489-贾子言
2018年11月9日 第1篇
Part 1知识点概述:
1.一个程序的基本内容:编译预处理命令+头文件+主函数
#include<stdio.h>//输入输出头文件
#include<stdlib.h>//库函数头文件(使用exit(code)时)
#include<math,h>//标准数学函数头文件
main()//主函数
{}
2.变量类型
整型 int,long long int
实型 double,float
字符型 char//在表达式中使用字符要加单引号
//可输出字符也可输出整型Asc码
3.输入输出语句
printf("格式控制字符串(可加其他内容原样输出)",输出值参数表(一组变量名));
int--%d long long int--%lld float--%f
double--%lf char--%c
%m.nlf m域宽 n小数位数
scanf("格式控制字符串(可加其他内容原样输入)",参数地址表(一组变量名+取地址符&));
4.算数运算
+ - * /(整数除法得到整数) %取余(操作数为整数)
复合运算符 += -= *= /= %=
n++先赋值后增一 ++n先增一后赋值
5.常量
宏常量 用标识符号表示常量
#define PI 3.1415926
#define EPS 1e-6 //无冒号无分号无等号
const常量 具有数据类型
const double PI = 3.14159;
6.类型转换
自动 表达式中转换成取值范围较大的类型
赋值时转换成左侧类型
强制转换 (类型)表达式 //注意强制转换的对象
7.关系运算符
< > <= >= == != //注意大于等于的写法,特别注意双等号(单等号为赋值表达式永真)
关系表达式中非零值表示真 if(a!=0)等价于if(a)
8.单分支控制条件语句
if(条件表达式) 操作语句(多条复合); //条件成立执行,不成立执行后继语句
9.双分支&多分支条件控制语句
if( ) do something;
else if( ) do some thing;
else if( ) do some thing;
.......
else do some thing; //用n个if分出n+1种情况
10.t条件运算
a = 关系表达式?a1:a2; //用于分情况为变量赋值
11.开关语句
switch(a)
{
case a1: dosomething;
break;
case a2: dosomething;
break;
......
default: dosomething;
} //用于多种情况可用一个变量的离散的值来表示
//不加break后面的语句被当做普通语句执行
12.逻辑运算
|| && ! //不能用连不等式
Part 2 关于知识的应用
-输出简单的一句话
-为变量赋值并按照格式输出指定的变量的值
-按照指定方式修饰格式(域宽&小数位数)并输出变量的值
-对变量赋值并进行运算,输出结果
-在实际问题中,通过对变量的数据类型进行转换,计算并输出符合题意的正确结果
ex:大象喝水,虫吃苹果
-通过键盘输入对变量赋值
-用单分支语句分离出特殊情况并进行后继操作
-用双分支多分支对所有情况进行分类并进行后继操作
ex:分段函数
-在分两种情况对指定变量赋值可用由条件运算符连接的条件语句
ex:求两数中的较大值or较小值
-用开关语句对可用一个变量的离散的不同值进行区分的情况进行分类
ex:简单计算器
-在单分支条件语句中应用逻辑运算符分离极特殊情况
ex:判断闰年
Part 3 近期学习感想
课程初的学习,通过在实验课上先原样复制书上的代码,并自己尝试对其中内容数据进行改动,了解程序的内容,加深对写法的了解,增强记忆。感觉取得了一些效果,我认为是学习过程中做的好的方面。写复杂的条件语句时,经常直接打代码而忽视了本应该有的先在草稿纸上画流程图的操作,导致oneA率较低,我认为是学习中做的不好的方面。
近期需要注意的错误:
在用scanf语句为变量赋值前就使用变量;
忽视整数除法问题 1/2的值为零;
字母与数字相乘忘加乘号;
数的范围超过32位整数。