c语言程序设计习题集(3)()

合集下载

C语言程序设计习题集(可以很好的帮助语言的学习)

C语言程序设计习题集(可以很好的帮助语言的学习)

[1.3] 结构化程序由 种基本结构组成 。
2011-8-22
顺序

选择(分支) 选择(分支)

循环

4
第二章 C程序设计的初步知识
一、选择题
[2.1] 以下选项中正确的整型常量是 A) 12. B) -20 C) 1,000 [2.2] 以下选项中正确的实型常量是 A) 0 B) 3. 1415 C) 0.329*102 [2.3] 以下选项中不正确的实型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.77 。 D) 4 5 6 D).871 ) D) 456e-2
[2.10] 以下叙述中正确的是 A)在 程序中无论整数还是实数 程序中无论整数还是实数, A)在C程序中无论整数还是实数,只要在允许的范围内 都能准确无误的表示。 都能准确无误的表示。 B)C程序由主函数组成 程序由主函数组成。 B) 程序由主函数组成。 C)C程序由函数组成 程序由函数组成。 C) 程序由函数组成。 D)C程序由函数和过程组成 程序由函数和过程组成。 D) 程序由函数和过程组成。
2011-8-22 3
第一章 程序设计基本概念
[1.1] 在TURBO C环境中用 环境中用RUN命令运行一个 程序 命令运行一个C程序 环境中用 命令运行一个 时,所运行的程序的后缀是 .EXE 。 [1.2] C语言源程序文件的后缀是 ______, 经过编译 语言源程序文件的后缀是 .C , .OBJ ,经过连接后, 后, 生成文件的后缀是 ______,经过连接后, 生成文 件的后缀是______。 件的后缀是 .EXE 。
2011-8-22 7
[2.11] TURBO C中int 类型变量所占字节数是 中 A) 1 B) 2 C) 3 [2.12] 不合法的八进制数是 A) 0 B) 028 [2.13] 不合法的十六进制数是 A) oxff B) 0Xabc C) 077

国开《C语言程序设计》(形考任务三)试题及答案

国开《C语言程序设计》(形考任务三)试题及答案

一、选择题(共30分,每小题2分)试题1在下面的函数声明语句中,存在着语法错误的是()。

选择一项:a. AA(int a, int b)b. AA(int, int)“c.AAfint a; int b)d.AA(int a, int)试题2在下面的保留字中,不能作为函数的返回值类型的是()。

选择一项:a. void° b.int'* c.enumd.long试题3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为()<•选择一项:r a.lr b.2& c.4r d.8试题4假定a为一个数组名,在下面的表达式中,存在语法错误的是()o选择一项:'aa[i]b. *a+ +}return s;}计算出l+x+x2+...+x n的值并返回。

试题37int SG(int x) ( //x为大于等于2的整数int i=2;while(i*i<=x) (if(x%i ==O) break;i++;)if(i*i<=x) return 0; else return 1;}判断x是否为一个质数(素数),若是则返回1,否则返回0。

试题38int WB(int a[]z int n, int x) (for(int i=0;i<n;i + +)if(a[i] ==x) return 1;return 0;)从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。

试题39int fun(int m, int n) (int c=0;static int b=2;if(m<b || n<b) return m*n;else if(m%b==0 && n%b==0) {c=b; return c*fun(m/b,n/b);}else (b++; return fun(m,n);})一个递归函数过程,求出两个自然数m和n的最小公倍数。

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

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

C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。

在学习这门课程过程中,习题的练习和掌握是至关重要的一环。

本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。

第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。

答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。

答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。

国开作业《C语言程序设计-形考任务》 (3)

国开作业《C语言程序设计-形考任务》 (3)

题目:在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选项A:句点选项B:冒号选项C:分号选项D:逗号答案:分号题目:假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。

选项A:8选项B:10选项C:12选项D:16答案:16题目:假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。

选项A:4选项B:8选项C:12选项D:16答案:8题目:假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选项A:x.a选项B:x-a选项C:x(a)选项D:x{a}答案:x-a题目:与结构成员访问表达式等价的表达式为()。

选项A:x-name选项B:x-name选项C:(x)-name选项D:(*x)-name答案:(x)-name题目:假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。

选项A:struct BOOK *x=malloc(book);选项B:struct BOOK x={"C++ Programming",27.0};选项C:struct BOOK *x=malloc(sizeof(struct BOOK));选项D:struct BOOK *x=book;答案:struct BOOK *x=malloc(book);题目:假定有“struct BOOK{char title[40]; float price;} b ook;”,则正确的语句为()。

选项A:struct BOOK x= book;选项B:struct BOOK *x=book;选项C:struct BOOK x=calloc(BOOK);选项D:struct BOOK *x=BOOK;答案:struct BOOK *x=book;题目:假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。

C语言程序设计模拟试题3(附答案)

C语言程序设计模拟试题3(附答案)

《C语言程序设计》模拟试卷三一、填空题。

(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.一个C语言文件就是由若干个组成。

3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。

4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。

5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。

p与s就是基类型为int得指针变量。

请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。

二、单项选择题。

(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。

A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。

A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。

A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。

A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。

c语言程序设计试题(3).

c语言程序设计试题(3).

c语言程序设计试题(3)一、填空题(10分)1设X为int型变量,请写出描述“ X是偶数”的表达式是:___________________________2、C语言中的基本数据类型分为 _____________ 型, __________ 型和字符型.3、_______________________________________________________________ 在数组intscore[10]={1,2,3,4,5,6}中,元素定义的个数有 _________________________ 个,其中score[8]的值为_____________________ 。

4、continue 语句是用来结束 _________________________________ 循环的。

5、循环语句:for(i= - 1;i<3;i++)printf( “!”);的循环次数是:_____________ 。

6、程序中经常要使用常量3.14,我们用符号run来表示,其定义格式为________________________________ 。

7、 C语言提供的三种逻辑运算符是______________ 、_______________ 和!;二、单选(30分)1、________________________ 以下数组定义正确的是A、int a [oxCF]; B. char 8th[10]; C. char ch [-100]; D. float f (10);2、四种运算中,优先级最高的运算符是( )A、&&B、>=C、==D、+ +3、设有程序段:int x=8;while (x=0)x=x-1 ;则下列描述正确的是_______A、while循环将执行10次B、while循环将执行无限次C、while循环将一次也不执行D、while循环将执行1次0.4、已知scanf( “ a=%d,b=%d,c=%c”,&a,&b,&c);则正确的输入形式是______________A) a=12 b=24 c=36 B) 12,24,36 C) a=12,b=24,c=36 D) 12 24 365、_____________________________ 程序片段执行后输出结果是int x=100, y=200;printf ("% d", (x, y));A 、100 B、200 C、100,200 D、编译出错6、不是C语A、指整C无符单7、设有:int行! (x=a)&&(y=b)&&0表达式的值为 __________A 1 B、0 C 3 D、48、_________________________________________________________________________________设有语句int a=3 ; 则执行了语句a+ = a - = a * a 后,变量a的值是—____________________________A 3B 0C 9D —129. 有如下的程序段,其输出正确的____________ 。

(2021年整理)谭浩强c语言程序设计习题集

(2021年整理)谭浩强c语言程序设计习题集

(完整)谭浩强c语言程序设计习题集编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)谭浩强c语言程序设计习题集)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)谭浩强c语言程序设计习题集的全部内容。

目录重要次重要重复或欲删除基础第一章 C语言概述1。

1 选择题1.2 填空题第二章数据类型、运算符与表达式2。

1 选择题2.2 填空题第三章最简单的C程序设计3。

1 选择题3。

2 填空题第四章逻辑运算和判断选取控制4。

1 选择题4。

2 填空题4。

3 编程题第五章循环控制5。

1 选择题5。

2 填空题5.3 编程题第六章数组6。

1 选择题6.2 填空题6.3 编程题第七章函数7。

1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8。

3 编程题第九章指针9.1 选择题9.2 填空题9。

3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11。

2 填空题11。

3 编程题第十二章文件12。

1 选择题12。

2 填空题12.3 编程题第一章 C语言概述1。

1 选择题*1.1一个C程序的执行是从 A 。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。

但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。

新编C语言程序设计教程练习三参考答案

新编C语言程序设计教程练习三参考答案

练习三3.1把下面的代数式改写成c 语言表达式: (1) ax 3+bx 2+d (2) ab-cd2a (3)ac b a(4) cos60°+ 8e y(5) 12 (ax+sin π) 答案:(1) a * x * x * x + b * x * x + d (2)(a * b – c * d) / (2 * a) (3)a /(b + c / a)(4)cos(3.1415926/180 * 60) + 8 * pow(e, y),其中cos 和pow 为库函数,注意:cos 函数的参数为弧度。

(5)1/2.0*(a * x + sin(3.1415926)),其中sin 为库函数,注意不能写成1/2*(a * x + sin(3.1415926)),可参考3.3。

3.2把下面的C 语言表达式还原成代数式:(1) a/b/c*e*3 (2) exp(x*x/2)/sqrt(2*sin(30*3.1415926/180)) (3) sqrt(fabs(pow(x,y)+log(y))) (4) a*e/c/b*3 答案: (1)e bca 3或bc ae3(2)30sin 222x e(3)y x y ln (4)e bca 3或bc ae 33.3求表达式1/2*(a*x+(b+x)/(4*a))的值。

答:1/2的值为0,故整个表达式的值为0。

3.4参考表3-1,根据操作符的优先级和结合性用加括号方式确定表达式的求值顺序,如a += a+2的求值顺序可用加括号的方式表示为(a += (a+2))。

(1) flag & n != 0 (2) c = getchar( ) != '\n' (3) hi << 4 + low (4) *p[3] (5) *p++(6) 0 < n < q (7) !x || y++ (8) x + y > 0 && i++ < 0 答:(1) (flag & (n != 0)) (2) (c = (getchar( ) != '\n')) (3) (hi << (4 + low)) (4) (*(p[3])) (5) (*(p++)) (6) ((0 < n) < q) (7) ((!x) || (y++))(8) (((x + y) > 0) && ((i++) < 0)) 3.5试总结C 语言操作符优先级的规律。

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

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语言程序设计练习三(参考答案)

《C语言程序设计》练习三(参考答案)三、阅读分析题1.请阅读分析下面程序,然后写出运行结果。

x=8,y=-5x=-5,y=82.请阅读分析下面程序,然后写出运行结果。

1 5 6 303.请阅读分析下面程序,然后写出运行结果。

#**$@@4.阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。

运行结果:d,100,D,1445.阅读下面程序,并回答问题:(1)若程序运行时,输入3、2和5,则输出结果是什么?(2)写出程序所实现的功能。

答:(1)5,3,2(2)输入三个整数,按从大到小的顺序输出。

6.阅读下面程序,并回答问题:(1)程序输出结果是多少?(2)外循环执行完一次时,m和n的值分别是多少?(3)将while(n>m)n-=m;语句删除后,程序运行情况如何?答:(1)m=1(2)m=9,n=5(3)程序进入无限循环17.阅读下面程序,写出运行结果。

运行结果:7,10,9,9878.阅读下面程序,并回答问题:(1)若程序运行时,输入6和9,输出结果是什么?输出结果是:1(2)说明程序的功能。

程序功能:输入2个数存入a和b变量中,计算a2+b2存入x变量中,如果x大于100则将x整除100的值存入y中并输出y的值,否则输出a+b的值。

9.阅读下面程序,并回答问题:(1)程序输出结果是什么?输出结果:a=8(2)该程序完成什么功能?程序功能:求两个数的最大公约数(3)若将while循环替换为do-while循环,请写出相应的程序段。

#include <stdio.h>void main( ){ int u,v,a,b,t,r;u=24;v=16;if(u>v){t=u;u=v;v=t;}a=u;b=v;do{ r=b%a;b=a;a=r;}while(r!=0);printf(″b=%d\n″,b);}10.从键盘输入字符A时,写出下面程序的运行结果。

C语言程序设计习题集3

C语言程序设计习题集3

C语⾔程序设计习题集3指针⼀单项选择题(每题2分,共40分)1 以下叙述中错误的就是_B__。

A 在程序中凡就是以“#”开始的语句⾏都就是预处理命令⾏B 预处理命令⾏的最后不能以分号表⽰结束C #define MAX就是合法的宏定义命令⾏D C程序对预处理命令⾏的处理就是在程序执⾏的过程中进⾏的2 若程序中有宏定义⾏:#define N 100 ,则以下叙述中正确的就是__B_。

A 宏定义⾏中定义了标识符N的值为整数100B 在编译程序对C源程序进⾏预处理时⽤100替换标识符NC 对C源程序进⾏编译时⽤100替换标识符ND 在运⾏时⽤100替换标识符3 若有如下宏定义:#define N 2#define y(n) ((N+1)*n)则执⾏下列语句:z=4*(N+y(5));后的结果就是_B__。

A 语句有错误B z值为68C z值为60D z值为1804 以下程序运⾏后的输出结果就是_A__。

#define F(X,Y) (X)*(Y)main(){ int a=3,b=4;printf("%d\n",F(a++,b++));}A 12B 15C 16D 205 以下程序运⾏后的输出结果就是_C__。

#define f(x) (x*x)main(){ int i1,i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}A 64,28B 4,4C 4,3D 64,646 若已定义a为int型变量,则__D_就是对指针变量p的正确说明与初始化。

A int p=&a;B int *p=a;C int *p=*a;D int *p=&a;7 已知下列说明语句:static int a[]={2,4,6,8}static int *p[]={a,a+1,a+2,a+3};int **q;q=p;则表达式**(q+2)的值就是_A__。

C语言程序设计--自测题(三)

C语言程序设计--自测题(三)
C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
26、以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"{"和"}"只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
r=fun(fun(x,y),2*z);
printf("%d/n",r);
}
程序运行后的输出结果是______。
A、3
B、6
C、8
D、12
32、有以下程序段
main()
{ int a=5,*b,**c;
c=&amp;b; b=&amp;a;
&hellip;&hellip;
A、if (c&lt;a) x=1;
else if (b&lt;a) x=2;
else x=3;
B、if (a&lt;3) x=3;
else if (a&lt;2) x=2;
else x=1;
C、if (a&lt;3) x=3;
if (a&lt;2) x=2;
if (a&lt;1) x=1;
30、以下选项中可作为C语言合法整数的是______。
A、10110B
B、0386
C、0Xffa
D、x2a2
31、有以下程序
fun(int a, int b)
{ if(a&gt;b) return(a);

北航《C语言程序设计》在线作业三

北航《C语言程序设计》在线作业三
2. 设a=1,b=2,c=3,d=4, 则表达式a < b ? a : c < d ? c : d的结果是___________.
A. 4
B. 3
C. 2
D. 1
-----------------选择:D
3. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是________.
9. 给出说明语句:int a=100,b=40,c=92; 则表达式(a>b)? a+c : b+c的值是( ).
A. 192
B. 1
C. 132
D. 100
-----------------选择:A
10. 定义int x,y;执行y=(x=1,++x, x+2)语句后,y的值是( ).
6. 若有以下定义和语句,int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p, i ;p = a ; 且0≤i<10,则对数组元素地址正确表示的是
A. &(a+1)
B. a++
C. &p
D. &p[i]
-----------------选择:A
A. 错误
B. 正确
-----------------选择:B
10. C语言规定:在一个源程序中,main函数的位置必须在最开始。( )
A. 错误
B. 正确
-----------------选择:A

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

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

C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。

掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。

为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。

1. 输入输出问题描述:编程实现一个简单的输入输出程序。

要求从标准输入读入一个整数,然后输出该整数,并换行。

解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。

如果是偶数,则输出"Even",否则输出"Odd"。

解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。

解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。

《C语言程序设计》考试题(第三章)

《C语言程序设计》考试题(第三章)

实验五班《C语言程序设计》月考试题学号___________ 姓名 ______________一、填空题1、应用程序ONEFUNC中只有一个函数,这个函数的名称是________________________________________________________________________ 。

2、在一个C源程序中,注释部分两侧的分界符分别是_________ 和__________________________________________________________ 。

3、C语言程序的基本单位或者模块是 ________ 。

4、C语言程序的语句结束符是_________5、C程序中数据有 ______ 和_________ 之分,其中,用一个标识符代表一个常量的,称为_________ 常量。

C语言规定在程序中对用到的所有数据都必须指定其数据类型,对变量必须做到先____________ ,后使用。

文档来源网络及个人整理,勿用作商业用途版权文档,请勿用做商业用途6 C语言所提供的基本数据类型包括:单精度型、双精度型、 _______________ 、和枚举类型。

文档来源网络及个人整理,勿用作商业用途版权文档,请勿用做商业用途7、在C语言中的实型变量分为两种类型,它们是________ 和。

8、在C语言中,以16位PC机为例,一个char型数据在内存中所占的字节数为____ ; 一个int型数据在内存中所占的字节数为_______ ,则int型数据的取值范围为_______________ 。

文档来源网络及个人整理,勿用作商业用途版权文档,请勿用做商业用途9、C语言中的标识符只能由三种字符组成,它们是_________ 、_______ 和下划线。

且第一个字符必须为______________ 。

文档来源网络及个人整理,勿用作商业用途版权文档,请勿用做商业用途10、5.4321E2在常规表示法中表示为,327.876 在科学表示法中表示为______________ 。

C语言程序设计习题集3

C语言程序设计习题集3

目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (3)第三章顺序结构程序设计 (5)第四章选择结构程序设计 (9)第五章循环结构程序设计 (12)第六章数组 (16)第七章函数 (19)第八章指针 (23)第九章结构体与共用体 (27)第十章文件 (30)模拟试题一 (33)第一章答案 (39)第二章答案 (40)第三章答案 (40)第四章答案 (41)第五章答案 (42)第六章答案 (44)第七章答案 (45)第八章答案 (47)第九章答案 (48)第十章答案 (49)模拟试题一答案 (52)第一章C语言基础知识一、选择题1.C语言规定,必须用作为主函数名。

A)Function B)include C)main D)stdio 2.是C程序的基本构成单位。

A)函数B) 函数和过程C) 超文本过程D) 子程序3.下列说法正确的是。

A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对4.下列说法正确的是。

A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的5.下列说法正确的是。

A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号6.在C语言中,每个语句和数据定义是用结束。

A)句号B)逗号C)分号D)括号7.下列字符串是标识符的是。

A)_HJ B)9_student C)long D)LINE 18.以下说法正确的是。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分9.不是C语言提供的合法关键字。

C语言程序设计习题集

C语言程序设计习题集

C语言程序基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A*pxBaCpxD&a
9 若指针px为空指针,则_B__。。
A px指向不定 B px的值为零 C px的目标为零 D px的地址为零
10 对下语句int *px[10];,下面正确的说法是_B__。
A px是一个指针,指向一个数组,数组的元素是整数型。
B px是一个数组,其数组的每一个元素是指向整数的指针。
D 文件由二进制数据序列组成
6 若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为_B__。
A"ab+"B"wb+"C"rb+"D"ab"
7 下列程序运行后的输出结果是__A_。
struct s { int n; char *c; }*p;
char d[]={'a','b','c','d','e'};
A*s1++=*s2++;Bs1[n-1]=s2[n-1];
C*(s1+n-1)=*(s2+n-1);D*(++s1)=*(++s2);
16 给出下列程序的运行结果_B__。
#include<stdio.h>
void main()
{static char a[]="language",b[]="program";
18以下程序执行后的输出结果是_C__。
void swap(char *x,char *y)
{ char t;
t=*x; *x=*y; *y=t;
}
main()
{ char *s1="abc",*s2="123";
swap(s1,s2); printf("%s,%s\n",s1,s2);
}
A 123,abc B abc,123 C 1bc,a23 D 321,cba
则表达式*(p[0]+1)+**(q+2)的值是_A__。
A5B4C6D7
13说明语句int *(*p)();的含义为_D__。
A p是一个指向int型数组的指针
B p是指针变量,它构成了指针数组
C p是一个指向函数的指针,该函数的返回值是一个整型
D p是一个指向函数的指针,该函数的返回值是一个指向整型的指针
j+=2;
}
}
printf("%d\n",num);
}
A 35 B 37 C 39 D 3975
20下列程序运行后的输出结果是_A__。
void main()
{ char str[]="The_Microsoft"; int n=4;
sub(str,0,n-1);
sub(str,0,strlen(str)-1);
二 填空题(每空3分,共30分)
1以下程序的定义语句中,x[1]的初值是2,程序运行后输出的内容是2468。
main()
{int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0; i<4; i++)
{p[i]=&x[2*i+1];printf("%d", p[i][0]);}
printf("\n");
}
2以下程序的输出结果是2 5。
void swap(int *a, int *b)
{int *t;
t=a; a=b; b=t;
}
main()
{int i=2,j=5,*p=&i,*q=&j;
swap(p,q); printf("%d %d\n",*p,*q)
}
3以下程序的输出结果是4。
三 程序填空题(每空3分,共30分)
1 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。
void fun(char str[10][81],char **sp)
{ int i;
*sp =【1】str[0];
for(i=1;i<10; i++)
if(strlen(*sp)<strlen(str[i]))【2】*sp=str[i];
main()
{int a[5]={2,4,6,8,10}, *p;
p=a; p++;
printf("%d", *p);
}
4 以下程序的输出结果是__55__。
#defineM5
#defineNM+M
main()
{int k;
k=N*N*5; printf("%d\n",k);
}
5若有定义语句:int a[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是2。
19以下程序执行后的输出结果是__C_。
main()
{ char *p[]={"3697","2584"};
int i,j; long num=0;
for(i=0;i<2;i+)
{ j=0;
while(p[i][j]!='\0')
{ if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0';
#definef(x)(x*x)
main()
{int i1,i2;
i1=f(8)/f(4);i2=f(4+4)/f(2+2);
printf("%d,%d\n",i1,i2);
}
A64,28B4,4C4,3D64,64
6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。
A int p=&a; B int *p=a; C int *p=*a; D int *p=&a;
6若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是12,*(a[1]+2)的值是12。
7若有程序段:
int *p[3],a[6],i;
for(i=0;i<3;i++) p[i]=&a[2*i] ;
则*p[0]引用的是a数组元素a[0],*(p[1]+1)引用的是a数组元素a[3]。
}
A 11 B 11 C 10 D 10
20 20 20 20
c b c b
8 已知
struct student
{char *name; int student_no;char grade; };
struct student temp,*p=&temp;
A 语句有错误 B z值为68 C z值为60 D z值为180
4 以下程序运行后的输出结果是_A__。
#define F(X,Y)(X)*(Y)
main()
{int a=3,b=4;
printf("%d\n",F(a++,b++));
}
A 12B 15C 16D 20
5以下程序运行后的输出结果是_C__。
A 宏定义行中定义了标识符N的值为整数100
B 在编译程序对C源程序进行预处理时用100替换标识符N
C 对C源程序进行编译时用100替换标识符N
D 在运行时用100替换标识符
3 若有如下宏定义:
#define N 2
#define y(n) ((N+1)*n)
则执行下列语句:z=4*(N+y(5));后的结果是_B__。
{ char *q;
q=p;
while(*q!='\0'){ (*q)++; q++;}
}
main()
{ char a[]={"Program"},*p;
p=&a[3]; fun1(p); printf("%s\n",a);
}
A Prohsbn B Prphsbn C Progsbn D Program
指针
一 单项选择题(每题2分,共40分)
1以下叙述中错误的是_B__。
A在程序中凡是以“#”开始的语句行都是预处理命令行
B预处理命令行的最后不能以分号表示结束
C#define MAX是合法的宏定义命令行
DC程序对预处理命令行的处理是在程序执行的过程中进行的
2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。
struct s a[]={10,&d[0],20,&d[1],30,&d[2],40,&d[3],50,&d[4]};
#include <stdio.h>
main()
{p=a;
printf("%d\n",++p->n);
printf("%d\n",(++p)->n);
printf("%c\n",++(*p->c));
14设有如下程序段
char s[20]="Beijing",*p;p=s;
相关文档
最新文档