目录

  • 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.已有定义语句,int x=3,y=4;则执行表达式(x++==3)||(y++==4)

后,变量 y 的值是( )。

A.3 B.4 C.5 D.6

2.下列运算符中优先级最高的是( )。

A.== B.+ C.= D.<=

3.若有 a=1, b=0, c=2, d=3,则条件表达式 a<b?a:c<d?c:d 的值是

A.0 B.1 C.2 D.3

4.在 C 语言中逻辑值为“真”的是

A.true B.大于 0 的数 C.非 0 的整数 D.非 0 的数

5.设有: int a=1,b=2,c=3,d=4,m=2,n=2;

执行 (m=a>b)&&(n=c>d)后,n 的值是( )。

A.1 B.2 C.3 D.4

6.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这

一关系的表达式是( )。

A.a<>0 B.!a C.a=0 D.a

7.有如下程序,该程序的输出结果是( )。

#include <stdio.h>

main(){

int a=2,b= -1,c=2;

if(a<b)

if(b<0) c=0;

else c++;

printf("%d\n",c);}

A.4 B.3 C.2 D.1

8.请阅读以下程序,判断输出结果( )。

#include <stdio.h>

main(){

int a=5,b=5,c=0;

if(a==b+c) printf(“我是 if 语句!”);

else printf(“我是 else 语句!”);}

A.编译不通过 B.输出结果是:我是 if 语句!

C.输出结果是:我是 else 语句! D.编译没有错,但是什么都不输出。

9.若执行以下程序时从键盘上输入 9,则输出结果是( )。

#include<stdio.h>

main(){

int n;

scanf("%d",&n);

if(n++<10) printf("%d\n",n);

else printf("%d\n",n--);}

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

10.以下不正确的语句形式是( )。

A.if(x>y&&x!=y); B.if(x==y)x+=y;

C.if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);

D.if(x<y){x++;y++;}

11.已知 int x=1,y=2,z=3; 执行语句 if(x>y) z=x; x=y; y=z; 后

x,y,z 的值是( )。

A.x=1,y=2,z=3 B.x=2,y=3,z=3

C.x=2,y=3,2=1 D.x=2,y=3,z=2

12.以下 if 语句语法正确的是( )。

A.if(a>0) printf(“%f”,a) else printf(“%f”,-a) ;

B.if(a>0) {a=a+b;printf(“%f”,a);}; else printf(“%f",-a);

C.if(a>0) {a=a+b;printf(“%f”,a);} else printf(“%f”,-a);

D.if(a>0) { a=a+b;printf(“%f”,a)} else printf(“%f”,-a);

13.以下关于 if 语句的错误描述是

A.条件表达式可以是任意的表达式

B.条件表达式只能是关系表达式或逻辑表达式

C.条件表达式的括号不能省

D.与 else 配对的 if 语句是其之前最近的未配对的 if 语句

14.C 语言的 switch 语句中,case 后( )。

A.只能为常量 B.只能为常量或常量表达式

C.可为常量及表达式或有确定值的变量及表达式

D.可为任何量或表达式

15.下面程序输出的结果是( )。

main(){

int a=1,b=2;

switch(a){

case 1: printf("外 switch 部分\n");

switch(b) {

case 2: printf("内 switch 部分\n"); }}}

A. 提示错误 B. 外 switch 部分

C. 内 switch 的部分 D. 外 switch 部分

内 switch 部分

二、判断题

1.在 if 语句的三种形式中,如果要想在满足条件时执行一组(多个)语

句,则必须把这一组语句用{}括起来组成一个复合语句。( )

2.if(a=5) 是正确的 if 语句。 ( )

3.在 switch 语句中,每一个的 case 常量表达式的值可以相同。( )

4.在 switch 语句中,多个 case 可以共用一组执行语句。( )

5.case 语句后如没有 break,顺序向下执行。( )

三、编程题

1.输入三个数,按照从大到小输出。

2.输入一个 5 位的正整数,判断是否是回文数。(所谓回文数,是前后

对称的数字相同,如:12321)

3.输入一个字符,如果是大写字母,转换为小写,如果是小写字母转换

为大写并输出,其它字符原样输出。

4.输入年月日,输出该日期是今年的第几天。