C语言程序设计-------阅读程序题库及答案.pdf
- 格式:pdf
- 大小:37.67 KB
- 文档页数:41
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、0C、4D、164、下列运算符中优先级最高的是(B)A、<B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A)A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C)A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)sum=pad=5;pAd=sum++,pAd++,++pAd;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)voidmain(){intm,n;scanf(“%2d%3d”,&m,&n);printf(“m=%dn=%d\n”,m,n);}A、m=23n=45B、m=234n=56C、m=23n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A、0B、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)main(){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(inta,intb,intc){a=456;b=567;c=678;}voidmain(){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语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在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 语言程序设计概述一、名词解释(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程序设计题库(含答案)一、单项选择题1.基础知识1、以下说法中正确的是()A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分答案:C2、下列字符序列中,可用作C标识符的一组字符序列是()。
A)S.b,um,average,_aboveB)cla,day,lotu_1,2dayC)#md,&12某,month,tudent_n!D)D56,r_1_2,name,_t_1答案:D3、以下标识符中,不能作为合法的C用户定义标识符的是()。
A)a3_b3B)voidC)_123D)IF答案:B4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A、6.500000B、6C、5.500000D、6.0000005、以下的选择中,正确的赋值语句是()。
A)a=1,b=2B)j++C)a=b=5;D)y=int(某)答案:C6、在C语言中,能代表逻辑值“真”的是()。
A)TrueB)大于0的数C)非0整数D)非0的数答案:D7、下列程序的输出结果是()。
main(){charc1=97,c2=98;printf(\}A)9798B)97bC)a98D)ab答案:B8、执行下列语句后变量某和y的值是()。
y=10;某=y++;A)某=10,y=10B)某=11,y=11C)某=10,y=11D)某=11,y=10答案:C9、设a=12,且a定义为整型变量。
执行语句a+=a-=a某=a;后a的值为()。
A)12B)144C)0D)132答案:CA)1990B)1992C)1996D)2000答案:A11、下列程序的输出结果是()。
main(){inta=7,b=5;printf(\}A)0B)5C)1D)不确定值答案:A12.以下关于运算符优先顺序的描述中正确的是()。
C语言程序设计---阅读程序题库及答案程序设计是计算机科学的基础领域之一,而C语言作为一种广泛应用于程序设计的高级语言,被广泛运用于软件开发、嵌入式系统及算法实现等领域。
阅读程序题库是提供给学习者进行练习和理解C语言编程知识的重要资源。
本文将介绍一些常见的C语言程序设计题库,并提供相应的题目及答案,帮助读者更好地掌握C语言程序设计。
一、数据类型和表达式1. 编写一个程序,接受用户输入的两个整数,并交换它们的值。
程序代码如下:```c#include <stdio.h>int main() {int num1, num2, temp;printf("输入两个整数:\n");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d", num1, num2);return 0;}```2. 编写一个程序,计算并输出圆的面积和周长。
用户输入圆的半径。
程序代码如下:```c#include <stdio.h>#define PI 3.14159int main() {float radius, area, circumference;printf("输入圆的半径:\n");scanf("%f", &radius);area = PI * radius * radius;circumference = 2 * PI * radius;printf("圆的面积为:%f\n", area);printf("圆的周长为:%f\n", circumference);return 0;}```二、条件语句和循环1. 编写一个程序,判断一个整数是否为偶数。
阅读程序题【2.1】以下程序的输出结果是。
main(D) {floata;a=1/100000000;printf("%g",a);}A)0.00000e+00B)0.0C)1.00000e-07D)0【2.2】下面程序的输出结果是B____。
#include<stdio.h>main(){intx=10;{intx=20;printf("%d,",x);}printf("%d\n",x);}A)10,20B)20,10C)10,10D)20,20【2.3】以下程序的输出结果是___B_。
main(){unsignedintn;inti=-521;n=i;printf("n=%u\n",n);}//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。
A)n=-521B)n=521C)n=65015D)n=102170103【2.4】以下程序的输出结果是。
main(D){intx=10,y=10;n",x――,――);y}A)1010B)99C)910D)109【2.5】以下程序的输出结果是___B。
main(){intn=1;printf("%d%d%d\n",n,n++,n--);}//C语言在执行printf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理n--,再处理n++,最后处理n,A)111B)101C)110D)121【2.6】以下程序的输出结果是____。
main(){intx=0x02ff,y=0x0ff00;printf("%d\n",(x&y)>>4|0x005f);}A)127B)255C)128D)1【2.7】以下程序的输出结果是____。
main(){inta=1;charc='a';floatf=2.0;printf("%d\n",(!(a==0),f!=0&&c=='A'));}A)0B)1【2.8】下面程序的输出结果是____。
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语言程序设计编程题库及详解答案1. 编写一个C语言程序,实现两个整数的加法运算。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现求一个数的阶乘。
答案:```c#include <stdio.h>int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num)); return 0;}```3. 编写一个C语言程序,实现判断一个数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。