目录

  • 1 课程导学
    • 1.1 课程思政总体设计
    • 1.2 课程学习指南
    • 1.3 课程思维导图
  • 2 项目一 认识程序设计与C语言
    • 2.1 学习指导
    • 2.2 课程思政
      • 2.2.1 课程思政教学设计表
      • 2.2.2 融入教学思政案例:千里之行,始于足下
      • 2.2.3 扩展案例:不积跬步,无以至千里
    • 2.3 任务1 认识程序和程序设计
    • 2.4 任务2 认识C语言
      • 2.4.1 C语言产生与发展
      • 2.4.2 C语言的特点
    • 2.5 任务3 C程序开发与运行
      • 2.5.1 C程序组成
      • 2.5.2 C程序开发
    • 2.6 综合实践一 学生成绩管理系统界面设计
    • 2.7 章节测验
  • 3 项目二 顺序结构程序设计
    • 3.1 学习指导
    • 3.2 课程思政
      • 3.2.1 课程思政教学设计表
      • 3.2.2 融入教学思政案例:不以规矩,不能成方圆
      • 3.2.3 扩展案例:培养严谨的习惯
    • 3.3 任务1 认识常量和变量
    • 3.4 任务2 数据表现形式及应用
      • 3.4.1 整型数据表现形式及应用
      • 3.4.2 实型数据表现形式及应用
      • 3.4.3 字符型数据表现形式及应用
    • 3.5 任务3 运算符号及应用
      • 3.5.1 算术运算符及应用
      • 3.5.2 赋值和复合赋值运算符
      • 3.5.3 逗号及其他运算符
    • 3.6 任务4 数据输入与输出
      • 3.6.1 单个字符输入/输出函数
      • 3.6.2 格式化输入函数
      • 3.6.3 格式化输出函数
    • 3.7 任务5 顺序结构应用举例
    • 3.8 综合实践二 学生成绩信息描述与统计
    • 3.9 章节测验
  • 4 项目三 选择结构程序设计
    • 4.1 学习指导
    • 4.2 课程思政
      • 4.2.1 课程思政教学设计表
      • 4.2.2 思政案例:人生也是一道道选择题
    • 4.3 任务1 认识选择结构
    • 4.4 任务2 if语句应用
      • 4.4.1 if简单语句
      • 4.4.2 if标准语句和条件运算符
      • 4.4.3 if多分支语句
      • 4.4.4 if嵌套语句
    • 4.5 任务3 switch语句应用
    • 4.6 任务4 选择结构应用举例
    • 4.7 综合实践三 学生成绩管理系统菜单选择设计
    • 4.8 章节测验
  • 5 项目四 循环结构程序设计
    • 5.1 学习指导
    • 5.2 课程思政
      • 5.2.1 课程思政教学设计表
      • 5.2.2 融入教学思政案例:愚公移山
    • 5.3 任务1 认识循环结构
    • 5.4 任务2 while和do-while语句应用
      • 5.4.1 while语句
      • 5.4.2 do-while语句
    • 5.5 任务3 for语句应用
    • 5.6 任务4 break和continue语句应用
      • 5.6.1 break语句
      • 5.6.2 continue语句
    • 5.7 任务5 循环嵌套应用
    • 5.8 任务6 循环结构应用举例
    • 5.9 综合实践四 学生成绩管理系统菜单循环选择设计
    • 5.10 章节测验
  • 6 项目五 数组应用
    • 6.1 学习指导
    • 6.2 课程思政
      • 6.2.1 课程思政教学设计表
      • 6.2.2 思政案例:关于守序
      • 6.2.3 思政案例:关于同级能量汇聚理论
      • 6.2.4 思政案例:字符串与交友
    • 6.3 任务1 认识数组
    • 6.4 任务2 一维数组定义及应用
      • 6.4.1 一维数组定义与初始化
      • 6.4.2 一维数组应用
    • 6.5 任务3 二维数组定义及应用
      • 6.5.1 二维数组定义与初始化
      • 6.5.2 二维数组应用
    • 6.6 任务4 字符数组定义及应用
      • 6.6.1 字符数组定义与初始化
      • 6.6.2 字符数组输入与输出函数
      • 6.6.3 字符串处理函数
    • 6.7 任务5 数组应用举例
    • 6.8 综合实践五 学生多门成绩存储与处理设计
    • 6.9 章节测验
  • 7 项目六 函数应用
    • 7.1 学习指导
    • 7.2 课程思政
      • 7.2.1 课程思政教学设计表
      • 7.2.2 融入教学思政案例:归纳借鉴,分而治之,各取所长,团结协作
      • 7.2.3 扩展案例:建立自己人生中的各种“函数库”
      • 7.2.4 扩展案例:递归函数与榜样
    • 7.3 任务1 认识函数
    • 7.4 任务2 函数调用
    • 7.5 任务3 函数嵌套调用和递归调用
      • 7.5.1 函数嵌套调用
      • 7.5.2 函数递归调用
    • 7.6 任务4 数组名作为函数参数
    • 7.7 任务5 变量作用域和变量存储类别
    • 7.8 任务6 函数应用举例
    • 7.9 综合实践六 学生成绩管理系统功能模块化设计
    • 7.10 章节测验
  • 8 项目七 指针应用
    • 8.1 学习指导
    • 8.2 课程思政
      • 8.2.1 课程思政教学设计表
      • 8.2.2 思政案例:细节决定成败
    • 8.3 任务1 认识指针
    • 8.4 任务2 变量与指针应用
    • 8.5 任务3 数组与指针应用
    • 8.6 任务4 字符串与指针应用
    • 8.7 任务5 其他指针应用
    • 8.8 任务6 指针应用举例
    • 8.9 综合实践七 学生成绩管理系统指针应用设计
    • 8.10 章节测验
  • 9 项目八 自定义数据类型应用
    • 9.1 学习指导
    • 9.2 课程思政
      • 9.2.1 课程思政教学设计表
      • 9.2.2 思政案例:结构体与规范
    • 9.3 任务1 结构体类型定义与应用
      • 9.3.1 结构体类型定义
      • 9.3.2 结构体变量定义及应用
      • 9.3.3 结构体数组定义及应用
      • 9.3.4 结构体指针定义及应用
    • 9.4 任务2 共用体类型定义及应用
    • 9.5 任务3 枚举类型定义及应用
    • 9.6 任务4 typedef用法
    • 9.7 任务5 结构体应用举例
    • 9.8 综合实践八 学生成绩管理系统结构体应用设计
    • 9.9 章节测验
  • 10 项目九 文件应用
    • 10.1 学习指导
    • 10.2 课程思政
      • 10.2.1 课程思政教学设计表
      • 10.2.2 思政案例:文件管理与合作
    • 10.3 任务1 认识文件与文件指针
    • 10.4 任务2 文件打开与关闭
    • 10.5 任务3 文件读写函数应用
    • 10.6 任务4 文件位置定位与错误检测函数用法
    • 10.7 任务5 文件应用举例
    • 10.8 综合实践九 成绩管理系统文件应用
    • 10.9 章节测验
  • 11 试卷
    • 11.1 试卷一
    • 11.2 试卷二
    • 11.3 试卷三
    • 11.4 试卷四
章节测验

【习题】

一、选择题

1.循环结构的三要素不包含( )。

A.循环变量 B.循环体 C.循环终止条件 D.程序结构图

2.语句 while (!a)中条件!a 等价于( )

A.a==0 B.a!=0 C.a!=1 D.~a

3.已知 int t=0;while (t=1) {...}则以下叙述正确的是( )。

A.循环控制表达式的值为 0 B.循环控制表达式的值为 1

C.循环控制表达式不合法 D.以上说法都不对

4.与以下程序段等价的是( )。

while (a){if (b) continue; c;}

A.while (a){ if (!b) c;} B.while (c){ if (!b) break; c;}

C.while (c){ if (b) c;} D.while (a){ if (b) break; c;}

5.以下程序段,以下哪种说法正确( )。

int x=0,s=0;

while(!x!=0)s+=++x;

printf("%d",s);

A.运行程序段后输出 0 B.运行程序段后输出 1

C.程序段中的控制表达式是非法的 D.程序段执行无限次

6.以下描述中正确的是( )。

A.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体

内不能使用复合语句。

B.do-while循环由do开始,用while结束,在while(表达式)后面不能写

分号。

C.在 do-while 循环体中,是先执行一次循环,再进行判断。

D.do-while 循环中,根据情况可以省略 while。

7.for(i=0;i<10;i++)结束后,i 的值是( )。

A.9 B.10 C.11 D.12

8.关于 for 循环语句的写法正确的是( )。

A.for (i=0,y=3;y<4;i++,y++) B.for (i=0 y=3;y<5;i++)

C.for (i=0,y=3;y<4 i<4;i++,y++)

D.for (i=0,y=3;y<4 i<4;i++2,y++2)

9.若变量已正确定义,有以下程序段

i=0;

do{ printf("%d,",i);}while(i++);

printf("%d\n",i);

其输出结果是( )。

A.0,0 B.0,1 C.1,1 D.程序进入无限循环

10.有如下程序

main(){

int n=9;

while(n>6){n--; printf("%d",n);} }

该程序的输出结果是( )。

A.987 B.876 C.8765 D.9876

11.以下不构成无限循环的语句或语句组是

A.n=0; do{++n;}while(n<=0);

B.n=0; while(1){n++;}

C.n=10; while(n);{n--;}

D.for(n=0,i=1; ;i++) n+=i;

12.下列有关 for 循环描述正确的是( )。

A.for 循环只能用于循环次数已确定的情况。

B.for 循环是先执行循环体语句,后判断表达式。

C.for 循环中,不能用 break 语名跳出循出环体。

D.for 循环语句,可以包含多条语,但要用花括号括起来。

13.下列语句中,错误的是( )。

A.while(x=y) printf(“$$$”); B.do{x++}while(x==10);

C.while(0); D.do{i+=2;}while(a==b);

14.下面的 for 语句( )。

智能终端技术与应用专业教学资源库 《C 语言程序设计》

38

for(x=0,y=10;(y>0)&&(x<4);x++,y-- );

A.无限循环 B.循环次数不定 C.循环执行 4 次 D.循环执行 3 次

15.以下描述正确的是( )。

A.break 语句只能退出多层循环。 B.continue 语句只能退出多层循环。

C.break 语句只能终止本层循环。 D.continue 语句只能终止本层循环。

二、判断题

1.do-while 循环至少要执行一次循环语句。( )

2.continue 只能用于循环体中。( )

3.break 是结束整个循环过程,不再判断执行循环的条件是否成立。( )

4.for 循环的三个表达式可以任意省略,while,do-while 也是如此。( )

5.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。( )

三、运行结果题

写出下列程序运行后结果( )。

#include<stdio.h>

main(){

int a,b,c=0;

for(a=10;a>=2;a- -)

for(b=5;b>=1;- -b)

c++;

printf(“c=%d\n”,++c);}

四、编程题

1.输出所有的水仙花数。(水仙花数是一个三位数,且各位数的立方和

等于该数本身,如:153=1^3+5^3+3^3)

2.从键盘输入两个正整数,输出其最大公约数和最小公倍数。

3.从键盘输入一行字符,统计英文字母、数字字符、空格或其它字符的

个数并输出。

4.有若干只鸡兔同在一个笼子里,从上面数,有 35 个头,从下面数,有

94 只脚。问笼中各有多少只鸡和兔?