第二章,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服 ...
随机推荐
- Html5 -- 语义标签兼容性处理
方法一:通过js处理 方法二:完美的处理方式 no.1 !--[if lte IE 8]> <script type="text/javascript" src=&qu ...
- ffmpeg 学习:002-代码架构
前言 使用 ffmpeg 库时,最好先理解好ffmpeg的代码结构图. 下面这张图表明了FFmpeg在解码一个视频的时候的函数调用流程,为了保证结构清晰,其中仅列出了最关键的函数,剔除了其它不是特别重 ...
- VUE - 路由跳转时设置动画效果
/* 为对应的路由跳转时设置动画效果 */ <transition name="fade"> <router-view /> & ...
- CVE-2019-0708—微软RDP远程桌面代码执行漏洞复现
0x01 2019年9月7日凌晨,msf上更新了0708的漏洞利用程序. 顿时安全群和朋友圈就爆炸了 - 奈何接到HW攻击队任务,又在家过了个中秋,0708才在今天更新. 0x02 环境 Window ...
- swing开发图形界面工具配置(可自由拖控件上去)
swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...
- 查看Python安装目录 -- 一个命令
pip --version
- 0109 springboot的部署测试监控
springboot的部署测试监控 部署 基于maven 打包 JAR 打包方式一般采用的jar包,使用springboot的默认方式即可: 使用maven命令: mvn clean package ...
- linux后台运行jar
1. 在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式当ssh窗口关闭时,程序中止运行,或者是运行时没法切出去执行其他任务 2. 保持程序后台运行 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:LinkedList类
import java.util.LinkedList ; public class LinkedListDemo01{ public static void main(String args[]){ ...
- 使用Python绘制漫步图
代码如下: import matplotlib.pyplot as plt from random import choice class RandomWalk(): def __init__(sel ...