C语言程序设计试题
第1、2、3章 概述、类型、表达式
一、选择题
1、 一个C程序由若干个C函数组成,各个函数在文件中
A、0L B、4962710 C、0412765 D、0xa34b7fe 11、 若有以下定义语句char c1=’b’, c2=’e’;
printf(“%d,%c\\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )
A、2,M B、3,E 的位置顺序为:( )
A、 任意 B、 第一个函数必须是主函数,其他函数任意 C、 必须完全按照执行的顺序排列
D、 其他函数可以任意,主函数必须在最后 2、 下列四个叙述中,正确的是:( )
A、 C程序中的所有字母都必须小写
B、 C程序中的关键字必须小写,其他标示符不区分
大小写
C、 C程序中的所有字母都不区分大小写 D、 C语言中的所有关键字必须小写 3、 下列四个叙述中,错误的是:( )
A、 一个C源程序必须有且只能有一个主函数 B、 一个C源程序可以有多个函数
C、 在C源程序中注释说明必须位于语句之后 D、 C源程序的基本结构是函数 4、 下面不是C语言合法标识符的是:( )
A、abc B、5n C、_4m D、x3 5、 以下叙述不正确的是:( )
A. 分号是C语句的必要组成部分 B. C程序的注释可以写在语句的后面
C. 函数是C程序的基本单位 D. 主函数的名字不一定非用main来表示 6、 C语言中允许的基本数据类型包括:( )
A. 整型、实型、逻辑型 B. 整型、实型、字符型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型
7、 C语言中能用八进制表示的数据类型为:( )
A、字符型、整型 B、整形、实型 C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型
8、 下列属于C语言合法的字符常数是:( )
A、’\\97’B、”A” C、’\\t’ D、”\\0”9、 在C语言(VC环境)中,5种基本数据类型的存储
空间长度的排列顺序为:( )
A、char ( ) C、2,E D、输出项与相应的格式控制不一致,输出结果不确定 12、 以下合法的 13、 赋值语句是:( ) A、x=y=100 B、d--; C、x + y D、c = int(a+b); 14、 设变量t为int型,下列选项中不正确的赋值语句 是:( ) A、++t;B、n1=(n2=(n3=0)); C、k=i==m; D、a=b+c=1; 15、 在以下一组运算符中,优先级最高的是:( ) A、<= B、== C、% D、&& 16、 下列能正确表示a≥10或a≤0的关系表达式是: ( ) A、a>=10 or a<=0 B、a<=10 || a>=0 C、a>=10 || a<=0 D、a>=10 && a<=0 17、 下列只有当整数x为奇数时,其值为“真”的表达 式是:( ) A、x%2==0 B、!(x%2==0) C、(x-x/2*2)==0 D、!(x%2) 18、 设a为整型变量,不能正确表达数学关系10 的C语言表达式是:( ) A、1 0< a < 15 B、!(a<=10 || a>=15) C、a>10 && a<15 D、!(a<=10) && !(a>=15) 19、 已知x=43, ch=’A’,y=0;则表达式 (x>=y&&ch<’B’&&!y)的值是:( ) A、0 B、语法错 C、1 D、“假” 20、 表达式17%4 /8的值为:( ) A、0 B、1 C、2 D、3 21、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果 是:( ) A、无输出 B、结果不确定 C、-1 D、1 22、 一个可执行的C程序的开始执行点是:( ) A. 程序中的第一个语句 B. 包含文件中的第一个函数 C. 名为main的函数 D. 程序中的第一个函数 23、 组成C语句的一个必不可少的符号是:( ) A. 逗号 B. 引号 C. 冒号 D. 分号 24、 若将int、long、float等类型的数据进行混合运算, 其结果的数据类型是:( ) A. int B. long C. float D. double 25、 下述是C语言中有关变量定义的几个说法,正确的 是:( ) A. 变量可以不定义直接使用 A..exe B..c C..obj D..cpp B. 一个说明语句只能定义一个变量 37、 下列各项中,不是C语言的特点是:( ) C. 几个不同类型的变量可在同一语句中定义 A.语言简洁、紧凑,使用方便 D. 变量可以在定义时进行初绐化 B.程序执行效率高,可移植性好 26、 与x * = y + z等价的赋值表达式是:( ) C.能实现汇编语言的大多数功能 A. x = y + z B. x = x * y + z D.有较强的网络操作功能 C. x = x * (y + z) D. x = x + y * z 38、 构成C语言源程序的基本单位是:( ) 27、 当代电子计算机能够自动地处理指定的问题是因为:( ) A.计算机是电动的 B.有解决该问题的计算机程序 C.事先存储了解决该问题的程序 D.以上都不是 28、 以下叙述中最准确的是:( ) A.计算机程序是处理某一问题所有指令的集合 B.计算机程序是处理某一问题所用到的所有数据的集合 C.计算机程序是处理某一问题的所有指令及其数据的集合 D.计算机程序是处理某一问题的所有指令及其数据的有序集合 29、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序 B.程序设计就是用计算机语言来编写程序 C.程序设计就是用计算机程序设计语言来编写程序 D.程序设计就是用计算机能识别的语言来编写程序 30、 目前编写计算机程序一般采用的是:( ) A.机器语言B.汇编语言 C.高级语言 D.英语 31、 设计一个计算机程序最基本的工作是:( ) A.制定正确的算法 B.选择合理的数据结构 C.制定正确的算法和选择合理的数据结构 D.以上都不是 32、 算法具有五个特性,以下选项中不属于算法特性的 是:( ) A.有穷性 B.简洁性 C.可行性 D.确定性 33、 下述哪一个不是结构化程序基本结构:( ) A.顺序 B.选择 C.循环 D.嵌套 34、 C语言是一种:( ) A.机器语言 B.汇编语言 C.高 级语言 D.以上都不是 35、 C语言源程序的扩展名为:( ) A..exe B..c C..obj D..cpp 36、 C程序编译后最终产生(即计算机执行)的文件的扩 展名为( ) A.子程序 B.过程 C.文本 D.函数 39、 下列叙述正确的是:( ) A.C语言源程序可以直接在DOS环境中运行 B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行 C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D.C语言源程序可以直接在VC++环境中运行 40、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( ) A.写在前面的函数先开始执行 B.总是从main()函数开始执行 C.总是从max()函数开始执行 D.写在后面的函数先开始执行 41、 以下叙述不正确的是:( ) A.分号是C语句的必要组成部分 B.C程序的注释可以写在语句的后面 C.函数是C程序的基本单位 D.主函数的名字不一定用mian表示 42、 以下为C语句的是:( ) A.a=8 B.a++; C.if(a>8) D. #include 以下不是C语句的是:( ) A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++) 43、 以下所列语句中,合法的语句是:( ) A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a); 44、 C程序中的复合语句指的是:( ) A.并列的多个C语句B.写在同一行中的多个C语句 C.用一对大括号对括的多个C语句 D.就是函数体中的语句 45、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( ) A.由系统自动换行 B.立即按回车键换行 C.在任意一个空格处按回车键换行 D.输入一个分号后并按回车键换行换行 46、 在x值处于-2~2,4~8时值为“真”,否则为“假” 的表达式是:( )。 A.( 2> x> -2 )||(4 > x > 8) B.!((( x < -2 )||( x >2 )&&(( x <= 4 )||( x > 8 )) C.( x < 2 )&&( x >= -2 )&&( x > 4 )&&( x < 8 ) D.( x > -2 )&&( x >4 )||( x < 8 )&&( x < 2 ) 20. ( )在程序设计中提到的算法就是“解决问题的方 法和步骤” 21. ( )在程序设计中提到的数据结构就是“程序处理 的对象的表示方法” 22. ( )计算机程序的算法就是解决“做什么”和“怎 么做”的问题。 23. ( )结构化程序设计的基本理念是:将一个较大的 二、判断题 1. ( )C语言是严格区分大写和小写的,因次主函数不 能写成main()以外的其他形式。 2. ( )C语言程序是从源文件的第一条语句开始执行 的。 3. ( )C语言对其数据在内存中所占用的实际字节数 是有明确规定的。 4. ( )C语言中/*..*/之间的注释内容是不能跨行的。5. ( )C语言中多个以“;”结束的语句不能放在同一 行。 6. ( )以下常数:'101',e3,’\\78’,(2+3)e(4-2) 都是不合法的。 7. ( )变量说明语句int a=b=c=23;是正确的。 8. ( )字符型数据不可以和整数数据一起进行算术运 算。 9. ( )C语句:3*x*x+4*x+1+6sin(x)=y.是可以允许 的。 10. ( )表达式m=(a=4,4*5)和m=a=4,4*5的值是相等 的。 11. ( )C语言中强制类型转换不会改变原变量的原有 数据类型。 12. ( )表达式j=-i++和j=-(i++)不相等 13. ( )程序段: i=8,j=10;printf(\其结果9,10,9,10. 14. ( )C语言中放在“”之间的内容都被视为字符串 的一个构成部分,都可以在屏幕上原样显示。 15. ( )计算机程序的基本组成是:指示计算机如何去 解决某一问题的一组指令。 16. ( )计算机程序的执行过程实际上是对程序所表达 的数据进行处理的过程。 17. ( )目前程序设计的理念已经从“面向过程的程序 设计”向“面向对象的程序设计”方面转变。 18. ( )任何一个计算机程序都可以用机器语言、汇编 语言和高级语言来编写。 19. ( )有人曾提出:计算机程序=算法+数据结构。 问题细分成若干个较小问题的组合。 24. ( )C程序的编译是从程序的第一行开始,到程序的 最后一行结束。 25. ( )C程序的编译是从主函数的第一行开始,到主函 数的最后一行结束。 26. ( )C程序的执行是从程序的第一行开始,一直到程 序的最后一行结束。 27. ( )C程序的执行是从主函数的第一行开始,一直到 主函数的最后一行结束。 28. ( )设x、t均为int型变量,则执行语句\= 10;t = x && x > 10;\后,t的值为0 29. ( )若a和b类型相同,在计算了赋值表达式a=b后 b中的值将放入a中,而b中的值不变 30. ( )在C程序中,%是只能用于整数运算的运算符 31. ( )在C语言中,逻辑“真”等价于不等于0的数 32. ( )C语言中字符型、整型、实型都能用八进制表示 33. ( )在VC语言中,5种基本数据类型的存储空间长 度的排列顺序为:char 34. ( )变量的三要素是:变量名、变量类型、变量的 值。 三、多选题 1. 目前程序设计采用的基本方法有: A.面向过程的程序设计 B.面向对象的程序设计 C.面向问题的程序设计 D.面向机器的程序设计 第4章 顺序结构 一、选择题 1、下面程序的输出是:( ) main() { int k=11; printf(\ } A) k=11,k=12,k=13 B) k=11,k=13,k=13 C) k=11,k=013,k=oXb D) k=11,k=13,k=b 2、以下合法的C语言赋值语句是:( ) A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)-- i; A) 10 10 B) 9 9 C) 9 10 D) 10 9 11、在C语言中,如果下面的变量都是int类型,则输出结果是:( ) sum=pad=5; pad=sum++,pad++,++pad; printf(\ A) 7 B) 6 C) 5 D) 4 3、以下程序的输出结果是:( ) main() { int x=10,y=3; printf(“%d\\n”,y=x/y);} A)0 B)1 C)3 D)不确定 4、若变量已正确说明为int类型,要给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,&b); 5、执行下面程序段后,c3中的值是:( ) int c1=1 , c2=2 , c3; c3=c1/c2; A)0 B)1/2 C)0.5 D)1 6、若执行以下程序段,其输出结果是:( )int a=0 , b=0 , c=0; c=(a-=a-5) , (a=b,b+3) ; printf(“%d , %d , %d\\n” , a,b,c); A)0,0,0 B)0,0,5 C)5,0,5 D)-10,0,-10 7、以下程序段的输出是:( ) float a=57.666; printf(“*%2.2f*\\n”, a); A)*57* B)*58* C)*57.66* D)*57.67* 8、若有以下定义和语句:( ) int a=5,b b=a++; 此处b的值是:( ) A) 7 B) 6 C) 5 D) 4 9、若有以下定义和语句:( ) char c1='b',c2='e'; printf(\则输出结果是:( ) A) 2,M B) 3,E C) 2,e D) 输出结果不确定 10、以下程序的输出结果是:( ) main() { int x=10,y=10; printf(\ 12、以下程序的输出结果:( ) #include {int i=010,j=10; printf(\ A) 11,10 B) 9,10 C) 010,9 D) 10,9 13、在C语言中,short类型数据的范围是-32768~32767,下面程序段的输出结果是:( ) short i =65536; printf(\ A) 65536 B) 0 C) 1 D)超出取值范围,无输出结果 14、已知字符A的ASCII码为十进制的65,下面程序的输出是:( ) main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf(\A) 67,D B) B,C C) C,D D) 不确定的值 15、若有定义和语句: char s; s=\; 则结果是:( ) A) 输出 97 B) 输出 a C) 输出 adcb D) 编译不能通过 16、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处 则能给x赋整数1,给y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是:( ) A) scanf(\y=%d\a=getchar(); c=getchar(); B) scanf(\a=getchar(); b=getchar(); c=getchar(); C) scanf(\ D) scanf(\ 17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:( ) main() 5.( )在C语言中,变量可以不要定义,直接使用 6.( )一个C语言程序总是从主函数开始执行的 { int x; scanf(\ if (x++>5) printf(\ else printf(\ A) 7和5 B) 6和3 C) 7和4 D) 6和4 18、若执行下面的程序从键盘输入3和4,则输出是:( ) main() { int a,b,s; scanf(\ s=a; if (a printf(\ A) 14 B) 16 C) 18 D) 20 19、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值 scanf(\ 为了把100和765.12分别赋给i和f,则正确的输入为:( ) A) 100<空格>765.12<回车> B) i=100,f=765.12<回车> C) 100<回车>765.12<回车> D) x=100<回车>,y=765.12<回车> 20、以下程序的输出结果是:( ) #include { int n; printf(\ A) -1 B) 0 C) 1 D) 不确定二、判断题 1.( )在C语言中,实型数据在内存都中占4个字节。 2.( )在C语言中,参加算术(+,-,*,/,%)运算的数据可以是任何类型的数据。 3.( )若有定义和语句:int a;char c;scanf(\当通过键盘输入: 10,‘A’之后,则变量a中存放的是10,变量c中存放的是‘A’。 4.( )C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 7.( )注释语句必须用/*和*/括起来,且只能位于某一语句的后面 8.( ) “a”和‘a’均是占用1个字节的内存空间 的数据 三、多选题 1. 以下所列语句中,不合法的语句是: ( ) A、a=1,b=2 B、++a; C、a=a+1=5; D、y= (int) a; E、a=b=c=10; 2. 下列描述正确的是:( ) A. putchar函数的作用是向屏幕输出一个字符 B. putchar函数能在屏幕上输出控制字符 C. putchar(c)函数中,c只能是字符型变量,不能是整型变量 D. putchar函数能在屏幕上输出转义字符 E.putchar函数的使用需要包含“stdio.h”头文件 3. 下列描述正确的是:( ) A. getchar函数只能接收一个字符 B. getchar函数得到的字符可以赋给一个字符变量 C. getchar函数得到的字符可以赋给一个整型变量 D. getchar函数得到的字符可以作为表达式的一部分 E.getchar函数是编程者自定义的函数 4. printf函数中,关于格式字符描述正确 的是:( ) A.格式字符o表示以八进制无符号形式输出整数 B.格式字符u 表示以无符号十进制形式输出整数 C.格式字符x 表示以无符号十六进制形式输出整数 D.格式字符f 表示以实数形式输出单、双精度数 E.格式字符e 表示以浮点数形式输出单、双精度数 5. 假设int x,y,z;若从键盘给x、y、z 输入数据,下列不正确的输入语句是:( ) A.input x、y、z;