三网上机考试2

三网上机考试2
三网上机考试2

第一次课

结构体、链表、文件

数组、字符串

函数、指针

三种结构化程序设计

三种数据类型、六大表达式

(一)VC++6.0使用

1.如何新建程序?

文件=》新建(在新建窗口中选择文件页框中C++ Source File,在输入文件名,最后点击确定即可)=》开始书写程序

例题:

#include "stdio.h" /*命令行*/

main()/*主函数*/

{ /*函数体的开始*/

int a,b,c;/*定义语句*/

a=2; /*执行语句*/

b=3;

c=a+b;

printf("a=%d,b=%d,c=%d",a,b,c);/*输出语句*/

}/*函数体的结束*/

2.编写完程序后=》编译(编译-》编译)=》构件(编译-》构件)=》执行(编译-》执行)

3.printf:输出语句

格式:

printf(“格式控制”,输出项);

格式控制:提供原样输出.

格式控制符是由输出项定义的数据类型来决定的.

输出项:多个输出项用逗号作为间隔.

(二)三大数据类型(主旨:定义语句)

1.标识符

作用:起名字(变量名文件名函数名数组名)

组成:字母、数字、下划线

第一个字符:字母、下划线

2.常量和变量

(1)常量:0 1 5 8956 105 0.123

定义:在程序运行的过程中,不可改变的量

分类:整型常量、实型常量、字符型常量

(小数、指数)

A:65 B:66 C:67 Z:65+25

a:97 b:98 c:99 z:97+25

(2)变量: x y z

x=2

x=3

x=99

<1>定义:在程序运行的过程中,可以改变的量

<2>实质:一个变量代表一个存储单元

<3>对一个变量进行的操作其是就是对一个存储单元进行的操作

<4>原则:先定义后使用

<5>分类:整型变量

实型变量

字符型变量

2.三种数据类型(常量、变量)

(1)整型数据

<1>整型常量(简单了解)

二进制八进制十进制十六进制

<2>整型变量(定义语句)

1>定义语句格式:

类型名变量名;

2>整型类型名(有符号、无符号)

类型名字节数

[signed] int 4B

unsigned [int] 4B

<3>变量的定义样式

1>单个变量定义:

int i;

2>多个变量定义:

int j,k,m;

3>边定义边赋值:

int a=2,b=3;

int a,b;

a=2;

b=3;

注:

1)当定义变量时,系统就会为该变量自动开辟存储空间。

2)当定义变量时,如果不给该变量赋初始值,变量所代表的空间中存放是"任意值".

(2)实型数据

<1>实型常量

小数:带小数点

指数:(简单了解)

数学C语言

5*109 5e9

8*100 8E0

-2*10-3 -2e-3

0*100 0e0

注:1)e或E均可,代表10

2)e(E)前后必须都有数字

3)e(E)后面是整型数

4)e与前后数字之间不能加空格

<2>实型变量

类型名字节数范围小数位数

float 4B -1038~1038 6

(单精度)

double 8B -10308~10308 15~16

(双精度)(6位)

定义样式:

float a=568.122;

double b=1234.4545;

注:

在给实型变量赋值整型数据时,要在整型数据后加”.0“float a=1.0;

double b=0.0;

<3>字符型数据(以后学习)

(三)六大表达式

1.算术表达式(数学表达式)

(1)运算符:

数学:{} [] () + - * / + -

C:()+ - * / % + -

正负

(2)单目、双目运算符

单目:一个操作数+5 -9

双目:两个操作数5+6 7*8

(3)/ 整除

<1>双目运算符

<2> 1/2 0

1.0/2 0.5

1/2.0 0.5

1.0/

2.0 0.5

(4)% 求余数

<1>双目运算符

<2>操作数:两个数都是整型数据

<3> 1%2 1

8%9 8

9%3 0

第二次课

(5)优先级:(先计算谁)

()+/- */% +/-

(5+8)/3+9*2

(6)结合性:(运算方向)

-5 5*2 5+9

正负:自右向左

其它:自左向右

(7)使用多层括号,一律使用小括号

运算方向:自里向外

(5-(6+8))*(9/(2-7))

(8)强制性类型转化

格式:(类型名)表达式

15.623 (int)15.623 15

2 (double)2 2.000000

注:整数部分和小数部分

double a=123.4655;

整数部分:(int)a

小数部分:a-(int)a

2.赋值表达式

(1)格式

变量名=表达式

(2)变量的实质:存储单元

(3)表达式:常量、变量、六大表达式

(4)在赋值表达式中,赋值号的左端只能为变量名

5+8=a b=a

(5)int x=2,y=3;

x=y:将变量y所代表的单元中的值取出来赋值给变量x所代表的单元中x=x+1:将变量x所代表的单元中的值取出来+1赋值给变量x代表的单元中x=x:左x: 代表x所标识的单元

右x:将变量x所代表的单元中的值取出来

单元=值

(6)变量中的值在不断进行更新

x=2

x=3

x=99

3.关系表达式

(1)逻辑值

平时 C 真非0 1

假0 0

(2)运算符

> >= < <= == !=

(3)优先级

> >= < <= == !=

自左向右

(5)结果:逻辑值

5<6 7>9

4.逻辑表达式

(1)运算符

!:(不补集)

&&:(与交集)

||:(或者并集)

(2)

!:单目运算

&& ||:双目

(3)优先级

高低:!&& ||

(4)结合性

!:自右向左

&& ||:自左向右

(5)使用

!0 1 !1 0

1&&1 1 1||1 1

1&&0 0 1||0 1

0&&1 0 0||1 1

0&&0 0 0||0 0

(6)结果:逻辑值

(7)数学表示方式

|x|<=9 -9<=x<=9 x>=-9&&x<=9

|x|>=9 x>=9或x<=-9 x>=9||x<=-9

(8)断路问题

<1>在逻辑&&运算中,如果表达式1已经为逻辑假,表达式2不用执行,该表达式值为逻辑假

<2>在逻辑||运算中,如果表达式1已经为逻辑真,表达式2不用执行,该表达式值为逻辑真

5.条件表达式

6.逗号表达式

(1)格式:

表达式1,表达式2,表达式3,表达式4,……,表达式n

(2)优先级:所有运算符中优先级最低

(3)结合性:自左向右

int a=8;

a+=3,a=5,a+3; ?a

a=11

附:<1>++ 、--

1>功能

++:+1 自动赋值

--: -1 自动赋值

3>操作数可以放在运算符的右边也可以放在运算符的左边

i++ ++i i-- --i

4>操作数可以为整型、实型的变量2++ 2=2+1

i++ i=i+1 ++i i=i+1

i-- i=i-1 --i i=i-1

5>表达式值和变量值

int i;

表达式值变量值

i=5 i++ 5 6

i=5 ++i 6 6

i=5 i-- 5 4

i=5 --i 4 4

int i=5;

j=i++;

j=5 i=6

int i=5;

j=++i;

j=6 i=6

<2>所有运算符的优先级(六个表达式)

高=》低

()++/-- !算术表达式关系表达式逻辑表达式

条件表达式赋值表达式逗号表达式

<3>

1>奇数和偶数int x;

奇数:x%2!=0

偶数:x%2==0

2>x能整除y:x%y==0

x不能整除y:x%y!=0

3>能被多个数同时整除,只要能被这些数的最小公倍数整除即可。

4>当&&和||在一起时,如果要先进行||运算,必须给||运算添加括号。

(四)三种结构化程序设计

1.顺序结构

(1)输入和输出语句(#include "stdio.h")

1>printf:输出

1)格式:printf(“格式控制符”,输出项);

2)格式控制符:由输出项的类型决定.

int: %d 有符号十进制整型数

float %f(%lf)小数

double

3)格式控制符中提供原样输出,格式控制符是由输出项定义的数据类型来决定的。

4)double a=1233.1546;

printf("%6.2f",a);

2>输入格式

<1> 键盘=》内存=》显示器

scanf printf

<2>scanf:

1>格式:

scanf("格式控制符",输入项)

2>格式控制符:由输入项的类型决定.

int: %d 有符号十进制整型数

float %f 小数

double %lf 小数

3>输入项:&变量名

&(求地址符)

scanf("%d%d%d",&a,&b,&c);

5>在黑屏幕中输入,输入数据时,各个数据中间以空格\tab\回车键作为间隔符,但是输入字符,各个字符之间不能加空格.最后一个字符以回车作为结束

(3)复合语句>1

格式:{ 语句1;

语句2;

语句3;

…………

语句n;

}

2.选择结构

<1>if语句

格式:

if(表达式)

语句

1>if是关键字

2>表达式:常量、变量、六个表达式

3>语句:一条:以;作为结束

>1 多条(复合):以{为开始

以}为结束

int a=2,b=5;

if(a>=b)

{ a=a*2;

a=a+b;

}

4> 执行过程:

表达式真执行语句

表达式假不执行语句

<2>if-else语句

1>格式:

if(表达式)

语句1

else

语句2

1>if、else是关键字

2>表达式:常量、变量、六个表达式

3>语句1、语句2:

一条:以;作为结束

>1 多条(复合):以{为开始

以}为结束

4>执行过程:表达式真=》执行语句1

表达式假=》执行语句2

5>if与else成对出现

6>if与else的条件互为补集

作业:

(1)给出一个实型数据,求该实型数据的整部部分和小数部分分别是多少?

(2)给出一个整数,判断该整数是否为偶数,如果是输出“yes”,否则输出"no".

(3)给出一个整数,判断该数整除能否被3和7同时整除,如果是输出“yes”,否则输出“no”. (4)给出一个整数,判断该数整除能否被7或11整除,但是不能同时被7和11整除,如果满足上述条件输出“yes”,否则输出"no".

第三次课

<3>if语句嵌套

if(表达式1)x<10

if(表达式2)x>6 语句1 6

else 语句2 x<=6

<4>else语句嵌套

if(表达式1) 语句1

else

if(表达式2) 语句2

else

if(表达式3) 语句3

3.循环结构

<1>while语句

while(表达式)

循环体

1>while是关键字

2>表达式:常量、变量、六个表达式

3>循环体:一条:以;作为结束

>1 多条(复合):以{为开始}为结束

4>执行过程:

只要表达式为真,执行循环体,直到表达式为假为止.

5>结束循环:表达式补集

<2>for语句

格式:

for(表达式1;表达式2;表达式3)

循环体

1>for关键字

2>表达式1、表达式2、表达式3:常量、变量、六个表达式、空

3>循环体:一条:以;作为结束

>1 多条(复合):以{为开始,}为结束

4>for语句的通常书写格式:

for(变量赋初始值;条件;变量增加或减少)

循环体

5>执行过程:

6>结束循环:表达式2的补集

<4>循环嵌套

x+y=20(x和y都是正整数)

x=0 y=0 1 2 3 4 20

x=1 y=0 1 2 3 4 5 20

x=2 y=0 1 2 3 4 5 20

x=3 y=0 1 2 3 4 5 20

x=20 y=0 1 2 3 4 5 20

for(x=0;x<=20;x++)

for(y=0;y<=20;y++)

if(x+y==20)

printf("x=%d,y=%d",x,y);

int i,j,s=0;

for(i=0;i<3;i++)

for(j=0;j<2;j++)

s+=i+j;

i=0<3 j=0<2 s=0

j=1<2 s=1

j=2<2

i=1<3 j=0<2 s=2

j=1<2 s=4

j=2<2

i=2<3 j=0<2 s=6

j=1<2 s=9

j=2<2

i=3<3

注:当一个变量变化一次,另一个变量变化多次,这种情况使用循环嵌套。

(五)算法

<1>交换a=10 b=20

t=a;

a=b;

b=t;

<2>奇数、偶数、整除(x)

奇数:x%2!=0

偶数:x%2==0

整除:x%i==0 不整除:x%i!=0

注:多个数同时整除,只要被最小公倍数整除<3>小数、整数double x; 3.1456

小数:x-(int)x

整数:(int)x

<4>四位数(千位、百位、十位、个位)int x

qw=x/1000;

bw=x%1000/100;

sw=x%100/10;

gw=x%10;

<5>累和

1+2+3+4+5+6 s:0

1 3 6 101521

i

s=s+1 s=s+i

s=s+2

s=s+3

s=s+4

s=s+5

s=s+6

for(i=1;i<7;i++)

s+=i;

<6>平均值

1+3+5+7+9+11+13+15

1>和值

2>平均值=和值/个数

#include "stdio.h"

main()

{

int i,n=0,s=0;

double ave;

for(i=1;i<7;i++)

s+=i;

ave=(double)s/7;

printf("%f\n",ave);

}

<7>求个数

从1-10之间求奇数的个数。

#include "stdio.h"

main()

{

int i,n=0,s=0;

double ave;

for(i=1;i<10;i++)

if(i%2!=0)

n++;

printf("%d",n);

}

作业:

(1)从1-100之间求所有奇数的和值和偶数的平均值.

(2)从1-100之间求能同时被3和7整除的所有数的平均值.

(3)从3000-5000之间满足条件四位数的平均值以及不满足条件四位数的平均值。

条件:千位加百位等于十位加个位

(4)从5000-8000之间满足条件四位数的和值和个数。

条件:个位减千位减百位减十位大于零并且该四位数为偶数。

相关主题
相关文档
最新文档