第二章,C语言概述
2.1 简单的C程序示例
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num;
num=;
printf("I am a simple");
printf("computer.\n");
printf("MY favorite number is %d because it is first.\n",num); getchar();
return ;
}
2.2 解释示例
典型的c程序

2.3 简单的程序结构
程序由一个或多个函数组成,必须有main函数。
函数由函数头和函数体组成。
函数头包括函数名,传入该函数的信息类型和函数返回类型。
函数体被花括号括起来,由一系列语句、声明组成。
2.8 关键字和保留标志符
关键字:一种基本的c语言数据类型。
标志符:一个变量、函数或其他实体的名称。保留标志符表示那些以下划线字符开头的标志符及标准库函数名,例printf
一、数据类型关键字(12个):
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明共用体(联合)数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
二、控制语句关键字(12个):
A循环语句
(1)for:一种循环语句(可意会不可言传)
(2) do :循环语句的循环体
(3) while :循环语句的循环条件
(4) break:跳出当前循环
(5) continue:结束当前循环,开始下一轮循环
B条件语句
(1) if: 条件语句
(2) else :条件语句否定分支(与 if 连用)
(3) goto:无条件跳转语句
C开关语句
(1) switch :用于开关语句
(2) case:开关语句分支
(3) default:开关语句中的“其他”分支
D返回语句
return :子程序返回语句(可以带参数,也看不带参数)
三、存储类型关键字(4个)
(1) auto :声明自动变量 一般不使用
(2) extern:声明变量是在其他文件正声明(也可以看做是引用变量)
(3) register:声明积存器变量
(4) static :声明静态变量
四、其它关键字(4个):
(1) const :声明只读变量
(2) sizeof:计算数据类型长度
(3) typedef:用以给数据类型取别名(当然还有其他作用)
(4) volatile:说明变量在程序执行中可被隐含地改变
ISO C99标准新增
(1) _Bool:布尔类型,用来表示真或假,零表示假,非零表示真。所有非零的数赋值给布尔型变量,最终的值还是1。
(2) _Complex, _Imaginary:复数类型和虚数类型,C99提供了三种复数类型和虚数类型:float _Complex,double _Complex,long double _Complex和float _Imaginary,double _Imaginary,以及 long double _Imaginary。复数类型包括一个实部和一个虚部,虚数类型没有实部,只有虚部。
(3) _Imaginary
(4) restrict:用来限定指针,表明指针是访问一个数据对象的唯一且初始化对象。作用是告诉编译器除了该指针,其他任何指针都不能对所指向的数据进行存取,以便编译器优化代码。
(5) inline:内联函数,是为了解决C 预处理器宏存在的问题所提出一种解决方案,用来提高函数使用效率。内联函数使用inline关键字定义,并且函数体和申明必须结合在一起, 否则编译器将他作为普通函数对待。
2.11 复习题
1.c语言的基本模块?
函数
2.什么是语法错误?
违反了组成语句或程序的规则。
3.什么是语义错误?
含义错误
4.以下程序的问题?
写下修改后的程序
#include <stdio.h>
int main(void)
{
int s;
s=;
printf("There are %d weeks in a year.\n",s); return ;
}
5.以下4个例子,他们能输出什么结果

6.在main、int、function、char、=中,那些为关键字?
int、char。
7.如何以下面的格式输出words和lines?
printf("There are were %d word and %d lines ",works,lines)
2.12 编程练习
1.主要对于pritf()的使用,以及转义字符\n的使用。
#include <stdio.h>
int main(void)
{
printf("su wen\n");
printf("su\nwen\n");
printf("su");
printf("wen\n");
}
2.打印姓名和地址,如上类似。
3.编写一个程序把年龄转化为天数,并显示这俩个值。
程序目标:将年龄转化为天数
设计程序:
输入年龄数据,将年龄转化为天数,程序输出天数。
用户界面:提示用户输入年龄,然后打印出对应的结果。
程序核心:将年龄转化为天数。
数据类型:应使用整数来存储数据。
#include <stdio.h>
int main(void)
//将年龄转化为天数,
{
int age=;
int day=;
printf("请输入您的年龄\n");
scanf("%d",&age);
day=age*;
printf("your age is %d,the number of day for age is %d",age,day);
return ;
}
4.生成以下输出?
#include <stdio.h>
void jolly(void);
void deny(void);
int main(void)
{
jolly();
jolly();
jolly();
deny();
return ;
}
void jolly(void)
{
printf("you are handsome,Thrice to emphasize\n");
}
void deny(void)
{
printf("I know\n");
}
第二章,C语言概述的更多相关文章
- 《C Primer Plus》- 第二章 C语言概述
本笔记写于2020年1月27日. 本系列文章参考的是<C Primer Plus>(第六版),其中里面会有笔者自己的相关补充. 以下示例均运行于macOS Catalina 10.15.2 ...
- C Primer Plus_第二章_C语言概述_复习题与编程练习
REVIEW 1.如何称呼C程序的基本模块? ans 它们被称为函数 2.什么是语法错误?给出一个英语例子和一个C语言例子 me C的语法错误是指把正确的C符号放在了错误的位置 likes codin ...
- 第二章 c语言概述
一.#include指令和头文件 1.#include C预处理指令,C编译器在编译前对源代码做一些准备工作 2.stdio.h标准输入输出头文件,提供了关于输入输出的信息供编译器使用 头文件包含了建 ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- C#语言————第二章 C#语言快速热身
第二章 C#语言快速热身 ***********一.选择结构**************** 1:if选择结构与java的if选择结构语法完全相同 2:switch选择结构 ①:常量表达式的值可 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- [编程笔记]第一章 C语言概述
//C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...
- [HeadFirst-JSPServlet学习笔记][第二章:高层概述]
第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...
随机推荐
- 最新版本GIT安装
版本问题,最直接的解决办法就是重新编辑安装git吧: 1. 下载:# wget -O git.zip https://github.com/git/git/archive/master.zip 2. ...
- 【转】WdatePicker日历控件使用方法
转 自: https://www.cnblogs.com/yuhanzhong/archive/2011/08/10/2133276.html WdatePicke官 ...
- hdu 2222 Keywords Search 模板题
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- 2018--Linux面试题
1.企业场景面试题:buffer与Cache的区别. 2.企业场景面试题:redhat与CentOS的区别. 3.企业场景面试题: 描述RAID 0 1 5 10的特点. 4.企业场景面试题:32位 ...
- 使用Zabbix监控Nginx服务实战案例
使用Zabbix监控Nginx服务实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编译安装nginx步骤详解并开启状态页 博主推荐阅读: https://www.cn ...
- BubbleSort
看见了一些乱乱的东西,就想着整理一下,基础的冒泡排序 //BubbleSort #include<iostream> using namespace std; void BubbleSor ...
- HDU 4960 Handling the past 2014 多校9 线段树
首先确定的基本思想是按时间离散化后来建线段树,对于每个操作插入到相应的时间点上 但是难就难在那个pop操作,我之前对pop操作的处理是找到离他最近的那个点删掉,但是这样对于后面的peak操作,如果时间 ...
- etcd入门
简介 etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库. etcd内部采用raft协议作为一致性算法,基于Go语言实现. et ...
- Codeforces Round #611 (Div. 3)
原题面:https://codeforces.com/contest/1283 A.Minutes Before the New Year 题目大意:给定时间,问距离零点零分还有多久? 分析:注意一下 ...
- ping不通www.baidu.com,但可以访问www.baidu.com网页
https://blog.csdn.net/stpeace/article/details/45116425 了解网络的人, 基本上都用过ping命令, 这个优秀的小工具通常能非常靠谱地检测网络的连通 ...