C语言第11章结构体1
C语言程序设计习题集(有答案)
高等教育自学考试
C语言程序设计(二)
课程代号(05772)
同步练习题
班级
学号
姓名
二O 一六 年 三 月
目录
第一章 C语言概述
第二章 基本数据类型
第三章 控制结构
第四章 运算符和表达式
第五章 函数
第六章 数组
第七章 字符与字符串
第八章 变量类别与编译预处
第九章 指针
第十章 结构体、共用体和枚举类型
第十一章 文件
1
第一章 C语言概述
一、单项选择题
1. 在计算机上可以直接运行的程序是( )。
A.高级语言程序 B.汇编语言程序
C.机器语言程序 D.C语言程序
2. 一个C语言程序是由( )
A.若干函数组成 B.若干过程组成
C.若干主程序组成 D.若干子程序组成
3. C语言不具有的特点是( )
A.具有结构化的控制语句
B.数据类型丰富
C.语法限制不太严格,程序设计自由度大
D.在可移植性上,C语言比其他语言差
4. 以下叙述不正确的是( )
A.一个C语言程序可由一个或多个函数组成
B.一个C语言程序必须包含一个主函数
C.C语言程序的基本组成单位是函数
D.在C语言程序中,注释说明只能位于一条语句的后面
5. 以下叙述正确的是( )
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别和执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚,所以具有其他语言的一切优点
二、填空
1. 计算机语言的发展经过了 、 和 等阶段。
2. C语言既适合编写 ,也适合编写应用软件。
标准答案
一、单项选择题
CADDC
二、填空
1. 机器语言,汇编语言,高级语言
《C语言程序设计》教案
《C语言程序设计》教案
一、教案简介
1. 课程名称:C语言程序设计
2. 适用对象:计算机科学与技术专业本科生、研究生,以及对C语言编程感兴趣的初学者
3. 课时安排:共计32课时,每课时45分钟
4. 教学目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针等概念,培养学生具备基本的编程能力和编程思维,为后续学习更高级的编程语言和计算机科学知识打下基础。
二、教学内容
1. 第一章:C语言概述
1.1 C语言的历史和发展
1.2 C语言的特点
1.3 集成开发环境(IDE)的使用
1.4 简单的C语言程序实例
2. 第二章:数据类型和运算符
2.1 数据类型
2.1.1 基本数据类型
2.1.2 构造数据类型
2.1.3 指针类型
2.2 变量和常量 2.3 运算符
2.3.1 算术运算符
2.3.2 关系运算符
2.3.3 逻辑运算符
2.3.4 赋值运算符
2.3.5 其他运算符
3. 第三章:控制结构
3.1 顺序结构
3.2 选择结构
3.2.1 if语句
3.2.2 switch语句
3.3 循环结构
3.3.1 while循环
3.3.2 do-while循环
3.3.3 for循环
4. 第四章:函数
4.1 函数的定义和声明
4.2 函数的参数和返回值
4.3 局部变量和全局变量
4.4 函数的递归调用
4.5 常用的库函数
5. 第五章:数组和指针 5.1 一维数组
5.2 二维数组
5.3 字符数组和字符串
5.4 指针的基本概念
5.5 指针与数组
5.6 指针与函数
三、教学方法
1. 讲授法:讲解基本概念、语法规则、编程技巧等
2. 案例教学法:通过编写实际程序,使学生理解和掌握相关知识
3. 实验教学法:安排上机实验,让学生动手实践,培养编程能力
4. 小组讨论法:组织学生进行小组讨论,分享学习心得,提高沟通与合作能力
四、教学评价
1. 平时成绩:包括课堂表现、作业完成情况、实验报告等,占总评的40%
C语言结构体对齐问题
C语言结构体对齐问题
1。几个结构体例子:
struct{
short a1;
short a2;
short a3;
}A;
struct{
long a1;
short a2;
}B;
sizeof( A)=6, sizeof( B)=8,为什么?
注:sizeof(short)=2,sizeof(long)=4
因为:“成员对齐有一个重要的条件,即每个成员按自己的方式对齐。其对齐的规则是,每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数(这里默认是8字节)中较小的一个对齐。并且结构的长度必须为所用过的所有对齐参数的整数倍,不够就补空字节。”(引用)
结构体A中有3个short类型变量,各自以2字节对齐,结构体对齐参数按默认的8字节对齐,则a1,a2,a3都取2字节对齐,则sizeof(A)为6,其也是2的整数倍;
B中a1为4字节对齐,a2为2字节对齐,结构体默认对齐参数为8,则a1取4字节对齐,a2取2字节对齐,结构体大小6字节,6不为4的整数倍,补空字节,增到8时,符合所有条件,则sizeof(B)为8;
可以设置成对齐的
#pragma pack(1)
#pragma pack(push)
#pragma pack(1)
struct{ short a1;
short a2;
short a3;
}A;
struct{
long a1;
short a2;
}B;
#pragma pack(pop)
结果为sizeof( A)=6,sizeof( B)=6
************************
#pragma pack(8)
struct S1{
char a;
long b;
};
struct S2 {
char c;
struct S1 d;
long long e;
};
#pragma pack()
《C语言程序设计》教学大纲
12
《C语言程序设计》教学大纲
(理论课程)
课程名称:C语言程序设计 课程类型:公共必修课
课程编号: 080714 开课院(部):工程学院、金融学院
本课程学时学分:64学时(讲授32学时,实验32学时),4学分
适用专业:土木工程、工程管理、工业工程、数学与应用数学
开课学期:第2学期 先修课程:无
一、课程简述
本课程是工程与应用数学类学生的一门公共必修课,主要任务是介绍程序设计基础知识、算法基础知识、C语言中数据类型、运算符、表达式、数组、函数、指针、结构体等知识。目的是使学生掌握一门高级程序设计语言,了解程序设计的基本概念与方法,进而学会利用C语言去解决工程与数学应用问题。
二、课程要求
(一)教学方法
通过本课程的教学,掌握C程序设计的基本知识,能用面向过程的分析方法解决基本问题,并能较熟练地利用C语言进行程序设计。C语言对实践的要求较高,学生只有通过大量的上机实践才能巩固和掌握课堂的教学内容,因此要求学生课后要多进行上机实践。
(二)教学手段
课堂授课采用多媒体课件。
(三)课外作业
每章节都配有相应的复习思考题和实验题。
(四)辅导答疑
使用课后辅导、E-mail等多种方式辅导答疑。
(五)考核方式及成绩评定
本课程考核方式为:笔试。
12
总成绩=平时成绩(30%)+期末考试(70%)
三、教材或者主要教学参考资料
[1] 教育部考试中心.《全国计算机等级考试二级教程:C语言程序设计(2013年版)》.北京:高等教育出版社,2013。
[2] 谭浩强.《C程序设计教程(第四版)》.北京:清华大学出版社,2010。
[3] 谭浩强.《C程序设计(第四版)学习辅导》. 北京:清华大学出版社,2010年7月。
四、各教学环节学时分配
以表格方式表现各章节的学时分配,表格如下:
章节 章节名称 学 时
第1章 程序设计基本概念 1
第2章 C程序设计的初步知识 3
《C语言》章节列表
第1章程序设计和C语言1
第2章算法——程序的灵魂16
第3章最简单的C程序设计——顺序程序设计
第4章选择结构程序设计85
第5章循环结构程序设计114
第6章利用数组处理批量数据142
6.1怎样定义和引用一维数组142
6.1.1怎样定义一维数组143
6.1.2怎样引用一维数组元素144
6.1.3一维数组的初始化145
6.1.4一维数组程序举例146
6.2怎样定义和引用二维数组148
6.2.1怎样定义二维数组149
6.2.2怎样引用二维数组的元素150
6.2.3二维数组的初始化151
6.2.4二维数组程序举例152
6.3字符数组154
6.3.1怎样定义字符数组154
6.3.2字符数组的初始化155
6.3.3怎样引用字符数组中的元素155
6.3.4字符串和字符串结束标志156
6.3.5字符数组的输入输出159
6.3.6使用字符串处理函数161
6.3.7字符数组应用举例165
习题168
第7章用函数实现模块化程序设计170
7.1为什么要用函数170
7.2怎样定义函数172
7.2.1为什么要定义函数172
7.2.2定义函数的方法173
7.3调用函数174
7.3.1函数调用的形式174
7.3.2函数调用时的数据传递175
7.3.3函数调用的过程177
7.3.4函数的返回值178
7.4对被调用函数的声明和函数原型179
7.5函数的嵌套调用182
7.6函数的递归调用184
7.7数组作为函数参数192
7.7.1数组元素作函数实参193
7.7.2数组名作函数参数194
7.7.3多维数组名作函数参数197
7.8局部变量和全局变量199
7.8.1局部变量199 7.8.2全局变量200
7.9变量的存储方式和生存期204
7.9.1动态存储方式与静态存储方式204
7.9.2局部变量的存储类别205
7.9.3全局变量的存储类别208
7.9.4存储类别小结212
c语言结构体数组调用
c语言结构体数组调用
C语言中,结构体是一种用户自定义的数据类型,它可以将不同类型的数据组合在一起。结构体数组是结构体的一种扩展,可以将多个相同类型的结构体组合成一个数组。在本篇文章中,我们将介绍结构体数组的定义、操作及相关应用实例。
一、结构体简介
结构体是一种复合数据类型,它可以将不同类型的数据组合在一起。结构体变量定义的一般形式如下:
```
typedef struct 结构体名 {
数据类型1 变量名1;
数据类型2 变量名2;
...
} 结构体名;
```
例如,定义一个表示学生的结构体:
```c
typedef struct {
int id;
char name[20];
float score; } Student;
```
二、结构体数组的定义和初始化
结构体数组的定义与普通数组类似,只是在数组元素类型前加上结构体名。定义结构体数组时,可以同时为数组元素赋初值。
```c
Student students[5] = {
{1, "张三", 85.5},
{2, "李四", 90.0},
{3, "王五", 78.5},
{4, "赵六", 82.0},
{5, "孙七", 95.0}
};
```
三、结构体数组的操作
1.访问结构体数组的成员
通过结构体指针或结构体数组名访问结构体数组的成员。
```c
Student s1 = students[0]; // 通过结构体数组名访问第一个学生的信息
Student *p = students; // 指向结构体数组的指针
```
2.修改结构体数组的成员 通过结构体指针或结构体数组名修改结构体数组的成员。
```c
p->name[0] = "Z"; // 修改第一个学生的名字第一个字符
s1.score += 10.0; // 修改第一个学生的分数
《C语言程序设计基础》课程教学大纲
《C语言程序设计基础》课程教学大纲
一、课程性质、地位和任务
《C语言程序设计基础》是计算机类、电子信息类、自动化类等专业必修的基础课程。C语言具有简洁、类型丰富、结构完整、表达力强、直接操作内存单元、适用于模块化结构等特点,由于它的显著优点,C语言成为许多学校学生学习编程的入门课程。并且是数据结构、Java、python、单片机等课程的先导课程。课程的主要任务是引导学生进入精彩的计算机世界,掌握程序设计思维、过程和技巧。培养学生动手解决问题的能力和创新精神。
二、教学目标及要求
通过理论和实践教学,使学生较好地掌握程序设计的基本知识和结构化编程的思想和方法;能够独立或者与其他人合作编写较为复杂的程序;具备初步的程序设计能力,能够灵活运用模块化思想将复杂问题逐步分解,并且编写出相应的程序解决问题。
三、教学内容及安排
序号 内容模块 学时
1 第一章 C语言概述 2
2 第二章 数据类型 4
3 第三章 选择结构 4
4 第四章 循环结构 4
5 第五章 数组 4
6 第六章 函数 8
7 第七章 指针 4
8 第八章 结构体 4
9 第九章 字符串 2
10 第十章 文件 4
11 第十一章 综合应用 8
合计 48
第一章 C语言概述(2学时) 教学目标:掌握C程序的基本结构、熟悉C语言集成开发环境、了解C语言学习方法。
教学内容:
1 程序与程序设计语言
2 C语言概述
3 C语言学习方法
4 C语言集成开发环境
5 项目介绍
6 C语言程序基本结构
第二章 数据类型、运算符和表达式(4学时)
教学目标:掌握数据类型的概念、基本数据类型、变量的定义与使用。
教学内容:
1数据类型概述
2 常量与变量
3 基本数据类型
4 运算符、表达式与语句
5不同数据类型之间的转换
第三章 选择结构(4学时)
教学目标:掌握关系、逻辑表达式的用法,掌握选择语句的用法。
佛山科学技术学院教学日历.
1 佛山科学技术学院教学日历
2006至2007学年第 二 学期
授课教师姓名 林冬梅 职称 副教授
授课专业班级06机械设计制造及自动化 课程名称C语言程序设计
根据何种教学大纲 本校《C语言程序设计》教学大纲
采用教材名称 谭浩强 《C程序设计》(第二版)
周 次
日 期 周
学
时 其 中
教学内容摘要
(章节名称、讲述的内容提要,实验的名称,课堂讨论的题目等) 讲
课 实验课 习
题
课 课
堂
讨
论 其他环节
第一周
3月4日
至
3月10日 4 4 第1章 C语言概述
1.1 C语言出现的历史背景 1.2 C语言的特点
1.3 简单的C程序介绍 1.4 C程序的上机步骤
第3章 数据类型、运算符与表达式
3.1 C的数据类型 3.2 常量与变量
3.3 整型数据 3.4 实型数据
第二周
3月11日
至
3月17日 4 2 2 第3章 数据类型、运算符与表达式
3.5 字符型数据 3.6 变量赋初值
3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式
3.9 赋值运算符和赋值表达式 3.10逗号运算符和逗号表达式
第4章 最简单的C程序设计==顺序程序设计
4.1 C语句概述 4.2 赋值语句
4.3 数据输入输出的概念及在C语言中的实现
实验1:C程序的运行环境和运行一个C程序的方法
第三周
3月18日
至
3月24日 4 2 2 第4章 最简单的C程序设计==顺序程序设计
4.4 字符数据的输入输出
4.5 格式输入与输出
计算机二级C语言测试题(含答案)
(第一章)
1. 以下关于算法的描述不正确的是__________。
A. 任何一个问题,它的实现算法是唯一的
B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等
C. 算法的最终实现是计算机程序
D. 正确性和清晰易懂性是一个好算法的基本条件
2.下面是一个加法程序,指出存在的逻辑错误和语法错误。
/* 求整数a和b的和 */
main( )
{
int a,b;
a=8;
b=2000;
print("%d\n",a-b);
}
3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。
A.main B. MAIN C. name D. function
4.以下叙述不正确的是__________。
A.C程序书写格式规定,一行内只能写一个语句
B.main()函数后面有一对花括号,花括号内的部分称为函数体
C.一个C程序必须有main()函数
D.C规定函数内的每个语句以分号结束
5.以下各标识符中,合法的用户标识符为_________。
A.A#C B.mystery C.main D.ab*
6.已知求解某问题的算法如下:
⑴ 输入a、b、c三个数。
⑵ 将a和b比较,较大者放在a中,小者放在b中。
⑶ 将a和c比较,较大者放在a中,小者放在c中。
⑷ 将b和c比较,较大者放在b中,小者放在c中。 ⑸ 依次输出a、b、c。
请根据上述算法描述,把算法的功能表达出来。
【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。
7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。
A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。
B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
西南交通大学峨眉校区课程教学大纲计算机程序设计课程教学
西南交通大学峨眉校区课程教学大纲
《计算机程序设计》课程教学大纲
(Computer Programming Languages)
一、本课程的教学目标
本课程的主要目的和要求是:掌握C语言程序设计的基本知识和程序设计方法,为后续课程的学习打下基础,也使同学掌握一个用计算机解决问题的工具;培养计算机程序设计的能力和素质,以及思维方法,为以后学习其它计算机程序语言打下基础。本课程是一个实践性非常强的课程,要求学生要注重实践,在掌握C语言的基本语法后,重点应放在提高编程能力的训练上。
本课程要求学生掌握计算机软硬件的基本知识,并具备使用计算机的基本能力。学生通过本课程的学习,就掌握了用C语言开发程序的工具,可以在后续课程中使用。
二、教学内容的基本要求和学时分配
1.学时分配
教 学 内 容 章 目 本课程学分:3.5
学 时 分 配
讲课 上机 小计
第1章 C语言概述 2 2
第2章 常用算法简介 2 2
第3章 数据类型、运算符与表达式 4 1 5
第4章 顺序程序结构设计 2 1 3
第5章 选择结构程序设计 2 1 3
第6章 循环控制 3 1 4
第7章 数组 9 2 11
第8章 函数 9 3 12
第9章 编译预处理 1 1 2
第10章 指针 6 2 8
第11章 结构体与共用体 6 2 8
第12章 位运算 1 1 2
第13章 文件 1 1 2
合 计 48 16 64
2.具体要求
第1章 C语言概述
[目的要求] 向同学讲明,为什么要学习计算机语言,它有什么用处等,计算机语言在整个计算机科学与技术中的地位等,激发同学学习积极性。
[教学内容] C语言的版本、C语言的特点、C语言的结构及C语言的上机步骤及环境。 [重点难点] 本章的难点是让学生了解计算机语言特点,用途,从源码生成可执行程序的过程。
[教学方法] 以教、学相结合的方式,采用多媒体手段进行教学。因为学生初次接触计算机语言,对讲述的内容感到难以理解,教师要尽可能用通俗易懂的语言把问题讲清楚,并发挥多媒体教学的特点,在课堂上结合几个简单程序的编写,编译,运行,加深学生对讲述内容的理解。
