当前位置:文档之家› 02290《C++程序设计》课程自学考试大纲

02290《C++程序设计》课程自学考试大纲

02290《C++程序设计》课程自学考试大纲
02290《C++程序设计》课程自学考试大纲

《C++ 程序设计》自学考试大纲

课程代码:2290

使用教材:《C 程序设计》,谭浩强著,清华大学出版社,2005年。

课程性质和学习目的:

本考试大纲供自动化专业《C++ 程序设计》自学考试课程使用。

《C++ 程序设计》是自动化专业学生专业基础课之一,是一门考核考生运用计算机编程能力的课程。通过本课程的学习,使考生熟悉C/C++语言发展;理解和掌握结构化程序设计的基本思想及基本概念;掌握使用C/C++语言进行结构化编程的技术;培养考生用C/C++语言编制程序来解决本专业或其他的一些实际问题,为提高自己的基本技能打下良好的基础。

考核知识点及考核要求:

第1章 C 语言概述

1.1 C 语言出现的历史背景

了解:C 语言出现的历史背景。

1.2 C 语言的特点

了解:C 语言的特点。

1.3 简单的C语言程序介绍

了解:简单的C语言程序结构。

1.4 运行C 语言程序的步骤与方法

掌握:运行C语言程序的步骤和方法。

第2章程序的灵魂--算法

2.1 算法的概念

了解:算法的概念及表示方法。

2.2 简单算法举例

了解:算法的简单算法。

2.3 算法的特性

了解:算法的五个特性。

2.4 怎样表示一个算法

了解:算法的常用描述工具。

掌握:用程序流程图、N-S图和伪代码表示算法。

2.5 结构化程序设计方法

了解:结构化程序设计方法的概念。

第3章数据类型、运算符与表达式

3.1 C语言的数据类型

了解:C语言的数据类型

3.2 常量与变量

了解:什么是常量和变量,以及常量和变量的定义。

3.3 整型数据

掌握:整型变量的分类、表示方法和存储方式。

3.4 浮点型数据

掌握:浮点型变量的分类、表示方法和存储方式。

3.5 字符型数据

掌握:字符型数据的表示方法和存储方式,。

3.6 变量赋初值

掌握:变量赋值的方法。

3.7 各类数值型数据间的混合运算

掌握:整型、实型(包括单、双精度)、字符数据间一起运算时的数据类型转换的原则。

3.8 算术运算符和算术表达式

掌握:基本的算术运算符;算术表达式和运算符的优先级与结合性;强制类型转换的形式;自增、自减运算符。

3.9 赋值运算符和赋值表达式

掌握:赋值运算符和赋值表达式的一般形式。

3.10 逗号运算符和逗号表达式。

掌握:逗号运算符和逗号表达式的一般形式。

第4章最简单的C程序设计----顺序程序设计

4.1 C语句概述

了解:C语句的5种类型。

4.2 赋值语句

掌握:赋值语句和赋值表达式的区别,以及使用方法。

4.3 数据输入输出的概念及在C语言中的实现

了解:数据输入输出的概念及在C语言中的实现方法。

4.4 字符数据的输入输出

了解:字符输出函数putchar函数的表示形式和字符输入函数getchar函数的表示形式。

4.5 格式输入与输出

掌握:格式输入输出函数的使用方法。

4.6 顺序结构程序设计举例

掌握:使用顺序结构,编制出简单的C程序。

第5章选择结构程序设计

5.1 关系运算符和关系表达式

掌握:6种关系运算符;关系表达式的用法,及其优先次序。

5.2 逻辑运算符和逻辑表达式

掌握:逻辑运算符;逻辑表达式的用法,及其优先次序。

5.3 if语句

了解:if 语句的三种形式和if语句的嵌套,以及条件运算符的一般形式。

5.4 switch语句

了解: Switch语句(多分支选择语句)的一般形式。

掌握:Switch 语句的语法特点及用法。

5.5 程序举例

掌握:使用if语句和switch语句编制C程序的方法。

第6章循环控制

6.1 概述

了解:循环语句在程序中重要作用。

6.2 goto语句以及用goto语句构成循环

了解:使用goto语句以及用goto语句构成循环的方法。

6.3 用while语句实现循环

掌握:先判定型循环while语句的一般形式和语法规则。

6.4 用do-while语句实现循环

掌握:后判定型循环do-while语句的的一般形式和语法规则。

6.5 用for语句实现循环

掌握:步长型循环语句for语句的的一般形式和语法规则。

6.6 循环的嵌套

了解:循环嵌套的含义。

掌握:利用循环嵌套方法,编写程序。

6.7 几种循环的比较

了解:各种循环的特点。

6.8 break语句和continue语句

了解:break语句和continue 语句在循环中的含义。

掌握:break语句和continue语句在循环中的运用方法。

6.9 程序举例

掌握:利用三种循环语句及循环嵌套编写C程序。

第7章数组

7.1 一维数组的定义和引用

了解:一维数组的定义;一维数组的引用;一维数组的初始化方法。

掌握:利用一维数组编写C程序。

7.2 二维数组的定义和引用

了解:二维数组的定义;二维数组的引用;二维数组的初始化方法。

掌握:利用二维数组编写C程序。

7.3 字符数组

了解:字符数组的定义方法。

掌握:字符数组的引用;字符数组的初始化方法;字符串和字符串结束标志;字符串处理函数。

掌握:利用字符数组编写C程序。

第8章函数

8.1 概述

了解:函数在C语言中的作用。

8.2 函数定义的一般形式

掌握:函数定义的一般形式。

8.3 函数参数和函数的值

掌握:函数的形式参数、实际参数和函数返回值。

8.4 函数的调用

了解:函数的调用的一般形式。

掌握:被调用函数的声明和函数原型,以及函数调用的方式。

8.5 函数的嵌套调用

掌握:函数的嵌套调用方法。

8.6 函数的递归调用

掌握:函数的递归调用方法。

8.7 数组作为函数参数

掌握:数组作为函数参数的调用方法。

8.8 局部变量和全局变量

掌握:局部变量、全局变量的定义和应用方法。

8.9 变量的存储类别

了解:变量的动态、静态存储方式;register变量、用extern声明外部变量、用static声明外部变量以及变量的声明和定义方法。

掌握:auto变量,用static声明局部变量的方法。

8.10 内部函数和外部函数

了解:内部函数和外部函数的定义及应用。

第9章预处理命令

9.1 宏定义

了解:带参数的宏定义的一般形式和用法。

掌握:不带参数的宏定义的一般形式和用法。

9.2 “文件包含”处理

掌握:文件包含的定义,文件包含的一般形式和用法。

9.3 条件编译

了解:条件编译的定义,条件编译的若干种形式和用法。

第10章指针

10.1 地址和指针的概念

了解:地址和指针的相关概念。

10.2 变量的指针和指向变量的指针变量

了解:指针变量定义的一般形式和指针变量的引用,以及指针和指针变量的区别。

掌握:指针变量作为函数参数的应用方法。

10.3 数组与指针

了解:数组的指针和指向数组的指针变量;

掌握:指向数组元素的指针变量的定义与赋值方式;掌握通过指针引用数组元素的方法;掌握数组名作函数参数的方式;掌握指向多维数组的指针和指针变量的用法。

10.4 字符串与指针

了解:使用字符指针变量和字符数组,实现字符串的存储和运算,两者之间的差异。

掌握:字符串的表示形式;掌握字符串指针作函数参数的用法;掌握字符指针变量与字符数组的用法。

10.5指向函数的指针

了解:用函数指针变量调用函数;用指向函数的指针做函数参数。

掌握:用函数指针变量调用函数的方法;掌握指向函数的指针变量作函数参数的方法。

10.6 返回指针值的函数

掌握:返回指针值的函数的使用方法

10.7 指针数组和指向指针的指针

掌握:指针数组的概念及使用方法;掌握指向指针的指针的用法;掌握指针数组作 main函数的形参的方式;掌握argc、argv的具体含义。

10.8 有关指针的数据类型和指针运算的小结

了解:指针的数据类型、指针运算。

第11章结构体与共同体

11.1 概述

了解:结构体的定义和结构体类型的一般形式。

11.2 定义结构体类型变量的方法

掌握:定义结构体类型变量的方法

11.3 结构体变量的引用

掌握:结构体变量的引用应遵守的四项规则。

11.4 结构体变量的初始化

掌握:结构体变量的初始化方法。

11.5 结构体数组

掌握:结构体数组的定义、初始化和结构体数组应用。

11.6 指向结构体类型数据的指针

掌握:指向结构体变量的指针、指向结构体数组的指针、用结构体变量和指

向结构体的指针做函数参数。

11.7 用指针处理链表

了解:单链表的定义和简单操作。

11.8 共用体

了解:共用体类型变量的定义形式;共同体变量的引用方式;;共用体类型数据的特点;共用体类型变量的应用。

11.9 枚举类型

了解:枚举类型变量的定义、特点与应用。

11.10 用typedef定义类型

了解:用typedef 定义变量的方式。

第12章位运算

12.1 位运算符和位运算

了解:位运算符的种类和各种位运算规则。

12.2 位运算举例

了解:各种位运算符所实现的功能。

12.3 位段

了解:位段的定义及应用形式。

第13章文件

13.1 C文件概述

了解:C文件的含义,文件的存取方式。

13.2文件类型指针

了解:定义文件型指针变量的方式。

13.3 文件的打开与关闭

了解:文件的打开(fopen函数)和文件的关闭(fclose函数)的常用方法。

13.4 文件的读写

了解:文件的读写方式。从文件读入一个字符的fgetc函数和把一个字符写到文件的fgetc函数的操作定义;读数据块的fread函数和写数据块的fwrite 函数;读磁盘文件的fprintf函数和写磁盘文件的fscanf函数;putw函数和getw 函数;fgets函数和fputs函数,以及定义读写其他类型数据函数。

13.5 文件的定位

了解:使文件位置指针重新返回文件开头的rewind函数调用方式;改变文件的位置指针的fseek 函数调用方式。

13.6 出错的检测

了解:检查输入输出函数调用中出错的函数ferror的一般调用方式;使文件错误标志和文件结束标志置为0的clearerr函数的作用。

13.7 文件输入输出小结

了解:常用的缓冲文件系统函数分类、名称和功能。

《C++ 程序设计》考试题型举例

一、单项选择题

1.int sum=0;

for(j=0;j<⒎ j++)

{

sum=sum+j;

}

printf(“ %d\n” ,sum);

答案( )

①28 ②20 ③21 ④18

二、填空题

1.C语言关系运算中的“不等于”运算符是______________。

三、简答题

1.试说明定义在一个函数内部的局部静态变量与其它局部(动态)变量的主

要区别是什么?(至少说明两点)

四、程序分析题(分析程序的运行结果,并将分析结果写在括号里)

1.#include

void main()

{

int x=2,y=1,a=2,b=8;

switch(x)

{

case 1: a++; b++; break;

case 2: switch(y)

{

case 0: a++; break;

case 1: b++; break;

}

case 3: a++; break;

}

print f(“a=%d,b=%d\n” ,a,b);

}

答案( )

五、程序设计题(要求编写完整程序,即所编程序不经过任何改动就可上机通过)

1.编写程序。该程序将整数1到1000中的偶数相加并将相加结果通过调用prinf函数输出。

C程序设计题库

填空题 20*2 ■对于51系列单片机,现有4种语言支持程序设计,它们是(汇编语言)、PL/M、(C语言)、BASIC。 ■单片机程序设计时需要在主程序中设计死循环来防止程序跑飞。在C语言中采用(while(1))或for(;;)语句实现死循环。 ■单片机程序设计中经常用到中断,在C语言程序设计中外部中断1的中断入口序号(2),而汇编语言程序设计中外部中断1的入口地址是(0013H)。 ■编写串口中断程序时要在函数说明部分后写interrupt 4 。 ■编写定时器0中断程序时要在函数说明部分后写interrupt 1 。 ■C语言程序设计中有一个无符号形字符变量temp和一个位变量Flag,现在分别对它们取反。相应的语句为temp=__~___temp; Flag=_!___Flag;。 ■I2C总线在传送数据过程中共有三种类型控制信号,它们分别是:_(起始信号)____、应答信号、_(停止信号)_____。 ■I2C的地址由(协议规定)与(硬件设置)两部分组成。 ■I2C器件的两条信号线分别为串行时钟线SCL 与串行数据线 SDA 。 ■MCS-51单片机操作I2C器件时,单片机必须做为主机,I\O编程。 ■在Cx51所有的数据类型中,只有bit 与unsigned char 直接支持机器指令。 ■编译器性能比较有如下几个方面:算数支持、生产代码大小、开打速度、支持浮点和long 。 ■在KEIL开发套件中,BL51链接器/定位器用于创建一个绝对目标横快。 ■Cx51中函数分为两大类:标准库函数和用户自定义函数。 ■在函数名前如果不指定函数类型,则该函数的类型为整型。 ■具有一定格式的数字或数值叫做数据,数据的不同格式叫做数据类型, 数据按一定的数据类型进行的排列、组合及架构称为数据结构。 ■数据类型的转换有自动转换与强制转换两种。 ■直接出现在程序中的数值(如TMOD=0x21)称为常数。在程序运行的过程中,其值不能改变且被定义为符号的(如#define CONST 60)称为常量。 ■软件对常量与变量的命名规范是:常量名用大写字母,变量名用小写字母。 ■MCS-51单片机串口用于中断通讯时,在进行初始化时必须设置的特殊功能寄存器有:

《C程序设计语言》样卷

韩山师范学院2011年专升本插班生考试样卷 计算机科学与技术专业高级语言程序设计试卷(A卷) 一、填空题(每空1分,共10分) 1.C程序的基本单位是________。 2.C语言源程序文件的后缀是________。 3.C语言中的标识符由________、________和字母组成。 4.设y为float型变量,执行表达式y=6/5之后,y的值是________。 5.在C语言中,要求运算量必须是整型的运算符是___________。 6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。7.已知int a=8,*p=&a;,则*p的值是___________。 8.把一些不同类型的数据作为一个整体来处理时,常用___________。9.若x=2,y=3,则x|y<<2的结果是___________。 二、单项选择题(每小题1.5分,共30分) A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构2.在一个C语言的源程序中,以下叙述正确的是()。

A.必须有除主函数外其他函数B.可以有多个主函数 C.必须有一个主函数D.可以没有主函数 3.以下叙述正确的选项是()。 A.C语言的源程序不必通过编译就可直接执行 B.C语言中的每条语句最终都将被转换成二进制的机器指令 C.C语言程序经编译形成的二进制代码可以直接执行 D.C语言中的函数不可以单独进行编译 4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。 A.有零个输入或多个输入B.高效性C.有穷性D.确定性5.以下能正确定义且赋初值的语句是( )。 A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5 6.有以下程序: main() { char a='a',b; printf("%c",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是( )。 A.bb B.bc C.ab D.ac 7.以下程序段的输出结果是( )。 int a=1234; printf("%2d ",a); A.12 B.34 C.1234 D.提示出错 8.有以下程序:

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C程序设计第三版答案

C程序设计第三版答案 1.5请参照本章例题,编写一个C程序,输出以下信息:************ Very Goodj! ************ 解: main() { printf(" ************ \n"); printf("\n"); printf(" Very Good! \n"); printf("\n"); printf(" ************\n"); } 1.6编写一个程序,输入a b c三个值,输出其中最大者。解:main() {int a,b,c,max; printf("请输入三个数a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max

if(max

C程序设计语言 (第二版) 课后答案第一章

Chapter 1 Exercise 1-1 Run the “hello world” program on your system. Experiment with leaving out parts of the program, to see what error message you get. #include int main() { printf("hello, "); printf("world"); printf("\n"); return 0; } Exercise 1-2 Experiment to find out what happens when printf’s argument string contains \c, where c is some character not list above. Exercise 1-3 Modify the temperature conversion program to print a heading above the table. #include int main() { float fahr, celsius; float lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n"); while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } return 0; }

《C程序设计》试题

《C程序设计》试题 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() 3. 不是C语言实型常量的是:() .字符串“xyzw”在内存中占用的字节数是:() 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:() (a的ASCII码值为97) ,2 ,3 ,2 ,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是: =,b=3 = b=3 3 表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>yx:mc4)后,s,t的值为:() ,2 ,1 ,1 ,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf 最多可执行次数为:() 13. 对于for(s=2;;s++)可以理解为:() A. for(s=2;0 ;s++) B. for(s=2;1 ;s++) C. for(s=2;s<2 ;s++) D. for(s=2;s>2;s++)

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.doczj.com/doc/c57847694.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

C语言程序设计第三版谭浩强课后习题答案完整版

1.6编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个 C 程序,输出以下信息: ************************** Very Good! ************************** 解: mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”);“******************** ****** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “********************** **** ); max=a; if(max

c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使 cl 、c2、c3、c4、c5 五个变量的值分别为,' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

C程序设计(双语版)习题答案

第二章数据类型课后习题 1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗? (a) stock_code 合法、好的助记符 (b) money$ 非法,$为非法字符 (c) Jan_Sales 合法、好的助记符 (d) X-RAY 非法,–为非法字符 (e) int 非法,int为关键字 (f) xyz 合法、不是好的助记符 (g) 1a 非法,变量名必须以字母或下划线打头 (h) invoice_total合法、好的助记符 (i) john's_exam_mark非法,’为非法字符 (j) default 非法,default为关键字 2.请确定下列常量的数据类型: (a) 'x' char (b) -39 int (c) 39.99 double (d) -39.0 double 3.下列哪些是合法的变量定义? (a) integer account_code ; 非法,无integer类型 (b) float balance ; 合法 (c) decimal total ; 非法,无decimal类型 (d) int age ; 合法 (e) double int ; 非法,int为关键字,不能作为变量名 (f) char c ; 合法 4.写出下列各小题中的变量定义: (a) 整型变量number_of_transactions和age_in_years int number_of_transactions, age_in_years; (b) 单精度浮点型变量total_pay,tax_payment,distance和average float total_pay, tax_payment, distance, average; (c) 字符型变量account_type char account_type; (d) 双精度浮点型变量gross_pay double gross_pay; 5. 为下列各小题写出最合适的变量定义: (a) 班级中的学生人数int number_of_students; (b) 平均价格float average_price; (c) 自1900年1月1日以来的天数int days_since_1900;

C程序设计习题解答

一、选择题(蓝色加粗为正确选项) 在C语言中,合法的字符常量是()。 A. '字' B. "A" C. "ABC" D. '\x41' 在C语言中,用户能使用的合法标识符是()。 A. 姓名 B. _xyz C. 5i D. for 在C语言中,不合法的实型常量是()。 A. -0.123 B. -.123 C. -1.23e-1 D. -123e-3.0 C语言的下列运算符中,优先级最高的运算符是()。 A. ++ B. += C. || D. != 设有说明语句int k,i=5,j=10;,则表达式k=(++i)*(j--)的值是()。 A. 50 B. 60 C. 45 D. 55 设有说明语句int i,j;,则表达式i>=j||i

C. TRUE D. 1 已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是()。main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A. 67,D B. C,D C. C,68 D. 67,68 设有语句int x=2,y=3;,则表达式x=(y==3)的值是()。 A. 0 B. 1 C. 2 D. 3 以下程序的运行结果是()。 main() { unsigned a = 0x3ef, b; b = a << 2; 页脚内容2

printf("%x,%x\n", a, b); } A. 3ef,fb B. 3ef,fbc C. fbc,3ef D. fbc,fbc 下列语句中,符合C语言语法的赋值语句是()。 A. a=7+b+c=a+7; B. a=7+b++=a+7; C. a=7+b,b++,a+7; D. a=7=b,c=a+7; 为表示x≥y≥z,须用的C语言表达式为()。 A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=x) C. x>=y>=z D. (x>=y)&(y>=z) 设int a,b;,用语句scanf('%d%d",&b); 输入a、b值时,不能作为输入数据分隔符的是()。 A. 空格 B. , C. 回车 D. [Tab] 以下程序运行时,若从键盘输入5,则输出结果是()。 main() { int a; 页脚内容3

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

《C程序设计语言》模拟试卷二

一、单项选择题 1.以下并非C语言的特点的是____________。 A.C语言简洁紧凑 B.能够编写出功能复杂的程序 C.C语言可以直接对硬件进行操作 D.C语言移植性好 2.在C程序中,main()的位置___ ______。 A.必须作为第一个函数 B.必须作为最后一个函数 C.可以任意 D.必须放在它所调用的函数之后 3.一个C程序是由____ ________。 A.一个主程序和若干个子程序构成 B.一个或多个函数构成 C.若干过程组成 D.若干子程序组成 4.以下字符串为标识符的是___ _________。 A._MY B.2_2222 C.short D.LINE 5 5.下列符号可以作为变量名的是___ ________。 A.+a B.*p C._DAY D.next day 6.设c是字符变量,则以下表达式正确的是___ _______。 A.c=666 B.c='c' C.c="c" D.c="abcd" 7.以下说法正确的是_____ _______。 A.输入项可以为一个实型常量,如scanf("%f", 3.5) B.只有格式控制没有输入项也能进行正确输入,如scanf("%d") C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 D.当输入数据时,必须指定变量的地址,如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。 A.read(a, b, c); B.scanf("%d%d%d", a, b, c); C.scanf("%D%D%D", a, b, c); D.scanf(%d%d%d", &a, &b, &c); 9.若a是float变量,b是unsigned型变量,以下输入语句中合法的是____ ___。 A.scanf("%6.2f%d", &a, &b); B.scanf("%f%n", &a, &b); C.scanf("%f%3o", &a, &b); D.scanf("%f%f", &a, &b); 10.if后面的表达式之值__________。 A.只能是0或1 B.只能是正整数或负整数 C.只能是整数或字符型数据 D.可以是任何类型的数据 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对 关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其直接最近的未配对的if D.同一行上的if 12.选择出合法的if语句(设int x, a, b, c;)____ _____。 A.if(a = b0 x++; B.if (a =< b) x++; C.if(a <> b) x++; D.if (a=>b) x++; 13.语句while(!e); 中的条件!e等价于____ _______。 A. e == 0 B.e!=1 C.e!=0 D.~e 14.C语言中while和do-while循环的主要区别是____ _______。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

C程序设计语言资料

第3次作业 一、填空题(本大题共20分,共5小题,每小题4分) 1?假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为 2. 类型兼容原则指的是:任何在需要________ 对象的地方,都可以用_______________________________________ 的对象 去替代。 3. 重新抛出异常的表达式为:__________ 4. 以下程序的执行结果是______________________ #i nclude using n amespace std; class Base{ public: Base(){cout<< ” T ;} ~Base(){cout<< ” 2” ;} }; class Derived : public Base{ public: Derived(){cout<< ” 3” ;} ~Derived(){cout<< ” 4” ;} }; void mai n(){ Derived d;

5. 以下程序的执行结果是______________________ #i nclude using n amespace std; class A{ int x; public: A(int x){this->x=x;} A &operator--(){x--;return *this;} A operator— nt){A a(x-=2);retur n a;} void show(){ cout? x;} }; void mai n(){ A a(3),b(3); (a--).show(); (--b).show(); } 二、程序阅读题(本大题共40分,共5小题,每小题8分) 1.写出下面程序运行结果。 #i nclude void rev(i nt a[],i nt n) { int t; for(int i=0,j=n-1;i

C程序设计语言第次

第1次作业 一、单项选择题(本大题共60分,共 20 小题,每小题 3 分) 1. C++程序中,用于实现数据输出的是()。 A. 输出流对象cin和提取运算符>> B. 输出流对象cin和插入运算符<< C. 输出流对象cout和提取运算符>> D. 输出流对象cout和插入运算符<< 2. C++程序中,定义内联函数时需要函数的返回值类型前加上关键字()。 A. outline B. inline C. in D. inport

3. 下面所列选项中,合法的用户标识符是()。 A. if B. switch C. finename D. int 4. C++程序中,定义引用变量时,()。 A. 使用的运算符是* B. 使用的运算符是() C. 使用的运算符是& D. 使用的运算符是[] 5. C++程序中要使用标准输入/输出流对象,必要包含()。 A.

string头文件 B. cmath头文件 C. iostream头文件 D. cctype头文件 6. C++程序中,为了导入标准命名空间,使用的语句是()。 A. inporting namespace std; B. using namespace std; C. using namespace standard; D. inporting namespace standard; 7. 下列关于函数的说法中,不正确的是()。 A. 在不同函数中可以使用相同的名字命名变量 B. 形式参数是局部变量 C. 在函数内部定义变量的作用域在本函数中 D. 在一个函数内的复合语句中定义变量的作用域也是整个函数 8. C++程序的函数调用中,使用数值参数传递时,()。

C程序设计

离线考核 《C程序设计(高起专)》 满分100分 一、阅读程序,写出运行结果(每小题8分,共40分。) 1.int x=6, y=7; printf(“%d,”,x++); printf(“%d\n”,++y); 程序的输出结果是6,8 。 2.float f=; printf(“%,%” 3.a=3; a+=(a<1)a:1; printf(“%d”,a); 结果是 4 。 4.main( ) { int a[5]={2,4,6,8,10},*p; p=a; printf("%d,",*(p++)); printf("%d\n",*(p+2)); } 程序的输出结果是2,4 。 ( ) { int i=29,j=6,k=2,s; s=i+i/j%k-9; printf(“s=%d\n”,s); } 程序的输出结果是8。 二、程序填空题(每空3分,共30分。) 1.求矩阵的主、次对角线之和。 main() {static int a[3][3]={9,7,5,1,2,4,6,8,0}; int i,j,s1=0,s2=0; for(i=0;i<3;i++) for(j=0;j<3;j++) {if((1)I==J ) s1=s1+a[i][j]; if((2)I+j==2 ) s2=s2+a[i][j]; } printf(“%d\n%d\n”,s1,s2); }

2.从键盘上输入10个数放入一维数组,然后求其平均值。 main() {int i; float a[10], sum,avg; for(i=0;i<10;i++) (3)scanf("%d", &num[i]); ; (4); for(i=0;i<10;i++) (5){ sum += num[i]; } ; (6)avg = sum * /10; ; printf(“average=%f\n”,avg); } 3.以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。 #include <> main() { (7)FILE *fp; char c; fp= (8)fopen(“myfile”),w ; do { c=getchar(); (9)fputs(c,fp) ; }while(c!=EOF); (10)fclose(fp) ; } 三、编程题(每题10分,共30分。) 1.三个整数a、b、c,由键盘输入,输出其中最大的数。 main() {int a,b,c; printf(“请输入三个整数:”); scanf(“%d,%d,%d”,&a,&b,&c); if(a

《C程序设计语言》读书笔记及课后答案

通过一周多的学习,大体看完了《C程序设计语言》这本书,这是我的笔记。 (一)读这本书的目标是什么? (1)、读完后必须深入了解C的语法以及内涵,并且达到熟练应用。 (2)、通过练习习惯一种编程风格,深入理解指针,数组,结构体以及内存分配。 (3)、通过练习锻炼逻辑思维能力 (4)、学完后编程要上一个层次,自己能够编写出有用的C代码。 (二)这本书哪个部分是我要重点看的? (1)、指针、数组、结构体 (2)、内存分配 (3)、输入输出及接口问题 (三)读这本书我有什么收获? 3、1 对于本书的感受 这是一本经典的C语言书籍,与其他语法书不同的是所有语法都是用例题来讲的,通过例子理解并练习语法,另外这本书的习题比较难做,不是简单的考语法,而是一些有意义的习题。通过做练习发现还是有所收获的。本书中与Linux联系密切,用C重写了许多简化版的Shell命令如:grep,ls,cat,sort,tail,cp等等。 3、2 收获: 因为本来就有C语言的基础知识,所以对于语法问题基本没有多学新的知识,但是仍然对以下几点有了新的了解: 1)、位字段,不管是通过直接设置位字段还是用以前的位计算,都有新的了解与认识。 2)、指针。建立了“指针为大”的思想,对于应用指针进行类型转换以及运算 都有了新的认识。比如:int a=5,char* p, p=(char)&a,*p = ‘c’;建立这样的过 程对于更加复杂的指针转换就理解了。 3)、结构体。通过第六章对于二叉树以及哈希表的应用深入了解结构体, 并且通过调试程序观察递归过程,同时对递归有了一定的理解。 4)、内存分配malloc函数,通过第八章的学习对malloc函数的内部进行分析, 理解了动态内存管理机制。 3.3 学习的程度以及那些地方存在不足: 对于C的基本语法已经差不多了,但是否达到了当初的目标即在编程方面上一个层次,这我并不敢确定,因为到现在为止这本书上的习题有些我都没有搞定,又看了一下以前的有关C的东西是觉得已经好了许多了,最起码对于很麻烦的程序不再感到畏惧了。另外觉得自己对于某些问题还是没有理解透彻,比如说输入输出时的缓冲机制,比如说指针与结构体的灵活运用,比如说如何能够运用模块化的思想把一个大的问题逐步细分,通过一个一个的小模块(函数)逐步解决,这些有的是与逻辑思维有关,有些是与某方面的专业知识有关,有些是单纯与C有关,比如说有关缓冲与内存的知识要了解操作系统,另外编译原理也要知道,这些我以前都没有学过,以后会找机会补一补。当然随着进一步的学习与应用,会逐渐的熟练或理解某一些知识点。另外因为时间的原因,对于许多练习没有真正的从各个方面去思考,只是做出来就完了,也没有返回去再仔细考虑每一道习题的意义以及对于我的收获。 所以还有待以后有时间在对某些知识点进行学习。 习题是本书的重点,也用了不少时间,其中有些是通过对章节内容的学习后自己做出来的(S),有些是参考别人的,参考的原因主要有: (A)对题目不理解,不明白具体要做到什么程度。

相关主题
文本预览
相关文档 最新文档