习题一C语言及算法概述 一.选择题 1.下列叙述中错误的是()。 A.计算机不能直接执行用C语言编写的源程序 B.C语言源程序经C编译程序编译后,生成后缀为obj的文件是一个二进制文件 C.C后缀为obj的文件,经连接程序生成后缀为exe的文件是一个二进制文件 D.后缀为obj和exe的二进制文件都可以直接运行 2.下列叙述中错误的是()。 A.C语言是一种结构化程序设计语言 B.结构化程序由顺序、分支、循环3种基本结构组成 C.使用3种基本结构构成的程序只能解决简单问题 D.结构化程序设计提倡模块化的设计方法 3.C语言程序的3种基本结构是顺序结构、选择结构和( )结构。 A.循环 B.递归 C.转移 D.嵌套 4.下列叙述中正确的是()。 A.C语言程序将从源程序中第一个函数开始执行 B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D.main可作为用户标识符,用以命名任意一个函数作为主函数 5.C语言规定:在一个源程序中,mainO函数的位置()。 A.必须在最前面 B.必须在系统调用的库函数后面 C.可以任意 D.必须在最后 6.以下叙述中正确的是()。 A.C程序中的注释只能出现在程序的开始位置和语句的后面 B.C程序书写格式严格,要求一行内只能写一个语句 C.C程序书写格式自由,一个语句可以写在多行上 D.用C语言编写的程序只能放在一个程序文件中 7.以下叙述中正确的是()。 A.C程序的基本组成单位是语句 B.C程序中的每一行只能写一条语句 C.C语句必须以分号结束 D.C语句必须在一行内写完 8.计算机能直接执行的程序是( )。 A.源程序 B.目标程序 C.汇编程序 D.可执行程序 9.要把高级语言编写的源程序转换为目标程序,需要使用( )。 A.编辑程序 B.驱动程序 C.诊断程序 D.编译程序 10.下列叙述中正确的是()
1 习题一 C 语言及算法概述 一. 选择题 1. 下列叙述中错误的是( )。 A. 计算机不能直接执行用C语言编写的源程序 B. C语言源程序经C编译程序编译后,生成后缀为obj的文件是一个二进制文件 C. C后缀为obj的文件,经连接程序生成后缀为exe的文件是一个二进制文件 D. 后缀为obj和exe的二进制文件都可以直接运行 2. 下列叙述中错误的是( )。 A. C语言是一种结构化程序设计语言 B. 结构化程序由顺序、分支、循环3种基本结构组成 C.使用3种基本结构构成的程序只能解决简单问题 D.结构化程序设计提倡模块化的设计方法 3. C语言程序的3种基本结构是顺序结构、选择结构和( )结构。 A. 循环 B. 递归 C. 转移 D. 嵌套 4. 下列叙述中正确的是( )。 A. C语言程序将从源程序中第一个函数开始执行 B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C. C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D. main可作为用户标识符,用以命名任意一个函数作为主函数 5. C语言规定:在一个源程序中, main()函数的位置( )。 A.必须在最前面 B.必须在系统调用的库函数后面 C.可以任意 D.必须在最后 6. 以下叙述中正确的是( )。 A. C程序中的注释只能出现在程序的开始位置和语句的后面 B. C程序书写格式严格,要求一行内只能写一个语句 C. C程序书写格式自由,一个语句可以写在多行上 D. 用C语言编写的程序只能放在一个程序文件中 7. 以下叙述中正确的是( )。 A. C程序的基本组成单位是语句 B. C程序中的每一行只能写一条语句 C. C语句必须以分号结束 D. C语句必须在一行内写完 8. 计算机能直接执行的程序是( )。 A. 源程序 B. 目标程序 C. 汇编程序 D. 可执行程序 9. 要把高级语言编写的源程序转换为目标程序,需要使用( )。 A. 编辑程序 B. 驱动程序 C. 诊断程序 D. 编译程序 10. 下列叙述中正确的是( )
A.用C程序实现的算法必须要有输入和输出操作 B.用C程序实现的算法可以没有输出但必须要有输入 C.用C程序实现的算法可以没有输入但必须要有输出 D.用C程序实现的算法可以既没有输入也没有输出 11.下列叙述中错误的是()。 A.C语句必须以分号结束 B.复合语旬在语法上被看做一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 12.结构化程序由3种基本结构组成,3种基本结构组成的算法()。 A.可以完成任何复杂的任务 B.只能完成部分复杂的任务 C.只能完成符合结构化要求的任务 D.只能完成一些简单的任务 13.下列叙述中正确的是()。 A.程序设计就是编制程序 B.程序的测试必须由程序员自己去完成 C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试 14.下列叙述中错误的是()。 A.C语言源程序经编译后生成后缀为obj的目标程序 B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 15.以下叙述中正确的是()。 A.C语言的源程序不必通过编译就可以直接运行 B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C.C源程序经编译形成的二进制代码可以直接运行 D.C语言中的函数不可以单独进行编译 16.下列选项中不属于结构化程序设计方法的是( A.自顶向下B.逐步求精 C.模块化 D.可复用 17.有以下关于算法描述正确的是( )。 A.算法是C语言程序 B.算法是解决问题的方法 C.算法是解决问题的步聚 D.以上说法均不正确 18.用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”,请 问“如何做”是属于用计算机解决问题的哪一个步骤( )。 A.分析问题B.设计算法 C.编写程序 D.调试程序 19.以下问题中最适合用计算机编程处理的是()。 A.制定本学期的学习计划 B.计算正方形的周长 C.创作一首歌曲 D.求1000以内的所有素数
2 A. 用C程序实现的算法必须要有输入和输出操作 B. 用C程序实现的算法可以没有输出但必须要有输入 C. 用C程序实现的算法可以没有输入但必须要有输出 D. 用C程序实现的算法可以既没有输入也没有输出 11. 下列叙述中错误的是( )。 A. C语句必须以分号结束 B. 复合语旬在语法上被看做一条语句 C. 空语句出现在任何位置都不会影响程序运行 D. 赋值表达式末尾加分号就构成赋值语句 12. 结构化程序由3种基本结构组成,3种基本结构组成的算法( )。 A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化要求的任务 D. 只能完成一些简单的任务 13. 下列叙述中正确的是( )。 A. 程序设计就是编制程序 B. 程序的测试必须由程序员自己去完成 C. 程序经调试改错后还应进行再测试 D. 程序经调试改错后不必进行再测试 14. 下列叙述中错误的是( )。 A. C语言源程序经编译后生成后缀为obj的目标程序 B. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 15. 以下叙述中正确的是( )。 A. C语言的源程序不必通过编译就可以直接运行 B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C. C源程序经编译形成的二进制代码可以直接运行 D. C语言中的函数不可以单独进行编译 16. 下列选项中不属于结构化程序设计方法的是( )。 A. 自顶向下 B. 逐步求精 C. 模块化 D. 可复用 17. 有以下关于算法描述正确的是( )。 A. 算法是C语言程序 B. 算法是解决问题的方法 C. 算法是解决问题的步骤 D. 以上说法均不正确 18. 用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”,请 问“如何做”是属于用计算机解决问题的哪一个步骤( )。 A. 分析问题 B. 设计算法 C. 编写程序 D. 调试程序 19. 以下问题中最适合用计算机编程处理的是( )。 A. 制定本学期的学习计划 B. 计算正方形的周长 C. 创作一首歌曲 D. 求1000以内的所有素数
20.下面说法正确的是()。 A.算法+数据结构=程序 B.算法就是程序 C.数据结构就是程序 D.算法包括数据结构 二.填空题 1.C语言源程序名的后缀是 2.结构化程序设计所规定的3种基本控制结构是 3.在C程序中,可用{)括起的许多语句称为 语句。 4.C程序的基本组成单位是 5.C语言中的标识符只能由3种字符组成,它们是 和 6.一个C源程序至少应包含一个 7.程序设计语言必须具有 和 的能力。 8.C语言中能直接让机器执行的是 类型的文件。 9.C语言的直接可执行文件是通过 和 生成的。 10.以下流程图的功能是」 真 假 x%=0 偶数 奇数 参考答案 一.选择题 1.D 2.C 3.A 4.C 5.C 6.c 7.A 8.D 9.D 10.C 11.C 12.A 13.C 14.D 15.B 16.D 17.C 18.B 19.D 20.A 二.填空题 1.c 2.顺序结构 分支结构循环结构 3.复合 4.语句
3 20. 下面说法正确的是( )。 A. 算法+数据结构=程序 B. 算法就是程序 C. 数据结构就是程序 D. 算法包括数据结构 二. 填空题 1. C语言源程序名的后缀是 。 2. 结构化程序设计所规定的3种基本控制结构是 、 、 。 3. 在C程序中,可用{}括起的许多语句称为 语句。 4. C程序的基本组成单位是 。 5. C语言中的标识符只能由3种字符组成,它们是 、 和 。 6. 一个C源程序至少应包含一个 。 7. 程序设计语言必须具有 和 的能力。 8. C语言中能直接让机器执行的是 类型的文件。 9. C语言的直接可执行文件是通过 和 生成的。 10. 以下流程图的功能是 。 参 考 答 案 一. 选择题 1.D 2.C 3.A 4.C 5.C 6.C 7.A 8.D 9.D 10.C 11.C 12.A 13.C 14.D 15.B 16.D 17.C 18.B 19.D 20.A 二. 填空题 1.c 2.顺序结构 分支结构 循环结构 3.复合 4.语句
5.字母数字下划线 6.main(0函数 7.数据表达 数据处理 8..exe 9.编译 连接 10.判断x的奇偶性 习题二数据类型、运算符与表达式 一.选择题 1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。 A.大写字母 B.连接符 C.数字字符 D.下划线 2.下列叙述中错误的是()。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到"见名知义” C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 3.下列不合法的用户标识符是( )。 A.j2 KEY B.Double C.4d a D.8 4.以下选项中合法的用户标识符是( )。 A.long B.2Test C.3Dmax D.A.dat 5.C语言中,运算对象必须是整型数的运算符是( A.% B. C.%和 D./ 6.以下能正确地定义整型变量a、b和c并为它们赋初值5的语句是( )。 A.int a=b=c=5; B.int ab,c=5; C.a=5,b=5,c=5 D.int a=5,b=5,c=5: 7.假设m是一个三位数,从左到右用a、b、C表示各位的数字,则从左到右各个数字是 bac的三位数的表达式是()。 A.b*100+a*10+c B.a*100+b*10+c C.b+a+c D.bac 8.执行下列两条语句"intcl=1,c2=2,c3,c3=1.0/c2*cl;"后,变量c3的值是( )a A.0 B.0.5 C.1 D.2 9.C语言中最简单的数据类型包括( )。 A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型 10.下列选项中,值为1的表达式是( A.1-'0 B.1-0 C.10 D.0-'0 11.设有如下变量定义"itk=7,x=12;",则能使值为3的表达式是()。 4
4 5.字母 数字 下划线 6.main()函数 7.数据表达 数据处理 8..exe 9.编译 连接 10.判断 x 的奇偶性 习题二 数据类型、运算符与表达式 一. 选择题 1. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。 A. 大写字母 B. 连接符 C. 数字字符 D. 下划线 2. 下列叙述中错误的是( )。 A. 用户所定义的标识符允许使用关键字 B. 用户所定义的标识符应尽量做到"见名知义" C. 用户所定义的标识符必须以字母或下划线开头 D. 用户定义的标识符中,大、小写字母代表不同标识 3. 下列不合法的用户标识符是( )。 A. j2_KEY B. Double C. 4d_a D. 8 4. 以下选项中合法的用户标识符是( )。 A. long B. _2Test C. 3Dmax D. A. dat 5. C语言中,运算对象必须是整型数的运算符是( )。 A. % B. \ C. %和\ D. / 6. 以下能正确地定义整型变量a、b和c并为它们赋初值5的语句是( )。 A. int a=b=c=5; B. int a,b,c=5; C. a=5,b=5,c=5; D. int a=5,b=5,c=5; 7. 假设m是一个三位数,从左到右用a、b、C表示各位的数字,则从左到右各个数字是 bac的三位数的表达式是( )。 A. b*100+a*10+c B. a*100+b*10+c C. b+a+c D. bac 8. 执行下列两条语句"int cl =1,c2=2,c3; c3=1.0/c2*cl;"后,变量c3的值是( )。 A. 0 B. 0.5 C. 1 D. 2 9. C语言中最简单的数据类型包括( )。 A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 10. 下列选项中,值为1的表达式是( )。 A. 1-'0' B. 1-'\0' C. '1'-0 D. '\0'-'0' 11. 设有如下变量定义"int k=7,x=12;",则能使值为3的表达式是( )
Ax%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 12.设x和y均为int型变量,则语句”x+yy=x-y,xy;”的功能是( )。 A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.无确定结果 D.交换x和y中的值 13.己知字母A'的ASCII值为65,若有char ch=-A'+'6-3',则ch的值为( ) A.'D B.68 C.不确定的值 D.'C 14.以下选项中,非法的字符常量是( A.'t B.165 C."n" D.t' 15.整型变量x和y的值相等且为非0值,则以下选项中,结果为零的表达式是( )。 A.xy B.xly C.x&y D.xy 16.下列关于单目运算符++、-一的叙述中正确的是( A.它们的运算对象可以是任何变量和常量 B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C.它们的运算对象可以是int型变量,但不能是double?型变量和f1loat型变量 D.它们的运算对象可以是char型变量、int型变量和float型变量 17.设变量x为f1oat型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并 将第三位四舍五入的是( )。 A.x=x*100+0.5/100.0: B.x=(x*100+0.5)/100.0 C.x=(int)(x*100+0.5)/100.0; D.x=(x/00+0.5)*100.0; 18.设有定义"itk=0:",下列4个表达式中与其他3个表达式的值不相同的是( A.k++ B.k+=1 C.++k D.k+l 19.已知字符A的ASCI代码值是65,字符变量cl的值是A', c2的值是D。执行语句 "printf("%d,%d",c1,c2-2);"后,输出结果是()。 A.A.B B.A.68 C.65,66 D.65,68 20.若有以下定义"char a;int b,float c,double d;",则表达式ab+d-c值的类型为 ( )。 A.float B.int C.char D.double 二.填空题 1.设有"intx=l,y=2;",则表达式l.0+xy的值为 2.若变量s为it型,且其值大于0,则表达式s%2+(s+1)%2的值为 3.设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式 4.设二进制数a是00101101,若想通过异或运算ab使a的高4位取反,低4位不变,则 二进制数b应是 5.假定x和y为double型,则表达式"x=2,y=x+3/2"的值为 6.假设计算机内用两个字节表示一个整型数据,则-5的补码是 7.在C语言中,short int占两个字节,则short int类型数据能表示的最大整数为 8.下列程序的输出结果是
5 A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5) 12. 设x和y均为int型变量,则语句" x+=y;y=x-y;x-=y;”的功能是( )。 A. 把x和y按从大到小排列 B. 把x和y按从小到大排列 C. 无确定结果 D. 交换x和y中的值 13. 己知字母'A'的ASCII值为65,若有char ch='A'+'6'-'3',则ch的值为( )。 A. 'D' B. 68 C. 不确定的值 D. 'C' 14. 以下选项中,非法的字符常量是( )。 A. 't' B. '\65' C. "n" D. '\t’ 15. 整型变量x和y的值相等且为非0值,则以下选项中,结果为零的表达式是( )。 A. x||y B. x|y C. x&y D. x^y 16. 下列关于单目运算符++、--的叙述中正确的是( )。 A. 它们的运算对象可以是任何变量和常量 B. 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C. 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D. 它们的运算对象可以是char型变量、int型变量和float型变量 17. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并 将第三位四舍五入的是( )。 A. x=x*100+0.5/100.0; B. x=(x*100+0.5)/100.0; C. x=(int)(x* 100+0.5)/100.0; D. x=(x/l 00+0.5)* 100.0; 18. 设有定义"int k=0;",下列4个表达式中与其他3个表达式的值不相同的是( )。 A. k++ B. k+=1 C. ++k D. k+l 19. 已知字符'A'的ASCII代码值是65,字符变量cl的值是'A', c2的值是'D'。执行语句 "printf("%d, %d",c 1,c2-2);"后,输出结果是( )。 A. A,B B. A,68 C. 65,66 D. 65,68 20. 若有以下定义" char a; int b; float c; double d;",则表达式a*b+d-c值的类型为 ( )。 A. float B. int C. char D. double 二. 填空题 1. 设有"int x=1, y=2;",则表达式1.0+x/y的值为 。 2. 若变量s为int型,且其值大于0,则表达式s%2+(s+1)%2的值为 。 3. 设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式 。 4. 设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则 二进制数b应是 。 5. 假定x和y为double型,则表达式"x=2,y=x+ 3/2"的值为 。 6. 假设计算机内用两个字节表示一个整型数据,则-5的补码是 。 7. 在C语言中,short int占两个字节,则short int类型数据能表示的最大整数为 。 8. 下列程序的输出结果是
int main(void) int a=0; a+=(a=8): printf("%d\n",a); return 0; 9.设有定义"f1oatx=123.4567;",则执行"printf("%fn",(int)(x*100+0.5)/100.0),"语句后 的输出结果是 0 10.以下程序的输出结果是 int main(void) int a,b,c; a=25,b=025,c=0x25: printf("%d %d%d n",a b,c); return 0; 参考答案 一.选择题 1.B 2.A 3.C 4.B 5.A 6.D 7.A 8.A 9.B 10.B 11.D 12.D 13.A 14.C 15.D 16.C 17.C 18.A 19.C 20.D 二.填空题 1.1.0 2.1 3.a=a-(a+b) 4.11110000 5.3.000000 6.1111111111111011 7.32767 8.16 9.123.460000 10.252137 习题三顺序结构 一.选择题 1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须 相同。如果格式说明的个数小于输出项的个数,多余的输出项将():如果格式说明的 6
6 int main(void) { int a=0; a+=(a=8); printf("%d\n",a); return 0; } 9. 设有定义"float x=123.4567;",则执行" printf("%f\n",(int)(x*100+0.5)/100.0);"语句后 的输出结果是 。 10. 以下程序的输出结果是 。 int main(void) { int a,b,c; a=25; b=025; c=0x25; printf("%d %d %d\n",a,b,c); return 0; } 参 考 答 案 一. 选择题 1.B 2.A 3.C 4.B 5.A 6.D 7.A 8.A 9.B 10.B 11.D 12.D 13.A 14.C 15.D 16.C 17.C 18.A 19.C 20.D 二. 填空题 1.1.0 2.1 3.a=a-(a+b) 4.11110000 5.3.000000 6.1111111111111011 7.32767 8.16 9.123.460000 10.25 21 37 习题三 顺序结构 一. 选择题 1. C 语言中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须 相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的
个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 A.不予输出 B.输出空格 C照样输出 D.输出不定值或0 2.在scaf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型 不匹配,系统( A.不予接收 B.并不给出出错信息,但不可能得出正确信息数据 C能接受正确输入 D.给出出错信息,不予接收输入 3.下列说法正确的是( )。 A.输入项可以是一个实型常量,如scanf("%f",4.8): B.只有格式控制,没有输入项也能进行正确输入,如scanf"a=%d,b=%d"): C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f: D.当输入数据时,必须指明变量的地址,如scanf("%f",&f): 4.以下程序的输出结果是()。 void main() { inti=010j=l0,k=0x10: printf("%d,%d,%dn",ijk); } A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 5.以下程序的输出结果是()。 void main()】 { int i=011,j=11,k=0x11; printf("%d,%d,%dn",ij,k); } A.9,11,17 B.9,11,11 C.11,11,11 D.11,11,16 6.以下程序的输出结果是()。 #include void main ( printf("%d\n",NULL):} A.不确定的值(因变量无定义) B.0 c.-1 D.1 7.以下程序的输出结果是()。 void main ( { char cl='6',c2='0' >
7 个数多于输出项的个数,则对于多余的格式将输出不定值(或 0)。 A.不予输出 B.输出空格 C.照样输出 D.输出不定值或0 2. 在 scanf 函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型 不匹配,系统( )。 A.不予接收 B.并不给出出错信息,但不可能得出正确信息数据 C.能接受正确输入 D.给出出错信息,不予接收输入 3. 下列说法正确的是( )。 A.输入项可以是一个实型常量,如 scanf("%f",4.8); B.只有格式控制,没有输入项也能进行正确输入,如 scanf("a=%d,b=%d"); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf("%5.3f",&f); D.当输入数据时,必须指明变量的地址,如 scanf("%f",&f); 4. 以下程序的输出结果是( )。 void main ( ) { int i=010,j=10,k=0x10; printf("%d,%d,%d\n",i,j,k); } A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 5. 以下程序的输出结果是( )。 void main ( ) { int i=011,j=11,k=0x11; printf("%d,%d,%d\n",i,j,k); } A.9,11,17 B.9,11,11 C.11,11,11 D.11,11,16 6. 以下程序的输出结果是( )。 #include void main ( ) { printf("%d\n",NULL);} A.不确定的值(因变量无定义) B.0 C.-1 D.1 7. 以下程序的输出结果是( )。 void main ( ) { char c1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); } A因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 8.设有如下定义 intx=10,y=3,z, 则语句 printf("%d\n",z-(x%y,x/y)); 的输出结果是( )。 A.3 B.0 C.4 D.1 9.设有如下定义 int x=10,y=5,z 则语句 printf("%d\n",z=(x+=y,x/y)); 的输出结果是( )。 A.1 B.0 C.4 D.3 10.写出下面程序的输出结果( )。 void main ( int x; x=-3+4*5-6;printf"%d",x); x=3+4%5-6;printf("%d",x): x=-3*4%6/5;printf("%d"x): x=(7+6)%5/2;printf("%d",x); } A.11101 B.11-321 C.12-321 D.11121 11.写出下面程序的输出结果()。 void main ( { int x,y,Z x-y=1; z=x++-1;printf("%d,%d\t",x,z); z+=-x+++(++y);printf("%d,%d",x,z); A.2,03,0 B.2,13,0 C.2,02,1 D.2.10.1 12.写出下面程序的输出结果()。 void main ( intij;
8 printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); } A.因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 8. 设有如下定义 int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。 A.3 B.0 C.4 D.1 9. 设有如下定义 int x=10,y=5,z; 则语句 printf("%d\n",z=(x+=y,x/y)); 的输出结果是( )。 A.1 B.0 C.4 D.3 10. 写出下面程序的输出结果( )。 void main ( ) { int x; x=-3+4*5-6;printf("%d",x); x=3+4%5-6;printf("%d",x); x=-3*4%6/5;printf("%d",x); x=(7+6)%5/2;printf("%d",x); } A.11 1 0 1 B.11 -3 2 1 C.12 -3 2 1 D.11 1 2 1 11. 写出下面程序的输出结果( )。 void main ( ) { int x,y,z; x=y=1; z=x++-1;printf("%d,%d\t",x,z); z+=-x++ +(++y);printf("%d,%d",x,z); } A.2,0 3,0 B.2,1 3,0 C.2,0 2,1 D.2,1 0,1 12. 写出下面程序的输出结果( )。 void main ( ) { int i,j;
i=20;j=(++i)+i;printf("%d",j); i=13;printf("%d %d"+i); A.4214,13 B.4114.14 C.421313 D.421314 13.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长 度大于4,则按原字符长从左向右全部输出:如果字符串长度小于4,则输出方式为( )。 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C右对齐输出该字符,左补空格 D.输出错误信息 14.根据定义和数据的输入方式,输入语句的正确形式为( 己有定义:float al,.a2: 数据的输入方式:4.523 3.52 A.scanf(%f%f”,&al,&a2)月 B.scanf("f,%f",al,a2); C.scanf%4.3f,%3.2f”,&al,&a2) D.scanf("%4.3f%3.2f",al,a2); 15.下列程序的输出结果是( int main(void) intk=11; printf("k=%d,k=%o,k=%x\n"k.k.k); return0; A.k=11,k=12.k=11 B.k=11,k=13,k=13 C.k=Il,k=013,k=Oxb D.k=11,k=13,k=b l6.假定w、x、y、z、m均为int型变量,则运行如下程序段后,m的值是( )。 w=1;X=2,y=3,Z=4 m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:Z; A.4 B.3 C.2 D.1 17.已知字符a的ASC十进制代码为97,则执行下列程序段后的输出结果是( ) char ch:int k ch='a';k=12: printf("%c,%d,",ch,chk). printf("k=%d\n",k); A.因变量类型与格式描述符的类型不匹配输出无定值 B.输出项与格式描述符个数不符,输出为零值或不定值 C.a,97,12k=12 D.a97,k=12 18.下列程序的输出结果是()。 int main(void) 9
9 i=20;j=(++i)+i;printf("%d",j); i=13;printf("%d %d",i++,i); } A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14 13. printf 函数中用到格式符"%4s",其中数字 4 表示输出的字符串站用 4 列。如果字符串长 度大于 4,则按原字符长从左向右全部输出;如果字符串长度小于 4,则输出方式为( )。 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C.右对齐输出该字符,左补空格 D.输出错误信息 14. 根据定义和数据的输入方式,输入语句的正确形式为( )。 已有定义:float a1, a2; 数据的输入方式:4.523 3.52 A.scanf(“%f %f ”, &a1,&a2); B.scanf(“%f ,%f ”, a1, a2); C.scanf(“%4.3f ,%3.2f ”, &a1,&a2); D.scanf(“%4.3f %3.2f ”, a1,a2); 15. 下列程序的输出结果是( )。 int main(void) { intk=11; printf("k=%d,k=%o,k=%x\n",k,k,k); return 0; } A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=ll,k=013,k=Oxb D. k=11,k=13,k=b 16. 假定w、x、y、z、m均为int型变量,则运行如下程序段后,m的值是( )。 w=1; x=2; y=3; z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; A. 4 B. 3 C. 2 D. 1 17. 已知字符a的ASCII十进制代码为97,则执行下列程序段后的输出结果是( )。 char ch:int k: ch='a'; k=12; printf("%c, %d,",ch,ch,k); printf("k=%d\n",k); A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a,97,12k=12 D. a,97,k=12 18. 下列程序的输出结果是( )。 int main(void)
char a=4; printf("%d\n",a=a,下面程序的输出结果是()。 void main() int m,n; scanf("%2d%3d",&m,&n): printf("m=%d n=%d\n",m,n); } A.m=23n=45 B.m=234n=56 C.m=23n=456 D.语句有错误 二.填空题 l.putchar函数的作用是 2.printf是C语言提供的标准输出函数,它的作用是 3.printfi函数的“格式控制”包括两部分,它们是 4.对不同类型的语句有不同的格式字符。例如: 格式字符是用来输出十进制整 数, 格式字符是用来输出一个字符, 格式字符是用来输出一个字符 串。 5.%-ms表示如果串长 m,则在m列范围内,字符串向 靠, 补空格。 6.如果要输出字符“&”,则应该在“格式控制”字符串中用 表示。 7.getchar函数的作用是 8.符号“&”是 运算符,&a是指 9.scanf函数中的“格式控制”后面应当是 而不是 10.C语言中的空语句就是 11.复合语句是由一对 括起来的若干语句组成。 12.下面程序的输出结果是 #include void main ( { int x=2.y.z: x*=3+2;printf("%d\n",x); x*=y=z=4;printf("%d\n",x); x=y=zprintf("%d\n",x); 10
10 { char a=4; printf("%d\n", a=a,下面程序的输出结果是( )。 void main ( ) { int m,n; scanf("%2d%3d", &m,&n); printf("m=%d n=%d\n",m,n); } A.m=23 n=45 B.m=234 n=56 C.m=23 n=456 D.语句有错误 二. 填空题 1. putchar函数的作用是 。 2. printf是C语言提供的标准输出函数,它的作用是 。 3. printf函数的“格式控制”包括两部分,它们是 和 。 4. 对不同类型的语句有不同的格式字符。例如: 格式字符是用来输出十进制整 数, 格式字符是用来输出一个字符, 格式字符是用来输出一个字符 串。 5. %-ms表示如果串长 m,则在m列范围内,字符串向 靠, 补空格。 6. 如果要输出字符“&”,则应该在“格式控制”字符串中用 表示。 7. getchar函数的作用是 。 8. 符号“&”是 运算符,&a是指 。 9. scanf函数中的“格式控制”后面应当是 ,而不是 。 10. C语言中的空语句就是 。 11. 复合语句是由一对 括起来的若干语句组成。 12. 下面程序的输出结果是 。 #include void main ( ) { int x=2,y,z; x*=3+2;printf("%d\n",x); x*=y=z=4;printf("%d\n",x); x=y=z;printf("%d\n",x);