计算机二级C语言学习笔记(七)

上一篇:计算机二级C语言学习笔记(六)

考点29:二维数组

1.int a[3][2],*p[3],(*ptr)[2],i,j;
若满足条件0<=i<=2,则p[i]和a[i]基类型一样,都是int型
若有以下循环:for(i=0;i<3;i++) p[i]=a[i]; (p将存放a的首地址)
在这里插入图片描述
a[i]中的值不可变,p[i]可变
ptr和a的基类型一样,不同的是a值不可变,ptr可变(ptr=a)
2.当二维数组名作为实参时,对应的形参必须是一个行指针变量

#include<stdio.h>
#define M 5
#define N 3
main(){
double s[M][N];
...
fun(s);
...

fun函数首部是以下三种形式之一
void fun(double (*a)[N])
void fun(double a[][N])
void fun(double a[M][N])
a处理成一个行指针

考点30:字符串

1.C语言中没有字符串变量,字符串借助字符型一维数组存放并规定以字符’\0’作为“字符串结束标志”
2.C语言中没有字符串类型,但允许使用“字符串常量”表示字符串常量时,不需要人为在其末尾加入’\0’。C编译程序将自动完成这工作,在末尾添加字符’\0’
3.字符串常量在赋值过程中给出的是这个字符串在内存中所占的一串连续存储单元的首地址
4.scanf函数中使用%s格式符输入字符串时,空格、回车以及Tab都作为数据的分隔而不能被读入(ab_123_cd=>ab)
5.使用gets函数从终端读入时,空格和Tab有效而被读入,直到读入换行符为止。换行符不作为字符串的内容(ab_123_cd=>ab_123_cd)
6.用于字符串处理的函数
strcpy(s1,s2) s2复制到s1,返回s1所指地址
strcat(s1,s2) s2连接s1,返回s1所指地址值
strlen(s) 计算s长度并返回其函数值(不包括’\0’)
strcmp(s1,s2) 比较s1,s2大小(s1>s2输出>0;s1=s2输出=0,s1<s2输出<0)

考点31:指针数组

1.指针数组中的每个元素都是指针类型
2.*ps[]={“aa”};*ps[0]是字符’a’,ps[0]是字符串"aa"的首地址,ps是指针数组

考点33:if-else语句

1.if子句和else子句,只能是一条语句,如果子句中含有多个语句,则必须使用复合语句,即用花括号把一组语句括起来,因为复合语句在语法上视为“一条语句”
2.if后一对圆括号中的表达式可以是C语言中任意合法的表达式
3.a<>b+c不合法表达式

考点34:switch语句

switch(表达式)
{
case 常量表达式:语句1
...
default : 语句n
}

1.紧跟在switch后一对圆括号中的表达式可以是整型表达式或字符型表达式。不能是实型。表达式两边的一对括号不能省略
2.常量表达式的类型必须与switch后圆括号中的表达式类型相同,各case语句标号的值应该互不相同
3.default标号可以出现在语句体中任何标号位置上,在switch语句体中也可以没有default标号
4.case语句标号后的语句1,语句2等,可以是一条语句,也可以是多条语句
5.必要时,case语句标号后的语句可以省略不写
6.在关键字case和常量表达式之间一定要有空格

考点35:while和do-while循环

此部分没有难的,知道两个循环进行的顺序即可

考点36:for循环

1.循环体在语法上要求是一条语句,若在循环体内需多个语句,应使用复合语句
2.for语句中的表达式可以部分省略或全部省略(会引起无限循环),但两个分号不可省略
3.break语句只能在循环体和switch语句内使用。如果用于循环体中是用来终止循环(即退出循环),如果用于switch语句中,是用来终止switch
4.continue语句:仅结束本次循环(去执行for中第三个表达式)
5.注意break和continue区别
6.三种循环for,while,do-while可以相互嵌套

下一篇:计算机二级C语言学习笔记(八)(习题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值