搜档网
当前位置:搜档网 › c语言程序设计教学大纲

c语言程序设计教学大纲

c语言程序设计教学大纲
c语言程序设计教学大纲

《C语言程序设计》教学大纲

课程名称:中文名称:C语言程序设计;英文名称:C Language Programming

课程编码:161002

学分:分

总学时:72学时,其中,理论学时:52学时;上机学时:20学时。

适用专业:全校理工科各专业

先修课程:计算机基础

执笔人:

审订人:

一、课程的性质与任务

《C语言程序设计》是为全校所有的理工科专业的学生开设的公共基础课,也是一门重要的必修课。其目的是使学生掌握程序设计的基本方法,培养学生掌握利用计算机处理问题的思维方法与应用能力。要求学生掌握程序的三种基本结构及结构化的程序设计方法,了解并掌握几种典型的算法,并且能够熟练地运用C语言编写各种应用程序,为进一步学习其它相关课程奠定基础。

二、教学内容与学时分配

第一章程序设计基本概念(3

学时)

本章重点:一、算法及特性;二、结构化程序设计方法。难点:算法设计及其表示。

第一节程序和程序设计

一、程序;二、程序设计。

第二节算法

第三节结构化程序设计方法

第四节C语言程序的基本结构

第二章数据类型、运算符和表达式(5学时)

本章重点:一、标识符的正确使用;二、各种基本数据类型的使用;三、算术运算符的优先级和结合性;四、表达式计算中的类型转换。难点:一、各种类型数据在计算机内存中的存储形式;二、自增自减运算。

第一节C语言的数据类型

第二节常量与变量

第三节整型数据

第四节实型数据

第五节字符型数据

第六节算术运算符与算术表达式

第七节赋值运算符与赋值表达式

一、赋值运算符和赋值表达式;二、复合的赋值表达式;三、自加、自减运算符;

四、赋值运算中的类型转换。

第八节逗号运算符与逗号表达式

第三章顺序结构程序设计(4学时)本章重点:一、printf函数;二、scanf函数。难点:输入与输出时的格式控制。

第一节C语句概述

第二节赋值语句

第三节数据的输入与输出

一、printf函数;二、putchar函数;三、scanf函数;四、getchar函数

第四节顺序结构程序举例

第四章选择结构程序设计(4学时)

本章重点:一、逻辑值的表示、使用及其运算;二、关系运算符的运算规则及关系表

达式;三、逻辑运算符的运算规则及逻辑表达式;四、if语句;五、switch语句的形式与执行过程。难点:一、逻辑表达式求值时的“非完全求解法”;二、条件运算符具有的自右向左的结合性及条件表达式的求解过程;三、if语句的嵌套使用问题;四、switch语句的执行过程及在switch语句中正确使用break语句的方法。

第一节关系运算和逻辑运算

一、逻辑量及其在C语言中的表示;二、关系运算符和关系表达式;

三、逻辑运算符和逻辑表达式。

第二节if语句

第三节条件运算符和条件表达式

第四节switch语句

第五节语句标号和goto语句(本节内容仅要求一般了解)

第六节选择结构程序举例

第五章循环结构程序设计(6学时)

本章重点:一、while循环、do-while循环及for循环的构成、执行过程及使用方法;二、循环嵌套的使用方法;三、用循环结构实现的典型算法,如:累加、阶乘、穷举法、递推法等。难点:一、for循环使用时的灵活性,如:表达式的缺省及其处理、循环体是空语句等;二、多重循环(即循环嵌套)的使用;三、break语句和continue语句的作用和区别。

第一节while语句

第二节do-while语句

第三节for语句

第四节循环的嵌套

第五节break和continue语句在循环体中的作用

一、break语句;二、continue语句。

第六节用if语句和goto语句构成的循环(本节内容仅要求一般了解)

第七节循环结构程序举例

第六章数组(6学时)

本章重点:一、各类数组的定义、引用及初始化;二、用字符数组来处理字符串;三、数组应用的典型算法,如:求最大/最小值、排序等;四、字符串处理函数。难点:一、二维数组的存储结构;二、字符数组与字符串的关系;三、字符串的输入输出。

第一节一维数组

第二节二维数组

第三节字符数组

一、字符数组的定义与引用;二、字符数组的初始化;三、用字符数组来存放字符串;四、字符数组的输入和输出;五、用于字符串处理的函数;六、字符数组应用举例。第七章函数(6学时)

本章重点:一、库函数的正确使用;二、函数的定义、调用和说明的方法;三、调用函数和被调用函数之间的数据传递规则;四、函数的递归调用方法。难点:一、函数定义、调用和说明三者的关系;二、传值调用、传址调用的含义及使用;三、递归的实现方法。

第一节库函数

第二节函数的定义和返回值

第三节函数的调用

第四节函数的说明

第五节调用函数和被调用函数之间的数据传递

第六节函数的递归调用

第七节程序举例

第八章用户标识符的作用域和存储类型(4学时)

本章重点:一、作用域与生存期的基本概念;二、局部变量、全局变量的作用域、生

存期及各自使用时的特点;三、static说明对局部变量和全局变量的影响;四、扩展全局变量作用域的方法。难点:一、4种存储类型变量的说明方式、特点及适用范围;二、静态局部变量的初始化及其对程序的影响;三、全局变量与局部变量同名时的处理。

第一节局部变量、全局变量和存储分类

第二节局部变量及其作用域和生存期

第三节全局变量及其作用域和生存期

第四节函数的存储分类

第九章编译预处理(2学时)

本章重点:一、不带参数的宏定义;二、文件包含的作用;三、编译预处理命令在程序中的实际作用。难点:一、带参数的宏定义的替换过程;二、宏调用与函数调用的区别。

第一节宏定义

第二节文件包含

第三节条件编译(本节内容仅要求一般了解)

第十章指针(4学时)

本章重点:一、指针和指针变量的概念;二、指针变量的引用;三、一维数组与指针;

四、指针变量作为函数的参数。难点:一、指针与内存地址的关系;二、指针与数组的地址的关系;三、函数指针;四、数组的三种引用方式(下标法、首地址增量法、指针变量法)。

第一节指针的基本概念

第二节指针变量的定义与引用

第三节函数之间地址值的传递

第四节一维数组和指针

第五节二维数组和指针(本节内容仅要求一般了解)

第六节字符串与指针

第七节函数与指针(本节内容仅要求一般了解)

第十一章结构体、共用体和用户定义类型(4学时)

本章重点:一、结构体类型与结构体类型变量的定义;二、结构体类型变量的引用方法、“.”操作符的意义以及其优先级;三、结构体数组的定义形式、初始化及其引用方式;

四、指向结构体的指针。难点:一、指向结构体的指针;二、结构体数组;三、链表的概念及其对链表的一些简单操作;四、结构体变量的成员与共用体变量的成员在内存中的分布形式;五、结构体变量及结构体指针作为函数的参数。

第一节结构体类型

第二节结构体数组

第三节指向结构体的指针

第四节结构体与函数

第五节链表

第六节共用体(本节内容仅要求一般了解)

第七节枚举类型(本节内容仅要求一般了解)

第八节用typedef说明一种新类型名(本节内容仅要求一般了解)

第十二章位运算(2学时)

本章重点:一、位运算符的语义及作用;二、位运算的应用。难点:位段的概念及使用。

第一节位运算的概念

第二节位运算举例

第三节位段(本节内容仅要求一般了解)

第十三章文件(2学时)

本章重点:一、文件指针的概念;二、文件打开和关闭;三、fscanf函数和fprintf函数。难点:各种文件打开方式的作用。

第一节C语言文件的概念

第二节文件指针

第三节文件的打开与关闭

第四节文件的读写

第五节文件定位函数(本节内容仅要求一般了解)

三、教学基本要求

本课程的基本要求是掌握程序设计的基本原理、概念和方法;在介绍算法、数据结构、计算方法、结构化程序设计方法的基础上,主要介绍C语言及其程序设计方法及应用。主要内容包括:了解C语言的各种数据类型的特点及其运用方法;掌握各类语句的语法及功能;了解算法的描述方法,并掌握一些基本的典型算法;了解程序的三种基本结构,并初步掌握结构化的程序设计方法;掌握在微机中运行C程序的过程和程序调试的方法;能够阅读、理解简单的C程序,并能自己动手编写小型的应用程序。

四、上机内容与学时分配

1、顺序结构程序设计2学时

2、选择结构程序设计2学时

3、循环结构程序设计4学时

4、数组4学时

5、函数4学时

6、指针2学时

7、结构体与共用体2学时

五、大纲说明

本大纲适用于全校理工科各专业。本课程宜安排在学生学完“计算机基础”课程之后的第二学期进行,教学总时数为72学时,其中课堂讲授52学时,计划内上机学时为20学时,另外需要学生多利用业余时间自主安排上机学习。本课程的课堂教学全面采用多媒体CAI技术,按照本大纲的内容进行教学。课程的重点是第三、四、五、六、七章的基本内容;难点主要是第六、七、十章的部分内容。

六、主要参考书

1、《C语言程序设计》第一版,杜友福主编,科学出版社,2004年1月。

2、《C语言程序设计导学》第一版,杜友福主编,科学出版社,2004年1月。

3、《C程序设计》第一版,谭浩强编着,清华大学出版社,1991年7月。

《C语言程序设计》实验(上机)教学大纲

实验名称:《C语言程序设计》课内上机

学时:20学时

学分:

适用专业:全校理工科各专业

执笔人:李新玉

审订人:杜友福

一、实验目的与任务

计算机程序设计语言是在校大学生必须掌握的一种工具。理工科各专业的学生通过本课程的课内上机教学环节,应使学生在C语言编程方面得到实际训练,使学生了解并掌握在微机中运行C语言程序的步骤及程序调试的基本技能,了解C语言的功能和适用领域,具备程序设计的知识和能力。

二、教学基本要求

通过上机实验,加深对基础理论知识和实例程序的理解,培养学生自己动手在微机中利用Turbo C或Visual C++等集成开发环境编辑、调试和运行C语言程序的基本技能。要求学生熟练掌握实验项目中所列C语言课程的基本知识点,学会综合运用三种基本结构进行程序设计的基本方法。

三、实验项目与类型

四、实验教学内容及学时分配

实验一顺序结构程序设计(2学时)

1.目的要求

了解并掌握在Turbo c 或VC的集成开发环境中如何编辑、编译、连接和运行一个C

程序的过程。掌握和理解C程序的基本结构。掌握各种表达式的使用。掌握和理解本实验中出现的一些基本的C语言语句,体会算法在程序设计中的重要性。

2.方法原理

参照《C语言程序设计导学》中的“C语言上机指南”,将课本中的实例程序输入计算机中编译、连接和运行,并观察、分析运行结果。

3.实验内容

(1)printf函数中的格式控制字符串。

(2)在printf函数中指定输出数据的宽度。

(3)在printf函数中指定输出数据的精度。

(4)在printf函数中指定输出数据以左对齐的格式输出。

(5)字符型数据的输入与输出。

(6)编程从键盘输入圆的半径radius,输出圆的周长和圆的面积。

(7)编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

实验二选择结构程序设计(2学时)

1.目的要求

进一步掌握C程序的编译、连接与运行的过程及各种表达式的使用。利用if语句实现选择结构,利用switch语句实现多分支选择结构,练习调试与修改程序。

2.实验内容

(1)输入任意三个整数n1、n2、n3,求三个数中的最大值。

(2)输入三个整数,分别放在变量a、b、c中,程序把输入的数据重新按由小到大的顺序放在变量a、b、c中,最后输出a、b、c中的值。

(3)编写程序,根据输入的学生成绩,给出相应的等级。90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。

(4)编写一程序实现符号函数的功能。

(5)编写程序,输入能代表一个日期的三个整数(年:y、月:m、日:d),计算并输出该日是该年的第几天。

(6)写一程序,从键盘上输入一个年号year(4位十进制整数),判断该年是否闰年。

(7)编程求一元二次方程的解。

实验三循环结构程序设计(4学时)

1.目的要求

进一步熟悉选择结构的程序设计,练习并掌握实现循环结构的三种方法,练习并掌握选择结构与循环结构的嵌套,练习调试与修改程序。

2.实验内容

(1)统计从键盘输入的一行字符的个数。

(2)从键盘输入一组数据,以0作为结束输入数据的标志,求这组数据之和。

(3)编写程序,用累加的方法求:1+2+3+ +100的值。

(4)循环嵌套的应用----输出九九乘法表。

(5)在循环体中使用break语句。

(6)在循环体中使用continue语句。

(7)计算并输出500以内最大的10个素数以及它们之和。

(8)编程求解百钱买百鸡问题。

(9)要将一根长度为323米的钢材截取成两种规格a、b的长度分别为17米和27米的短料, 每种至少1段, 问分割成a, b各多少段后,剩余的残料r 最少?

实验四数组(4学时)

1.目的要求

掌握数组的定义和数组元素的引用方法,掌握数组初始化的方法,理解字符数组与字符串之间的关系,掌握字符数组(字符串)输入输出的方法,掌握常用字符串处理函数的正确使用方法。

2.实验内容

(1)编写程序,定义一个含有30个元素的int类型数组。依次给数组元素赋奇数1,3,5,;然后按每行10个数顺序输出,最后再按每行10个数逆序输

出。

(2)用一维数组来实现斐波那契数列。

(3)通过键盘给N×N的二维数组输入数据,然后求出其主、次对角线元素之和。

(4)有一个3×4的矩阵,编程求出其中值最大的那个元素的值及其所在的行号和列号。

(5)字符数组的输入和输出。

(6)用于字符串处理的函数。

实验五函数(4学时)

1.目的要求

掌握在C语言中使用函数的方法,掌握C语言通过“值传送”调用函数的方法,掌握

递归函数的设计方法。

2.实验内容

(1)练习使用函数定义的两种形式。

(2)练习使用函数调用的三种方式。

(3)练习使用函数定义与函数说明位置的各种组合情况。

(4)函数参数之间的单向传递。

(5)用选择法对数组中10个整数由小到大排序。

(6)将一个数组中的n个数据按颠倒的顺序重新存放。

(7)用递归的方法求n!。

实验六指针(2学时)

1.目的要求

了解指针和内存地址的基本概念,掌握指针变量的定义及引用方法,掌握指针变量作为函数参数以及返回值为指针值的函数的用法,掌握使用指针访问一维数组的方法。

2.实验内容

(1)取地址运算符“&”和指针运算符“*”的使用。

(2)指针变量的定义、赋值与引用。

(3)用指针变量作为函数参数,在函数中交换主函数的变量a和变量b的值。

(4)通过指针引用数组元素。

实验七结构体与共用体(2学时)

1.目的要求

掌握结构体类型的定义方法,掌握结构体类型变量的定义、引用及初始化方法,掌握结构体类型数组的定义、初始化与引用方法,掌握结构体变量的指针和结构体数组的指针的定义及使用,熟悉通过指向结构体的指针引用结构体的成员的方法,会正确使用“->”操作符,掌握链表的概念及定义形式,了解链表的一些简单操作。

2.实验内容

(1)在结构体中包含结构体类型成员。

(2)结构体类型变量的初始化。

(3)结构体数组的引用。

(4)指向结构体类型变量的指针。

(5)一个简单的静态链表。

(6)简单动态链表的构造方法。

五、考核办法

上机操作考查占40%;考勤与学习态度考查占30%;作业完成情况考查占30%。考核成绩作为课程的平时成绩,并以20%计入课程总成绩。

六、实验教学指导书和参考书

1、《C语言程序设计导学》第一版,杜友福主编,科学出版社,2004年1月。

2、《C语言程序设计》第一版,杜友福主编,科学出版社,2004年1月。

3、《C程序设计》第一版,谭浩强编着,清华大学出版社,1991年7月。

《计算机上机实习(C语言)》教学大纲

实习名称:计算机上机实习(C语言)

实习类型:教学实习

学分:2学分

实习周数:2周

适用专业:全校理工科各专业

执笔人:李新玉

审订人:杜友福

一、实习的性质、目的与任务

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

C语言程序设计(第二版)课后答案 丁亚涛

习题二 一、选择题 二、填空题 1.18 2.int float double 3.10 11 4.8 16 10 5.% 三、阅读题 1. 10,10,9,10 2. j=1, i=2 k=3,i=3 i=3,i=2 k=1,i=1 习题三 一、选择题 二、填空题 1. 从键盘上读入一个字符在屏幕上输出一个字符 #include 2. 按十进制整数形式输出,有符号 按16进制整数形式输出,没有符号 按十进制小数形式输出,输出的数据长度为7位,有2位小数 按字符形式输出一个字符 3. 按十进制整数形式输入数据 按十进制整数形式输入三位数据 跳过3位十进制数据 按字符形式输入一个字符 4. 分程序;; 5. 大写字母L 6. -1 三、阅读题 1. 6 6 6.00 6.00

2. x=127,x= 127,x=177,x=7f y=123.4567,y= 123.46,y=123,45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 习题四一、选择题 二、填空题 1. 非0 0 、 2. k==0 3. n%7==0&&n%==0 else 三、阅读题 1. a=1,b=0 2. c=1 习题五一、选择题 二、填空题 1. for语句 do-while 语句 while 语句 2. a=14,y=26 3. k=14,n=-1 4. 39 5. s=19 6. 22222 7. 10 8. 7 9. 8 10. 5,5 三、改错题

1. for( i=0;i<5;i++);for控制部分用分号分隔 2. int j=0;while(j<10){j++;i=j} 分号是多余的,否则会造成死循环 3. int s=1,i=1; while(i<5) {s*=i; i++; } 两条语句需要加上花括号 4. while(j<10);(分号不能少) 5. continue改为break 习题六 一、选择题 二、填空题 1. 20 0 19 2. 数组名 3. 越界 4. 6 5. j==k a[j][k]=1; a[j][k]=0; 三、阅读题 1. 6 5 4 3 2 1 2. aaa bbb ccc ddd 3. 2,2,1 习题七 一、选择题 二、填空题 1. 整个函数体内局部 2. 整型 3. k<=b return y;

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。2011年10月第二版。ISBN:978-7-302-26972-4。售价:35元。 【答案版本】本习题答案为2012年2月修订版本。 一、选择题 1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句执行一次 D. 循环体语句一次也不执行 2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。 A. 运行程序段后输出1 B. 程序段执行无限次 C. 运行程序段后输出0 D. 程序段中的控制表达式是非法的 3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。 A. int a=1,b=2; while(b--); B. int a=1,b=2; do a++; while(a==b); C. int a=1,b=2; while(a=3); D. int a=1,b=2; do b-- while(b==0); 4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。 do{ printf(“%d\n”,i--); } while(i!=0); A. 0 B. 1 C. 5 D. 无限 5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。 A. 0 B. 5 C. 10 D. 无限 6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。 A. break语句用于循环体内,它将结束该循环 B. break语句用于开关语句,它结束该开关语句 C. break语句用于if语句的内嵌语句内,它结束该if语句 D. break语句在一个循环体内可使用多次 7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。 A. 循环体内可以包含有循环语句 B. 循环体内必须同时出现break语句和continue语句 C. 循环体内可以出现选择语句 D. 循环体可以是空语句 8. 以下不是死循环的是D)for(;(c=getchar()!=’\n’);)printf(“%c”,c);。 A. for(; ; x+=i); B. while(1) { x++; } C. for( i=10; ; i--) sum+=i; D. for( ; (c=getchar() )!=’\n’ ; ) printf( “%c”,c); 9. 执行语句”for(i=0;i++<3;);”后,变量i的值为C) 4。 A.2 B. 3 C. 4 D. 5 10.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C)循环4次。 A. 无限循环 B. 循环次数不定 C. 循环4次 D. 循环3次

《C语言程序设计教程(第二版)》习题答案

2 第1章程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf("cock hen chick\n"); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++) if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法源程序: main() {int i; for(i=0;i<=19;i++) printf("%8d",fib(i));} fib(int i) {return(i<=1?1:fib(i-1)+fib(i-2));} 执行结果: 1 1 2 3 5 8 13 21 3 4 55 89 144 233 377 610 987 1597 2584 4181 6765

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

国家开放大学C语言程序设计A第一次形考任务与答案(20201127230652)

一、选择题(共40分,每小题2分) 1 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()* A.main B. MAIN C. name D. function 题目2 1 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj * D.c 题目3 1 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4

程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为() A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

* D.空格或回车 题目5 1 每个C语言程序文件的编译错误被分为()。 A. 1类 ” B.2 类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} + D.{y=10} 题目7 1 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()

B. 语句 C. 参数表 D. 函数体 题目9 1 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用 的起止定界符为一对()。 A. 尖括号 * B.双引号 C. 单引号 D. 花括号 题目10 L 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // + B./* C.*/ D ** 题目11 1 在printf()函数调用的格式字符串中,若使用格式符为“%C',则对应输出的数据类型为()。

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案 一、单项选择题。从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。 1.一个C 语言程序的执行是从( )。 A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 B )本程序的main 函数开始,到main 函数结束 C )本程序的main 函数开始,到本程序文件的最后一个函数结束 D )本程序文件的第一个函数开始,到本程序的main 函数结束 2.下列选项中不属于...C 语言关键字的是( ) 。 A )switch B )printf C )default D )case 3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。 A )24 B ) -24 C )4 D )16 4.已知int i;float d;,则正确的表达式是( )。 A )(int d) B )int(d)%i C )(int)d%i D )int(d%i) 5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。 A )5 B )16 C )27 D )38 6.下列选项中合法的字符型常量是( )。 A )"a" B )'\n' C )"\n" D )a 7.下面程序的运行结果是( )。 #include void main( ) { int k = 15; printf("k = %d,k = %o,k = %x\n",k,k,k); } A )k = 15,k = 15,k = 15 B )k = 15,k = 17,k = 17 C )k = 15,k = 017,k = 0xf D )k = 15,k = 17,k = f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确... 的输入形式是( )。 A )10 B )10 C )10,20,30 D )10 20 20 20 30 30 30 9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。 if(x>y) z=x;x=y;y=z; printf("%d,%d,%d",x,y,z); A )1,2,3 B )2,3,3 C )2,3,1 D )2,3,2 10.若变量c 为char 类型,能正确判断出c 为大写字母的表达式是( )。 A )'A'<=c<='Z' B )('A'<=c)||(c<='Z') C )(A<=c)&&(c<=Z) D )('A'<=c)&&(c<='Z') 11.有以下程序段: int k=0; while(k=1) k++; while 循环执行的次数是( )。 ------------------------------------------ 第 ----------------------------2----------------------------装 ---------------------------------------线--------------------------------------------- 班级 姓名 学号 ------------------------------------------ 第 ----------------------------1----------------------------装

C语言程序的设计习题参考答案(第二版_杜友福)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

(推荐下载)C语言程序设计练习题(含程序及参考答案)

(完整word版)C语言程序设计练习题(含程序及参考答案) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)C语言程序设计练习题(含程序及参考答案))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)C语言程序设计练习题(含程序及参考答案)的全部内容。

1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include 〈stdio.h〉 int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c〉b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d”,&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape :%d\n”,shape);

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

C语言程序设计第一次月考试题

C语言程序设计第一次月考试题(2011.9) 班级:姓名:总分: 一、选择题(每小题3分,共60分) 1.一个C语言程序是由() A)一个主程序和若干子程序组成B)函数 C)若干过程组成D)若干子程序组成 2.下面4个选项中,均是C语言关键字的选项是() A)auto enum include B)switch typedef continue C)singed union scanf D)if struct type 3. 下面4个选项中,均是不合法的用户标识符的选项是() A)A P_0 do B)float 1a0 -A C) b—a goto int D) _123 temp INT 4.下面4个选项中,均是不合法的整形常量的选项是() A)- - 0f1 - oxfff 0011 B)- oxcdf 017 12,456 C) – 018 999 5e2 D)-0x48eg -068 03f 5. 下面4个选项中,均是不合法的浮点数的选项是() A)160.0.12 e3 B)123 2e4.2 .e5 C)-.18 123e4 0.0 D)-e3 .234 1e3 6.下面4个选项中,均是不合法的转义字符的选项是() A)‘\‖‘?\\‘?\xf‘B)‘\1011‘?\‘?\a‘ C) ?\011‘?\f‘?\}‘D)‘\abc‘?\101‘?x1f‘ 7.下面不正确的字符串常量是() A)‘abc‘B)‖12‘12‖C) ‖0‖D)‖‖ 8.Int k=7, x=12; 则以下能使值为3的表达式是() A)x%=(k%=5) B)x%=(k- k%5) C) x%=k-k%5 D)(x%=k) – (k%=5) 9.若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 是() A) 4 B)16 C)32 D)52 10.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( ) A) 7 B) 8 C)6 D)2 11.已知各变量的类型说明如下: Int k, a, b; unsigned long w=5; double x=1.42; 则以下不正确的表达式是() A) x%(-3) B)w+=-2 C) k=(a=2,b=3, a+b) D)a+=a-=(b=4)*(a=3) 12.已知字母A的ASCII码为65,且定义c2为字符型变量,则执行语句c2=‘A‘+‘6‘-?3‘;后;c2中的值为() A) D B) 68 C)不确定的值D) C

C语言程序设计《习题集》

第二章 练习一 一.选择题 1.以下说法中正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.以下说法中正确的是 A)#define和printf都是C语句B)#define是C语句,而printf不是 C)printf是C语句,但#define不是D)#define和printf都不是C语句 3.在C语言提供的合法的关键字是 A)swicth B)cher C)Case D)default 4.以下选项中属于C语言的数据类型是 A)复数型B)逻辑型C)双精度型D)集合型 5.C语言中最简单的数据类型包括 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型 6.C语言提供的合法的数据类型关键字是 A)Double B)short C)integer D)Char 7.在C语言中,不正确的int类型的常数是 A)32768 B)0 C)037 D)0xAF 8.在C语言中,合法的长整型常数是 A)0L B)4962710 C)0.054838743 D)2.1869e10 合法的C语言中,合法的字符型常数是 A)'\t' B)"A" C)65 D)A 9.在C语言中,合法的字符常量是 A)'\084' B)'\x43' C)'ab' D)"\0" 10.下列不正确的转义字符是 A)'\\' B)'\" C)'074' D)'\0' 11.若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 A) float B) int C) char D) double 12.设x和y均为int 型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是 A把x 和y按从大到小排列 B把x和y按从小到大排列 C无确定结果

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计习题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad);

A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别() A、do-while的循环体至少执行一次 B、while 的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内

相关主题