IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言 高级语言程序设计期末复习题 -> 正文阅读

[C++知识库]C语言 高级语言程序设计期末复习题

C程序设计期末复习

第一章程第二章

算法的五个特性?

1、有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止

2、确切性:算法的每一步骤必须有确切的定义;

3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

5、可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。

1、程序流程图中的带有箭头的线段表示的是( ) 。

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

答案:C

2、结构化程序设计的基本原则不包括( )。

A. 多态性

B. 自顶向下

C. 模块化

D. 逐步求精

答案: A

基本原则:自顶向下,逐步细化,模块化设计,结构化编码

第三章简单程序设计

?书写格式:分号结束、注释

?标识符1)对变量、函数、数组等命名的有效字符

2)命名规则:只能由字母数字下划线组成,且第一个字符必须为字母或下划线

?整型常量:包括十进制整数、八进制整数【以0开头eg0123=十进制83】、十六进制整数【以0x开头的数字0x123=十进制291】? 103L, 256U

?实型常量:默认double包括十进制小数形式、指数形式?? 1.25f?? 1.25e-2f?? 1.25L (louble double)

?字符常量 1、普通字符:eg‘a’,‘1’,‘#’(字符常量:只能是一个字符)

???????????????? 2、转义字符:eg’\t’

?字符串常量

?符号常量? #define

?变量:强制类型转换、自动类型转换

?注意数据的溢出问题

?各种运算符:优先级与结合性

?自增自减运算符

?算术运算、关系运算、逻辑运算优先级

?数据类型的自动转化:

1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

???? a.若两种类型的字节数不同,转换成字节数高的类型

???? b.若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

3)所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4)char型和short型参与运算时,必须先转换成int型。

5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。

?&&?? || 短路现象

1、以下合法的字符常量是( )。

A. '\109'

B. '\x64a'

C. '\t'

D. 'ab'

答案: C

2、以下选项中不合法的整型常量是( )。

A. -012

B. 8E2.5

C. 123L

D. 0x35

答案:B

解析:以e或E表示以十为底的指数,特别的e或E前必须有数字,其后必须为整数

3、若已定义x和y为double型,变量,则表达式x=1,y=x+3/2的值是( )

答案: 2.0

4、下面程序的输出结果是( )。

int a;printf("%d\n",(a=3*5,a*4,a+5));

答案:20

解:逗号表达式结果取最后一个表达式

5、已知int x=5,y=5,z=5;则执行语句x%=y+z;后,x的值是

答案:5

解:x=x%(y+z)

6、C语言中,数字029是一个( )。

A. 十进制数

B. 八进制数

C. 十六进制数

D. 不合法

答案:D

解:八进制数,每位上的数只能为0~7

7、代数式2lnxcosx/3x,则正确的C语言表达式是( )。

A. 2*ln(x)*cos(x)/3*x

B. 2*ln(x)*cos(x)/(3*x)

C. 2*log(x)*cos(x)/3*x

D. 2*log(x)*cos(x)/(3*x)

答案:D

8、对于数据类型的自动转换,正确的说法是( )。

A. 字符型与单精度实型进行运算时都转换为双精度实型

B. 字符型与字符型进行转换时不进行转换

C. 整型与字符型进行运算时根据字符的ASCII码值来决定是否进行类型转换

D. 单精度实型之间进行运算时不进行转换。

答案:A

9、下列程序的输出结果是____。

#include <stdio.h>

void main()

{int a,b=322;

float x,y=8.88;

char c1='k',c2;

a=y;

x=b;

a=c1;

c2=b;

printf("%d,%f,%d,%c",a,x,a,c2);}

答案:107,322.000000,107,B

10、下列程序的输出结果是____。

#include <stdio.h>

void main()

{

int i=8;

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

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

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

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

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

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

}

答案:9 8 8 9 -8 -9

11、设 int x=1,y=1; 表达式(!x||y--)的值

答案:1

解析:短路

12、以下哪个直接量是十进制的124?

A.0124?? B.0x124?? C.124d?? D.0174

答案:D

解:C语言无d这种后缀

13、以下代码的输出是

int x=0,y=0,z=0;

z =(x==1)&&(y=2);printf("%d ", y);

答案:0

14、对于以下代码

int i

scanf("%d",&i);

i %= 4;执行后,i会有几种可能性?

答案:7

解:①能被整除:即余数为 0 时,即 i = 0;

②不能被整除:即余数为位于区间 ( - 4 , 0 ) U ( 0 , 4 ) 的整型数,则 i={ - 3,- 2,- 1,1,2,3 } 。

第四章选择结构程序设计

1)If else配对问题

2)switch break

3)循环体内的break、continue

1、

#include <stdio.h>

void main(){

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

if(c=a) printf("%d\n",c);

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

答案:1

解:注意是赋值还是判断

2、#include <stdio.h>

void main()

{char? c1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar(); c6=getchar();

putchar(c1); putchar(c2);

printf("%c%c\n",c5,c6);

}

程序运行后,若从键盘输入

(从第一列开始)

123↙

45678↙

则运行结果是???????

答案:1245

3、下面程序的运行结果是____。

#include <stdio.h>

void main( )

{

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

switch(a)

{ case 1:switch(b)

????????????? {

?????????????? case 1: printf ("@" ); break;

?????????????? case 2: printf("!" ); break;

???????????? }

case 0: switch(c)

???????? {

?????????? case 0: printf("*"); break;

????????? case 1: printf("#"); break;

????????? case 2: printf("$"); break;

???????????? }

default : printf(" &");

}

printf(" \n ");

}

答案:!$&

4、对于以下代码int i=6if(i<= 6 )

printf("hello\n");;

else

printf("bye-bye\n");哪句话是对的?

A.打印出"hello bye-bye

B.打印出"bye-bye'

C.不能通过编译

D.打印出"hello"

else未能找到配对的if

第五章循环

求素数、穷举法、取各位数字、数学公式

1、设有int i=0;对以下语句描述正确的是______。

while( i =1 )

{ …… }

A. 循环条件表达式的值为0

B. 循环条件表达式的值为1

C. 循环条件表达式不合法

D. 以上说法都不对

答案: B

2、以下程序的运行结果是______。

#include <stdio.h>

void main( )

{int x=20;

do

{printf("%d\n", x--);

} while(!x) ;

}

A. 20

B. 19

C. 不打印任何内容

D. 陷入死循环

答案: A

解:!表示取反

3、当从键盘上输入question? 下面程序的运行结果是____。

#include <stdio.h>

void main( )

{while( putchar(getchar( )) != '? ') ;

}

答案:question?

解:先输出后判断

4、在代码while (!e )中,!e等价于

答案:e == 0

第六章数组

?越界问题

?初始化

?字符串的操作:比较、赋值、求长度、连接、结束标记

?求最大值、最小值及其位置。

?折半查找

?冒泡排序

?插入有序数组

?二维数组、转置

第七章函数

1、)以下叙述中不正确的是()。

A.一个函数中可以有多个return语句

B.函数通过return语句传回函数值

C.主函数可以有形参

D.调用函数须独立语句完成

答案: D

解析: 选项A是正确的,函数中可以有多条return 语句,例如在分支结构中,可以从不同的分支返回到主调函数.

选项D是错误的,C语言中,调用函数方式3种:一是函数调用作为一条独立的语句,二是函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。三是函数作为另一个函数调用的实际参数出现。故答案选D。

2、以下叙述中不正确的是( ).

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效

我的答案: C正确答案: D

答案解析:在一个函数或复合语句定义的变量,称为局部变量。局部变量仅在定义它的函数或复合语句内有效。函数的形参也是局部变量。

不同函数或者并列复合语句各自定义的同名变量互不干扰。故答案选D。

第八章指针

?简单指针

?数组与指针

?字符串与指针? 结束标记

?二维数组与指针

1、假如有语句char * s1 = “abc”; char s2[] = “xyz”; 下列_____

语句是错误的。

  A *s1++;??? B *s2++;??? C *(s1 + 1);?? D *(s2 + 1);

答案:B

2、分析下面程序的运行结果

int? a[3] [3]={10,9,8,7,6,5,4,3,2};

int? *pa[3]={a[0],a[1],a[2]};

int? *p=a[0];

main ( ) {

? int? i;

? for (i = 0 ; i<3 ; i++)

??? printf("%d\t%d\t%d\n", *a[i], *(*(pa+i)) , p [i]) ;

}

10????? 10????? 10

7?????? 7?????? 9

4?????? 4?????? 8

第九章结构体

定义方法

结构体与指针

例:

设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是

A、(*p) c2 a??? B、(*p).a???? C、p->c2.a???? D、p.c2.a

答案:B

解:三种方式

c2.a

(*p).a

p->a

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:47:31  更:2022-12-25 10:51:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 19:44:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码