C语言程序题及解析

合集下载

C语言程序设计试题(卷)集与答案解析

C语言程序设计试题(卷)集与答案解析
C 语言程序设计试题(卷)集与答案解析
第一章 基础知识 一.填空 1. 每个 C 程序都必须有且仅有一个________ 函数。 2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、 ________、 链接 、加载 和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计 算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为 低级语言和________两大类 。 6. C 语言是由________组成的。 7. C 语言的函数可分为主函数 main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和 函数体。 9. 编译是将 C 语言所编写的源程序________成机器代码,也称 为建立目标代码程序的过程。 10. 程序是由某种程序设计语言 编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制 计算机本身软硬件协调工作 ,并使其设备充分发挥效力,方便 用户使用的系统软件程序,称为操作系统;而为办公自动 化 (OA)、管理信息系统(MIS)、人工智能、电子商务、网络互 联等等应用而开发的软件程
12. 实数 473.468 写成规范化指数形式,则应为 ______。 13. 实数 0.0453 写成规范化指数形式,则应为 ______。 14. 将 0x123 转换为二进制等于 ______。 15. 字符’A’表示成十六进制等于 ______。 16. 在 C 语言中,称代表常量的标识符为 ______。 17. C语言中是用编译预处理命令______ 来定义符号常量 18. 在 C 语言中,以反斜杠符(\\)开头,后跟字符的字符序列, 称之为 ______ ,主 要用来表示控制及不可见的字符或者一些图形符号 19. 语句 printf(\执行的结果输出是 ______。 20. 语句 printf(“b”)执行的结果输出是______。 21. 语句 printf(“\\\\b”)执行的结果输出是 ______。 22. 语句 printf(\执行的结果输出是 ______。 23. 若有 char ch1; ch1='a'+4; 则语句 printf(\的输出结果为 ______。 24. 字符串常量“Hello, everyone!”占据的内存空间为______ 个字节 25. 字符串常量“Hello,Bob!”占据的内存空间为 ______ 个字 节 26. 十进制整型常量由 0~9 个数据组成,但不能以______ 开始, 没有小数部分 27. 十六进制常量由 0~9 和______ 组成

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )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、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )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<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是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、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

C语言编程题带答案

C语言编程题带答案

C语言编程题带答案C 语言作为一门广泛应用的编程语言,在学习过程中,通过编程题的练习可以更好地掌握其语法和逻辑。

下面为您带来几道 C 语言编程题以及详细的答案解析。

题目一:求两个整数的和要求编写一个 C 语言程序,输入两个整数,计算并输出它们的和。

```cinclude <stdioh>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d",&num1);printf("请输入第二个整数:");scanf("%d",&num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;```解析:在这个程序中,首先使用`printf`函数提示用户输入两个整数,然后通过`scanf`函数获取用户输入的值并存储在变量`num1`和`num2`中。

接下来,将这两个数相加并将结果存储在变量`sum`中,最后使用`printf`函数输出结果。

题目二:判断一个数是否为奇数编写一个 C 语言程序,输入一个整数,判断它是否为奇数,如果是奇数输出“是奇数”,否则输出“不是奇数”。

```cinclude <stdioh>int main(){int num;printf("请输入一个整数:");scanf("%d",&num);if (num % 2!= 0) {printf("是奇数\n");} else {printf("不是奇数\n");return 0;}```解析:在这个程序中,使用取余运算符`%`来判断一个数是否能被2 整除。

如果取余结果不为 0,说明该数不能被 2 整除,即为奇数;否则,不是奇数。

题目三:计算 1 到 100 的累加和编写一个 C 语言程序,计算 1 到 100 的累加和。

```cinclude <stdioh>int main(){int sum = 0, i;for (i = 1; i <= 100; i++){sum += i;}printf("1 到 100 的累加和是:%d\n", sum);return 0;```解析:这里使用了`for`循环从 1 迭代到 100,每次迭代都将当前的数字加到变量`sum`中,最终得到 1 到 100 的累加和。

广西大学c语言试题及答案解析

广西大学c语言试题及答案解析

广西大学c语言试题及答案解析一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言可以用于编写操作系统答案:B2. 在C语言中,用于定义一个整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. 下列关于数组的描述中,正确的是()。

A. 数组的索引从1开始B. 数组的索引从0开始C. 数组不能包含不同类型的数据D. 数组的大小在定义后可以改变答案:B4. C语言中,用于实现循环结构的关键字是()。

A. ifB. forC. whileD. switch答案:B、C5. 下列关于函数的描述中,错误的是()。

A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以有参数D. 函数可以嵌套定义答案:D二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑与的运算符是____。

答案:&&2. C语言中,用于定义一个字符型变量的关键字是____。

答案:char3. C语言中,用于输入输出的库函数是____。

答案:stdio.h4. C语言中,用于定义一个浮点型变量的关键字是____。

答案:float5. C语言中,用于定义一个双精度浮点型变量的关键字是____。

答案:double三、简答题(每题10分,共30分)1. 请简述C语言中指针的作用。

答案:指针在C语言中用于存储变量的内存地址,它使得程序能够直接访问和操作内存中的数据,从而提高了程序的灵活性和效率。

2. 解释C语言中结构体的作用。

答案:结构体在C语言中是一种构造类型,它允许将不同的数据类型组合成一个单一的数据结构,使得数据的组织和处理更加方便和高效。

3. 请简述C语言中宏定义的作用。

答案:宏定义在C语言中用于创建一个符号常量,它允许程序员定义一个名称来代表一个值或一系列值,这样可以提高代码的可读性和可维护性。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言程序设计(第三版)习试题(库)答案解析

C语言程序设计(第三版)习试题(库)答案解析

C语言程序设计(第三版)习试题(库)答案解析C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f”__,&r);scanf(”%d”,__&h_);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*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小数。

#includemain(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:??≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#includemain(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____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 "stdio.h" main(){int x,y;scanf("%d",&x);{ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h" main(){scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;} # include "stdio.h" main() {int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

C语言程序设计试题及参考答案

C语言程序设计试题及参考答案

精品文档C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D)A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B)A、abcB、12ACC sunD A3、设有语句inta=4 ;则执行了语句a+=a-=a*a后,变量a的值是(A)A -24B、OC 4D 164、下列运算符中优先级最高的是(B)A、<B +C &&D ==5、在C语言中,运算对象必须是整型数的运算符是(A)A、%B、/C、%和/ D +&以下关于运算符的优先顺序的描述正确的是(C)A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符V逻辑与运算符<关系运算符<算术运算符D算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)sum=pad=5 pAd=sum++ pAd++, ++pAc;printf(“%d\n ”,pad);A 7B 6C、5D 48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)A INPUTx、y、z; B、scanf(“ %d%d%d &x,&y,&z);C scanf(“%d%d%d, x,y,z);D read(“ %d%d%d, &x,&y,&z);9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmai n(){intm ,n;scanf(“ %2d%3”,&m &n);printf(“ m=%dn=%d\n,m, n);}A m=23n=45B m=234n=56C m=23n=456D 语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A)mai n(){intx ,y;scanf(“ %d ,&x);y=x>12? x+10: x-12 ;1欢迎下载printf(“ %d\n”,y);}精心整理A OB 22C 12D 1011、C语言中while和do-while循环的主要区别(A)A do-while的循环体至少执行一次B while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是(C)A、inta[3][]B 、floata(3,4)C 、doublea[3][4]D 、floata(3)(4)13、以下程序的输出结果是(C)mai n(){inti ,x[3][3]={1 ,2, 3, 4, 5, 6, 7, 8, 9};for(i=0 ;i<3 ;i++)printf( “ %d , x[i][2-i]) ;}A 1, 5, 9B 1, 4, 7C 3, 5, 7D 3, 6, 914、以下能对一维数组a进行正确初始化的语句是(C)A inta[10]=(0 , 0, 0, 0, 0) ;B inta[10]={};C inta[10]={0} ;D inta[10]={10*1};15、以下程序执行后的输出结果是:(A)intfun (i nta , intb , intc){a=456 ;b=567; c=678;}voidmai n(){intx=10 , y=20, z=30;z=fun(x , y, z);printf( “ %d %d %d\n”,z , y , x);}A 30, 20 , 10B 10 , 20 , 30C 10 , 30 , 50D 10 , 30 , 4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A只在该复合语句中有效B在该函数中有效C在本程序范围内有效D为非法变量17、以下函数调用语句中含有的实参个数为(B)func((exp1 , exp2 , exp3), (exp4 , exp5));A 1B 2C 4D 518、在C语言程序中,以下说法正确的是(B)。

C语言题库(带详细讲解答案解析)

C语言题库(带详细讲解答案解析)

一单项选择题1.( A )是构成C语言程序的基本单位。

A、函数 B 、过程 C 、子程序 D 、子例程2.C语言程序从 C 开始执行。

A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main 函数D) 包含文件中的第一个函数3、以下说法中正确的是( C )。

A 、C语言程序总是从第一个定义的函数开始执行B 、在C语言程序中,要调用的函数必须在main( ) 函数中定义C 、C语言程序总是从main( ) 函数开始执行D 、C语言程序中的main( ) 函数必须放在程序的开始部分4. 下列关于C语言的说法错误的是( B )。

A) C 程序的工作过程是编辑、编译、连接、运行B) C 语言不区分大小写。

C) C 程序的三种基本结构是顺序、选择、循环D) C 程序从main 函数开始执行5. 下列正确的标识符是( C )。

A.-a1B.a[i]C.a2_iD.int t5~8 题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“- ”,选项B中“[ ”与“] ”不满足(1);选项D中的int 为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B )。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E 均为为关键字,不满足(3);选项 D 中的“- ”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。

A)%x B )a+b C)a123 D )123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A 、print _3d db8 aBcB 、I\am one_half start$it 3paiC 、str_1 Cpp pow whileD 、Pxq My->book line# His.age选项B中的“”,”$”,选项D中“>”,”#”,”. ”,”- ”不满足(1);选项C中的while 为关键字,不满足(3)6.C 语言中的简单数据类型包括( D )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

)。
A. 打印不出东西 B. 打印出 5 C. 打印出 6 D. 因为 while(0),无法编译 答案:C 9、对于以下代码: int i; for(i=0; i<10; i++) printf("%d", i); for 循环后,i 的值是多少? A. 9 B. i 不存在 C. 10 D. i 没有确定的值 答案:C 10、以下哪个 for 语句是错误的? A. for(i=0; i<10; i--); B. for(i=0, j=0; i<10; i++; j++ ); C. for(i=0; i<10, j<10; i++); D. for(i=0; j<10; j++ ); 答案:B 11、对 for(表达式 1;;表达式 3) 可理解为( )。 A. for(表达式 1; 1; 表达式 3) B. for(表达式 1; 表达式 3; 表达式 3) C. for(表达式 1; 表达式 1; 表达式 3) D. for(表达式 1; 0; 表达式 3) 答案:A 12、循环语句 while(x%3) a++; 中的表达式 x%3 等价于( A. x%3==1 B. x%3!=0 C. x%3==2
3、如下程序段的功能是判断一个 4 位自然数个位和十位数字是否相 同,在划线处__应该填写表达式( )。 int num; scanf ("%d",&num); if(num>=1000 && num<10000) if (__) printf("该 4 位自然数个位和十位数字相同\n"); else printf("该 4 位自然数个位和十位数字不同\n"); A. num%10 == num/10%10 B. num/1000 == num%10
单元测试二 一、单项选择题
1、阅读下述程序段,设变量 c 的值是 68,运行结果是( )。 提示:小写字母 a 的 ASCII 码是 97, 大写字母 A 的 ASCII 码是 65。 char c; if(c>='A' && c<='Z') printf("%c\n", c+32); else printf("%d\n", c); A. D B. 100 C. d D. 68 答案:C 2、阅读下面程序段,s 的值是( int a=1, b=2, c=6, s; if(a<=b || c<0 || b<c) s=b+c; else s=a+b+c; A. 10 B. 8 C. 11 D. 9 答案:B )。
)。
)。
B. y=0; if (x>=0) if(x) y=1; else y=-1; C. if(x>=0) y=0; if(x) y=1; else y=-1; D. if(x != 0) if(x > 0) y = 1; else y = -1; 答案:A 16、若 k 为整型,以下 while 循环执行( k=2; while(k=0) printf("%d", k), k--; printf("\n"); A. 无限次 B. 2 次 C. 0 次 D. 1 次 答案:C )次。
20、下面有关 for 循环的正确描述是( )。 A. for 循环只能用于循环次数已经确定的情况。 B. for 循环是先执行循环体语句,后判断表达式。 C. for 循环的循环体可以包含多条语句,但必须用花括号括起来。 D. 在 for 循环中,不能用 break 语句跳出循环体。 答案: C
二、填空题
case 0: a++; break; case 1.0: b++; break; default: a++; b++; } D. switch((int)x%2.0) { case 0: a++; break; case 1: b++; break; default: a++; b++; } 答案:B 6、对于以下代码: int i=6; if(i<= 6) printf("hello\n");; else printf("bye-bye\n");; 下面哪句话是对的? A. 打印出"hello" B. 打印出"hello bye-bye" C. 打印出"bye-bye" D. 不能通过编译 答案:D 7、在代码: while( !e ) 中,!e 等价于( A. e == 0 B. e!=0 C. e == 1 D. e != 1 答案:A 8、对于以下代码: int i=6; do { printf("%d", i--); } while(0); 哪句话是对的?
17、要使下面程序输出 10 个整数,则在划线处__填入正确的数是 ( )。 for(i=0;i<= __ ;) printf("%d\n", i+=2); A.18 B.20
C.9 D.10 答案:A 18、若 k 为整型变量,则下面 while 循环执行的次数为( k=10; while(k>=5) k=k-1; A. 4 次 B. 7 次 C. 5 次 D. 6 次 答案: D 19、下面程序的输出结果是( int main(void) { int s, k; for(s=1, k=2; k<5; k++) s+=k; printf("%d\n", s); return 0; } A. 9 B. 15 C. 1 D. 10 答案: D )。 )。
1、语句 if(4/5 > 3/4) a=1; else
a=0; 运行后,a 的值是________ 。 答案:0 2、表达式:!!"2010-01-27" 的值为________ 。(以 1 表示真,0 表示假) 答案:1 3、若变量 x 已正确定_______ 。 答案:0 4、写出表示“ x 的取值在 [-10, 0] 的范围内,结果为真,否则为 假”表达式________ 。注意不需要任何空格。 答案:x>=-10&&x<=0 或 x<=0&&x>=-10 或 !(x<-10||x>0)。 5、若:int a=6, b=0, c=3; 则表达式:a && b || b - c 的结果是________ 。(以 1 表示真,0 表 示假) 答案:1 6、若变量已正确定义,执行 scanf("%d%c%f", &op1, &op, &op2); 输入________ 之后,op1 的值为 1,op 的值为'*',op2 的值为 2.0。 (如果小数点后有零,请只以一个 0 表示) 答案:1*2 或 1* 2 或 1*2.0 或 1* 2.0 或 1*2. 或 1* 2. 7、若有:int x = 5; 则:! x<10 的值是________。(以 1 表示真,0 表示假) 答案:1 8、现有 int x=0,y=4; 表达式-10<x&&y<0 的结果是________ 。 答案:0 9、以下程序的输出是________ 。 #include <stdio.h>
C. num/10%10 == num/100%10 D. num/100%10 == num%10 答案:A 4、下面程序的运行结果是( )。 #include <stdio.h> int main(void) { int a=1, b=2, c=3; if(a==1 && b==2) if(b !=2 || c!=3) printf("%d,%d,%d\n", a, b, c); else printf("%d,%d,%d\n", a, b, c); else printf("%d,%d,%d\n", a, b, c); return 0; } A. 1.3.3 B. 1,3,2 C. 1,2,3 D. 3,2,1 答案:C 5、如有定义语句 int a,b; double x; 则下列选项中没有错误的是 ( )。提示:(int)x 表示将变量 x 的值强制转换成 int 类型。若 x 初始值为 3.2 则(int)x 的结果是 int 类型,值为 3。 A. switch(x%2) { case 0: a++; break; case 1: b++; break; default: a++; b++; } B. switch((int)x%2 ) { case 0: a++; break; case 1: b++; break; default: a++; b++; } C. switch(x%2) {
)。
D. x%3==0 答案:B 13、循环语句 while (!x&&!y) 中的循环条件表达式等价于( A. x=0 && y=0 B. !(x || y) C. !(x==0 || y==0) D. !(x==0 && y==0) 答案:B 14、假设有定义:int k; 下面代码编译运行的情况是( for(k=1; k; k++) printf ("%d ", k); A. 编译错误 B. 能运行,正常结束 C. 以上说法都不对 D. 能运行,是死循环 答案:B 15、对于 int x, y; 语句 if(x < 0) y = -1; else if(!x) y = 0; else y = 1; 等价于( )。 A. y=0; if(x!=0) if(x>0) y=1; else y=-1;
相关文档
最新文档