C语言学期总结

C语言学期总结
1.基础知识总结

不知不觉学习C语言已经一个学期了,这学期学习内容不少,学习了许多C语言的基础知识。

1.大体了解认识了C语言的产生和应用领域,学习了编程分四步:1.分析要求。2.设计。3.编写程序。4.调试程序。
2.学习了解了C语言中数据的类型,基本的数据类型有整型,实型,字符等。注:1.变量必须先声明后使用。2.“=”为赋值号。
3.学习了如何用C语言表达式来表示简单的算术运算。
4学习了数据格式化输出函数printf(),字符输出函数putchar(),数据格式化输入函数scanf(),字符输入函数getchar(),这是键盘输入和屏幕输出的关键。
5.学习了如何运用条件语句和switch语句来解决各种问题
6.循环
循环结构通常有两种:当型循环结构、直到型循环结构。
常见循环语句:1.for语句。2.whlie语句。3.do-while语句。1、2为当型循环结构,3为直到型循环结构。
循环中用于控制流程的还有break语句(只能跳转到循环后第一条语句)、continue语句、goto语句(可向任意方向跳转)。
适用情况:
while语句:循环次数未知,条件控制的循环,用while语句。
do-while语句:循环体至少要执行一次。
for语句:循环次数已知,计数控制的循环,用for语句。
(注意:for语句中三个表达式之间用分号分隔,不能用逗号。)
常见循环类型:{计数控制的循环、条件控制的循环、嵌套循环}
7.数组
使用一个数组首先要对其进行定义,在定义语句中要声明数组元素的类型和下标的个数,下标的个数代表数组的维数。(注意:C语言中数组下标是从0开始;数组的大小不能用变量定义,必须用常量。)
一维数组初始化:
1.int a[5]={0,1,2,3,4} 即a[0]=0 a[1]=1…;
2.int a[5]={0,1} 只给数组前两个元素赋初值,后面的3个元素默认为0;
3.对数组每个元素赋初值时可以不指定数组的长度 ,即 int a[5]={0,1,2,3,4} 可以改写成 int a[]={0,1,2,3,4}。
二维数组初始化:
1.按行分段赋值 int a[2][3]={{1,2,3},{4,5,6}};
2.按行连续赋值 int a[2][3]={1,2,3,4,5,6}。
sizeof(数组名)可以计算数组长度
字符数组的初始化同一维数组的初始化相似,
char b[10]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘j’};即把10个字符分别赋给str[0]到str[9]10个元素
如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组
长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即
‘\0’ )。
strlen(数组名)可以用来计算字符串的长度。
2.典型题目
1.矩阵的交换行(二维数组):
描述
给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

			输入
	输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。

第6行包含两个整数m、n,以一个空格分开。(1 <= m,n <= 5)
输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
样例输入
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
样例输出
3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2
解:

#include<iostream>
using namespace std;
int a[5][5];
int b[5];
int main()
{
    int m,n;
    int i,j;
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
        {
            cin>>a[i][j];
        }
    }
    cin>>m>>n;
    for(int j=0;j<5;j++)
    {
        b[j]=a[m-1][j];
        a[m-1][j]=a[n-1][j];
        a[n-1][j]=b[j];

    }
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
        {
            cout<<a[i][j]<<" ";
            }
            cout<<endl;
    }

    return 0;
}

对于矩阵类的问题,使用二维数组十分便捷,不管是矩阵的输入或是输出矩阵,都可以使用二维数组去解决。
2.画矩形.
描述
根据参数,画出矩形。

输入
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
输出
输出画出的图形。

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int x,y,h;
    char ch;
    cin>>y>>x>>ch>>h;
       for(int i=1;i<=y;i++){
           for(int n=1;n<=x;n++){
               if(h==0){
                if(i==1||i==y||n==1||n==x){
                    cout<<ch;
                }else cout<<" ";
               }else cout<<ch;
       }
           cout<<endl;
       }

       return 0;
}

画矩形的题目可用for循环输出长和宽,矩形内部的图案可通过条件语句来控制。
3.感悟
1.首先我觉得基础是最重要的,这也是我的不足的地方,只有把地基打牢才能继续学习更高级的东西。不能因为学习了新知识就忽视了之前的基础知识。
2.找到题目的大体思路是解决问题的关键,我们可以在纸上把题目的大致思路写一下,然后在电脑上进行编译。
3.练习是十分重要的,俗话说熟能生巧,经常的练习不仅增加我们解题的熟练度,还能让我们见到不同的解题思路。
4.自学。自学是进步的方法之一,提前自学可以让我们对学习内容有自己的认识,更容易找到自己的问题所在,在经过老师的讲解后,对问题的理解可以加深。
5.这个学期的学习还只是开始,我还只是个C语言的新手,接下来还需要更加努力地去学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值