《C语言程序设计》试题(第一至四章)(机制本科)(答案)
国家开放大学《C语言程序设计》形考任务1-4参考答案
形考任务 1 一、选择题(共 40 分,每小题 2 分) 1.在每个 C 语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
A. main B. MAIN C. name D. function 2.C 语言源程序文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 3.由 C 语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 4.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为 ( )。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 5.每个 C 语言程序文件的编译错误被分为( )。 A. 1 类 B. 2 类 C. 3 类
for(int j=i; j<n; j++) S;
a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 6.在下面的 do 循环语句中,其循环体被执行的次数为( )。 int i=0; do i++; while(i*i<10); a. 4 b. 3 c. 5 d. 2 7.在下面的一维数组定义中,有语法错误的选项是( )。 a. int a[]={1,2,3}; b. int a[10]={0}; c. int a[]; d. int a[5]; 8.在下面的二维数组定义中,语法正确的选项是( )。 a. int a[5][]; b. int a[][5]; c. int a[][3]={{1,3,5},{2}}; d. int a[](10); 9.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素 a[1][1]的 值为( )。 a. 2 b. 4 c. 6 d. 8 10.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素 a[2][1]的 值为( )。 a. 0 b. 4
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语言程序设计教程(第二版)》习题答案
1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。
2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。
递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。
*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。
(完整版)《C语言程序设计》复习参考答案
第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。
答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
一. 单元练习一. 选择题1构成C语言程序的基本单位是()。
A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。
C语言程序设计习题及答案
第一部分 C语言基础一、单项选择1.以下不是C语言的特点的是()。
(A) C语言简洁、紧凑(B)能够编制出功能复杂的程序(C) C语言可以直接对硬件进行操作(D)C语言移植性好2.下列浮点数的表示中正确的有()。
(A)223 (B).719E22 (C ) e23 (D) 12e2.03.字符型常量在内存中存放的是()。
(A)ASCII代码(B)BCD代码(C)内部码(D)十进制码4.“BB\n\\\123\r”在内存中占的字节数是(),此字符串的长度为()。
(A)6 (B)7 (C)8 (D)9 (E)10 (F)115.对于语句scanf (“%f□%f,z=%f”,&x,&y,&z ); ,其合法的输入形式为()。
(A)□14.7□2.0□15.3 (B)14.7,2.0,15(C)14.7□□2.0,15.3 (D)14.7□□□2.0,z=156.下列运算符中,结合方向为自左向右的是()。
(A)=(B),(C)+=(D)――7.若有int x ; 则sizeof(x)和sizeof(int )两种描述( ) 。
(A)都正确(B)值不一样(C)前者正确(D)后者正确8.整型变量x=1,y=3,经下列计算后,x的值不等于6的是( ) 。
(A)x=(x=1+2,x*2) (B)x=y>2?6:5 (C)x=9 - (- -y) - (- -y) (D)x=y*4.2/29.单精度变量x=3.0, y=4.0,下列表达式中y的值为9.0的是( ) 。
(A)y/=x*27/4 (B)y+=x+2.0 (C)y- =x+8.0 (D)y*=x-3.010.若整型变量i=3,j=4,作运算j=i+ + + j + i后,i的值为( ),j 的值为( ) 。
(A)10 (B)4 (C)3 (D)1111.设有整型变量x=10,表达式(x&&1535)&(x|55&100)的值为( ) 。
C语言程序设计试题及答案
C语言程序设计试题及答案在计算机科学与技术领域中,C语言是一种非常重要的编程语言。
作为一门高级编程语言,C语言广泛应用于操作系统、嵌入式系统、图形界面开发等领域。
为了帮助广大学习者更好地掌握C语言的相关知识,以下是一些C语言程序设计的试题及其答案。
一、基础知识题1. C语言中的关键字有哪些?请列举至少5个。
答案:在C语言中,关键字是具有特殊含义的保留字,不可以被用作变量名或函数名等标识符。
常见的C语言关键字有:int、float、char、if、while等。
2. 请解释一下C语言中的指针是什么?如何声明一个指针变量?答案:指针是一种特殊的变量,它存储了一个变量的内存地址。
通过指针,我们可以直接访问或修改所指向的变量的值。
在C语言中,可以通过使用"*"来声明一个指针变量。
例如,声明一个指向整数类型的指针变量可以使用以下代码:```cint *ptr;```3. 请编写一个C语言函数,实现两个整数的交换。
答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```二、语法题1. 请编写一个C语言程序,计算并输出1到100之间所有整数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100之间所有整数的和为:%d\n", sum);return 0;}```2. 请编写一个C语言函数,判断一个整数是否为素数(质数)。
答案:```c#include <stdio.h>int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}```三、综合题1. 请编写一个C语言程序,输出斐波那契数列的前n项。
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
《C语言程序设计》综合练习试卷(一)
《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。
2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。
3.字符数组中字符串可以整体输入输出。
4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。
5.C语言中数组名是指针常量。
6.结构体类型中的各成员项数据类型可以不相同。
7.函数必须有返回值,否则不能使用函数。
8.C程序执行总是从第一个函数开始。
9.可以用关系运算符对字符串进行大小比较。
10.For循环只能用于循环次数已确定的场合。
试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。
1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。
int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 CA) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则表达式值为6的是A)*p+6 B)*(p+6) C)*p+=5 D)p+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。
C语言程序设计习题集及参考答案
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
C语言程序设计试题集及其答案完整版
C语言程序设计试题集及其答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
C语言程序设计习题参考答案
C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDD3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
《C语言程序设计》考试试卷(含答案)
《C语言程序设计》考试试卷(含答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)1.__B___是C语言合法的常量。
2.(A).45(B)078 (C)25.6e3.4 (D)‘xy’3.一个程序的执行是从 A 。
4.(A)本程序的main函数开始,到main函数结束5.(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
6.(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
7.(D)本程序文件的第一个函数开始,到main函数结束。
8.以下叙述正确的是 C 。
9.(A)在C程序中,main函数必须位于程序的最前面。
10.(B)C程序每行中只能写一条语句。
11.(C)C语言本是没有输入输出语句。
12.(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
13.以下叙述不正确的是 D 。
14.(A)逗号运算符的运算级最低。
15.(B)ABC和abc是两个不同的变量。
16.(C)若a和b类型相同,在执行a=b后,b的自身值不变。
17.(D)‘a’和“a”是完全等价的常量。
18.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。
19.(A)28 (B)30 (C)60(D)1720.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为B 。
21.(A)2.7 (B)3.7(C)4.7 (D)4.0322.执行下面两个语句后,输出的结果为__D___。
C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]
void f3(float,float,float,float);int main() { float a,b,c,d; scanf("%f %f %f",&a,&b,&c); if(a==0) { printf(" 不 是 一 元 二 次 方 程 \n"); exit(0); } d=b*b-4*a*c; if(d>0) f1(a,b,c,d); else if(d==0) f2(a,b,c,d); else f3(a,b,c,d); return 0; } void f1(float a,float b,float c,float d){ float x1,x2; { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("%.2f ,%.2f\n",x1,x2); } } void f2(float a,float b,float c,float d){ float x1,x2; { x1=-b/(2*a); x2=-b/(2*a); printf("%.2f ,%.2f\n",x1,x2); } }
3
{ int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) printf("%5d",100*i+10*j+k); return 0; } (9) . #include<stdio.h> #include<math.h> int main() { float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2; f=(((2*x-4)*x+3)*x)-6; if(f*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf("%6.2f\n",x); return 0; } (10) . #include<stdio.h>
国家开放大学C语言程序设计章节测试参考答案
国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
《C程序设计》作业参考答案(1-4章)
第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
C语言程序设计习题集第4章 循环结构(答案)
第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。
main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。
main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序main(){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。
《C语言程序设计》试题库及答案
《C语言程序设计》试题库及答案C语言程序设计习题集及答案电子信息工程学院2022.9.1内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。
本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。
寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。
我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。
同学们,“攻城不怕坚,攻书莫畏难。
科学有险阻,苦战能过关。
”,学习是辛苦的,但也充满了挑战和乐趣。
我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。
朋友们,学习向来没有什么捷径可寻。
“多看、多模仿、多操作”是我能给你们的唯一建议。
祝你们学业有成。
杨久红2022.9.1I目录第一部分习题第1章C语言概述............................................................. ............................................................... .. (1)1.1选择题............................................................. ............................................................... ...................11.2填空题............................................................. ............................................................... ...................21.3编程题............................................................. ............................................................... ...................2第2章数据的存储与运算............................................................. .. (3)2.1选择题............................................................. ............................................................... ...................32.2填空题............................................................. ............................................................... ...................62.3编程题............................................................. ............................................................... ...................7第3章最简单的程序设计-顺序程序设 (8)3.1选择题............................................................. ............................................................... ...................83.2填空题............................................................. ............................................................... .................133.3编程题............................................................. ............................................................... .................14第4章选择结构程序设计............................................................. (15)4.1选择题............................................................. ............................................................... .................154.2填空题............................................................. ............................................................... .................194.3编程题............................................................. ............................................................... .................20第5章循环结构程序设计............................................................. .. (2)15.1选择题............................................................. ............................................................... .................215.2填空题..............................................................................295.3编程题............................................................. ............................................................... .................30第6章利用数组处理批量数据............................................................. . (32)6.1选择题.............................................................. ................................................................ ...............326.2填空题.............................................................. ................................................................ ...............376.3编程题.............................................................. ................................................................ ...............38第7章用函数实现模块化程序设计.............................................................. . (40)7.1选择题............................................................. ............................................................... .................407.2填空题............................................................. ............................................................... .................527.3编程题............................................................. ................................................................................57第8章善于使用指针............................................................. ............................................................... .. (58)8.1选择题............................................................. ............................................................... .. (58)II8.2填空题............................................................. ............................................................... .................708.3编程题............................................................. ............................................................... .................71第9章结构体............................................................. ............................................................... (72)9.1选择题............................................................. ............................................................... .................729.2填空题............................................................. ............................................................... .................739.3编程题............................................................. ............................................................... .................74第10章利用文件保存数据............................................................. . (75)10.1选择题............................................................. ............................................................... ...............7510.2填空题............................................................. ............................................................... ...............7710.3编程题............................................................. ............................................................... (79)第二部分参考答案第1章C语言概述............................................................. ............................................................... . (81)1.1选择题............................................................. ............................................................... .................811.2填空题............................................................. ............................................................... .................811.3编程题............................................................. ............................................................... .................81第2章数据的存储与运算............................................................. (81)2.1选择题............................................................. ............................................................... .................812.2填空............................................................... .................822.3编程题............................................................. ............................................................... .................82第3章最简单的程序设计-顺序程序设计............................................................. .. (83)3.1选择题............................................................. ............................................................... .................833.2填空题............................................................. ............................................................... .................833.3编程题............................................................. ............................................................... .................83第4章选择结构程序设计............................................................. (84)4.1选择题............................................................. ............................................................... .................844.2填空题............................................................. ............................................................... .................854.3编程题............................................................. ............................................................... .................85第5章循环结构程序设计.............................................................75.1选择题............................................................. ............................................................... .................885.2填空题............................................................. ............................................................... .................885.3编程题............................................................. ............................................................... .................88第6章利用数组处理批量数据............................................................. . (95)6.1选择题............................................................. ............................................................... .................956.2填空题............................................................. ............................................................... .................956.3编程题............................................................. ............................................................... .. (95)III第7章用函数实现模块化程序设计.............................................................. .. (100)7.1选择题............................................................. ............................................................... ...............1007.2填空题............................................................. ............................................................... ...............1007.3编程题............................................................. ............................................................... ...............100第8章善于使用指针............................................................. ............................................................... (104)8.1选择题............................................................. ............................................................... ...............1048.2填空题............................................................. ............................................................... ...............1048.3编程题............................................................. ............................................................... ...............104第9章结构体............................................................. ............................................................... . (106)9.1选择题............................................................. ............................................................... ...............1069.2填空题............................................................. ..............................................................................1069.3编程题............................................................. ............................................................... ...............106第10章利用文件保存数据............................................................. .. (107)10.1选择题............................................................. ............................................................... .............10710.2填空题............................................................. ............................................................... .............10710.3编程题............................................................. ............................................................... . (107)IV第一部分习题第1章C语言概述1.1选择题1.以下说法中正确的是()。
程序设计基础(C)第1——5章复习题答案
程序设计基础(C)第1——5章复习题及参考答案一、单选题1.可以在C语言中使用的一组用户标识符是(C)。
A. 3BB. KEYC. _123D. voidsizeof cl_c2 T3_al_ CHA TDO -for scanf 6B2.while(!x)中的!x与下面条件(A)等价。
A. x==0B. x==1C. x!=5D. x!=03.增1减1运算只能作用于(B)。
A. 常量B. 变量C. 表达式D. 函数4.下面四个选项中,均是字符常量或数值常量的选项是(A)。
A. 0.0B. “A”C. …3‟D. +0010f 3.9E-2.5 011 0xabcd8.9e 1e1 0xff00 2e3…&‟ …\”‟ 0a 50.5.下选项中正确的实型常量是(D)。
A. 0B. 0.618*10^2C. .871D. 3.1415 6.C语言中运算对象必须是整型的运算符是(D)。
A. %= 与/B. = 与&C. * 与^D. % 与|7.设a=2,b=2;则++a+b的结果是( D),a的结果是( B ),b的结果是( A)。
A. 2B. 3C. 4D. 59.下列运算符中优先级最低的是(B)。
A. +B. &&C. <=D. sizeof10.设int a=2;则表达式(a++*1/3)的值是(A),a的值是(D)。
A. 0B. 1C. 2D. 311.字符数据在内存中的存储采用的是(D)。
A. 反码B. 补码C. EBCDIC码D. ASCII码12.在C语言类型说明中,int、char、short等类型数据的长度是(D)。
A. 固定的B. 由用户自己定义的C. 任意的D. 与机器字的长度有关的13.在C语言中,不同类型的两个数据混合运算时,要先转换成相同类型再进行运算,设有int,long,unsigned和char类型的变量和数据,则它们的转换规律是(C),表达式最后的运算结果是(D)类型的数据。
《C语言程序设计(第五版)》习题答案
《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。
每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。
函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。
函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。
函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绝密★启用前 座位号2014-2015学年第一学期机制2013级《C 语言程序设计》试卷班级 姓名 学号一、单项选择题(每题2分,共15题,共30分) (以下各题中,有四个选项A 、B 、C 、D ,其中只有一个选项是正确的,请将正确的选项填入括号中)01.以下用户标示符中,合法的是( B )。
A.int B ._nit C. 1_23 D. a+b 02.C 语言源程序的基本单位是( B )。
A. 过程B. 函数C. 子程序D. 标识符 03.下列常量中,不合法的是( D )。
A. 1e2B. 071C.0x23D. 028 04.有如下程序段,其运行后m 的值是( D )。
int i=1,j=2,k=3,m; m=(i>j)?i:j; m=(m>k)?m:k;A.0B.1C.2D.305.有如下输入语句。
scanf("a=%d,b=%d",&x,&y); 为使x 的值为1,y 的值为2的正确输入形式是( D )。
A .1 2B .1,2C .a=1 b=2D.a=1,b=2 06.已知: int y; 执行语句y=23/5; y 的值是( A )。
A.4B.4.0C.4.6D.5 07.下列程序的执行结果是( A )。
A.7B.6C.5D.4 #include "stdio.h"main(){ int sum,pad; pad=sum=5; pad=sum++; pad++; ++pad;printf("%d", pad); }08. 下列程序的执行结果是( B )。
#include "stdio.h"main(){ int i=010,j=10; printf("%d,%d", ++i,j--); }A、8,10B、9,10C、9,9D、8,909. 如定义int x=9; float y=2.5; 则表达式x/2+(int)(x-y)%4/4的结果是(A )。
A、4B、4.0C、4.5D、510. 已知字符'A'的ASCII码值是65,则下列程序的输出结果是( B )。
#include "stdio.h"main(){ char c1='A',c2=66; printf("%d,%c", c1,c2); }A. 65,66B. 65,BC. A,BD. A,6611. 为了避免嵌套的if…else语句的二义性,C语言规定:else总是与( C )组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD. 同一行上的if12. 下列程序执行后,t的值是( B )。
#include "stdio.h"main(){ int x=4,y=5,t=6;if(x>y) t=x;else t=y; }A、4B、5C、6D、不确定13.下列程序的输出结果是( A )#include "stdio.h"main(){ int x=1,a=5,b=5;case(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b); }A. a=7,b=6B. a=6,b=6C. a=7,b=7D. a=5,b=513. 若有说明语句:char c='\72';则变量c ( A )A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法,c的值不确定14. 能正确表示逻辑关系:"0≤a≤10"的C语言表达式是( C )A. a>10 and a<=10B. a>=0|a<=10C. a>=0&&a<=10D. a>=0‖a<=1015、4 表达式18/4*sqrt(4)/8值的数据类型为( C )A. intB. floatC. doubleD. 不确定二、填空题(每题2分,共10题,共20分)Array(每题2空,每空1分)01.C语言源程序是由函数组成的,一个C程序必须有一个主函数。
02.若x是int型变量,x=25/3%3,则计算表达式后x的值为 2 。
当a=5,b=4,c=2时,表达式a>b!=c的值是 1 。
03.若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=2;m,y值分别是10 -16 。
(此题出的有误)04.输入整型数据的函数是scanf(),输出整型数据的函数是printf()。
单个字符的专门输入函数是getchar(),单个字符的专门输出函数是putchar()。
05.以下程序运行后的输出结果是b,d 。
main(){ char m; m='B'+32; printf("%c,%c\n",m,m+2);}06.表示"整数x的绝对值大于5"时值为"真"的C语言表达式是x>5||x<-5 。
若a,b,c是int型变量,c=(a=2,b=3,a+b); 则c的值是 5 。
07.sizeof(int)的值是 4 ,sizeof(char)的值是 1 。
08.算术表达式5-3%2/2的值是 5 ,关系表达式'a'-'A'>='b'-'B'的值是 1 。
09.在表达式0||7&&'a'中,应先运算&& ,后运算|| 。
10.C语言中,实型数据有两种,分别是float和double 。
C语言中,整型数据可以用十进制、八进制和十六进制表示。
八进制整数是以0开头,十六进制是以0x 开头;输出八进制整数,使用%o作为控制符;输出十六进制整数,使用%x 作为控制符。
三、程序分析题(每题5分,共6题,共30分)01.下列程序的功能是什么?答:输出x,y交换后的值。
#include "stdio.h"void main( ){int x=8,y=-5,t;t=x;x=y;y=t;printf("x=%d,y=%d\n",x,y);}02.下列程序的执行结果是什么?答:3,2,10#define M (2+3)#include"stdio.h"main(){int i=3,j=5,m,n;m=i/j+i%j ;n=(float)i/j+(int)5.3%i;printf("%d,%d,%d\n",m,n,M*2);}03.下列程序是输入任意两个整数,输出较大者。
请填空。
#include <stdio.h>main()int x,y,max;printf("\n请输入任两个整数:");scanf("%d%d",&x,&y);max=x ;if(x<y)max=y;printf("\n%d,%d中的较大者是:%d。
\n",x,y,max);}04. 下列程序是,输入任一字母,如是小写字母输出其大写字母,如是大写字母原样输出。
请改错。
(有横线那一行有错,请将正确的答案写在横线上) #include <stdio.h>main(){char ch;printf("\n请输入任一字母:");scanf("%c",ch); scanf("%c",&ch);if(ch>=’a’||ch<=’z’) if(ch>=’a’&&ch<=’z’)ch=ch+32; ch=ch-32;printf("\n对应的大写字母是:%c\n",ch);}05. 分析下面程序,写出输出结果。
答:0 2#include <stdio.h>main(){ int a=1,b=2,x,y;x=(a==b);y=(a=b);printf("\n%d %d\n",x,y);06.输入分数score#include <stdio.h> main() {int score,grade;printf("\n 请输入成绩:"); scanf("%d",&score ); if (score>=0&&score<=100) {switch(score/10) {case 9: case 10: grade='A';break; case 8: grade='B';break ; case 6: case 7: grade='C';break; default:grade='D'; }printf("\n 成绩%d 对应的等级是:%c 。
\n",score,grade); } elseprintf("\n 输入无效!\n"); }四、编程题(每题10分,共2题,共20分)01.编写程序输入长方形的长和宽,求长方形的周长和面积并输出.用双精度数处理。
#include <stdio.h>main(){double a,b,L,S;printf(“请输入长和宽:”);scanf("%lf%lf",&a,&b);L=2*(a+b);S=a*b;printf("长方形的周长是:%lf;长方形的面积是:%lf。
\n",L,S);}02. 编写程序,输入三角形三边长a、b、c。
判断是等边三角形、等腰三角形、一般三角形还是不能构成三角形。
#include <stdio.h>main(){double a,b,c;printf("\n请输入三角形三边长:");scanf("%lf%lf%lf",&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b)if(a==b||b==c||c==a)if(a==b&&b==c&&c==a)printf("\n是等边三角形。