C语言期末总结

  • 1. 函数
    • 1.1 main函数
      • 1.2 递归调用函数
  • 2. 字符输入输出
    • 2.1 注意事项
      • 2.1.1 接受单个字符的getchar( )
      • 2.1.2 “重生”的gets_s( )
  • 3. 数组
    • 3.1 定义
    • 3.2 指针与数组结合例题
      • 3.2.1 例题① (int型)
      • 3.2.2 例题② (char型)
  • 4. 结构体
    • 4.1 结构体定义与定义形式
      • 4.1.1 定义
      • 4.1.2定义形式
    • 4.2 例题填空(结构体的使用)

1. 函数

C语言程序的基本单位是函数

1.1 main函数

① C语言总是从main函数开始执行,并从全局main函数结束。

② 调用的函数不一定要在main函数中定义。

1.2 递归调用函数

直接递归调用a函数里面直接调用a函数;
间接递归调用a函数里调用b函数,b函数里再调用a函数。

2. 字符输入输出

① getchar( ) 代表只能输入一个字符

② putchar( )代表只能输出一个字符

③ gets( )是用来专门接收输入的字符串数组,可以说是scanf具体分类
gets接收字符数组名、字符指针或者字符数组元素的地址

④ puts就是从某一址开始,依次输出存储单元中的字符。

2.1 注意事项

2.1.1 接受单个字符的getchar( )

getchar( )它一次能接收的是只占一个字符的元素(可以是0-9,因为0-9占一个字符,但是不推荐使用getchar去输入数字)

2.1.2 “重生”的gets_s( )

在2011年12月,ANSI 采纳了 ISO/IEC 9899:2011 标准,标准中删除了 gets( )函数,使用一个新的更安全的函数*gets_s()*替代,所以在visual studio 2019 c++ 空文件中,不存在gets标识符,只有gets_s( )才可使用。

3. 数组

3.1 定义

数组从下标为0开始,依此储存数据空间,直到达到数组限额

3.2 指针与数组结合例题

3.2.1 例题① (int型)

定义:

int *p,   s[20],i;
*p=s;

数组s[i]表示:
A *(s+i) √
B *(p+i) √
C *(s = s + i) ❌
D *(p = p + i) √

解析如下:

p+1 的本质是移到数组下一个元素的地址(int型四个字节,char型一个字节)
p+i 表示的是第 i+1 个元素的地址,那么 (p+i) 就表示第 i+1 个元素的内容。即 p+i 就是指向元素 a[i] 的指针,(p+i) 就等价于 a[i]。

3.2.2 例题② (char型)

若有:

char c[] = "encourage";
char *p = c;
printf("%s", p+5);

输出结果为:rage

①、char c[ ]= "encourage"中“”(引号)不占存储空间

②、*p = c;意味着将数组c的首地址赋予p

③、 p+5 代表c[5],即第六个字符‘r’

④、输出格式为%s,即将后续字符rage全部输出

4 .
闰年定义:
普通闰年: 能被4整除但不能被100整除的年份
世纪闰年: 能被400整除的年份
year%4==0 && year % 100 != 0 || year % 400==0

5 .
在C语言中%(取余)必须确保分子分母均为整数(可以为负数,但是每一个编译器的负数取余决定于编译器本身,依照编译器规则即可)

3 .
strlen为C语言库函数,包含于string.h中,作用为计算一个字符串(字符数组)中元素的个数,即从数组头部计数,直到遇到字符串结束符\0为止,计数结果不包括\0.
[例子]
strlen(“abcd\0ed\0g”)的返回值为 4

4. 结构体

4.1 结构体定义与定义形式

4.1.1 定义

结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员

4.1.2定义形式

struct 结构体名{
结构体所包含的变量或数组
};

struct stu{char *name;  //姓名int num;  //学号int age;  //年龄char group;  //所在学习小组float score;  //成绩
};

4.2 例题填空(结构体的使用)

填写下方划线处代码:

#include<stdio.h>
struct date
{int year;int month;int day;
};int main()
{date d={2020,1,20};printf("%04d-%02d-%02d\n", _____);date *pd=_____;printf("%04d-%02d-%02d\n", pd->year,pd->month,pd->day);return 0;}

第一空:d.year,d.month,d.day
(注意输出格式)
第二空:&d

C语言期末考试知识点相关推荐

  1. c语言在键盘输入abc回车,C语言期末考试试卷子商务1111、21.doc

    C语言期末考试试卷子商务1111.21 (所有题目答案请写在答题纸上) 一.单项选择题(每题2分, 共60分) 键盘输入为"123 ABC"时,下列程序的输出为_______ #i ...

  2. 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...

    <大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...

  3. 计算机c语言期末答案,大学计算机C语言期末考试试题A.doc

    2008~2009学年第二学期C语言期末考试(A卷) (2008级理科专业) PAGE PAGE 13 专业班级: 学号: 姓名: 一.选择题 (用铅笔把选中的方格涂黑 40×1=40分) 1 A B ...

  4. c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目

    C语言期末考试复习资料 计算机等级考试复习题目 国二国三资料题目 1 C 语言复习题 @复刻回忆 新浪微博账号:http://doc.xuehai.net/panhe14 个人主页 http://do ...

  5. 湖南工业大学c语言在线作业答案,湖南工业大学C语言期末考试复习题(机房题库)...

    C语言期末考试复习题(机房题库) 2.下列各选项中,合法的c语言关键字是( ). A. integex B. sin C. string D. void参考答案: D 3.C语言的程序一行写不下时,应 ...

  6. c语言期末网上考试题目回岔开吗,C语言期末考试题目.doc

    <C语言期末考试题目.doc>由会员分享,可在线阅读,更多相关<C语言期末考试题目.doc(14页珍藏版)>请在人人文库网上搜索. 1.欢迎下载9.单项选择题1. 已知:int ...

  7. C语言期末考试成绩奖励编码,C语言期末考试总结,看完保你过

    <C语言期末考试总结,看完保你过>由会员分享,可在线阅读,更多相关<C语言期末考试总结,看完保你过(38页珍藏版)>请在人人文库网上搜索. 1.C语言概述,第一部分,C语言的初 ...

  8. C语言计算机二级/C语言期末考试 刷题(二)

    收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易,大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章: C语言计算机二级/C语言期末考试 刷题(一) 目录 一.填空   共 ...

  9. C语言计算机二级/C语言期末考试 刷题(四)

    收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易,大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章: C语言计算机二级/C语言期末考试 刷题(一) C语言计算机二级/C语 ...

  10. 大一的c与语言期末试题及答案,C语言期末考试试题及详细答案

    C语言期末考试试题及详细答案 选择练习题 1.C语言中最简单的数据类型包括(B ). A.整型,实型,逻辑型 B.整型,实型,字符型 D.整型,实型,逻辑型,字符型C.整型,字符型,逻辑型 2.C语言 ...

最新文章

  1. 吊打一切的YOLOv4的tricks汇总!
  2. springmvc跨域(转)
  3. Can‘t pickle local object ‘get_transforms.<locals>.process‘
  4. Java 判断字符串是否为空的四种方法、优缺点与注意事项
  5. java示例_Java入门示例
  6. 二叉树的遍历(非递归方式)
  7. [恢]hdu 1040
  8. JS解密入门——有道翻译
  9. 严数据结构c语言及答案,严蔚敏《数据结构(c语言版)习题集》全答案
  10. CF-HW04-胡杰-16332054
  11. Android图片处理之Glide使用大全
  12. 【vue+bootstrap】音乐聚合搜索引擎实现(music-box)
  13. ks108x芯片使用体会
  14. android 根据宽度调整字体大小,android根据分辨率自动调整字体大小的实例代码
  15. 史上最全最强的手机软件列表(特别推荐)
  16. 苹果笔的代替笔有哪些?Ipad好用电容笔测评
  17. 火狐浏览器打印时会出现边框线不显示(缩放页面也会出现)
  18. Python计算机视觉编程第九章——图像分割
  19. automator来解决mac terminal终端快速连接
  20. 好车主互助|中国互联网变革史:工具类互联网企业的跌宕起伏

热门文章

  1. MeasureSpec的简单说明
  2. flash CS6 导入音频不成功的问题
  3. protel99实用基础入门教程
  4. matlab线性平面映射求通项_MATLAB数学建模必备算法--层次分析法AHP
  5. android 时间水印相机,水印相机时间打卡
  6. 使用八爪鱼工具爬取京东当前所有手机信息存入mysql
  7. 关于游戏运营策划管理相关必备知识
  8. 时间序列的平稳性检验方法汇总篇
  9. Pr入门系列之五:熟悉时间轴操作
  10. 06. Java面向对象——更改器方法和访问器方法