| |
|
开发:
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语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |