2022年程序设计基础期末复习题 .pdf

上传人:H****o 文档编号:33394231 上传时间:2022-08-10 格式:PDF 页数:16 大小:149.39KB
返回 下载 相关 举报
2022年程序设计基础期末复习题 .pdf_第1页
第1页 / 共16页
2022年程序设计基础期末复习题 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年程序设计基础期末复习题 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计基础期末复习题 .pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、对外经济贸易大学远程教育学院20092010 学年度第一学期程序设计基础( C)期末复习题一、单项选择题1程序设计一般包含以下四个步骤,其中首先应该完成的是(B)A. 设计数据结构和算法B. 建立数学模型C. 编写程序D. 调试运行程序2下面描述中不正确的是(D)A. 程序就是软件,但软件不仅仅是程序B. 程序是指令的集会,计算机语言是编写程序的工具C. 计算机语言都是形式化语言,它有严格的语法规则和定义D. 计算机语言只能编写程序而不能表示算法3以下说法中正确的是(C ) A. C 语言程序总是从第一个函数开始执行B. 在 C 语言程序中 , main() 函数可有可无C. C 语言程序总是

2、从main()函数开始执行D. C 语言程序中的main()函数必须放在程序的开始部分4C 语言程序的基本单位是(B)A. 语句B. 函数C. 程序行D. 字符5C 语言程序由什么组成(C)A. 子程序B. 过程C. 函数D. 主程序段程序6以下不是C 语言特点的是(B) A、语言的表达能力强B、语法定义严格C、数据结构系统化D、控制流程结构化7C 语言并不是非常严格的算法语言,在以下关于C 语言的不严格的叙述中,错误的说法是(A) A、任何不同数据类型都不可以通用B、有些不同类型的变量可以在一个表达式中运算C、在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D、同一个运算符号在不同

3、的场合可以有不同的含义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 8下面描述中,不正确的是(B) A、C程序的函数体由一系列语句和注释组成B、注释内容不能单独写在一行上C、C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明D、scanf 和 printf是标准库函数而不是输入或输出语句9下面描述中,正确的是(C) A、主函数中的花括号必须有,而子函数中的花括号是可有可无的B、一个 C程序行只能写一个语句C、

4、主函数main 是 C程序启动时唯一的入口D、函数体包含了函数说明部分10 C 语言中字符( char)数据在内存中存储的是(D) A、原码B、补码C、反码D、ASC 码11下列可以正确表示字符型常数的是(B) A、” a”B、C、” n ”D、297 12以下错误的转义字符是(C) A、B、C、 81 D、 0 13已知 :char a;int b;float c;double d; 执行语句c=a+b+c+d; 后,变量c 的数据类型是(C) A、int B、char C、float D、double 14已知 ;int i, a ; 执行语句“ i=(a=2*3,a*5),a+6; ”

5、后,变量i 的值是(C) A、6 B、12 C、30 D、36 15已知 int i=5; 执行语句 i+=+i; i的值是(C) A、10 B、11 C、12 D、以上答案都不对16已知: int x=1,y=2,z; 则执行: z=xy? +x:+y; 则 z 的值为(C) A、1 B、2 C、3 D、4 17已知: float a=4,b=5,c; 则执行表达式“c=a=ab” 后变量 a 的值为(A) A、0 B、1 C、4 D、5 18执行下面语句后x 的值为(D) int a=14,b=15,x; char c= A; x=(a&b) & (ca); A、TRUE B、FALSE

6、C、0 D、1 19下列四个选项中,均是C 语言关键字的选项是(B)A. auto enum include B. switch typedef continue C. signed union scanf D. if struct type 20 C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C)A. 必须为字母B. 必须为下划线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - C. 必须为字母或下划线

7、D. 可以是字母,数字和下划线中任一字符21若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是(A)A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 22设变量a 是整型, f 是实型, i 是双精度型,则表达式10+a+i*f 值的数据类型为(C)A. int B. float C. double D. 不确定23表达式 (a=3*5,a*5),a+5 的值是多少( A)A. 20 B. 80 C. 不能确定D. 15 24语句 :printf(%d n,12&12);的输出结果

8、是(B)A. 12 B. 1 C. 24 D. 0 25 C 语言的语句中用作判断的表达式一般为(D)A. 关系表达式B. 逻辑表达式C. 算术表达式D. 逻辑表达式和关系表达式26若已定义x 和 y 为 double 型,则表达式:x=1,y=x+3/2 的值是( C)A. 1 B. 2 C. 2.0 D. 2.5 27若有以下定义: char a; int b; float c;double d; 则表达式a*b+d-c 值的类型为( D)A. float B. int C. char D. double 28若 x 和 y 都是 int 型变量, x=100,y=200,且有下面的程序片

9、段:printf(%d,(x,y); 上面程序片段的输出结果是(A )A. 200 B. 100 C. 200 100 D. 输出格式符不够,输出不确定的值29表达式: 10! =9 的值是( D)A. true B. 非零值C. 0 D. 1 30以下关于运算符优先顺序的描述中正确的是(C)A. 关系运算符 算术运算符 赋值运算符 逻辑运算符B. 逻辑运算符 关系运算符 算术运算符 赋值运算符C. 赋值运算符 逻辑运算符 关系运算符 算术运算符D. 算术运算符 关系运算符 赋值运算符 逻辑运算符31、 putchar 函数可以向屏幕输出一个(D) A、整形变量值 B、实型变量值C、字符串D、

10、字符或字符变量值32、执行以下程序段后,c3 的值是(A) int c1=1,c2=2,c3; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - c3=c1/c2; A、0 B、1/2 C、0.5 D、1 33、若 int a,b,c;则为它们输入数据的正确输入语句是(D) A、read (a,b,c); B、scanf (“%d%d%d”,a,b,c); C、scanf (“%D%D%D”,&a,&b,&c); D、scanf

11、 (“%d%d%d,&a,&b,&c); 34、若有以下程序段,其输出结果是(B) int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf (“%d,%d,%dn”,a,b,c); A、3,0,-10 B、0, 0,5 C、-10 , 3,-10 D、3,0,3 35、若 a 为 int 类型,且a=125,执行下列语句后的输出是(B) printf ( “ %d,%o,%xn ” ,a,a+1,a+2) A、125,175,7D B、125, 176,7F C、125,176,7D D、125, 175,2F 36表达式 (int)2.1416 的值是(

12、A)A 2 B 2.1 C 0 D 3 37若有条件表达式(exp)?a+:b- ,则以下表达式中能完全等价于表达式(exp)的是( B)A. (exp=0) B. (exp!=0) C. (exp=1) D. (exp!=1) 38设int x=1, y=1; 表达式 (!x|y-) 的值是(B)A. 0 B. 1 C. 2 D. -1 39在 C 语言中,错误的int 类型的常数是(A)A32768 B0 C037 D0 xAF 40下列正确表示字符型常数的是(B)A101 B101C“n” D297 41有定义char ch; 判断 ch 的值是否为小写字母的表达式为(D)Aa= a)&

13、(ch =a)AND (ch=97 & ch =10 or a =0|a =10 &a =0 D. a =10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 44下列程序的输出结果是(C)main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); A. 3 B. 3.2 C. 0 D. 3.07 45、已知: int a,*p=&a; 则下列函

14、数调用中错误的是_。A、scanf(“ %d ” ,&a);B、scanf(“ %d ” ,p);C、printf( “ %d ” ,a);D、printf(“ %d ” ,p);46、 C 语言中决定函数返回值类型的是_。A、return 语句中的表达式类型B、调用该函数的主调函数类型C、调用函数时临时指定的类型D、定义函数时所指定的函数类型47、在下列结论中,只有一个是错误的,它是_。A、C 语言允许函数的递归调用B、C 语言中的continue 语句,可以通过改变程序的结构而省略C、有些递归程序是不能用非递归算法实现的D、C 语言中不允许在函数中再定义函数48、在 C 语言的函数调用过程

15、中,如果函数funA 调用了函数funB ,函数 funB 又调用了函数 funA ,则 _。A、称为函数的直接递归B、称为函数的间接递归C、称为函数的递归定义D、C 语言中不允许这样的递归形式49、已知: int*p,a; 则语句“ p=&a; ” 中的运算符“ &“的含义是 _。A、位与运算B、逻辑与运算C、取指针内容D、取变量地址50以下程序的输出结果是(C)main() int a= -1 ,b=1;if(+a 0)& ! (b- =0) printf(%d %dn ,a,b);else printf(%d %dn ,b,a); A. -1 1 B. 0 1 C. 1 0 D. 0 0

16、 51若执行下面的程序从键盘输入3 和 4,则输出是(B)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (a 5) printf (%dn,m); else printf (%dn,m-); A. 7 B. 6 C. 5 D. 4 54执行下面语句后的输出为( D) int i= -1; if (i y) z=x;x=y;y=z; A、

17、10,20, 30 B、20,30,30 C、20,30, 10 D、20,30,20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - 56以下程序的输出结果是(D) main() int w=4,x=3,y=2,z=1; if(xy&(z= =w)printf (“ %dn” ,(wx? w:zx? w:zy? z:x); A、1 B、2 C、3 D、4 57以下程序段中与语句k=ab?(bc?1:0):0 ;功能等价的是(

18、A)Aif(ab)&(bc) k=1; else k=0; Bif(ab)|(bc) k=1; else k=0; Cif(a=b) k=0; else if(bb) k=1; else if(bc) k=1; else k=0; 58、若有: do i=a-b+;printf(“ %d” ,i);while (!i); 则 while 中的!i 可用(A) 代替。A、i=0 B、i!=1 C、i!=0 D、以上均不对59以下能对二维数组a 进行正确初始化的语句是(B)A. int a2=1,0,15,2,3; B. int a3=1,2,3,4,5,6; C. int a24=1,2,3,4

19、,5,6; D. int a3=1,0,1,1,1; 60以下程序的输出是(B)main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2: a+;b+;break; case 3: a+;b+; printf(“na=%d,b=%d” ,a,b); Aa=1,b=0 Ba=2,b=1 Ca=1,b=1 Da=2,b=2 61阅读以下程序:main() int x; scanf(%d,&x); if(x-5) printf(%dx); else printf(%

20、dx+); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - 程序运行后,如果从键盘上输人5,则输出结果是(B)A. 3 B. 4 C. 5 D. 6 62、执行语句for (i=1;i+3;x-) if (x%3) x-;-x;-x; printf ( “ %d” ,x); A、63 B、74 C、62 D、73 64、下列说法中正确的是_。(C) A、break 用在 switch 语句中,而continue 用在循环语句中

21、。B、break 用在循环语句中,而continue 用在 switch 语句中。C、break 能结束循环,而continue 只能结束本次循环。D、continue 能结束循环,而break 只能结束本次循环。65、下列程序执行的结果是(B) int a=1, b=2, c=3, t; while (ba 0); A. -3 B. -2 C. -1 D. -4 68下面程序的输出是(D)main() int x=3,y=6,a=0; while (x+!=(y-=1) a+=1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -

22、- 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - if (y data.a D、 p.data.a 81、在以下对C 语言的描述中,正确的是_A_。A、在 C 语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参B、C 语言函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C 语言程序中有调用关系的所有函数都必须放在同一源程序文件中82、说明语句 ” int (*p)(); ” 的含义是 _。A、p 是一个指向一维数组的指针变量B、p 是指针变量,指向一个整型数据C、p 是一个指向函数的指针,该函数

23、的返回值是一个整型D、p 是一个指针函数,该函数的返回值是一个指向整型数据的指针83、在对 typedef 的叙述中错误的是_B_。A、用 typedef 可以定义各种类型名,但不能用来定义变量B、用 typedef 可以增加新类型C、用 typedef 只是将已存在的类型用一个新的标志符来代表D、使用 typedef 有利于程序的通用和移植84、在进行文件操作时,写文件的一般含义是_A_ 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 16 页 - - - - -

24、- - - - A、将计算机内存中的信息存入磁盘B、将磁盘中的信息存入计算机内存C、将计算机CPU 中的信息存入磁盘D、将磁盘中的信息存入计算机CPU 85、 C 语言中标准输入文件stdin 是指 _A_。A、键盘B、显示器C、鼠标D、硬盘86、系统的标准输出文件stdout 是指 _B_。A、键盘B、显示器C、软盘D、硬盘87、在高级语言中对文件操作的一般步骤是_A_. A、打开文件操作文件关闭文件B、操作文件修改文件关闭文件C、读写文件打开文件关闭文件D、读文件写文件关闭文件88、要打开一个已存在的非空文件“file” 用于修改,正确的语句是_D_ 。A、fp=fopen( “ file

25、 ” ,” r” ); B、fp=fopen( “ file” ,” a+” ); C、fp=fopen( “ file ” ,” w” ); D、fp=fopen( “ file ” ,” r+” ); 89、下列关于文件的结论中正确的是_B_。A、对文件操作必须先关闭文件B、对文件操作必须先打开文件C、对文件操作顺序没有统一规定D、以上三种答案全是错误的90以下程序的输出结果是(B)main( ) int i ,x33=9 ,8,7,6,5,4,3,2,1;for(i=0 ; i4;i+=2)printf(%d ,xii) ; A. 5 2 B. 9 1 C. 5 3 D. 9 7 91以

26、下对一维整型数组a 的正确说明是(D)A. int a(10); B. int n; scanf(%d,&n); int an; C. int n=10,an; D. #define SIZE 10 ( 换行 ) int aSIZE; 92若二维数组a有 m 列,则在aij 前的元素个数为(B)A. j*m+i B. i*m+j C. i*m+j-1 D. i*m+j+1 93定义如下变量和数组:int k; int a33=1,2,3,4,5,6,7,8,9; 则语句for(k=0;k3;k+) printf(%d,ak2-k); 的输出结果是(A)A. 3 5 7 B. 3 6 9 C.

27、1 5 9 D. 1 4 7 94以下程序的输出结果是(A)main() int a44=1,3,5,2,4,6,3,5,7; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 16 页 - - - - - - - - - printf(%d%d%d%dn,a03,a12,a21,a30; A. 0650 B. 1470 C. 5430 D. 输出值不定95已知 :char str120=” abcde ”,str220=“ xyz ”;则执行语句:printf (” %

28、d”,strlen( strcat(str1,str2) ) ) ;的输出的结果是(C)A3 B5 C8 D9 96判断字符串a和 b 是否相等,应当使用(D)Aif(a = = b) B if(a = b) Cif( strcpy(a,b) ) D if ( !strcmp(a,b) ) 97有以下语句:int b;char c10; 则正确的输入语句是(B)Ascanf(%d%s,&b,&c); Bscanf(%d%s,&b,c); Cscanf(%d%s,b,c); Dscanf(%d%s,b,&c); 98以下能正确定义一维数组的选项是(B)Aint a5=0,1,2,3,4,5; B

29、char a =0,1,2,3,4,5; Cchar a=A,B,C; Dint a5=0123; 99以下程序的输出结果是(B)main() char ch35=AAAA,BBB,CC; printf(%s,ch1); A. AAAA B. BBB C. BBBCC D. CC 100有如下程序main() int n5=0,0,0,i,k=2; for(i=0;i k;i+) ni=ni+1; printf(%dn,nk); 该程序的输出结果是(D)A. 不确定的值B. 2 C. 1 D. 0 101以下叙述正确的是( C)A在 C 程序中, main 函数必须位于程序的最前面BC 程序的

30、每行中只能写一个语句CC 语言本身没有输入输出语句D在对一个C 程序进行编译的过程中,可发现注释中的错误102假定所有变量均已正确说明,下列是程序段运行后x 的值是(A) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 16 页 - - - - - - - - - a=b=c=0; x=35; ! a ? x- : x=c ? 3 : 4; A.34 B.4 C.35 D.3 103main() int a=7,b=5,c; printf(“ %d,%dn” ,a -,

31、-b); 此程序的输出结果是( ) A. 7,5 B.6,5 C.7,4 D.6,4 104程序段: int a=5;printf(“ %dn” ,(a=3*5,a*4,a+5); 的输出结果为()A 45 B.20 C.15 D. 10 105下面语句执行完后,b 的值是()int a=b=10; b=10+(a+); A. 10 B.19 C. 20 D. 21 106有以下语句:int b;char c10; 则正确的输入语句是()Ascanf(%d%s,&b,&c); Bscanf(%d%s,&b,c); Cscanf(%d%s,b,c); Dscanf(%d%s,b,&c); 107

32、下面程序的运行结果是()main() int a=1,b; for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3; printf(%dn,b); A 3 B 4 C5 D 6 108有以下程序段int k=0; while(k=1)k+; while 循环执行的次数是()A无限次B有语法错,不能执行C一次也不执行D执行 1 次109以下程序段中与语句k=ab?(bc?1:0):0 ;功能等价的是()Aif(ab)&(bc) k=1; Bif(ab)|(bc) k=1;else k=0; else k=0; Cif(ab) k=1; else if(bc

33、) k=1; else k=0; 110下面程序的输出结果是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 16 页 - - - - - - - - - main() int k=0; char c=?A?;doswitch(c+) case ,A?: k+;break;case ,B?: k-; case ,C?: k+= 2;break; case ,D?: k=k%2;continue;case ,E?: k=k+10;break;default: k=k/3

34、; while(c?C?);printf(“k=%dn”,k); A 1 B 2 C5 D 6 二、判断正误题1在 C 程序中, main 函数必须位于程序的最前面()2C 程序的每行中只能写一条语句()3C 语言本身没有输入输出语句()4在对一个C 程序进行编译的过程中,可发现注释中的拼写错误()5一个 C 源程序可由一个或多个函数组成()6一个 C 源程序必须包含一个main 函数()7C 程序的基本组成单位是函数()8在 C 程序中,注释说明只能位于一条语句的后面()9在 C 语言的源程序中,main 函数的位置是任意的()10一个 C 语言程序是由若干子程序组成()11在 C 程序中,

35、逗号运算符的优先级最低()12在 C 语言中,预处理命令行都以“#”开头()13每个 C 程序必须在开头包含预处理命令行:#include ()14在 C 程序中, APH 和 aph 是两个不同的变量()15若 a 和 b 类型相同,在计算了赋值表达式a=b 后 b 中的值将放入a中,而 b 中的值不变()16当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值()17在 C 语言中的if 语句中,用作判断的表达式可以是任意表达式()18在 C 语言中的if 语句中,用作判断的表达式只能是逻辑表达式()19为避免嵌套的条件分支语句if else 的二义性, C 语言

36、规定, else 总是与上面距它最近的,并且没有其他else与其配对的if 相配对()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 16 页 - - - - - - - - - 20为避免嵌套的条件分支语句if else 的二义性, C 语言规定, else 总是与其同一行上的if 相配对()21对for (表达式 1; ;表达式 3) 可理解为for(表达式 1;1;表达式 3) ()22对for (表达式 1; ;表达式 3) 可理解为for(表达式 1;表达式

37、1;表达式 3) ()23有以下程序段int k=0; while(k=1)k+; ,while 循环执行的次数是无限次()24有以下程序段int k=0; while(k=1)k+; ,while 循环执行的次数是一次()25若有说明:int a34=0;则只有元素a00 可得到初值0 ()26若有说明:int a34=0;则数组中的最后一个元素为a34 ,且值为0 ()27、 C 程序中源程序文件的扩展名是OBJ ()28、负数在计算机中是以补码形式表示。() 29、关系表达式的运算结果是逻辑值0 或 1 ()30、表达式的运算对象可以是常数、变量和函数调用()31、 a=3;c+=a-b

38、; 在语法上被认为是两条语句()32、if 语句控制表达式只有其值为1时表示逻辑 “真”,其值为 0 表示逻辑 “假”。()33、 if(!k) a=3; 语句中的! k 可以改写为k 0,使其功能不变。()34、以下循环语句共执行20_次循环() int i,j; for (i=5;i;i-) for (j=0;jy 或 ay&ay 或 ay|ab)为真。( )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 16 页 - - - - - - - - - 49在 C 语言中,不能在赋值语句中通过赋值运算对字符数组进行整体赋值( )50若已定义的函数有返回值,则函数调用可以出现在表达式中( )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 16 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁